其他分享
首页 > 其他分享> > mplfinance模块详解

mplfinance模块详解

作者:互联网

从官方介绍的历史版本看mplfinance是从0.11.x版2019年12月20日开始更新频繁的,之前的0.10.x版最近的更新在2016年,那么说这个新模块的取代刚刚不到半年的时间,从论坛上搜索资料还比较少。
mplfinance与mpl_finance功能相近但是区别还是很大的,之前的candlestick2_ochl()方法已经没有了,取而代之的是plot和make_addplot,这两个方法的参数也更是不同,新模块的plot可以直接使用pandas数据格式(旧模块mpl_finanace只支持numpy数据交互),而且可以自动完成额外的matplotlib工作(旧模块只能手动完成,而旧模块的API在这个包中仍然可用;),总体来说新模块mplfinance使用更便捷。

mplfinance模块说明

mplfinance是专用于金融数据的可视化分析模块,是基于matplotlib的实用模块程序。
基于前面的介绍,可以确定使用前必须确保已经安装了matplotlib和pandas。
mplfinance使用是简直太方便,绘制个均线什么的一个关键字参数解决,剔除停盘时间段的空白不用你想它已经自动做了,还有时间坐标都是自动完成的,比如显示的是当天k线就只显示时间,跨天就自动带上日期,跨年就自动带上年份,哇,mplfinance在使用上不要太方便、太人性化!

mplfinance模块plot基本用法

import mplfinance as mpf
mpf.plot(data)

这里需要强调的是参数data的类型,data必须是pandas.DataFrame数据类型,对所包含的列也有要求,必须包含’Open’, ‘High’, ‘Low’ 和 ‘Close’ 数据(注意:首字母是大写的),而且行索引必须是pandas.DatetimeIndex,行索引的名称必须是’Date‘(同理注意首字母大写),此外还有一列是’Volume’,这一列不是必须的,可选项(前提是你不想绘制成交量的话)。例如:(后面举例就以这些数据为例)

                        Open      High       Low     Close  Volume
Date                                                               
2020-04-01 00:00:00  23646.00  23646.00  23622.00  23624.00      74
2020-04-01 00:01:00  23623.00  23627.00  23612.00  23627.00      68
2020-04-01 00:02:00  23626.00  23631.00  23612.00  23615.00      59
2020-04-01 00:03:00  23612.00  23625.00  23609.00  23610.00      62
2020-04-01 00:04:00  23608.00  23619.00  23604.00  23606.00      58
2020-04-01 00:05:00  23606.00  23620.00  23605.00  23620.00      50
2020-04-01 00:06:00  23621.00  23629.00  23620.00  23624.00      51
2020-04-01 00:07:00  23626.00  23644.00  23620.00  23639.00      78
2020-04-01 00:08:00  23639.00  23642.00  23631.00  23636.00      74
2020-04-01 00:09:00  23635.00  23654.00  23635.00  23651.00      72
2020-04-01 00:10:00  23654.00  23655.00  23644.00  23648.00      54
2020-04-01 00:11:00  23648.00  23652.00  23631.00  23638.00      67
2020-04-01 00:12:00  23640.00  23646.00  23638.00  23644.00      65
2020-04-01 00:13:00  23644.00  23645.00  23633.00  23640.00      71
2020-04-01 00:14:00  23637.00  23640.00  23625.00  23625.00      68
2020-04-01 00:15:00  23624.00  23636.00  23623.00  23633.00      79
2020-04-01 00:16:00  23633.00  23634.00  23612.00  23614.00      75
2020-04-01 00:17:00  23615.00  23626.00  23614.00  23626.00      77
2020-04-01 00:18:00  23626.00  23626.00  23605.00  23607.00      67
2020-04-01 00:19:00  23605.00  23610.00  23599.00  23607.00      65
2020-04-01 00:20:00  23607.00  23616.00  23594.00  23595.00      57
2020-04-01 00:21:00  23594.00  23600.00  23588.00  23591.00      67
2020-04-01 00:22:00  23589.00  23597.00  23586.00  23590.00      64
2020-04-01 00:23:00  23589.00  23592.00  23584.00  23587.00      60
2020-04-01 00:24:00  23585.00  23589.00  23580.00  23580.00      57
2020-04-01 00:25:00  23578.00  23578.00  23552.00  23553.00      63
2020-04-01 00:26:00  23552.00  23562.00  23546.00  23558.00      55
2020-04-01 00:27:00  23556.00  23563.00  23548.00  23551.00      82
2020-04-01 00:28:00  23550.00  23557.00  23541.00  23551.00      61
2020-04-01 00:29:00  23551.00  23570.00  23550.00  23569.00      67

输出

修改plot绘图类型

通过参数type修改绘图类型,默认是ohlc,可修改为:type=‘candle’ 或者 type=‘line’,这个想必不用解释直接上结果:

mpf.plot(data,type='candle')

输出

mpf.plot(data,type='line')
#这里可以通过linecolor关键字参数设置线的颜色,如:mpf.plot(data,type=‘line’,linecolor='g'),linecolor参数仅仅在type=‘line’时起作用。

输出:

增加绘制均线

关键字参数 mav=(2, 5, 10),多条均线使用元组,只绘制一条均线,可以mav=10;

mpf.plot(data, type='line', mav=(2, 5, 10))

 输出:

绘制成交量

关键字参数, volume=True

mpf.plot(data, type='candle', mav=(2, 5, 10), volume=True)

输出:

 

自动剔除非交易日空白

关键字参数show_nontrading=False,其实show_nontrading默认就是False,官方文档中提到,可能有人想看到停盘的时间段,那就show_nontrading=True;
这里找了一段有停盘的数据展示下show_nontrading=True的情况(上面的数据没有停盘时间);False是默认,与上面展示的图形无疑,这里就不展示了

# 显示非交易时间的空白
mpf.plot(data,type='candle',mav=(2, 5, 10), volume=True,show_nontrading=True)

输出:

 

更全面的讲解请移步到原文 https://blog.csdn.net/wuwei_201/article/details/105781844

知识扩展:mplfinance实现全功能动态交互式K线图

标签:plot,00,01,04,详解,2020,模块,mplfinance
来源: https://www.cnblogs.com/yuyanc/p/16388190.html