Python读取股票数据并可视化

本文主要是使用Python读取股票数据,以便获得时间序列数据,方便后续的时间序列分析

获取数据

由于传统的yahoo网站上的股票数据有防火墙隔离,常用的API接口已不能使用,本文推荐一个tushare库,可以获取国内外的股票数据,关于tushare的详细了解可参考 https://blog.csdn.net/zyaiwmy/article/details/70241624。

import tushare as ts
import matplotlib.pyplot as plt
import datetime

ticker = '600028'
finace=ts.get_hist_data(ticker, '2015-12-03', '2017-12-30')

结果展示如下:

finace.tail()
Out[175]: 
            open  high  close   low      volume  price_change  p_change  date                                                                      
2015-12-09  4.90  4.94   4.90  4.86   795117.94         -0.01     -0.20   
2015-12-08  4.93  4.96   4.91  4.90  1252128.00         -0.11     -2.19   
2015-12-07  5.02  5.05   5.02  4.98   924992.75         -0.01     -0.20   
2015-12-04  5.09  5.12   5.03  5.01  1781555.50         -0.11     -2.14   
2015-12-03  5.05  5.23   5.14  5.01  2317363.25          0.05      0.98   

              ma5   ma10   ma20       v_ma5      v_ma10      v_ma20  
date                                                                 
2015-12-09  5.000  5.000  5.087  1414231.49  1646995.13  1631056.49  
2015-12-08  5.040  5.023  5.110  1693380.00  1698468.16  1691408.13  
2015-12-07  5.042  5.045  5.134  1664659.08  1670037.36  1806016.94  
2015-12-04  5.022  5.055  5.150  1800285.50  1721029.30  1952473.20  
2015-12-03  4.996  5.068  5.162  1960707.55  1700247.98  2022001.05  

绘图

已经得到了一个 DataFrame 对象finace,下面绘制出以时间为横坐标,开盘价为纵坐标的折线图

opens = [q for q in finace["open"]]
dates = [datetime.datetime.strptime(q.encode('utf-8') ,"%Y-%m-%d") for q in finace.index]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot_date(dates, opens, '-')
fig.autofmt_xdate() 
plt.show()

Python读取股票数据并可视化_第1张图片

你可能感兴趣的:(机器学习)