【系統更新日誌】全球股市監控系統 v2.0:解決數據缺失,引入智慧快取機制

更新 發佈閱讀 4 分鐘
投資理財內容聲明

前言:12/23 的意外發現

在 12/23 的例行數據同步中,我發現了一個嚴重的問題:中國(CN)與日本(JP)股市的數據完整度大幅下降。經過分析,主因是 GitHub Actions 的出口 IP 請求過於頻繁,觸發了 Yahoo Finance 的流量防護(Rate Limit),導致大量數據抓取失敗。

為了確保「動能矩陣分析」的準確性,我針對數據管線(Data Pipeline)進行了架構優化。
專案程式碼


raw-image


raw-image

1. 智慧時效檢查(TTL Cache)

原本的系統是「只要檔案存在就跳過」,這會導致數據無法即時更新。新版本引入了 1 小時過期機制

  • 自動過期判斷:系統會檢查本地 CSV 檔案的最後修改時間。若檔案超過 1 小時,則判定數據已過時,強迫重新下載。
  • 兼顧效率與安全:在一小時內重複執行,系統會秒速完成(約 1 分鐘);若超過一小時,則會抓取最新行情。這有效降低了被封鎖 IP 的風險。

2. 數據健康度儀表板(Health Dashboard)

我們不再盲目相信下載結果。現在每個市場下載結束後,都會回傳精確的統計數據:

  • 應收標的總數:完整追蹤該交易所的所有掛牌普通股。
  • 成功率百分比:直觀顯示今日數據的覆蓋率(例如 99.74%)。
  • 異常預警:若成功率低於閥值,系統會在報表中發出提示。

3. 專業級 Email 報表升級

通知模組 notifier.py 現在能產生更專業的 HTML 報表:

  • 視覺化面板:報表頂部新增數據統計欄位。
  • 圖表內嵌(Inline Graphics):利用 CID 技術將九張報酬分布矩陣圖直接顯示在郵件中,不需額外開啟附件。
  • 台北時區修正:所有報告時間均已統一轉換為 台北時間 (UTC+8)

4. 進階技巧:手動強制刷新(Manual Purge)

雖然系統有 1 小時的智慧檢查,但若在盤中遇到突發事件想要「立刻」看到最新分析,GitHub Actions 的 Caches 管理界面就是你的「手動按鈕」。

raw-image



操作邏輯:

  1. 刪除快取:點擊條目右側的「垃圾桶」圖示,清除特定市場的記憶。
  2. 重新執行:再次啟動 Workflow,系統會因為找不到舊檔案而無視 1 小時規則,直接從交易所抓取最即時的報價。

結語

從 12/23 的失效經驗中,我學會了在自動化系統中「數據品質監控」與「抓取邏輯」同樣重要。現在,這套系統不僅跑得快,而且跑得更有底氣。

這次的系統更新主要源於 12/23 在執行數據同步時的一個重大發現:當天中國股市(CN-SHARE)與日本股市(JP-SHARE)的數據完整度大幅下降,部分標的因為連線頻率過高被伺服器阻斷。

為了確保動能分析矩陣的準確性,我針對數據管線進行了 v2.0 的架構優化。


raw-image




留言
avatar-img
《炒股不看周月年K漲幅機率就是耍流氓》
9會員
278內容數
普通上班族,用 AI 與 Python 將炒股量化。我的數據宣言是:《炒股不做量化,都是在耍流氓》。
2025/12/23
如果你正在使用 GitHub Actions 或是 Python 腳本開發自己的台股監控系統(例如參考 taiwan-stock-monitor 專案),「如何把報表寄到電子信箱」通常是最後一哩路。 市面上有很多郵件發送服務(如 Gmail SMTP),但設定繁瑣且安全性限制多。今天推薦這款開發者
Thumbnail
2025/12/23
如果你正在使用 GitHub Actions 或是 Python 腳本開發自己的台股監控系統(例如參考 taiwan-stock-monitor 專案),「如何把報表寄到電子信箱」通常是最後一哩路。 市面上有很多郵件發送服務(如 Gmail SMTP),但設定繁瑣且安全性限制多。今天推薦這款開發者
Thumbnail
2025/12/21
一、為什麼需要 3x3 矩陣?避開單一指標的盲點 在海量的全球股市數據中,投資人最常犯的錯誤是「只看加權指數」或「只看單一均線」。然而,指數的漲跌往往被權值股(如美股的 Mag 7 或台股的台積電)所掩蓋。 為了看清市場整體的「健康程度」,我開發了這套 3x3 分佈矩陣分析引擎: 橫向維度(時
Thumbnail
2025/12/21
一、為什麼需要 3x3 矩陣?避開單一指標的盲點 在海量的全球股市數據中,投資人最常犯的錯誤是「只看加權指數」或「只看單一均線」。然而,指數的漲跌往往被權值股(如美股的 Mag 7 或台股的台積電)所掩蓋。 為了看清市場整體的「健康程度」,我開發了這套 3x3 分佈矩陣分析引擎: 橫向維度(時
Thumbnail
2025/12/21
一、全球數據對接的挑戰:不只是 API 而已 在開發這套監控系統時,最耗時的往往不是寫分析邏輯,而是如何穩定地獲取不同市場的數據。每個國家的證券代碼格式、上市清單獲取方式,甚至是字體編碼都大不相同。 在週末的 48 小時內,我針對各國特性選擇了最適合的「數據引擎」: 台股 (TW):直接對接證
Thumbnail
2025/12/21
一、全球數據對接的挑戰:不只是 API 而已 在開發這套監控系統時,最耗時的往往不是寫分析邏輯,而是如何穩定地獲取不同市場的數據。每個國家的證券代碼格式、上市清單獲取方式,甚至是字體編碼都大不相同。 在週末的 48 小時內,我針對各國特性選擇了最適合的「數據引擎」: 台股 (TW):直接對接證
Thumbnail
看更多