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