c# - 金融产品模型使用什么=>十进制或双精度
问题描述
我知道共识是“钱=十进制”。我理解该论点的所有技术要点,并同意这一点。
我仍然有问题的是,它似乎假设所有金融应用程序都是简单的分类帐......
当你开始使用比率、插值(例如三次样条)或者如果你转向一些随机模型、微分、积分......似乎小数变得毫无意义。
所以我的问题是,当使用小数时,边界在哪里(数学复杂性?)成为一种优势而不是负担?
编辑:大多数复杂的金融产品都使用统计模型来定价。最后价格是 1 美元,正如 Flydog57 指出的那样,大多数(如果不是全部)数学库都使用双倍作为输入/输出。
因此,除非我重新开发所有这些数学函数(由比我聪明的人开发的),否则我需要不断地将十进制转换为 double,反之亦然。这就是问题所在。
如果最后我经常需要将其转换为双精度才能创建价格,那么使用小数“因为它是钱”有用吗?
论点说(钱=十进制)可能是对现实世界问题的简单化看法。我知道这个问题似乎是重复的,但那里的所有其他答案都没有处理这种具体情况,即价格(金钱)实际上是从统计模型中创建的
解决方案
推荐阅读
- c# - 将 WCF 服务引用排除在代码覆盖范围内
- powershell - Invoke-Command Powershell - 错误:无法处理参数,因为参数“路径”的值为 null 并且管道中字符后的表达式
- flutter - 如何:让按钮每 X 秒抖动一次?
- security - 在数据库中存储银行帐号和排序代码
- elasticsearch - 如何按字段内容在 Fluentd 中路由
- mysql - Rails 不断要求为 MySQL 存储提供 AWS 凭证
- parsing - Cmd 行 bcdedit 解析标识符
- html - 故意在元素 CSS HTML上方添加可填充空间
- flutter - Flutter:如何使用动态传递的对象制作通用方法
- cocos2d-x - 如何更改 lambda 表达式中的字符串变量?