今天是第四天,我們要將數據視覺化。在第三天的時候我們已經成功用 yfinance 取得了台積電(2330.TW)原始股價數據,不過光看一堆數字表格,真的很難快速判斷走勢,所以今天的目標是把數據變成方便觀看的K線圖!接下來一樣會一步一步地進行。
步驟一:安裝繪圖套件 (mplfinance)
老樣子,一樣開啟 VS Code 終端機,確認前面一樣有 ( venv ),再輸入以下指令。
pip install mplfinance

步驟二:撰寫 K 線圖繪製腳本
這邊可以把昨天寫的程式碼刪掉,因為我們今天不是只要數據!所以一定會做更改~
import yfinance as yf
import mplfinance as mpf
# 1. 抓取台積電最近 3 個月的歷史數據
ticker = "2330.TW"
df = yf.Ticker(ticker).history(period="3m")
# 2. 設定台灣習慣的 K 線顏色(紅漲綠跌)
mc = mpf.make_marketcolors(
up='red', # 上漲為紅色
down='green', # 下跌為綠色
edge='inherit', # 蠟燭邊框顏色跟隨漲跌
wick='inherit', # 影線顏色跟隨漲跌
volume='inherit' # 成交量顏色跟隨漲跌
)
# 3. 將顏色套用至圖表主題風格(style)
s = mpf.make_mpf_style(marketcolors=mc, gridstyle="--")
# 4. 繪製 K 線圖並顯示成交量與移動平均線
mpf.plot(
df,
type='candle', # 指定圖表類型為 K 線圖 (Candlestick)
style=s, # 套用剛才設定的紅漲綠跌風格
title="2330.TW Candlestick Chart", # 圖表標題
volume=True, # 顯示下方成交量圖表
mav=(5, 20), # 加入 5 日均線 (週線) 與 20 日均線 (月線)
savefig="kline.png" # 自動將結果儲存為圖片檔
)
print("K 線圖已成功繪製並儲存為 kline.png!")
這邊個人覺得import跟df的地方可以不用再說明了!前一篇有提到,然後mc = mpf.make_marketcolors(這個地方是因為美股跟台股不一樣,美股是綠漲紅跌,台股恰恰相反,所以要再另外設置!這樣視覺風格會比較符合大多數人的習慣!
然後 savefig="kline.png"這個是方便我們後面要和 LINE Bot 結合的準備。
步驟三:執行與成果驗證
接下來,就在終端機內打上下面的程式碼就可以了!
python main.py
然後就要稍等一段時間,等待結果。
我在做的時候這裡報錯,好在是終端機有說問題出在3個月不能寫3m ,要寫成3mo。
3m是三分鐘的意思
最後終端機會長這樣!
然後你就會發現左邊多出了一個.png的檔案,點下去可以看到圖片了!
小結一下,雖然有報錯,但很快就解決了,而且真的看到圖片的時候也覺得很有趣,明天,我們將寫一個程式來自動幫我們看盤。