python分析数据走势图_python对股市进行数据分析-tushare篇

本文介绍了如何使用Python的tushare库获取并分析股市历史交易数据,包括日k线、周k线、月k线以及分钟k线数据。通过示例展示了如何绘制收盘价、最高价和最低价的走势图以及K线图,为金融分析提供便利。
摘要由CSDN通过智能技术生成

数据准备

TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据来源方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

股市数据的获取

这里用到的tushare的get_hist_data函数来获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,主要用法如下:

ts.get_hist_data('300032') #一次性获取全部日k线数据ts.get_hist_data('300032',start='2019-01-01',end='2019-06-18') #指定时间区间ts.get_hist_data('300032',ktype='W') #获取周k线数据ts.get_hist_data('300032',ktype='M') #获取月k线数据ts.get_hist_data('300032',ktype='5') #获取5分钟k线数据ts.get_hist_data('300032',ktype='15') #获取15分钟k线数据ts.get_hist_data('300032',ktype='30') #获取30分钟k线数据ts.get_hist_data('300032',ktype='60') #获取60分钟k线数据ts.get_hist_data('sh')#获取上证指数k线数据,其它参数与个股一致,下同ts.get_hist_data('sz')#获取深圳成指k线数据ts.get_hist_data('hs300')#获取沪深300指数k线数据ts.get_hist_data('sz50')#获取上证50指数k线数据ts.get_hist_data('zxb')#获取中小板指数k线数据ts.get_hist_data('cyb')#获取创业板指数k线数据

数据的显示import tushare as tsdata = ts.get_hist_data('300032',start='2019-01-01',end='2019-12-31')data = data.sort_index(ascending=True)data[:10]

股市数据处理及可视化

1. 添加所需的函数库

import matplotlib.pyplot as pltimport datetimeimport mpl_finance as mpfimport pandas as pd%matplotlib inline%pylab inline

2. 收盘价的走势图import matplotlib.pyplot as pltimport datetimeimport mpl_finance as mpfimport pandas as pd%matplotlib inline%pylab inlinedatelist = []closelist = []for dates,row in data.iterrows():   date_time = datetime.datetime.strptime(dates,'%Y-%m-%d')   t = date2num(date_time)   close = row[3]      datelist.append(t)   closelist.append(close)fig,ax = plt.subplots(figsize=(10,4))fig.subplots_adjust(bottom=0.2)ax.xaxis_date()plt.yticks()plt.xticks(rotation=30)plt.plot(datelist,closelist)

3. 最高价和最低价的走势图

fig = plt.gcf()with pd.plotting.plot_params.use('x_compat',True): data.high.plot(color='r',figsize=(10,4),grid='on') data.low.plot(color='b',figsize=(10,4),grid='on')

4. K线图绘制

每一天的数据至少有四个变量(开盘价,最高价,最低价,收盘价),通过画四条不同的线来描述这四个变量的可视化方法就是我们常说的K线图。本文利用mpl_finance中的candlestick_ohlc函数进行绘制。fig = plt.gcf()with pd.plotting.plot_params.use('x_compat',True):   data.high.plot(color='r',figsize=(10,4),grid='on')   data.low.plot(color='b',figsize=(10,4),grid='on')stickdata_list = []for dates,row in data.iterrows():   date_time = datetime.datetime.strptime(dates,'%Y-%m-%d')   t = date2num(date_time)   open = row[0]   high = row[1]   low = row[2]   close= row[3]   datas = (t,open,high,low,close)   stickdata_list.append(datas)fig,ax = plt.subplots(figsize=(10,4))fig.subplots_adjust(bottom=0.2)ax.xaxis_date()plt.xticks(rotation=45)plt.yticks()mpf.candlestick_ohlc(ax,stickdata_list,width=1.5,colorup='r',colordown='g')plt.show()

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值