使用 Python 中的 mplfinance 模块绘制烛台图

pythonserver side programmingprogramming

在金融分析领域,烛台图是可视化股票价格数据的重要工具,可以使用 Python 中的 mplfinance 模块绘制。它们提供了对市场趋势和模式的宝贵见解。

通过利用 mplfinance 的功能,开发人员可以轻松生成视觉上引人注目的烛台图。在本文中,我们将探讨如何利用 mplfinance 模块轻松创建令人惊叹且富有洞察力的烛台图。

mplfinance 模块

mplfinance 是一个专门为使用烛台图可视化金融市场数据而设计的 Python 模块。它提供了一个直观灵活的界面,用于创建高度可定制和交互式的图表。

该模块提供了广泛的功能来增强财务数据的表示,包括将成交量条、移动平均线和技术指标纳入烛台图的能力。 mplfinance 模块支持各种图表类型,例如 OHLC(开盘价-最高价-最低价-收盘价)、线图,甚至散点图。

mplfinance 模块还提供广泛的自定义选项,允许您修改颜色、字体、网格线、注释等。此外,它还提供处理非交易日和数据缺口的功能。

以下是安装 mplfinance 模块的代码 −

pip install mplfinance

什么是蜡烛图?

蜡烛图是一种流行且广泛使用的财务分析图表技术。它可视化资产(例如股票)在指定时间段内的价格变动。每根蜡烛图代表一个交易期,例如一天、一周或一个月。

蜡烛图由四个主要元素组成:开盘价、收盘价、最高价和最低价。蜡烛图的主体表示开盘价和收盘价之间的价格范围,不同的颜色表示价格在此期间是上涨还是下跌。最高价和最低价用细线表示,称为灯芯或阴影。

蜡烛图提供了有关市场情绪和趋势的宝贵信息。交易员和分析师使用它们来识别模式和信号,例如看涨或看跌反转、趋势延续以及支撑/阻力位。它们提供价格行为的视觉表示,有助于决策和市场分析。

如何使用 Python 中的 mplfinance 模块绘制烛台图?

下面是我们将遵循的步骤,使用 python 中的 mplfinance 模块使用特斯拉股票价格数据集绘制烛台图 -

  • 导入必要的库:`mplfinance`、`pandas`、`numpy`,`matplotlib.pyplot`。

  • 使用`pd.read_csv()`从 CSV 文件加载特斯拉股票数据。将"日期"列解析为日期并将其设置为 DataFrame 的索引。

  • 使用`pd.to_numeric()`将"volume"列转换为数字。通过将非数字值替换为 0 来处理它们。

  • 使用 `mpf.make_mpf_style()` 为绘图创建自定义样式。使用 'default' 基本样式并将字体大小设置为 8。

  • 使用 `mpf.plot()` 创建新图形并设置标题、y 轴标签和下 y 轴标签。传递数据 DataFrame,将图表类型指定为"烛形",启用成交量条,并设置所需的绘图属性。

  • 从返回的列表中检索轴对象。在本例中,我们使用 `axes[0]` 访问第一个轴对象。

  • 自定义图表的外观。通过设置 `ax.grid(True)` 启用绘图上的网格线。

  • 使用 `fig.savefig()` 将绘图保存为图像文件。

  • 使用 `mpf.show()` 在屏幕上显示绘图。

以下是使用 python 中的 mplfinance 模块绘制烛台图的程序,使用特斯拉股票价格数据集,遵循上述步骤 -

示例

# 导入所有必要的库和模块
import mplfinance as mpf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 从 CSV 文件(或任何其他数据源)加载特斯拉股票数据
data = pd.read_csv('tesla-stock-price.csv', parse_dates=['date'])
data = data.set_index('date')

# 将"volume"列转换为数字,处理非数字值
data['volume'] = pd.to_numeric(data['volume'], errors='coerce')
non_numeric_values = data['volume'].isnull()
if non_numeric_values.any():
    data['volume'] = np.where(non_numeric_values, 0, data['volume'])

# 创建调整字体大小的样式
style = mpf.make_mpf_style(base_mpl_style='default', rc={'font.size': 8}) # 在此处设置字体大小

# 创建新图形并设置标题
fig, axes = mpf.plot(data, type='candle', volume=True,
   title='Tesla Stock Price', ylabel='Price', ylabel_lower='Volume',
   show_nontrading=True, returnfig=True, style=style)
plt.style.use('dark_background')

# 从返回的列表中检索轴对象
ax =axes[0]

# 自定义绘图的外观
ax.grid(True) # 显示网格线

# 将绘图保存到图像文件
fig.savefig('tesla_candlestick_chart.png')

# 在屏幕上显示绘图
mpf.show()

输出

结论

总之,使用 Python 中的 mplfinance 模块绘制蜡烛图为可视化和分析金融市场数据提供了强大的工具。通过利用 mplfinance 的用户友好界面、可自定义的功能和广泛的图表功能,用户可以有效地解读股票价格趋势和模式。


相关文章