資料來源是訓練模型的第一步,乾淨的數據能讓我們的模型更準確。之前有提到用 FinMind API 抓收盤資料,這次我們聊聊其他取得台股收盤資訊的方式。
價量方面
使用 yfinance 抓股價其實很簡單,先安裝 yfinance:
pip install yfinance
然後透過幾行程式碼就可以下載個股的股價資訊:
import yfinance as yf
stock = yf.Ticker("2330.TW")
data = stock.history(start="2024-01-01", end="2024-09-25")
print(data)
這邊是下載台積電(2330)的股價資料,注意 ".TW" 代表上市公司。如果要下載上櫃公司的股價,記得要用 ".TWO" 結尾,不然可能會出現 "無資料" 的情況。
籌碼方面
yfinance 目前沒有直接提供籌碼資訊,這可能是它的一個小缺點。
上市公司
價量方面
可以從證交所網站下載每日收盤行情。選好日期,點選 "全部(不含權證、牛熊證、可展延牛熊證)",按查詢後下載 CSV。
籌碼方面
三大法人的資料在不同分頁,例如投信買賣超彙總表,選擇日期後可以下載 CSV 檔案。
上櫃公司
價量方面
從上櫃股票行情頁面下載,選好日期後即可下載 CSV。
籌碼方面
他同樣分頁化管理,以投信買賣超彙總表為例,選擇日期後可下載資料。
要注意,這些下載的資料有很多是非普通股,所以需要再透過程式篩選普通股資料。另外如果短時間大量請求可能導致 IP 被鎖。
先安裝 XQ 看盤軟體,註冊登入後,可以在個股 K 線頁面右下角設定主圖和副圖。
如果需要投信資訊,可以在副圖設定中的 "商品指標" 選擇 "投信",這樣就能在 K 線圖上看到投信的相關資料。
匯出 CSV 非常簡單,右鍵點擊圖表,選擇 "輸出到 EXCEL",再另存為 CSV 即可。如果想要匯出指定的時間區間,則可以透過右下角選擇要輸出的範圍。
總結來說,台股收盤資訊的取得方式多元,yfinance 方便但缺少籌碼資訊;官方網站資料完整但操作繁瑣;XQ等第三方平台提供豐富資訊但需要額外處理。
下一篇文章開始,我會詳細分析每個方法的優缺點,並將這些資源整合,建構一個完整的報價資料庫。在這個過程中,會處理缺失值、日期對齊、去除異常值,確保資料的一致性,讓後續分析和模型訓練更有效率。