案例示范:
接上节案例,我们考虑设置不同的年利率,看看不同的年利率与对应的年收益之间的关系是如何变化的。
我们设置四种不同的利率:
5%、10%、15%、20%。
话不多说,直接上python代码,我这里使用jupyter notebook编辑器运行如下:
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline#此处我是用的jupyter notebook,要加上这句,否则图出不来
mpl.style.use('seaborn-whitegrid');#使用一种作图风格
def sta001(k,nyear,xd):#定义一个终值函数,和上节一样
d2=np.fv(k,nyear,-xd,-xd);
d2=round(d2)
return d2
d40=1.4*40
print("d40,40 x 1.4=",d40)
d=sta001(0.05,40-1,1.4);
print("01保守投资模式,",d,round(d/d40))
d2=sta001(0.20,40-1,1.4);
print("02激进投资模式,",d2,round(d2/d40))
dk=round(d2/d)
print("dk,两者差别(xx倍):",dk)
dx05=[sta001(0.05,x,1.4) for x in range(0,40)]
dx10=[sta001(0.10,x,1.4) for x in range(0,40)]
dx15=[sta001(0.15,x,1.4) for x in range(0,40)]
dx20=[sta001(0.20,x,1.4) for x in range(0,40)]
df=pd.DataFrame(columns=['dx05','dx10','dx15','dx20']);
df['dx05']=dx05;df['dx10']=dx10;
df['dx15']=dx15;df['dx20']=dx20;
df.index= range(1, len(df) + 1) #python中索引是从0开始的,此处转换成从1开始
print(df.tail())#打印后五行数据
df.plot();#DataFrame的plot方法画图方法
运行结果如下:
由图可知:5%,10%,15%和20%的年利率对应的最终40年总收益分别是169万元、620万元、2491万元和10281万元。利率与收益之间随着时间变化而成爆炸式增长,我们可以清晰直观感受这种复利模式的厉害之处。
总结:
由一个复利投资案例引发,我们先学习了python中numpy库计算年金终值的函数fv:
numpy.fv(rate, nper, pmt, pv[, when='end'])
然后我们使用matplotlib库中,结合DataFrame的plot方法进行图表展示,更加直观地展示我们的数据内容。
可视化计算是量化分析、数据分析的一个重要组成部分,Python量化分析和数据分析比较重要的一个绘图模块是matplotlib。其官方网址是:http://matploylib.org/。大家可以研究一下,后面我也会在案例中使用更多图表的制作。