如何在IronPython中实现NPV、IRR等

How to implement NPV, IRR, etc. in IronPython

我们正在 .NET 中实施财务规划工具,并使用 IronPython 编写脚本。我们需要评估 标准财务函数 ,例如 NPV(净现值)、IRR(Return 的内部利率)等,它们可直接在 Excel 中作为公式。

我想知道 IronPython 是否也通过使用库支持这些。我已经在 Google 上搜索过,但没有遇到任何此类库。如果有人对这些有任何经验,请告诉我。提前感谢您的帮助!

-Nitesh

考虑到 python 的许多 numeric/math 库依赖于 IronPython 当前不支持的本机组件,您可以查看 .NET 库。

.NET 本身可用的 Microsoft.VisualBasic and it's Financial class. It contains functions like NPV 似乎类似于 excel。

来自 MSDN 的用法示例的粗略翻译如下:

import clr
import System
clr.AddReference("Microsoft.VisualBasic")
from Microsoft.VisualBasic import Financial

values = System.Array[float]([ -70000.0, 22000.0, 25000.0, 28000.0, 31000.0 ])
fixedRetRate = 0.0625
(netPVal, refValues) = Financial.NPV(fixedRetRate, values)
print netPVal

19312.57 的结果似乎与Excel 的结果一致。请注意,结果需要解包为元组(例如 (netPVal, refValues)),因为值参数作为引用传递,因此(在 IronPython 中)也必须返回。