👇我的小册 40章+教程:(小白零基础用Python量化股票分析小册) ,目前已经300多人订阅
本篇是我们量化小册中的一篇(小册内容详细看上面),前面我们讲了很多内容,如何准备爬取数据,拿到数据如何清洗,如何回测,如何用策略去开仓平仓,如何可视化等等。
但是有的时候我们开了信号,但是不知道怎么可视化,比如我需要把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()里面即可。除了指标,我们还可以把回测的交易信号也放到图上,后面我会再写一篇详细讲一下。
好了,限于篇幅,我就不展开详细讲了,源码都在小册群里面,拿到源码自己跑一下即可。对量化有兴趣的同学可以看我们的小册,目前会员群里面已经几百个同学了,有兴趣的火速加入。
最后推荐一下我们团队写的量化小册的内容,45篇内容!从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!
欢迎订阅:原价199 早鸟价2杯咖啡钱,即可永久阅读。现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+课程源码,还有永久陪伴群。48小时无理由退款,放心食用!
推荐阅读:
量化: 如何用Python爬取创业板历史+实时股票数据!|实战股票分析篇利用Pandas 9招挖掘五粮液股价!|实战股票数据分析篇 Pandas滚动操作 |量化股票第一步,用Python画股票K线,双均线图,可视化你的股票数据!|如何用Python爬取全部800多只ETF基金数据!|如何用Python写一个双均线策略 |如何用Python开发一个多策略机器人!上篇!|Python量化系列-用布林策略买五粮液能赚多少钱?|只要4秒钟!用Python 获取上证指数34年的历史日线数据!
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|