需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码...

795241e219c6b47996535dc593f1577f.png

编辑 | Cowboy

校对 | 李明

来源 | 牛角财经

目的 | 量化工具 | 如何利用Python绘制K线和成交量组合图?附代码

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第1张图片

速览:

本文将分享如何利用python绘制K线图,代码量不多。但是能够达到大多数读者的要求。绘制k线图重点的是非交易时间短的处理,处理不当会造成k线图空缺或收盘价不连续。读者如需文章中的代码,回复文章标题即可领取。

85c5f8209a806916c6083bdf8bd152f2.png

K线图

K线图这种图表源处于日本德川幕府时代,被当时日本米市的商人用来记录米市的行情与价格波动,后因其细腻独到的标画方式而被引入到股市及期货市场。目前,这种图表分析法在我国以至整个东南亚地区均尤为流行。

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第2张图片

由于用这种方法绘制出来的图表形状颇似一根根蜡烛,加上这些蜡烛有黑白之分,因而也叫阴阳线图表。通过K线图,我们能够把每日或某一周期的市况表现完全记录下来,股价经过一段时间的盘档后,在图上即形成一种特殊区域或形态,不同的形态显示出不同意义。我们可以从这些形态的变化中摸索出一些有规律的东西出来。K线图形态可分为反转形态、整理形态及缺口和趋向线等。

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第3张图片

1.导入数据处理包、k线绘制模块

导入:

2D绘图包

pandas

mpl_finance.py

tushare数据源。mpl_finance.py 这里的模块需要和代码放同一个目录下运行。

代码:

import tushare as tsimport numpy as npimport matplotlib.pyplot as pltimport mpl_finance as mpfimport talib as tl

2.计算10、30日均线

这里主要设置数据的起始日期、获取股票(300427)的开高低收、成交量等基础数据并通过talib指标库中的SMA方法计算收盘价的10日均线和30日均线。时间范围:2018-04-01至2019-07-01。

注意:这里的数据是反的,我们用sort_index()按时间先后进行排序。

代码:

"设置起始日期"start_date ='2018-04-01'End_date = '2019-07-01'​"导入数据"df_300427 = ts.get_hist_data('300427',start=start_date,end=End_date)df_300427=df_300427.sort_index()​"计算均线"sma_10 = tl.SMA(np.array(df_300427['close']), 10)sma_30 = tl.SMA(np.array(df_300427['close']), 30)​"可视化均线"ax1.plot(sma_10, label='MA10')ax1.plot(sma_30, label='MA30')ax1.plot(df_300427['close'])ax1.legend();plt.show()

run:

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第4张图片

3.利用mpl_finance.py模块制k线图

原来matplotlib包里面有相关绘制K线图的方法,原来的方法:import matplotlib.finance as mpf ,但是作者尝试了发现这种方式已经不行了,应该是将模块独立出来了,也就是文章中所用到的mpl_finance.py。

例如:

import matplotlib.finance as mpf​

报错:

ModuleNotFoundError: No module named 'matplotlib.finance'

01

绘制K线图

利用mpl_finance.py绘制K线图是相当容易,而且不会出现K线空缺或者收盘价不连续、时间轴密集等问题。下面我们开始吧!我们将前面代码综合到这步骤。

通过mpl.candlestick2_ochl ( )方法绘制K线图,具体参数如下:

mpl.candlestick2_ochl ( ax1,开,收,高,低,k线宽度,阳线颜色,阴线颜色,透明度)

代码:

import tushare as tsimport numpy as npimport matplotlib.pyplot as pltimport mpl_finance as mpfimport talib as tl​​"设置起始日期"start_date ='2018-04-01'End_date = '2019-07-01'​"导入数据"df_300427 = ts.get_hist_data('300427',start=start_date,end=End_date)df_300427=df_300427.sort_index()​"计算均线"sma_10 = tl.SMA(np.array(df_300427['close']), 10)sma_30 = tl.SMA(np.array(df_300427['close']), 30)​"可视化"fig,(ax1,ax2) = plt.subplots(2,1,figsize=(15,5))mpf.candlestick2_ochl(ax1, df_300427['open'], df_300427['close'], df_300427['high'],df_300427['low'], width=0.6, colorup='r', colordown='g', alpha=0.75)ax1.plot(sma_10, label='MA10')ax1.plot(sma_30, label='MA30')ax1.legend();ax1.grid()ax2.grid()plt.show()

run:

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第5张图片

02

绘制成交量图与K线图组合

绘制成交量图我们利用mpl_finance.py里面的volume_oerlay方法绘制。具体参数如下:

mpf.volume_overlay(ax2, 开,收,成交量,阳线颜色,阴线颜色,柱状宽,透明度)。

代码:

import tushare as tsimport numpy as npimport matplotlib.pyplot as pltimport mpl_finance as mpfimport talib as tl​​"设置起始日期"start_date ='2018-04-01'End_date = '2019-07-01'​"导入数据"df_300427 = ts.get_hist_data('300427',start=start_date,end=End_date)df_300427=df_300427.sort_index()​"计算均线"sma_10 = tl.SMA(np.array(df_300427['close']), 10)sma_30 = tl.SMA(np.array(df_300427['close']), 30)​​fig,(ax1,ax2) = plt.subplots(2,1,figsize=(15,5))mpf.candlestick2_ochl(ax1, df_300427['open'], df_300427['close'], df_300427['high'],df_300427['low'], width=0.6, colorup='r', colordown='g', alpha=0.75)mpf.volume_overlay(ax2, df_300427['open'], df_300427['close'], df_300427['volume'], colorup='r', colordown='g', width=0.5, alpha=0.8)ax1.plot(sma_10, label='MA10')ax1.plot(sma_30, label='MA30')ax1.legend();ax1.grid()ax2.grid()plt.show()

run:

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第6张图片

4.总结

至此已经将k线与成交量组合图实现的整个过程分享出来了,读者可根据自身需要进行修改使用。在matplotlib中已经没有finance模块了,现在已经分离出来,需要用独立的模块mpl_finance.py。

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第7张图片

如需本章案例代码,微信关注:‘牛角财经’,回复文章标题,即可领取!

往期热文

量化研究:

1.python量化工具 |利用Python在策略中加入跟踪止盈止损模块(附代码)

2.TB量化兵器库 | 如何在TB中量化 “上升三角形” 和 “下降三角形”(附代码)?

3.量化工具 | 如何利用python将tick数据合成分钟数据并跨周期获取"MA"技术指标???(附代码)

4.量化工具 | 如何建立自己的量化交易系统?

5.量化工具 | 利用Python开发MACD跨周期策略(附代码)!!!

资金管理:

1.量化工具 | 动态资金管理—1-2-3-1法,连续亏损N笔后启动!!!(附代码)

2.量化工具| 资金管理-如何利用凯利公式:f=(bp-q)/b 确定最优的投注比例?

3.量化工具 | 资金管理-安全F值法与递减F值法

量化教程:

1.初识 | 人生苦短,我用Python!

2.python量化基础 | 变量和简单的数据类型,零基础都可以看懂!!!

3.python量化基础 | 变量和简单的数据类型-字符串

4.量化工具 | 如何建立自己的量化交易系统?

5.python量化基础 | 变量和简单的数据类型-数字和运算符

点击下方二维码即可关注‘牛角财经’

需求图如何画工具_量化工具 | 如何利用Python绘制K线和成交量组合图?附代码..._第8张图片

你可能感兴趣的:(需求图如何画工具)