用 Python 绘制专业的 K 线图【含源代码】
使用 Python 绘制一幅专业的 K 线图,是量化投资和金融数据分析的必备功课。
下面我将从 K 线图简介、数据获取、K 线图绘制及成交量绘制等方面,结合源代码,一步步实现专业 K 线图的绘制。
K 线图简介
K 线图又被成为“蜡烛图”、“阴阳线”等,它在视觉效果上可以很清晰得凸显出市场多空形势,K 线图成为大家查看行情数据以及各式量化分析不可或缺的一环。在 K 线图常见的时间跨度分钟、日、周以及月。
K 线由高开低收四个价格绘制而成。分为阳线与阴线两种,收盘价高于开盘价时为阳线,收盘价低于开盘价时为阴线;K 线图的示意图如下:
K 线由矩形实体与上下两根影线组成,实体上方的影线成为上影线,下方的成为下影线。实体与阴线相对长短,可形成多种形态。
1、股票数据
我们从恒有数 金融数据社区,获取股票市场历史行情数据。我们获取 2021 年 6 月 1 号至 2021 年 8 月 1 号,恒生电子(600570.SH)的日行情数据,代码及执行结果如下。
2、数据处理
由于恒有数的 stock_quote_daily 接口返回参数较多,包含了非交易日及停牌日期的数据。使用 candlestick_ohlc 包绘制 K 线图时,需要将日期转为数值。程序代码与执行结果如下:
3、绘制 K 线
使用 mpl_finance 函数包中 candlestick_ohlc 函数进行绘图,程序如下:
4、去除图中非交易日
由于 candlestick_ohlc 函数默认绘制的 K 线图并未剔出非交易日(周末、节假日和停牌日期),导致 K 线之间存在空白间隔。下面我们通过修改绘图数据中横轴数据,修改横轴标注日期,实现剔除图中的非交易日数据。
5、在 K 线图中,添加成交量
K 线图中,除了 K 线数据,一般还配有成交量数据。恒有数的 stock_quote_daily 接口返回的数据中,也有成交量数据。将 K 线图与成交量绘制在同一张图的程序如下:
至此一幅专业的 K 线图便绘制完毕了。
下篇文章,我们将在图中添加均线及常见技术指标走势图,敬请期待。
评论