【散戶系統日記】系統五日失敗的想破頭反思

Multiple monitors showing system failure and market crash errors with a worried woman watching

SEO English Subtitle: Trading Sandbox Log: 11 False Positives vs. 5 Missing Fuses in Algorithmic Trading

興奮過後的直球對決

這五天台股的台積電、聯電、日月光,還有美國那邊的 ADR 跌得鼻青臉腫,而我的系統預估勝率明明飆破 80%,結果卻是全軍覆沒,預測慘遭市場狠狠打臉。

看著滿螢幕的慘綠,心裡真的很不是滋味。身為一個天天在沙盒裡熬夜刻系統的散戶,我跟 AI 夥伴的合作不能只在順風賺錢、大盤走多頭的時候拍手報喜;遇到這種集體跳水、模型集體失靈的災難時,更要老老實實把那些「不報憂」的遮羞布給扯下來。這幾天我真的是坐在電腦前想破頭,一直在想,明明數據這麼漂亮,為什麼最後還會想錯?看來必須痛定思痛,把底層的邏輯死角一個一個扒開來看。

專家集體破功:為什麼 11 個 [Y] 一點都敵不過實際?

做到 [Y]
模組狀態說明
三大法人籌碼管線外資/投信/自營商天數計算完整,直接注入 flow_score 公式。
LightGBM 技術指標推論MACD、RSI、ATR、RVOL 等 14 項特徵完整計算,有模型時正常推論。
LLM 雙維度新聞情緒解析sentiment $\times$ importance 公式完整,JSON 解析有清洗邏輯,情緒單位換算 Bug 已修正。  
Meta-Learner 多模型融合台股/美股/ETF 三種加權比例不同,Simple Blending 已實作。
大盤乘數機制 B大盤跌 $>1\%$ 打八折,漲 $>1.5\%$ 加分,納指即時漲跌有接入。  
ADR 台股現貨對齊TSM/UMC/ASX 自動比對 .TW 當日收盤,跨市場定錨完整。
預測資料收集管線ai_prediction_log.csv 原子寫入,同天同股去重,auto_backtest.json 持久化。
妖股過濾與晨星型態爆量 + 法人 + K 線三條件,tab5 掃描完整。
做了但有(偽陽性粉飾) [△]
漏洞隱患
歷史回測驗證只有「收集資料」,沒有閉環比對邏輯。
大盤斷路器(機制 B)真正要斷路的是破月線、破季線、跳空開低這種情境,現在完全沒有。
盤中技術指標穩定性盤中最後一根 K 棒是跳動價,RSI/MACD 會在盤中劇烈翻轉。有 RVOL 盤中防護,但其他指標沒有。
沒做到 [N] 須改系統
盲區處理事項
MASTER_FACTS 地雷釐清萬海 91%、台積電 79.2% 這些硬編碼數字現在到底有沒有在主導排序?
LightGBM 靜默失效防護模型檔案不存在時回傳 50 分中立,前端完全不知道技術大腦其實沒在運作。
API 斷線假中立問題Groq 429 流量管制時強制給 50 分,偏偏大跌崩盤當下 API 最容易塞車。
停損/停利點靜態鎖死買入區間固定用 Y_Close $\times$ 固定%,妖股跟大型權值股用同一套。
黑天鵝第四專家買入區間固定用 Y_Close $\times$ 固定%,妖股跟大型權值股用同一套。個股新聞 LLM 根本讀不到這些,遇到政策黑天鵝就是直接誤判天下太平。
大盤均線硬斷路器只有軟性打折,遇到系統性下殺完全沒有一票否決機制。
長期訓練資料技術特徵只用 100d 歷史,模型沒見過完整牛熊循環。

看看這幾天結果的慘烈結果,系統裡的三大專家(技術模型、籌碼流、新聞 AI)直接集體失靈。這套看似完美的 Meta-Learner 多模型融合架構,在遇到系統性大殺盤的時候,直接退化成瞎子。

技術模型(LightGBM)只會死板地看昨天的強勢K線和量能型態,覺得動能還在、趨勢沒破,就盲目地給出高分;籌碼專家(XGBoost)也因為看到前幾天法人連買,就判定有資金匯聚;最慘的是事件 AI(LLM),讀個股新聞總是流於表面樂觀,人家全球大盤都要崩了,它還沉浸在個股公司發布的法說會利多新聞裡,給出 100 分的偏多評價。

最後方向命中率開出大鴨蛋(0%),表示數據有嚴重問題。也證明了個股數據算得再精密、專家評分再高,只要少了全球市場資金流向的大局觀,當主力大戶因為國際總經利空集體拋售撤資時,我們以為無敵的 11 個個股 [Y] 優勢,在大盤下墜的地心引力面前,根本一點都敵不過實際,只有乖乖吃土的份。吃土……我一直在吃土TT

偽陽性粉飾:那些系統假裝沒事的底層盲區

這次全軍覆沒,對我來說最棒的紀錄,就是抓到了「偽陽性」這個隱形大魔王!搞了半天,系統底層藏了一堆假裝沒事的盲區,表面上看著很完美,結果全被我遇到了,這算不算運氣好。

在歷史回測,看著前端介面會把預測無腦寫入 auto_backtest.jsonai_prediction_log.csv,心裡還覺得挺安心,以為系統有了自動歷史驗證功能。現在拆開代碼才發現,那根本只是單純在收集資料的「假回測」,系統內部完全沒有寫閉環比對的邏輯,自己昨天猜得對不對、方向有沒有中,大腦根本不知道,更別提什麼自動修正權重了。

再來是技術大腦LightGBM靜默失效的 Bug!如果 models/TW_technical_model.txt 模型檔案路徑不對或不存在,系統不會跳出任何錯誤中斷,而是直接塞一個 50 分的中立分數給前端,假裝天下太平。

再加上盤中技術指標的穩定性問題,系統直接去抓最後一根 K 棒的跳動價(iloc[-1]),導致 RSI 和 MACD 指標在盤中會隨著股價上下跳動而劇烈翻轉飄移。這種盤中指標不穩定的狀況,讓系統在早盤錯誤定錨,結果就是失敗。

排查出的大驚喜,還有 [N]沒做

在寫得初期為了讓系統先運作有寫模擬數據(像是萬海 91%、台積電 79.2% 的死資料)。還好排查後確認這只是過去殘留、沒介入運算的死碼,不然要是這組「指揮官絕對真理」的數字去主導了排序,那後面辛苦寫的 LightGBM、XGBoost、LLM 新聞管線全成了好看的裝飾品。

但這bug會連帶影響到我還有設定的指標:🚀全市場分析雷達、🏆首選80%上漲預測、🔥爆量排行、🏦三大法人排行、🚨避險警報、以及⭐晨星狙擊。這些核心雷達功能底層全部共用同一套資料管線,一旦這裡的勝率或取價邏輯有污染,整個看板吐出來的進場、避險逃跑訊號就會集體走鐘。

發現的 [N],算是系統的更深層的邏輯。第一是大盤風向破線的「硬斷路器」,現在大盤跌破 1% 才打八折根本不夠硬,只要大盤跌破月線或季線,系統就該有一票否決權,強制沒收所有買入建議;第二是全球總經黑天鵝(非農 NFP、美聯儲 FOMC、CPI 通膨率)的獨立數據管線,不能只靠個股新聞來瞎猜天下太平;第三是明明特徵工程已經算出了 ATR(真實波動幅度),操作建議卻還在用昨收乘以固定 % 數這種死板公式去算買入區和停損線。讓妖股和大型權值股用同一個安全氣囊,完全失去了實戰的彈性。

認清現實,把安全氣囊裝上去

總結這五天,系統預測結果就是「失敗了、完全不能信」。不過五天的發現讓我可以繼續修改,總比找不到原因。

雖然目標 80% 以上像許遠,但有夢最美嘛!才五天我們就揪出這麼多問題,代表方向完全對了,修正完大盤風向和動態停損,我們繼續努力往下勒。


探索更多來自 YinOnMars 的內容

訂閱即可透過電子郵件收到最新文章。

發表留言