Mplfinance: 专门用于金融数据可视化的工具

Mplfinance是由 matplotlib 开发团队开发的专门用于金融数据可视化分析。使用Mplfinance轻松地创建金融可视化图,支持直接可视化存放在Pandas DataFrame中的数据。

Mplfinance提供以下的功能:

  • 简化绘图样式;
  • 简化的垂直线,水平线和趋势线的绘制;
  • 简单子图绘制;
  • 支持填充颜色;
  • 支持蜡烛图、砖型图、点图等图像绘制;
  • 支持为蜡烛图上色;
  • 支持自定义图像外观;
  • 支持通过动画模式展示实时更新的数据。

安装

pip install mplfinance

简单使用

加载并可视化数据

import pandas as pd
daily = pd.read_csv('test.csv',index_col=0,parse_dates=True)
daily.index.name = 'Date'
daily.shape
daily.head(3)
daily.tail(3)

图片
绘制 OHLC 数据

import mplfinance as mpf

mpf.plot(daily)

图片
绘制蜡烛图

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

图片
绘制线图

mpf.plot(daily,type='line')

图片
绘制砖型图

mpf.plot(daily, type='renko')

图片
绘制移动平均线

mpf.plot(daily, type='candle', mav=(5813))

图片
绘制成交量

mpf.plot(daily,type='candle',mav=(3,6,9),volume=True)

图片
展示非交易日间隔

mpf.plot(daily,type='candle',mav=(3,6,9),volume=True,show_nontrading=True)

图片
绘制日内数据

iday = intraday.loc['2019-11-06 15:00':'2019-11-06 16:00',:]
mpf.plot(iday,type='candle',mav=(7,12))

图片

高级特性

自定义图表样式

import mplfinance as mpf


market_colors = mpf.make_marketcolors(up= 'green' , down= 'red' , 
                                      edge= 'black' , 
                                      wick={ 'up' : 'blue' , 'down' : 'orange' }, 
                                      volume= 'purple' , 
                                      ohlc= 'black' ) 
my_style = mpf.make_mpf_style(marketcolors=market_colors) 
mpf.plot(daily, type = 'candle' , style=my_style)

图片
可视化支撑线和阻力线

mpf.plot(daily, 
         hlines=dict(hlines=[140155], colors=[ 'green' , 'red' ], linestyle= '-.' ), 
         type = 'candle' )

图片
可视化趋势线

max_high = df['Low'].max()
min_low = df['Low'].min()
max_index = df.index[df['Low'] == max_high].item()
min_index = df.index[df['Low'] == min_low].item()
max_date_str = max_index.strftime("%Y-%m-%d")
min_date_str = min_index.strftime("%Y-%m-%d")
two_points = [(min_date_str, min_low), (max_index, max_high)]

mpf.plot(df, type='candle', alines=two_points)

图片
绘制阴影

last_month_date = now - datetime.timedelta(days=10)
last_month_date_str = last_month_date.strftime("%Y-%m-%d")
mpf.plot(df, type='candle', vlines=dict(vlines=last_month_date_str, linewidths=50, alpha=0.3))

图片
绘制填充

mpf.plot(df, type='line', fill_between=df['Close'].values)

图片
更多功能展示请参考mplfinance文档和教程。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/110947
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注