给出一套库存债券,具有以下属性:
price, asset class, credit rating, quantity
such as $60.46, Corporate, AA, 20
Asset class: corporate, sovereign, municipal
Credit Rating: AAA, AA, A, BBB, BB, B考虑到dealId及其总价:
DealId, Price
such as: D1, $4000给定dealId及其最小资产类需求:
DealId, min Asset Requirement
such as D1, 20% Sovereign
D1, 60% Corporate
D2, 50% Municipal鉴于dealId及其最低信用评级要求:
DealId, min Credit Requirement
such as D1 80% AAA
D1 20% AA从库存中分配债券,以满足尽可能多的交易,这样你就可以将你借来的债券降到最低。
有谁能解释一下我们如何解决上述问题?
发布于 2022-07-13 21:43:44
这看起来像是多维背包问题的一个版本,在这个版本中,您希望优化资产分配给特定的桶/需求。
您有需要满足的需求列表(资产类别需求和评级需求)。他们基本上告诉你,如果给你的债券可以分配到一个‘桶’,你需要填补。
你可以用一种贪婪的算法以一种非最优的方式解决这个问题,在这种情况下,你只需要分配符合标准的第一资产。所以,你通过需求,查找第一个符合条件的债券。你继续下去,直到你用尽了满足他们的要求或契约。这叫做启发式。它将很快产生解决方案,但很可能不是最好的解决方案。
这将产生一些解决办法。你可以用成本函数来衡量它有多好。成本函数将是您仍然需要从市场获得多少债券,以满足剩余的需求。
如果您想要更好或可能最好的解决方案,这将成为一个困难的问题。有一些线性规划算法可以帮助。Google tools是运行这种优化的一个已建立的库。
你不会相信有多少银行和金融公司使用了“愚蠢”的算法,而他们却因不采用更聪明的策略而蒙受了多少损失。
https://stackoverflow.com/questions/72971898
复制相似问题