本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。
原文链接:mplfinance,一个有趣的 Python 库!
大家好,今天为大家分享一个有趣的 Python 库 - mplfinance。
Github地址:https://github.com/matplotlib/mplfinance
在金融市场分析中,图表是至关重要的工具之一,尤其是蜡烛图、折线图等用于展示股票、外汇等资产价格的变化趋势。在 Python 生态中,mplfinance 是一个专门用于金融数据可视化的库,它基于 Matplotlib 提供简洁的 API,使得绘制金融市场图表变得十分方便。无论是分析股票的历史数据、观察交易量,还是为交易策略生成图表,mplfinance 都能快速生成高质量的图表。
1 安装
mplfinance 可以通过 pip 安装,安装命令如下:
pip install mplfinance
安装完成后,就可以在 Python 项目中使用该库绘制蜡烛图、交易量图等金融市场图表。
2 特性
mplfinance 提供了一系列简单且高效的工具,帮助用户快速绘制金融市场图表。
-
蜡烛图绘制:支持轻松绘制股票蜡烛图、OHLC 图等价格变化图。
-
交易量展示:能够将交易量数据与价格图同时显示,帮助分析市场交易情况。
-
与 Pandas 集成:可以直接使用 Pandas DataFrame 作为输入数据源,支持时间序列数据。
-
多样化的图表风格:内置多种图表风格和颜色配置,可根据需求自定义图表外观。
-
简单的扩展性:支持与 Matplotlib 的其他功能结合,轻松扩展图表功能,如添加趋势线、技术指标等。
3 基本功能
1. 绘制基础蜡烛图
绘制蜡烛图是 mplfinance 的核心功能之一,用户只需提供开盘价、最高价、最低价和收盘价的数据即可绘制出高质量的蜡烛图。
import mplfinance as mpf
import pandas as pd
# 创建股票数据
data = {'Date': ['2023-10-01', '2023-10-02', '2023-10-03', '2023-10-04'],
'Open': [100, 102, 105, 107],
'High': [103, 106, 108, 109],
'Low': [99, 101, 104, 106],
'Close': [102, 105, 107, 108],
'Volume': [1000, 1500, 1200, 1300]}
# 将数据转换为 DataFrame
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
# 绘制蜡烛图
mpf.plot(df, type='candle', volume=True)
在这个示例中,使用了 Pandas 创建了一个简单的股票数据集,并通过 mplfinance.plot 函数绘制了带有交易量的蜡烛图。type='candle' 指定绘制蜡烛图,而 volume=True 则表示显示交易量。
2. 绘制 OHLC 图
OHLC(Open-High-Low-Close)图是另一种常见的金融数据展示形式,它展示了每个时间段的开盘、最高、最低和收盘价格。
# 绘制 OHLC 图
mpf.plot(df, type='ohlc', volume=True)
这个示例展示了如何通过简单地将 type 参数设置为 'ohlc' 来绘制 OHLC 图,同样支持显示交易量。
3. 自定义图表样式
mplfinance 提供了多种内置的图表样式,用户可以选择不同的风格来展示图表。常见的样式包括 classic、mike、nightclouds 等。
# 使用 'mike' 样式绘制蜡烛图
mpf.plot(df, type='candle', volume=True, style='mike')
通过更改 style 参数,可以轻松应用不同的图表风格。
4 高级功能
1. 添加技术指标
在金融数据分析中,技术指标(如移动平均线、布林带等)是重要的分析工具。mplfinance 支持通过 addplot 函数在图表中添加技术指标。
# 计算移动平均线
df['MA20'] = df['Close'].rolling(window=20).mean()
# 添加移动平均线到图表中
add_plot = mpf.make_addplot(df['MA20'])
# 绘制带有移动平均线的蜡烛图
mpf.plot(df, type='candle', volume=True, addplot=add_plot)
在这个示例中,首先计算了 20 日的移动平均线,并通过 make_addplot 创建了一个额外的绘图对象,将其添加到蜡烛图中。
2. 多图表组合
mplfinance 支持将多个图表组合到同一个绘图区域,例如价格图和交易量图,可以将不同的金融数据进行整合展示。
# 创建两个绘图对象,分别显示蜡烛图和交易量
fig, axes = mpf.plot(df, type='candle', volume=True, returnfig=True)
# 对绘图对象进行进一步自定义
axes[0].set_title("股票价格走势")
axes[2].set_title("交易量")
在这个示例中,通过 returnfig=True 参数获取了 Matplotlib 的 Figure 和 Axes 对象,从而能够对图表的标题、坐标轴等进行更细粒度的自定义操作。
3. 绘制布林带
布林带是技术分析中常用的指标,它可以帮助分析市场的波动性。
可以通过 mplfinance 添加布林带到蜡烛图中。
# 计算布林带上下轨
df['Upper'] = df['Close'].rolling(window=20).mean() + 2*df['Close'].rolling(window=20).std()
df['Lower'] = df['Close'].rolling(window=20).mean() - 2*df['Close'].rolling(window=20).std()
# 创建布林带绘图对象
add_plots = [
mpf.make_addplot(df['Upper'], color='g'),
mpf.make_addplot(df['Lower'], color='r')
]
# 绘制带有布林带的蜡烛图
mpf.plot(df, type='candle', volume=True, addplot=add_plots)
通过计算价格的标准差和均值,创建了布林带的上下轨,并将其绘制在蜡烛图上。
5 总结
Python mplfinance 是一个高效的金融数据可视化工具,适合绘制蜡烛图、OHLC 图和交易量等常见的金融市场图表。它提供了简单且灵活的 API,支持直接使用 Pandas DataFrame 数据,快速生成高质量图表。mplfinance 内置多种图表样式,并支持添加技术指标,如移动平均线、布林带等,帮助用户更好地进行技术分析。其与 Matplotlib 无缝集成,允许用户自定义图表元素,并扩展图表功能。无论是用于股票、外汇还是期货市场,mplfinance 都能满足不同数据分析需求,是金融市场分析和量化交易可视化的理想工具。
THE END !
文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

5210

被折叠的 条评论
为什么被折叠?



