Python绘制股票日K图(五)添加均线
首先计算均线
stock_data['Ma5'] = stock_data.close.rolling(window=5).mean() # 求5日均线
以stock_data.close为数据,滚动窗口为5,mean()的作用是求平均数,最终算得5日均线。
然后再把5日均线画上去,代码如下:
ax.plot(np.arange(0, len(stock_data.index)-begin), # [x]的数据范围stock_data['Ma5'][begin:], # [y]的数据范围'black', # 均线颜色label='M5', # 均线标签lw=2.5) # 均线宽度
完整代码如下:
# 1、仅制作单股票的日K图,添加网格
# 2、添加网格
# 3、优化x轴和y轴
# 4、给x轴的刻度加上日期标签
# 5、添加均线
import pandas
import numpy as np
import matplotlib.pyplot as plt
import mpl_finance as mpfdir_name = 'D:\\gupiao\\'def paint_dayk(code):# 1、获取数据stock_data = pandas.read_csv(dir_name + code + '.txt') # 读取数据begin = len(stock_data) - 120 # 取最近120天的数据if begin < 0: # 如果上市未满120天,则从上市当天开始显示begin = 0# 2、画日K图fig = plt.figure( # 添加fig对象figsize=(54, 28), # 设置fig大小,长和宽,单位为英寸dpi=120) # 每英寸的像素点数gs = fig.add_gridspec(1, 1) # 在fig中添加一个一行一列的网格ax = fig.add_subplot(gs[0, 0]) # 在fig中添加网格的第一块,并返回一套坐标轴mpf.candlestick2_ochl( # 调用candlestick2_ochl画日K图ax, # 在这套坐标轴内画日K图stock_data.open[begin:], stock_data.close[begin:], # 开盘价和收盘价stock_data.high[begin:], stock_data.low[begin:], # 最高价和最低价width=0.8, colorup='red', colordown='green') # 收盘价大于开盘价则红柱,收盘价小于开盘价则绿柱ax.grid(axis='x', linestyle='-.') # 添加x轴方向的网格ax.grid(axis='y', linestyle='-.') # 添加y轴方向的网格ax.yaxis.tick_right() # 将y轴的数值显示在右边ax.set_xlim(0, len(stock_data.index)-begin, 1) # 设置x轴的范围ax.set_xticks(range(0, len(stock_data.index)-begin, 1)) # 设置x轴的刻度ax.axes.set_xticklabels(stock_data.week[begin:])for label in ax.xaxis.get_ticklabels(): # 设置x轴标签的字体大小label.set_fontsize(16)for label in ax.yaxis.get_ticklabels(): # 设置y轴标签的字体大小label.set_fontsize(40)# 绘制移动平均线图stock_data['Ma5'] = stock_data.close.rolling(window=5).mean() # 求5日均线stock_data['Ma10'] = stock_data.close.rolling(window=10).mean() # 求10日均线stock_data['Ma20'] = stock_data.close.rolling(window=20).mean() # 求20日均线ax.plot(np.arange(0, len(stock_data.index)-begin), # [x]的数据范围stock_data['Ma5'][begin:], # [y]的数据范围'black', # 均线颜色label='M5', # 均线标签lw=2.5) # 均线宽度ax.plot(np.arange(0, len(stock_data.index)-begin), stock_data['Ma10'][begin:], 'orange', label='M10', lw=2.5)ax.plot(np.arange(0, len(stock_data.index)-begin), stock_data['Ma20'][begin:], 'purple', label='M20', lw=2.5)# 3、输出日K图plt.savefig(dir_name + code + '.jpg') # 保存图片def main():code = '000001'paint_dayk(code)if __name__ == '__main__':main()
但我自己的做法是直接在Java中生成最近的均线值,输出到文件中,然后再通过Python读取文件绘制均线,可在我生成的数据文件中找到。
生成的图片如下:
更多数据下载:股票数据,最近两百天,更新到了20220809-数据集文档类资源-CSDN下载
Python绘制股票日K图(五)添加均线相关推荐
- Python绘制股票日K图(九)给折线图加标签
股票当日成交额在股市的排名说明了市场对它的关注度,也是一个很好的指标. 免费获取更多最新股市数据关注头像同名恭祝好! 相应的代码同Python绘制股票日K图(七)给柱状图加上标签差不多,只不过需要注意 ...
- Python绘制股票日K图(二)添加网格
为了让我们的日K图更加易于比较,我们可以为它添加网格,用到的函数如下: def grid(self, visible=None, which='major', **kwargs):"&quo ...
- Python绘制股票日K图(十)汇总日K图、柱状图、折线图
免费获取更多最新股市数据关注头像同名恭祝好! 在一个figure上画三个图,我们首先要给figure添加gridspec,代码如下: gs = fig.add_gridspec(3, 1, # 三行一 ...
- 用python把股票日K线转换成月K线周期数据,这可能是网上最稀缺的代码
用python把股票日线转换成月K线周期,这可能是网上最稀缺的代码. 在网上找了半天,真的非常稀缺,把日K线转换成月线周期. 东拼西凑,再加上自己的修改,终于写出来了. 先爬取K线数据保存为temp. ...
- Python绘制股票K线图
目录 1 股票K线图知识了解 2 用Python绘制股票K线图 2.1 安装绘制K线图的mpl_finance库 2.2 引入相关库 2.3 用Tushare库获取股票基本数据 2.4 日期格式调整及 ...
- python画蜡烛致敬烈士_「」matplotlib 股票-用python绘制蜡烛线型k线图是用代码还是绘图工具-TOP金融网...
用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateFormatte ...
- python画蜡烛致敬烈士_用python绘制股票图,用python绘制蜡烛线型k线图是用代码还是绘图工具...
Q1:用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateForma ...
- python绘制k线图的步骤_Python使用PyQtGraph绘制股票行情K线图
PyQtGraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架, ...
- 用Python绘制专业的K线图【含源代码】
使用Python绘制一幅专业的K线图,是量化投资和金融数据分析的必备功课. 下面我将从K线图简介.数据获取.K线图绘制及成交量绘制等方面,结合源代码,一步步实现专业K线图的绘制. K线图简介 K线图又 ...
最新文章
- ARM的突破:超级计算机和Mac
- react 实现数据双向绑定
- console 非常实用的方法
- Zabbix如何实现Server和Agent的通信加密
- 【Linux】一步一步学Linux——login命令(210)
- Docker中搭建FastDFS文件系统(多图)
- windows 批处理
- 支持向量机中到底什么是支持向量
- Android使用HttpURLConnection下载图片
- python创意小作品-[专题]在Python教学中应用turtle创意编程实践
- 实习 | 京东金融个人风险管理中心(地点:北京)
- 创业者请不断自问:我能帮用户解决什么问题?
- 【datawhale-gitmodel】以波士顿房价数据进行数据分析和数据可视化
- java 插件开发教程_Eclipse插件开发的详细教程
- 1×pbs缓冲液配方_PBS缓冲液配方.doc
- 魔兽世界插件开发-WOWLUA插件
- java地理位置的获取_Java 根据 IP 获取地理位置
- 【Docker】Failed to get D-Bus connection: Operation not permitted解决
- 简易操作系统OS方案规划
- Fairplay之streamingContentKeyRequestDataForApp makeStreamingContentKeyRequestDataForApp
热门文章
- [组原]《程序是怎样运行的》 笔记
- 考初级会计考试具体的报考步骤
- 【精益生产】精益六西格玛质量管理运行体系推进案例
- 赣州java培训_赣州java工资一般多少,赣州java工资在什么水平,赣州java工资待遇有多少...
- 【python教程入门学习】用python3教你任意Html主内容提取
- 不同投资品种,利益关系不同
- Android开发打开指定QQ,申请加入QQ群,打开微信
- 《延禧攻略》反派尔晴先“死”于越南
- python导入包后调用提示unresolved reference
- 最新注册gmail邮箱收不到验证码解决方法