一、為什麼我要做這件事?
在股市投資中,「市場寬度」與「動能分布」是判斷多空趨勢的關鍵指標。然而,要同時掃描全球六大市場(美、台、港、中、日、韓)數萬檔標的,往往需要昂貴的伺服器與龐大的運算時間。
這個週末,我給自己設定了一個課題:能不能在「零伺服器成本」的前提下,建構出一套工業級的自動化監控管線?
二、核心技術:GitHub Actions Matrix Strategy (平行運算)
傳統的開發邏輯是「序列執行」,即跑完台灣再跑美國,耗時長且效率低。在本專案中,我導入了 GitHub Actions 的 Matrix Strategy。- 平行處理:系統啟動時會同時分配 6 台獨立的雲端虛擬機 (Runner)。
- 效率提升 600%:原本需要 1.5 小時的序列下載量,因為六國同步開跑,縮短至 15-20 分鐘 內完成。
- 故障隔離:每一市場任務獨立,即使某國 API 異常,也不會影響其他五國的報告產出。
(註:建議在此處插入您那張 6 個綠色勾勾並行的 GitHub Actions 截圖,非常有說服力!)
三、強韌的下載管線設計
在抓取大規模金融數據時,「穩定性」是最大的挑戰。為了確保系統長期運作不被封鎖,我實作了:
- 隨機延遲 (Randomized Jitter):模擬真人行為,避開 API 限流。
- 數量門檻防護 (Threshold Guard):自動檢查清單完整度,防止網路抖動造成數據缺失。
- 續跑機制:基於進度紀錄,讓系統在遇到意外中斷後能無縫接續。
四、結語:技術換取時間
透過這次週末的實作,我再次驗證了現代 Serverless 架構的強大。我們不需要購買昂貴的設備,只要善用雲端資源與良好的架構設計,一人也能管理全球化的金融數據庫。
💡 方格子發文小建議:
- 自訂網址:在方格子發布時,可以自訂後綴網址,建議用
global-stock-monitor-01之類的關鍵字。 - 加入關鍵字標籤:
Python、量化投資、GitHub Actions、自動化、理財投資。 - 系列文連結:在文章最後寫上「下篇預告:我如何搞定跨國 API 的各種格式坑?」,並放上專案的 GitHub 連結。
🔗 您的專案連結: https://github.com/grissomlin/taiwan-stock-monitor/tree/main