Filed under實戰開發指南on•3 分鐘閱讀

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

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

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

獲取Google的股價資料

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

from yahooquery import Ticker

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

數據準備

接下來,如下操作數據:

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)

繪製燭台圖表

基本燭台圖

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天移動平均線

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

以下是圖像:

帶移動平均線的燭台圖

此圖包括5天和20天的移動平均線,增強了趨勢分析。

利用mplfinance內置樣式

mplfinance提供了幾個內置樣式,您可以在不創建自定義樣式的情況下使用。代替像這樣定義市場顏色:

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

您可以使用以下內置樣式之一:

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

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

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

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

Yahoo Finance風格的燭台圖

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


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


常見問答

  1. yahooquery庫是什麼,我該如何使用它? 請參考先前的文章[Python] Yahooquery:取得和管理過去股票和財務數據。

  2. 我可以為其他股票繪製燭台圖嗎? 將'GOOGL'替換為所需的股票代碼。

  3. 我如何自定義燭台圖的顏色? 修改make_marketcolors函數中的參數。

  4. 我可以更改取得數據的時間期間嗎? 將60d替換為所需的時間期間。

  5. 燭台圖是什麼,為何要使用它? 燭台圖是價格運動的圖形表示,廣泛用於金融分析。

返回所有文章首頁