我们运用python进行量化分析的时候需要载入证券数据,tushare为我们提供了证券市场数据接口。
tushare是以新浪财经、腾讯财经、上交所数据、深交所数据为基础提供的Python接口。
安装方法为
pip install tushare
也可以到tushare的官网去下载,并且官网上有接口各个调用函数的详细说明
http://tushare.org/index.html#id5
安装完成之后,在spyder中导入tushare包
如果出现lxml库缺少etree包,则需要打开Anaconda更新lxml包至最新版即可
接下来我们利用tushare提供的接口导入中国平安(000001)的历史数据,绘制各种图形,并且计算收益率 - # -*- coding: utf-8 -*-
-
- #%% 导入包
- import tushare as ts
- import pandas as pd
- import matplotlib.pyplot as plt
-
- #%% 获取中国平安三年内K线数据
- ZGPA=ts.get_hist_data('000001')
- ZGPA.index=pd.to_datetime(ZGPA.index)
-
- #%% 相关指数
- print(ZGPA.tail())
- plt.plot(ZGPA['close'],label='收盘价')
- plt.plot(ZGPA['ma5'],label='MA5')
- plt.plot(ZGPA['ma20'],label='MA20')
- plt.legend()
- plt.xlabel('日期')
- plt.ylabel('股价')
- plt.title('中国平安收盘价,MA5,MA20时间序列')
-
- #%% 获取中国平安全部历史数据
- ZGPA_all=ts.get_h_data('000001',start='2006-01-01')
- ZGPA_all.index=pd.to_datetime(ZGPA_all.index)
-
- #%% 相关指数
- print(ZGPA_all.tail())
- plt.plot(ZGPA_all['close'],label='收盘价')
- plt.legend()
- plt.xlabel('日期')
- plt.ylabel('股价')
- plt.title('中国平安收盘价时间序列(2006至今)')
-
- #%% 计算收益率
- ZPGA_Return=((ZGPA_all['close']-ZGPA_all['close'].shift(1))/ZGPA_all\
- ['close'].shift(1)).dropna() #收益率
- plt.plot(ZPGA_Return)
- print('中国平安的平均日收益率:',ZPGA_Return.mean(),'\n中国平安的收益率标准差:',\
- ZPGA_Return.std())
复制代码 利用以上代码,我们就得到了中国平安三年内的日收盘价、MA5、MA20的时间序列图,并且我们计算了从2006年至今中国平安的日收益率
|