如何用Python画出漂亮的股票K线—布林指标-成交量图

本文介绍了如何使用Python和pyecharts库在量化投资中,从准备股票日线数据,计算布林指标,到绘制包含K线、布林线和成交量的图表,实现数据的可视化分析。作者提供了详细的步骤和示例代码,让读者了解如何实现股票数据的动态展示和分析。
摘要由CSDN通过智能技术生成

本篇是我们量化小册中的一篇(小册内容详细看上面),前面我们讲了很多内容,如何准备爬取数据,拿到数据如何清洗,如何回测,如何用策略去开仓平仓,如何可视化等等。

但是有的时候我们开了信号,但是不知道怎么可视化,比如我需要把K线,指标,成交量都画在一张图上,这样方便我们回测的时候分析,最后时机可以拖动放大,其实不难,100多行Python代码就可以轻松搞定,我们先来看一下效果:

上面的图就是茅台的股票数据图,有k线,有布林指标,有成交量,看起来还不错。怎么画的呢,其实我们前面的文章讲过一些,用python的pyecharts来画的,其实还可以画很多指标,比如cci, macd,obv 等等,今天我们就画上图这样一个简单的。

1.准备数据,数据预处理

首先你需要拿到一个股票的日线数据,当然分钟线,小时线也可以(如何免费获取股票历史数据我们前面都讲过,小册里面也有),我这边就准备了一份茅台的历史数据,长这样:

这个是标准的k线数据,开盘价,最高价,收盘价,最低价,成交量,成交额,这些数据,拿到之后我们稍微处理一下即可。

然后处理好数据之后,我们就开始计算指标,比如我们上面图里画布林指标,需要先计算一下,布林策略(我们前面详细深入的解读过这个策略,可以翻历史文章),计算布林的公式如下:

我们默认的是20个周期,然后2个标准差来计算的,布林的上轨,中轨和下轨的线。然后我们需要把数据稍微处理一下,主要是为画图喂相应的格式:

2.开始画图

我们画图有3部分组成:k线,布林指标(折线图)和成交量的柱状图,3个图合成在一起构成了上面的图。下面我们来详细说说:

1).先画k线图

pycharts图里面自带了kline的函数,可以非常方便的话出股票的k线。核心的代码如下:

调用kline函数,x轴填入我们的股票的日线k线数据的datas = df[[‘open’, ‘close’, ‘low’, ‘high’]].values.tolist() ,就是常见的open/high/low/close ,然后y轴填入日期,styleopts里面填入阳线和阴线常见的颜色即可成型。我们看一下效果:

2).添加横坐标的日期放大功能

因为我们的股票的数据周期比较长,有几年,十几年的数据。需要对时机轴进行缩小和放大的功能,这样才能方便我们观察数据,怎么添加这个功能呢,很简单,在kline()里面增加一个datazoom_opts配置,然后可以设置一下即可

我们默认是把横坐标的日期放在[80,100]的地方,看一下效果:

3). 增加布林指标

布林指标其实就是折线图,跟以前我们讲过的双均线指标一样的,只是布林分上轨,中轨,下轨线而已。我们拿一个上轨的为例说一下:

里面pyecharts 里面的line()函数,x轴喂的是我们的股票里面的日期列表,然后y轴是我们的上轨的数据,颜色设置为红色。

line_upper = draw_line(series_name="上轨", xaxis_data=data['dates'], y_axis=data['upperband'], color='red')

我们看一下效果:

其他的中轨和下轨都是类似的,我就不一一展开了,下面我们继续画成交量数据bar图。

4).成交量bar图

完成了上面的操作之后,我们还剩下一个成交量bar图,看一下核心代码:

调用pyecharts里面的bar函数,然后x轴喂入我们的股票日期数据,y轴喂入我们的成交量数据,其他的参数用默认的即可,看一下效果:

最后我们把这几个图都合成到一个图里面即可。

5).合成图

pyecharts里面有一个Grid()类可以把多个指标图合成到一起,我们看一下代码即可:

先设置一下grid()这个画布大小,我们默认用1380*600 px ,然后把kline ,布林的上轨,中轨,下轨,bar图都添加到Grid()里面即可。除了指标,我们还可以把回测的交易信号也放到图上,后面我会再写一篇详细讲一下。

好了,限于篇幅,我就不展开详细讲了,源码都在小册群里面,拿到源码自己跑一下即可。对量化有兴趣的同学可以看我们的小册,目前会员群里面已经几百个同学了,有兴趣的火速加入。


最后,小编也给大家分享一份Python学习资料和公开课,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂。

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。

点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值