欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

利用tushare进行股票数据分析

时间:2023-04-24

笔者tushare ID:476408

在经过了半年时间的学习中,对熟练的使用tushare进行股票数据分析方面具有一定的基础,能够基本掌握一些常用的算法编程,以下就以自己在校期间的分析报告为分享内容。

利用tushare获取股票信息,画出股票K线图:

 完整代码:

import tushare as tsimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport mpl_finance as mpfimport matplotlib.ticker as ticker # 该库用于改变数据轴的间隔来解决日期显示不完整的问题data=ts.get_hist_data('600111','2021-06-01','2021-11-20')data.to_excel('600111.xlsx')a=data.head(10)print(a)data=data.sort_index() # 升序排列fig,axes=plt.subplots(2,1,sharex=True,figsize=(30,16)) # 2行1列的画布,sharex=True表示共享x轴的坐标ax1=fig.add_subplot(2,1,1) # 第一个子图plt.rcParams['font.sans-serif']=['SimHei'] # 解决中文显示的问题# 切片,选择需要的数据opens=data['open'] closes=data['close']highs=data['high']lows=data['low']ohlc=list(zip(np.arange(0,123),opens,closes,highs,lows)) # 使用zip方法生成数据列表data_index=data.index # 日期# 方法一#mpf.candlestick2_ochl(ax1,opens,closes,highs,lows,width=0.6,colorup='r',colordown='g') # 方法二mpf.candlestick_ochl(ax1,ohlc,width=0.6,colorup='r',colordown='g',alpha=1.0)ax1.plot(data.index,data['ma5'],label='MA5') # 画5日均线ax1.plot(data.index,data['ma10'],label='MA10') # 画10日均线ax1.plot(data.index,data['ma20'],label='MA20') # 画20日均线ticker_spacing=20 # 设置坐标轴间隔ax1.xaxis.set_major_locator(ticker.MultipleLocator(ticker_spacing)) # 设置x轴坐标轴的刻度ax1.set_ylabel('价格',fontsize=30) # 设置y轴的标签ax1.set_title('北方稀土(600111)',fontsize=40) # 设置标题ax1.xaxis.set_major_locator(ticker.MultipleLocator(ticker_spacing))ax2=fig.add_subplot(2,1,2) # 第2张子图ax2.bar(data.index,data['volume']) # 画成交量ax2.xaxis.set_major_locator(ticker.MultipleLocator(ticker_spacing))ax2.set_xlabel('日期',fontsize=20)ax2.set_ylabel('成交量',fontsize=30)ax2.grid(True) # 设置网格线fig.legend() # 设置图例plt.xticks(rotation=30) # 设置x轴刻度的旋转plt.savefig('北方稀土')plt.show()

结果如图所示: 

 以上以北方稀土为例,分析了从2021年6月到11月期间的股票走势。

以上是自己在入门级别写的代码,拙笔之作,望各位更正改进。谢谢。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。