新mplfinance模块详解(一)

置顶qd-hhkj2020-04-27 09:16:5819253
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

目录

  • 一、概述

    • mplfinance模块说明

    • mplfinance安装

  • 二、mplfinance模块plot基本用法

    • 调用

    • 修改plot绘图类型

    • 增加绘制均线

    • 绘制成交量

    • 自动剔除非交易日空白

  • 三、make_addplot的基本用法

一、概述

python中调用mpl_finance已经出现警告:

=================================================================

   WARNING: `mpl_finance` is deprecated:

    Please use `mplfinance` instead (no hyphen, no underscore).

    To install: `pip install --upgrade mplfinance` 

   For more information, see: https://pypi.org/project/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安装

上面调用旧模块mpl_finance的警告中已经提醒了:

pip install --upgrade mplfinance

或者github下载

二、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)

输出:

三、make_addplot的基本用法

(0)

相关推荐

  • 快~快~大电快下机舱,电脑上有上百个报警

    快~~快~大电快下机舱,电脑上有上百个报警--航行中的一个深夜被急促的电话铃声叫醒隐约还能听见机舱报警一直响个不停,是值班机工打来的电话. 套上衣服一路小跑到集控室,两台监测报警电脑上同时出现上百个互 ...

  • 三维散点图

    上篇主要介绍了s,c,marker参数,scatter函数还有其他的参数,比如: 1.alpha,表示透明程序,取值 0(透明)和1(不透明)之间,默认值:1. 2.edgecolors,表示边缘颜色 ...

  • plot参数

    上篇介绍了如何用plot函数来画折线图,以及如何将多个图画在同一个图片上,本篇介绍的是plot函数一些参数的设置. 1.linewidth和linestyle参数 上篇用了color来修改折线的颜色, ...

  • IGBT模块技术参数详解

    IGBT模块技术参数详解

  • plt参数二

    我还是曾经那个少年, 没有一丝丝改变, 天马行空的想象, 没有一丁点儿实现...... 本篇还介绍plt的参数,接上篇plt设置. 3.坐标轴标题 可以用plt.xlabel()或者plt.ylabe ...

  • 参数化DNA模型 使用C4D中的Xpresso模块搭建

    28:52参数化DNA模型 使用C4D中的Xpresso模块搭建 一次建模 终生使用 1248-3 21:08彼岸花建模-C4D克隆工具混合模式妙用 3807-27 07:35C4D克隆工具 混合模式 ...

  • 用于RGB-D显著目标检测的自监督表示学习

    点击上方"深度学习爱好者",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯.小白决心每天为 ...

  • 用这个库,轻松绘制股票K线图

    大家好,欢迎来到 Crossin的编程教室 ! 有不少同学给我留言说希望讲一讲Python在股票基金分析方面的相关技术. 那说到股票基金就不得不提--K线图!这是所有技术分析的基础. 那我们今天就跟大 ...

  • 使用Python的mplfinance绘制line_K_BOLL_CCI

    import conn_sqlite # 连接本地sqlite数据库读取股票成交数据import pandas as pd # 生成dataframe格式数据import mplfinance as ...

  • 新mplfinance模块详解(二)

    Python的mpl_finance模块从2020年已经提醒弃用,新mplfinance模块详解(二) 置顶qd-hhkj2020-04-27 17:28:29 12207 收藏 86 原力计划 分类 ...

  • 新mplfinance模块详解(三)

    Python的mpl_finance模块从2020年已经提醒弃用,新mplfinance模块详解(三) 置顶qd-hhkj2020-04-28 17:10:55 分类专栏:mplfinance笔记文章 ...

  • Python模块详解

    Python模块详解

  • Python运维自动化psutil 模块详解(超级详细)

    psutil 模块 参考官方文档:https://pypi.org/project/psutil/ 一.psutil简介 psutil是一个开源且跨平台(http://code.google.com/ ...

  • 摩托车化油器玩出新高度,详解三大技能

    作者:御龙千里 虽然电喷摩托车越来越多了,但化油器车总保有量还是占大多数.对于一些玩车高手来说,化油器车型的DIY乐趣吸引力更大. 化油器的基础技能主要有三: 一是根据行车需要给出油门(发动机进气量) ...

  • 车身涂装智能化实践新标杆!详解上汽大众MEB涂装车间!

    导 读 ( 文/ 东风汽车公司-胡昌华 图源/ 汽车之家 ) 上汽大众MEB工厂是新能源汽车的专业工厂,于2020年10月正式投产的全新工厂,是专为生产大众汽车集团MEB平台纯电动汽车而建造,规划年产 ...

  • 独家!韩国6月1日出入境新政策操作流程详解!附:各材料下载网址!快收藏!

    不点蓝字,我们哪来故事?      相信大家看了昨天的新政策后,除了震惊,更多的是对其中细节的疑惑:"在哪里办入境申请呢?"."我5.31号之前回国受影响吗?" ...

  • 第26天:Python os 模块详解

    第26天:Python os 模块详解

  • 第29天:Python queue 模块详解

    queue 模块即队列,特别适合处理信息在多个线程间安全交换的多线程程序中.下面我们对 queue 模块进行一个详细的使用介绍. 1 queue 模块定义的类和异常 queue 模块定义了以下四种不同 ...