Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!
今天给大家讲讲如何计算股票或者基金的净值曲线,什么是净值曲线呢?净值曲线是一组时间序列的曲线,其含义表示为股票或基金在不同时间的价值相对于期初的价值的倍数。可以这么理解:比如说期初的1元钱,那么如果你在某个时间点手里的净值是1.4元钱,那么就意味着你如今手里的钱是期初的1.4倍。
大家可以看看常见的券商报告中的净值曲线:
如上图所示,一般净值曲线的起点都是1,随着时间的发展,曲线上点的值就是这个时间点相对于期初的值1的倍数。
通过python计算净值
首先我们读入数据,这个数据是万得全A从-01-07至-04-08的收盘价数据:
import pandas as pddata = pd.read_excel('万得全A收盘价.xlsx',index_col=0,parse_dates=[0])data
我们看看结果:
closeDate-01-072235.9000-01-082234.0900-01-092236.1500-01-102245.0500-01-112204.1400......-03-315095.6079-04-015131.5835-04-065128.8027-04-075039.9453-04-085042.11722249 rows × 1 columns
下面我们计算万得全A股票在这段时间里面的净值变化:
## 计算净值data['net value'] = data['close'] / data.iloc[0,0] #除以的是data数据第一行第一列
我们看看结果:
可以看出“net values”列的数据就是股票的净值变化。
通过python绘制净值曲线
import matplotlib.pyplot as pltfig, ax = plt.subplots(1,2,figsize=(14,4))ax[0].plot(data['close'],color='b')ax[1].plot(data['net value'],color='r')
让我们看看结果:
左边的图是股票收盘价随时间的变化情况,右边的图是股票的净值随时间变化的情况。可以看出净值曲线的起点是1。
总结:通过计算净值我们可以得到,在-04-08这一天,股票净值达到了2.255073,这就意味者,如果我们从-01-07起手中一直持有“万得全A”这支股票,那么直到-04-08这一天,我们在一开始手里的1元钱就会变成如今的2.255元钱!
好啦今天就分享到这里!
如果觉得《python金融分析小知识(21)——如何计算股票 基金的收益净值曲线并通过python绘制》对你有帮助,请点赞、收藏,并留下你的观点哦!