计算金融和计量经济学的C#和NMath

本文关键字:NMath 计量经济学 金融 计算 | 更新日期: 2023-09-27 18:24:50

我目前(主要)在研究中使用C++进行计算密集型计量经济学。我一直想搬到一个更有生产力的环境。D听起来很有希望,但可能还不够成熟,我目前还不能充分发挥作用。我最近偶然发现了C#和NMath库。这看起来非常令人印象深刻。有人用这些来达到这样的目的吗?你的经历是什么?我愿意放弃一些运行时速度,如果它能提高我的整体生产力(任期时间在流逝)。感谢您的想法和建议!

计算金融和计量经济学的C#和NMath

我在一家经济公司(EMSI)工作,我们使用D来满足大多数高性能计算需求。原生速度和效率是至关重要的,但它提供了比C更高级别的抽象,比C++(IMHO)更少的gotcha。与BLAS、"英特尔MKL"等接口非常简单,我们使用它们来为实时I/O模型背后的大规模矩阵运算提供动力。提高D生产力的一个好处是编译器速度极快,这一点经常被忽视——我从不关心渐进式构建,即使是在非常大的项目中。

我推荐ILNumerics。它似乎是世界上速度最快的图书馆之一。它几个月前就开始商业化了,但我已经用了好几年了,以前是开源库。

为了向客户部署应用程序,我们不得不转换大量的Matlab代码。ILNumerics是我们的第一个(也是基本上唯一的)选择,因为它使用与Matlab相同的语法。此外,它的数组类可以处理n维和大量的子数组内容,这对我们来说也很重要。您可以在这里找到一个不错的代码示例。

在我看来,唯一的缺点是缺乏专门的工程功能,只实现了基本的统计。因此,构建自己的算法(使用std、cov、var、mean、abs等),然后开箱即用地打开任何HILO指标,是非常方便的。

我想你指的是Centerspace的NMath产品?

我们最近开始在生产应用程序中使用它们;尽管到目前为止非常轻微(执行线性回归以确定燃气轮机的气体输入GJ与MW输出之间的关系;从技术上讲,这是NMath Stats的一个特征)。到目前为止,使用它是一种乐趣,他们的支持非常迅速,在等待我们的财务部门处理他们的发票时,对过期的评估许可证做出了回应。

就性能而言,它确实尽可能使用"英特尔数学内核库",因此性能应该很好;它没有对我们有限的使用造成任何负面的性能影响。

我期待着在我们的应用程序中的其他地方使用该库,因为它是合适的!