首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java金融场景编码解决方案

Java金融场景编码解决方案
EN

Stack Overflow用户
提问于 2022-07-13 19:52:56
回答 1查看 168关注 0票数 -1

给出一套库存债券,具有以下属性:

代码语言:javascript
复制
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及其总价:

代码语言:javascript
复制
DealId, Price
such as: D1, $4000

给定dealId及其最小资产类需求:

代码语言:javascript
复制
DealId, min Asset Requirement
such as D1, 20% Sovereign
D1, 60% Corporate
D2, 50% Municipal

鉴于dealId及其最低信用评级要求:

代码语言:javascript
复制
DealId, min Credit Requirement
such as D1 80% AAA
D1 20% AA

从库存中分配债券,以满足尽可能多的交易,这样你就可以将你借来的债券降到最低。

有谁能解释一下我们如何解决上述问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-13 21:43:44

这看起来像是多维背包问题的一个版本,在这个版本中,您希望优化资产分配给特定的桶/需求。

您有需要满足的需求列表(资产类别需求和评级需求)。他们基本上告诉你,如果给你的债券可以分配到一个‘桶’,你需要填补。

你可以用一种贪婪的算法以一种非最优的方式解决这个问题,在这种情况下,你只需要分配符合标准的第一资产。所以,你通过需求,查找第一个符合条件的债券。你继续下去,直到你用尽了满足他们的要求或契约。这叫做启发式。它将很快产生解决方案,但很可能不是最好的解决方案。

这将产生一些解决办法。你可以用成本函数来衡量它有多好。成本函数将是您仍然需要从市场获得多少债券,以满足剩余的需求。

如果您想要更好或可能最好的解决方案,这将成为一个困难的问题。有一些线性规划算法可以帮助。Google tools是运行这种优化的一个已建立的库。

你不会相信有多少银行和金融公司使用了“愚蠢”的算法,而他们却因不采用更聪明的策略而蒙受了多少损失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72971898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档