《quantitative finance with cpp》阅读笔记3-为投资组合定价过程中的10个难题
作者:yunjinqi   类别:    日期:2023-11-23 15:47:07    阅读:437 次   消耗积分:0 分    

本系列文章来自于很多金工和cpp相关的英文资料,并使用chatgpt翻译成中文,以便快速理解文中的含义,仅供学习参考。


这段文章讲了一个编写代码的时候需要注意的一些问题:

事实上,我们将专注于一个非常重要的金融问题:如何计算复杂金融产品组合的价格和风险?这只是银行估值和度量其整体头寸风险真实问题的简化版本。

理解这个问题的复杂性是很重要的。因此,让我们更详细地审视一下。

任何一家大型银行都会在许多不同的交易所进行交易。著名的例子包括纽约证券交易所和伦敦证券交易所。然而,全球各地的城市还有许多其他不太著名的交易所。

每个证券交易所都有其自己的交易规则。显然,在国家和国际层面上有一些努力进行合理化,但合同和惯例可以在市场之间有所不同。

当然,交易不仅仅局限于股票。人们还可以交易股票衍生品、货币、货币衍生品、政府债券、市政债券、大宗商品、电力等等。

现在让我们再次回到计算银行整体头寸的当前价值和该头寸的风险性的问题上。考虑到银行的总体头寸的复杂性以及它们所订立的所有合同中的细节,我们可以看到这是一项艰巨的任务。没有人可能能够理解计算的每个细节。

问题1:如何编写软件,使得没有个人需要理解正在发生的一切?

问题2:如何编写软件,以便数百人的团队可以同时工作而不会陷入混乱?

问题3:如何编写易于他人理解的代码?

另一个重要的考虑因素是金融应用程序中计算机错误的结果可能是灾难性的。如果Adobe Acrobat崩溃,你可能会嘴里嘀咕几句。当巴克莱的现金机网络崩溃时,在英国它成为了头条新闻。如果你的交易算法丢掉了五亿美元,你可能不会得到你期望的那么大的奖金。

问题4:如何编写不包含错误的代码?如何确保由数百人团队编写的代码中没有错误?

问题5:鉴于你可能不能保证没有错误,如何确保错误的影响不会太严重?

每天都有新的金融产品被发明,创造性地推出并销售新的金融合同。银行必须能够迅速更新其用于反映这些新合同的软件。而Microsoft只定期发布其操作系统的新版本,银行几乎每天都要更新其软件。

问题6:如何编写易于快速扩展的代码?

问题7:在计划几乎每天发布新版本的情况下,如何确保你的代码最新版本中没有错误?

问题8:在所有软件必须保持24小时运行的情况下,如何发布新代码?

如果一家银行做得好,它的业务应该在扩张。银行将进入新的市场,现有市场的数据量将呈指数级增长。没有人希望有亚指数增长的投资!

问题9:如何确保你的软件将继续在指数级增长的数据量下正常工作?

我们可以将所有这些问题广泛地归类为可扩展性和可维护性的问题。这些问题是银行面临的最大IT问题。这就是为什么金融领域的员工中有如此大比例的人实际上从事IT而不是金融的原因。而这正是面向对象编程被设计来解决的这类问题。在本书中,我们将向您展示如何使用C++的面向对象特性来解决这些问题。此外,我们还将向您展示如何使用测试、调试和设计等其他重要的编程技术,这些技术对于构建复杂的金融软件至关重要。


版权所有,转载本站文章请注明出处:云子量化, http://www.woniunote.com/article/368
上一篇:《quantitative finance with cpp》阅读笔记2-为什么你应该学习CPP?
下一篇:《quantitative finance with cpp》阅读笔记4---一个用cpp计算银行存款利息的例子