[Python] 使用mplfinance繪製蠟燭圖表

此篇文章概述了如何下載Google的股價資料,並使用Python、matplotlib和yahooquery庫創建燭台圖的步驟。我們將說明如何繪製基本的燭台圖,添加5天和20天的移動平均線,以及利用mplfinance提供的內置樣式。若您對yahooquery庫的使用方法不熟悉,請參考先前的文章[Python] Yahooquery:取得和管理過去股票和財務數據

獲取Google的股價資料

以下是提取過去60天Google股價資料的程式碼片段:

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)

以下是結果圖像:

基本燭台圖
Google股價的基本燭台圖。

此圖顯示了不帶移動平均線的基本燭台圖。

添加5天和20天移動平均線

python
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']

例如,要使用Yahoo Finance類似的樣式:

python
mpf.plot(price_data,
         style='yahoo',
         type='candle',
         mav=(5, 20),
         volume=True,
         tight_layout=True)

以下是Yahoo Finance風格的結果圖像:

Yahoo Finance風格的燭台圖
使用mplfinance內置樣式的Yahoo Finance風格燭台圖。

這種方法通過利用適合不同偏好的預定義樣式,簡化了定制過程。


本文已演示如何使用燭台圖可視化Google的股價資料。通過使用mplfinance庫,可以創建詳細的視覺效果,添加像移動平均線這樣的功能,並利用庫的內置樣式。此方法可以作為金融分析和市場趨勢觀察的有力工具。


常見問答

  1. yahooquery庫是什麼,我該如何使用它? 請參考先前的文章[Python] Yahooquery:取得和管理過去股票和財務數據
  2. 我可以為其他股票繪製燭台圖嗎? 將'GOOGL'替換為所需的股票代碼。
  3. 我如何自定義燭台圖的顏色? 修改make_marketcolors函數中的參數。
  4. 我可以更改取得數據的時間期間嗎?60d替換為所需的時間期間。
  5. 燭台圖是什麼,為何要使用它? 燭台圖是價格運動的圖形表示,廣泛用於金融分析。
© Copyright 2023 CLONE CODING