如何在numpy(或其他库)中获得年度复合回报列表?

gg58donl  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(121)

从1000美元开始。
投资10年,每年复利。
带有年度申报表的申报表,格式如下:$xxx,xxx.00
不编写新的实现解决首选. Python和简洁与现有的API应该是可能的,因为这是一个最常见的计算在这个星球上(可能其他星球).

qco9c6ql

qco9c6ql1#

NumPy中有一系列金融工具:请参阅np.lib.financial模块。
在这里,我认为你需要fv。文档中给出的示例如下:
现在存100美元,每月再存100美元,10年后的未来价值是什么?假设利率是5%(年),每月复利?

>>> np.fv(0.05/12, 10*12, -100, -100)
15692.928894335748`

字符串
如果任何输入值是一个数组,则返回一个值数组。要计算10年的年余额(假设与示例相同),您可以编写:

>>> np.fv(0.05/12, np.arange(0, 121, 10), -100, -100)
array([   100.        ,   1123.20552614,   2189.85294226,   3301.78664596,
         4460.92934179,   5669.28536592,   6928.94415193,   8242.08384379,
         9610.97506218,  11037.98483075,  12525.58066907])


这没有您指定的$xxx,xxx.00格式,但调整NumPy的打印选项应该很简单,以获得满意的效果。

yx2lnoni

yx2lnoni2#

自Numpy 1.20(2021年1月30日)以来,财务函数已被删除,文档现在指向numpy-financial库,该库最初是原始numpy函数的原始副本。
这个替代库托管在numpy account on Github下,自2019年10月以来一直没有更新。
个人建议:如果你不想加入额外的依赖项,只要看看代码就可以使用了,大多数函数在没有文档的情况下都是10个LoC左右。但是要注意许可证的限制。

llycmphe

llycmphe3#

复利的计算公式是:

def compound(present_value, rate, num_periods):
  return present_value * (1 + rate) ** num_periods

字符串
如果你愿意,你可以传递numpy数组,例如,10年后的年余额,年利率为3%,从1000美元开始:

>>> compound(1000.0, rate=0.03, num_periods=np.arange(11))
array([1000.        , 1030.        , 1060.9       , 1092.727     ,
       1125.50881   , 1159.2740743 , 1194.05229653, 1229.87386542,
       1266.77008139, 1304.77318383, 1343.91637934])

相关问题