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=(5, 8, 13))
绘制成交量
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=[140, 155], 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
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!