[Python] 使用mplfinance绘制K线图

本文概述了下载谷歌股票价格数据以及运用Python、matplotlib和yahooquery库创建蜡烛图的步骤。我们将详细说明如何绘制基本蜡烛图,添加5日和20日移动平均线,并充分利用mplfinance所提供的内建风格。如果您对使用yahooquery库的方法不熟悉,请参阅之前的文章[Python] Yahooquery:获取和管理过去股票和财务数据

获取谷歌股票价格数据

以下是获取过去60天谷歌股票价格数据的代码片段:

python
from yahooquery import Ticker

google = Ticker('GOOGL')
price_data = google.history(period='60d')

数据准备

接下来,操作数据如下:

python
import pandas as pd

# 重置索引
price_data.reset_index(inplace=True)
# 将日期转换为日期时间格式
price_data['date'] = pd.to_datetime(price_data['date'])
# 将日期设置为索引
price_data.set_index('date', inplace=True)

绘制蜡烛图表

基本蜡烛图

python
import mplfinance as mpf

# 设定市场颜色
mc = mpf.make_marketcolors(up='g',down='r')
# 创建市场风格
s  = mpf.make_mpf_style(marketcolors=mc)

# 绘制图表
mpf.plot(price_data,
         style=s,
         type='candle',
         volume=True,
         tight_layout=True)

以下是结果图像:

基本蜡烛图
谷歌股票价格的基本蜡烛图。

此图展示了没有移动平均线的基本蜡烛图。

添加5日和20日移动平均线

python
# 绘制图表,添加5日和20日移动平均线
mpf.plot(price_data,
         style=s,
         type='candle',
         mav=(5, 20),
         volume=True,
         tight_layout=True)

以下是图像:

带移动平均线的蜡烛图
5日和20日移动平均线的蜡烛图。

此图包括5日和20日的移动平均线,强化了趋势分析。

利用mplfinance内置风格

mplfinance附带了若干内置风格,您可以在不创建自定义风格的情况下使用。取代我们之前所做的定义市场颜色:

python
mc = mpf.make_marketcolors(up='g',down='r')
s  = mpf.make_mpf_style(marketcolors=mc)

您可以使用以下内置风格之一:

plaintext
['binance', 'blueskies', 'brasil', 'charles', 'checkers', 'classic', 'default', 'ibd', 'kenan', 'mike', 'nightclouds', 'sas', 'starsandstripes', 'yahoo']

例如,要使用类似雅虎金融的风格:

python
# 使用雅虎风格绘制图表
mpf.plot(price_data,
         style='yahoo',
         type='candle',
         mav=(5, 20),
         volume=True,
         tight_layout=True)

以下是采用雅虎金融风格的结果图像:

雅虎金融风格的蜡烛图
采用mplfinance内置风格的雅虎金融风格蜡烛图。

此方法通过运用适合不同偏好的预定义风格,简化了定制流程。


本文展示了如何使用蜡烛图可视化谷歌股票价格数据。借助mplfinance库,可以创造详细的视觉效果,添加像移动平均线这样的特性,并利用库的内置风格。这个方法可以作为金融分析和市场趋势观察的强有力的工具。


常见问题解答

  1. yahooquery库是什么,我该如何使用? 请参阅之前的文章[Python] Yahooquery:获取和管理过去股票和财务数据
  2. 我可以为其他股票绘制蜡烛图吗? 将'GOOGL'替换为所需的股票代码。
  3. 我如何定制蜡烛图的颜色?make_marketcolors函数中修改参数。
  4. 我能更改获取数据的时间段吗? 用所需的时间段替换60d
  5. 蜡烛图是什么,为什么要使用它? 蜡烛图是价格运动的图形表示,广泛应用于金融分析。
© Copyright 2023 CLONE CODING