使用tushare检验沪深300收益率和中证50收益率相关性
tushare
在我使用过的所有股票数据源中,tushare是最好最全的一个。从旧版的tushare到现在的tushare pro,tushare越来越完善,给使用者带来极大的便利
安装tushare
1.访问Tushare社区门户(https://waditu.com),点击右上角“注册”
2.tushare是积分制获取数据,刚注册可以通过完善数据来获取,后期获取参考积分获取
3.安装tushare
pip install tushare
- 获取token
1、登录成功后,点击右上角->个人主页
2、 在“用户中心”中点击“接口TOKEN”
3、 可以点击右侧复制按钮复制token
4、或者点击右侧睁开眼睛来获取token明文,复制并保存
初始化tushare
import tushare as ts
token = '填入你的token'
ts.set_token(token)
pro = ts.pro_api()
获取沪深300和中证500数据
获取从2019年1月1日到2019年12月31日的指数数据
start_date = '20190101'
end_date = '20191231'
# 沪深300
hs300 = pro.index_daily(ts_code='399300.SZ',start_date=start_date,end_date=end_date)
print(hs300.head())
# 中证500
zz500 = pro.index_daily(ts_code='000905.SH',start_date=start_date,end_date=end_date)
print(zz500.head())
输出
ts_code trade_date close open high low \
0 399300.SZ 20191231 4096.5821 4077.7519 4098.1444 4069.0086
1 399300.SZ 20191230 4081.6334 4015.5195 4083.6901 4001.4951
2 399300.SZ 20191227 4022.0278 4029.2454 4066.7964 4019.7223
3 399300.SZ 20191226 4025.9879 3993.6686 4025.9879 3993.5413
4 399300.SZ 20191225 3990.8671 3988.6574 4000.5556 3976.3559
pre_close change pct_chg vol amount
0 4081.6334 14.9487 0.3662 123264258.0 173119348.5
1 4022.0278 59.6056 1.4820 155971488.0 216814660.0
2 4025.9879 -3.9601 -0.0984 150926411.0 195090417.0
3 3990.8671 35.1208 0.8800 108860640.0 140814968.2
4 3992.9581 -2.0910 -0.0524 94938890.0 131896466.9
ts_code trade_date close open high low \
0 000905.SH 20191231 5267.6622 5239.9132 5269.8736 5228.1726
1 000905.SH 20191230 5241.9383 5160.3102 5242.1238 5119.8558
2 000905.SH 20191227 5179.1929 5223.4701 5252.7878 5175.8520
3 000905.SH 20191226 5219.1404 5181.3814 5219.1404 5171.4403
4 000905.SH 20191225 5183.0986 5157.3667 5195.8663 5153.5138
pre_close change pct_chg vol amount
0 5241.9383 25.7239 0.4907 103889658.0 95356585.0
1 5179.1929 62.7454 1.2115 116869456.0 106835905.6
2 5219.1404 -39.9475 -0.7654 126259628.0 116273066.1
3 5183.0986 36.0418 0.6954 95625533.0 89169212.2
4 5162.0702 21.0284 0.4074 95918676.0 97321480.2
检验相关性
合并数据
import pandas as pd
hs300_closes = (hs300.loc[:,['trade_date','close']]
.rename(columns={'close':'hs300_close'})
.set_index('trade_date')
)
zz500_closes = (zz500.loc[:,['trade_date','close']]
.rename(columns={'close':'zz500_close'})
.set_index('trade_date')
)
hs300_ret = hs300_closes.diff()/hs300_closes
zz500_ret = zz500_closes.diff()/zz500_closes
data = pd.concat([hs300_ret,zz500_ret],axis=1)
data.head()
计算相关系数
data.corr()
输出
hs300_close | zz500_close | |
---|---|---|
hs300_close | 1.000000 | 0.872872 |
zz500_close | 0.872872 | 1.000000 |
可以看出沪深300和中证500相关系数高达0.872872,可以认为是高度相关的
画图
data.plot()
可以看出沪深300和中证500收益率在大多数时候走势都相同。