0
点赞
收藏
分享

微信扫一扫

做时间的朋友,必须知道收益咋算

探头的新芽 2022-03-16 阅读 66

做时间的朋友,必须知道收益咋算_python

文 | 太阳雪

做时间的朋友,必须知道收益咋算_python_02


新年好,我们度过了艰难的 2020,迈进了 2021 的征程,在新年伊始,我们一起学习一个新技能,使我们能拥有看到未来的眼睛

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

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

那如何计算收益率呢?

做时间的朋友,必须知道收益咋算_github_03

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


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

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

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


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

(1+0.15)**100
# 1174313.4507002793

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

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

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

定投的收益

定投就是,定期定额,持续对某个标的的投资,可以参见​​《定投到底好不好 —— python 告诉你答案》​​

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

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

FV 函数参数是:


  • rate, 收益率
  • nper:投资期数
  • pmt:每期定投金额
  • pv:期初已有金额,即现值
  • when:表示各期计算收益的时间点,期初为 0,期末为 1,默默为期末

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

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

  • 注意​:numpy 将在 1.2 及以后版本,会将经济类公式去除,而专门用模块 numpy_financial 做经济类公式库,为了升级方便,建议使用 numpy_financial
  • numpy_financial 通过 ​​pip install numpy-financial​​ 安装
  • numpy 中 负数表示投入,正数表示获取,因此 -1000 表示投入 1000

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

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

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

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

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

做时间的朋友,必须知道收益咋算_github_05

定期不定额的收益率


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

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

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

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


期数

投入

提现

实际投入

1

-1000

0

-1000

2

0

100

100

3

-1500

200

-1300

4

-2000

0

-2000

5

-800

6000

5200

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

我们做如下计算

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

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

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

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

做时间的朋友,必须知道收益咋算_github_06

不定期不定额的收益率


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

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

如何计算收益率呢?

​xirr​​ 闪亮登场

xirr 源自于 Excel 中的计算公式

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

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

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

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

假设有这样的投资记录


日期

现金

2019-02-04

-300.3

2019-06-17

-500.5

2019-11-18

741.153

2020-04-27

-600.6

2020-10-19

1420.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​​ 两个函数,投资世界是否变得清晰多了

做时间的朋友,必须知道收益咋算_python_07

总结


如果有什么方法让流失的时光留住,那就对时间做定投,正如在 2020 总结篇 中说的:做时间的朋友,成为长期主义者

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

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

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

参考

​​

​​​​​​

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!


老规矩,兄弟们还记得么,如果感觉文章内容不错的话,记得分享让更多的人知道!

做时间的朋友,必须知道收益咋算_python_08做时间的朋友,必须知道收益咋算_github_09

【​代码获取方式​】

识别文末二维码,回复:210104

做时间的朋友,必须知道收益咋算_根目录_10

举报

相关推荐

0 条评论