作者:太阳雪

来源:Python 技术

比起对时间、精力的投资,对金钱的投资更容易理解和显现

那么面对纷繁复杂的投资种类,哪个才是对我们有利的呢?当然要看收益率高呀

那如何计算收益率呢?

怎么算平均年收益(必须知道收益咋算)(1)

年化复合回报 15% 意味着什么

如果有一个投资标的,年化复合收益率是 15%,那么 100 年后(虽然我们可能活不了这么久),能获得少倍的收入?

虽然我们可以写成计算公式,但我们的大脑并不适合计算小数的幂运算,

对于这个问题,计算公式是:

这样用 Python 一行代码就搞定:

(1 0.15)**100 # 1174313.4507002793

对,你没看错,是 117 万倍!,也就是投入一块钱,最终收益竟然是 117 万

这个并非假设的例子,2019 年的时候,可⼝可 乐公司上市⼀百周年。⼈们算了⼀下,在这⼀百年间,可⼝可乐公司竟然为股东创造了 15% 的年化复合回报率!

果然,收益率是很大程度上反映了投资标的的好坏

怎么算平均年收益(必须知道收益咋算)(2)

定投的收益

定投就是,定期定额,持续对某个标的的投资。

对于一个具有某个平稳收益率的标的,使用定投策略,在一段时间后,能获得多少收益呢?

通过设定收益率、定投周期、定投额度,就可以算出来,不过手工计算比较麻烦,可以直接使用 Numpy 提供的 FV 函数很方便的计算

FV 函数参数是:

假设,按月定投,每月定投 1000,月收益率为 10%,定投 12 个月,即一年的最终金额是多少:

import numpy_financial as npf npf.fv(0.1, 12, -1000, 0) # 21384.28376721003

如果在同样的条件下,想要在某个时间点,收获一定的金额,每期应该投入多少呢?比如一年后要得到 5万元,计算每月的投入

import numpy_financial as npf npf.pmt(0.1, 12, 0, 50000) # -2338.165755014362

可以得出,每月至少投入 2338.17 元

pmt 与 fv 的区别只是后面的两个参数含义不同

分别是,期初金额和终值金额

怎么算平均年收益(必须知道收益咋算)(3)

定期不定额的收益率

定投虽好,不过实际操作中难免有各种异常情况,漏投,或多投在所难免,甚至将一部分提现

这种情况下如何计算自己的收益率呢?

我们可以利用 irr 这个函数,其全称为(Internal Rate of Return),即内部报酬率,不过名称还是不太明显,我们看看如何应用吧

假设有一个定投项目,下面是每期定投的金额和支出:

期数投入提现实际投入1-10000-1000201001003-1500200-13004-20000-20005-80060005200

注意,金额都是相对于投资者来说的,负数为支出,正数为收入

我们做如下计算

import numpy_financial as npf pmts = [-1000, 100, -1300, -2000, 5200] npf.irr(pmts) # 0.10969579295711918

pmts 为每期投入金额,因为是可变的,所有存入数组里

最终得到的结果是,不定额投资 5 期, 最终收益率为 10.96%

有了这个函数赶紧算算那些保险方案,看看承诺的收益率是否与实际相符

怎么算平均年收益(必须知道收益咋算)(4)

不定期不定额的收益率

直接在看问题,一般都会被难到,不知如何下手

但实际上这种投资操作更为实际,有钱就投,没钱不投,钱多多投,钱少少投,才是我们平常人的投资风格

如何计算收益率呢?

xirr 闪亮登场

xirr 源自于 Excel 中的计算公式

看起来问题很复杂,而 xirr 函数却很简单,即 收益率=xirr(资金流, 日期流)

不过遗憾的是 numpy-financial 模块中并未提供 xirr 函数,需要引入另外的算法

GitHub 找到了一个简单的库 https://github.com/Tacombel/XIRR.py

下载其中的 XIRR.py 放在根目录下,引用即可

假设有这样的投资记录

日期现金2019-02-04-300.32019-06-17-500.52019-11-18741.1532020-04-27-600.62020-10-191420.328547

来计算看看

from XIRR import xirr import datetime dates = [datetime.date(2019, 2,4), datetime.date(2019, 6, 17), datetime.date(2019,11, 18), datetime.date(2020,4, 27), datetime.date(2020,10, 19)] values = [-300.3,-500.5,741.153,-600.6,1420.328547] xirr(values, dates) # 输出为: 0.779790640991537

实际的收益率为 77.98%

有了 irr 和 xirr 两个函数,投资世界是否变得清晰多了

怎么算平均年收益(必须知道收益咋算)(5)

总结

如果有什么方法让流失的时光留住,那就对时间做定投,做时间的朋友,成为长期主义者

我们知道长期主义者与非长期主义者的最大区别在于,对待积累的方式

只有让流走的时间、精力、金钱积攒起来,发挥价值,才能使我们走的更远更宽

期望今天的分享能让你从另外的角度上看待投资,让我们以更快的速度成长,比心~

,