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

时间:2012-02-16 23:43:13

标签: c# c++ math d nmath

我目前(大多数时候)在我的研究中使用C ++进行计算密集型计量经济学。我一直想要转向更高效的环境。 D听起来很有希望,但也许还不够成熟,我现在无法充分发挥作用。我最近遇到了C#和NMath库。这似乎令人印象深刻。有人用这些来达到这样的目的吗?你有什么经历?我愿意放弃一些运行时速度,如果它提高我的整体生产力(任期时间正在滴答作响)。你的想法和建议赞赏!

3 个答案:

答案 0 :(得分:10)

我在一家经济公司(EMSI)工作,我们使用D来满足大多数高性能计算需求。本机速度和效率是至关重要的,但它提供了比C更高级别的抽象,并且比C ++(IMHO)更少的陷阱。与BLAS,英特尔MKL等接口非常简单,我们用它来支持我们的实时I / O模型背后的大规模矩阵操作。关于D生产力提升的一个好处是经常被忽视的是速度极快的编译器 - 我从不打扰渐进式构建,即使在非常大的项目中也是如此。

答案 1 :(得分:3)

我的建议是ILNumerics。它似乎是最快的图书馆之一。几个月前它已经商业化,但我已经使用它多年了,以前作为开源库。

我们必须转换大量的Matlab代码才能将应用程序部署到客户。 ILNumerics是我们的第一个(也是唯一的)选择,因为它使用与Matlab相同的语法。此外,它的数组类可以处理n维和许多子阵列的东西,这对我们来说也很重要。你会找到一个很好的代码示例here

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

答案 2 :(得分:1)

我假设您正在推荐Centerspace's NMath产品?

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

就性能而言,它尽可能使用Intel Math Kernel Library,因此性能应该很好;它没有对我们的有限使用造成任何负面的性能影响。

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