股票分析离不开各种图表的绘制,尤其是最常用的蜡烛图。下面介绍python中使用matplotlib绘制蜡烛图的过程。
环境及配置
使用的环境如下:
| 1 | $ python3 --version | 
绘制蜡烛图通常使用matplotlib.finance库,但这个库在matplotlib 2.0后已经被废弃,并被移到一个名叫mpl_finance的库中。可使用如下命令安装mpl_finance。
| 1 | pip3 install https://github.com/matplotlib/mpl_finance/archive/master.zip | 
mpl_finance使用雅虎接口获取股票数据,但是不稳定,因此推荐使用tushare库获取股票数据。另外使用talib计算股票各种技术分析指标,例如常用的均线数据。需要注意的是通过pip3按照的talib库是对C/C++版talib的包装,因此需先安装C/C++版talib。
蜡烛图绘制
蜡烛图绘制函数简介
mpl_finance库中蜡烛图的绘制主要有以下四个函数:
| 1 | candlestick2_ochl(ax, opens, closes, highs, lows, width=4, colorup='k', colordown='r', alpha=0.75) | 
在这四个函数的使用过程中需要注意的是:
- candlestick2_ohlc函数假定opens, highs, lows, closes中任意一个值不存在,则其他值也不存在。 
- candlestick_ochl和candlestick_ohlc的输入参数quotes是(time, open, close, high, low, …)元组序列,其中time必须是浮点日期格式,具体参见date2num。 
蜡烛图绘制函数存在日线图的时间间隔问题(非交易日无法跳过,导致图像断裂)。常用解决方法是建议重新调整横坐标,被动地过滤掉非交易时间段[2]。例如:
| 1 | ax.set_xticks(range(0, len(data['date']), 10)) | 
蜡烛图的简单绘制
蜡烛图的简单例子如下:
| 1 | import numpy as np | 
参考链接
- finance api, by matplotlib