用tushare获取股票历史数据

0
回复
5923
查看
[复制链接]

19

主题

36

回帖

201

积分

中级会员

积分
201
来源: 2020-3-13 20:51:03 显示全部楼层 |阅读模式
我们运用python进行量化分析的时候需要载入证券数据,tushare为我们提供了证券市场数据接口。

tushare是以新浪财经、腾讯财经、上交所数据、深交所数据为基础提供的Python接口。

安装方法为

pip install tushare

也可以到tushare的官网去下载,并且官网上有接口各个调用函数的详细说明
http://tushare.org/index.html#id5

安装完成之后,在spyder中导入tushare包
  1. import tushare as ts
复制代码
如果出现lxml库缺少etree包,则需要打开Anaconda更新lxml包至最新版即可

接下来我们利用tushare提供的接口导入中国平安(000001)的历史数据,绘制各种图形,并且计算收益率

  1. # -*- coding: utf-8 -*-

  2. #%% 导入包
  3. import tushare as ts
  4. import pandas as pd
  5. import matplotlib.pyplot as plt

  6. #%% 获取中国平安三年内K线数据
  7. ZGPA=ts.get_hist_data('000001')
  8. ZGPA.index=pd.to_datetime(ZGPA.index)

  9. #%% 相关指数
  10. print(ZGPA.tail())
  11. plt.plot(ZGPA['close'],label='收盘价')
  12. plt.plot(ZGPA['ma5'],label='MA5')
  13. plt.plot(ZGPA['ma20'],label='MA20')
  14. plt.legend()
  15. plt.xlabel('日期')
  16. plt.ylabel('股价')
  17. plt.title('中国平安收盘价,MA5,MA20时间序列')
  18.          
  19. #%% 获取中国平安全部历史数据
  20. ZGPA_all=ts.get_h_data('000001',start='2006-01-01')
  21. ZGPA_all.index=pd.to_datetime(ZGPA_all.index)

  22. #%% 相关指数
  23. print(ZGPA_all.tail())
  24. plt.plot(ZGPA_all['close'],label='收盘价')
  25. plt.legend()
  26. plt.xlabel('日期')
  27. plt.ylabel('股价')
  28. plt.title('中国平安收盘价时间序列(2006至今)')

  29. #%% 计算收益率
  30. ZPGA_Return=((ZGPA_all['close']-ZGPA_all['close'].shift(1))/ZGPA_all\
  31.             ['close'].shift(1)).dropna() #收益率
  32. plt.plot(ZPGA_Return)
  33. print('中国平安的平均日收益率:',ZPGA_Return.mean(),'\n中国平安的收益率标准差:',\
  34.       ZPGA_Return.std())

复制代码
利用以上代码,我们就得到了中国平安三年内的日收盘价、MA5、MA20的时间序列图,并且我们计算了从2006年至今中国平安的日收益率

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信