对于广大股民来说,看图是最直观的,尤其是大家很关心的什么时候进场和离场,也就是常说的牛市和熊市什么时候来到,好提前做准备,那就需要用到一个指标:股债利差,简单来说就是沪深300的收益率 - 十年国债的收益率,或者中证500也行,那利差越大那就是说明买股票的收益高很多,那就可以进场买股票,利差越小,说明买国债更安全。【股市有风险,投资需谨慎】
由于国债的收益率比较稳定,基本在3%左右,所以我就直接画沪深300的收益率即可观察出哪些年是牛市与熊市了。其中需要说明的是收益率怎么计算,一般都使用对数收益率:LN(收盘价)-LN(上一次的收盘价) 或者 LN(收盘价/上一次的收盘价)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data=pd.read_csv('399300.csv',encoding='gb2312')
data.rename(columns={'日期':'Date','开盘价':'Open','最高价':'High','最低价':'Low','收盘价':'Close','成交量':'Volume'},inplace=True)#把中文改英文
data=data[['Date','Close']]
data.sort_values(by=['Date'],inplace=True)
date=data['Date']
date=list(map(lambda x1:x1.replace('/',''),date))
close=data['Close']
x=np.array(date)
y=np.array(np.log(close).shift(-1)-np.log(close))
plt.rcParams['font.family']=['STFangsong']
plt.rcParams['axes.unicode_minus'] = False
plt.title('Exponential Function(沪深300的收益率)')
bins=np.linspace(int(date[0]),int(date[999]),10)
plt.xticks(bins)
plt.plot(x,y,color='red')
plt.show()
其中399300.csv是沪深300的历史数据,可以在网易财经免费下载
关于画图我的其余两篇文章,有兴趣的伙伴们可以看看