分享

python对股市进行数据分析-tushare篇

 老三的休闲书屋 2020-12-16

数据准备

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]
python对股市进行数据分析-tushare篇

股市数据处理及可视化

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)
python对股市进行数据分析-tushare篇

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')
python对股市进行数据分析-tushare篇

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()
python对股市进行数据分析-tushare篇

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多