BUILD · M / W / F
量化實驗室系列 * 閃崩實驗室 5

一個值得反覆思考的觀點。
第一幕:Production V4 上線
P4 上線時,我們以為最難的工作已經結束。策略回到 M0 的結構核心,風險單位縮小,最多三條邏輯腿,StopMove_B1 啟用,黑盒記錄器覆蓋掃描、信號、機會、生命週期、交易所回讀與對賬。系統終於顯得無聊,而在生產量化裡,無聊通常是好消息。
LIVE_00003 出現後,信號、下單、成交、保護單都按預期工作。市場先朝有利方向運行,隨後反轉,交易所止損被觸發。從策略角度,這是一筆乾淨的 1R 損失:假設得到了一個負樣本,但沒有憲法危機。
第二幕:LIVE_00003 表現得很漂亮
真正的成功是生命週期沒有撒謊。交易所接受入場,保護單存在,止損執行,持倉歸零。MFE、MAE、持續時間、成交與保護狀態都進入黑盒。市場虧損與軟件故障終於可以分開。
然而本地退出處理器在讀取交易所響應時遇到一個畸形 JSON 結構。一個字段的形狀與代碼預期不同,序列化包裝器沒有 fail closed,而是讓後續本地計算繼續完成。局部狀態因此產生了一個看似合理、實則虛構的結論。
第三幕:Telegram 宣佈勝利
Telegram 報警率先講出漂亮故事:LIVE_00003 盈利約 +0.5R。屏幕上的文字很乾淨,格式也正確,正因為如此更危險。真實交易所賬本顯示它是約 -1R 的止損虧損。
本地系統沒有惡意偽造數據。它只是從錯誤形狀的 payload 中取出不完整值,再用自己的入場、退出和倉位假設補齊空白。每個局部步驟都能解釋,最後的總體結論卻錯了。金融系統最危險的謊言往往不是隨機垃圾,而是結構完整、語氣確定、恰好符合操作者期待的錯誤答案。
第四幕:交易所提出異議
交易所回讀推翻了 Telegram。實際成交、止損訂單、費用、最終持倉與餘額變化共同確認:這是一筆真實虧損。本地 ledger、通知與外部事實出現衝突,證據狀態因此必須是 CONFLICTED,而不是挑一個更舒服的數字。
我們還發現了一個直接的訂單標識符,已在公開版本中刪去。標識符對內部取證有用,卻不屬於公共敘事。保留決策所需的 R、損益和狀態,移除能指向具體賬戶或訂單的細節,是證據完整與隱私邊界同時成立的方式。
第五幕:偵探故事
調查從時間線開始:信號何時生成,訂單何時提交,交易所何時成交,保護單何時確認,止損何時觸發,payload 在哪一層變形,Telegram 在何時讀取了哪一個字段。黑盒的五張表把一個模糊的“數字不對”拆成可復現的因果鏈。
交易所像物理犯罪現場,Telegram 是第一位報案人,本地日誌是日記,黑盒是法證實驗室,合成狀態偶爾會給出假口供。我們不再讓最後寫入的文件自動贏得爭議,而是按來源主權與時間順序審理每條證據。
第六幕:現實獲得主權
修復建立四條法律。第一,交易所 readback 是成交、訂單與持倉的主權事實;本地模型只能提出假設。第二,任何通知都必須能追溯到已驗證遙測。第三,未知或解析失敗必須 fail closed:停止更新結論,發出警報,保留原始響應。第四,會計必須用外部成交、費用和餘額變化完成主權對賬。
異常發生後,系統不能繼續寫出“可能沒事”。允許的狀態只有已保護、無敞口,或緊急未解決。若保護單無法確認,新入場必須停止,人類被呼叫,現有保護保持不動。連續運行不再高於說真話。
第七幕:又虧兩筆,沒有人恐慌
LIVE_00004 與 LIVE_00005 隨後止損。兩筆都是乾淨的策略損失:訂單、保護、退出、記錄與對賬全部一致。過去每次虧損都夾帶軟件故障、狀態競賽或未處理邊緣情況;這一次生命週期平靜地走完。
三連虧當然會降低對策略的信心,卻沒有理由重寫系統。歷史分佈已經包含五連虧與約 5.5R 回撤。只要虧損仍在預先接受的分佈內,執行事實幹淨,資本邊界未被突破,它們就是證據,不是緊急事故。
系統工程的學費
LIVE_00003 是昂貴的運營喜劇。一段畸形 JSON 讓我們付出約 1.5R 的預期價值與約 2,300 美元的會計教訓。作為交易,它很差;作為系統工程學費,它價值極高。
它暴露了序列化邊緣情況,迫使合成狀態讓位於交易所事實,驗證了黑盒在壓力下的價值,並促成 fail-closed truthfulness。職業早期,人會問市場為什麼打掉止損;管理生產系統以後,更重要的問題是:執行棧有沒有遵守自己的結構法律,並且沒有對自己撒謊。LIVE_00004 和 LIVE_00005 的答案終於是“有”。