把「我覺得這招有效」變成一個你真的能檢查的數字。
你有一個想法:某個型態出現就進場,跌 3% 出場。回頭看圖覺得對,可是真的下單之後,你分不出來自己是看對了,還是只是挑了幾根順眼的 K 棒。量化交易處理的就是這個落差。
量化交易是用數據和統計把進出場規則事先定義清楚,再讓規則決定每一筆交易,而不是臨場判斷。規則可以很簡單(均線交叉、RSI 超賣),也可以很複雜(多因子模型、機器學習)。複雜度不是重點。
重點是:寫下來的規則每次跑都給你同一個答案。這件事讓它變得可以檢查。你可以把這套規則套回四年的歷史資料,得到具體的數字——報酬多少、最糟的那段跌了多深、手續費吃掉多少。
交易訊號是一個條件的輸出,只說「現在該站在哪一邊」,不說買多少、什麼時候砍。這三個詞常被混著用,搞混它們是一個有潛力的想法最後跑不起來最常見的原因。
| 名詞 | 是什麼 | 不包含什麼 |
|---|---|---|
| 訊號 | 一個條件的輸出,通常是 +1(做多)、0(空手)、−1(做空)。它回答的是現在有沒有事發生。 | 要買多少、什麼時候砍、下單失敗怎麼辦 |
| 策略 | 訊號再加上部位大小、風控上限、執行規則。這才是可以部署、可以被檢驗的東西。 | 它跟你其他部位怎麼互動 |
| 投資組合 | 多個策略或多個標的,加上彼此之間的權重配置。 | — |
大部分說「我有一個策略」的人,手上其實是一個訊號。這不是在挑毛病——訊號是最難、最需要創意的那一段。但訊號本身沒辦法被誠實地回測,因為結果完全取決於你還沒寫下來的部位與風控規則。
在 Blave Agent 裡,這個區分是寫進結構的:訊號式、單一標的的策略是 Type A,必須回測;多標的加權重向量的投資組合是 Type C,也必須回測;其餘都是 Type B,不回測。
交易訊號本身不會下單。它只是一個數字,要先被翻成「這個標的現在該有多少部位」,再跟你手上已經有的部位相減,差額才是那張要送出去的委託。從回測走到實盤,多數人第一次發現自己少寫的就是中間這幾步。
Blave Agent 的做法是讓一支常駐的 reconciler 跑第三、四步:它自己記帳,只跟自己下過的單對,不拿交易所的帳戶持倉當基準——所以你手動開的倉不會被當成策略部位去加碼或平掉。金額怎麼配、什麼情況會觸發對帳,見〈實盤下單組合〉。
還有一件事決定這條鏈誠不誠實:訊號成立之後,用哪一根 K 棒的哪個價格成交。回測和實盤在這裡不一致,前面的報酬數字就不算數——規則和它的例外,見〈回測報告怎麼看〉的前視偏差那段。
| 手動交易 | 量化交易 | |
|---|---|---|
| 進出場依據 | 當下判斷 | 寫死的規則——同樣的輸入,永遠同樣的答案 |
| 能不能驗證 | 沒辦法用你真正用的那套邏輯回頭驗 | 可以——Sharpe、最大回撤、手續費全都算得出來 |
| 什麼時候在跑 | 只有你醒著、盯著的時候 | 部署完就是 24 小時 |
| 會壞在哪 | 壓力來的時候紀律會斷 | 規則會在它適用的市場消失之後,繼續照跑 |
注意最後一列:自動化不是消除失敗模式,是換一種——手動的人在最糟的時候放棄計畫,自動的策略在計畫失效之後還照跑,而且安靜得多。
這是 Blave Agent 回測引擎跑出來的真實例子——btc_sma_cross,BTCUSDT 1 小時線,SMA45/SMA100,從 2022-01-01 跑到執行當天(下面是其中一次執行的快照)。總報酬是買入持有的兩倍多。它同時有 −42.6% 的最大回撤,而且四年下來手續費付掉了本金的 22%。
三個數字都重要,但大家只會引用第一個。一個報酬翻倍、卻要你撐過 42% 回撤的策略,不見得比一個報酬少一點、但從來沒把你嚇出場的策略好。而手續費等於本金 22% 這件事表示交易頻率不是免費的——同一個想法做得更快一點,優勢就有可能整碗端給交易所。
能產生這三個數字的流程永遠是同樣五步:
Blave Agent 把「想邏輯」和「蓋基礎設施」拆開。你用對話描述策略,由 agent 負責研究、寫程式、跑回測、上線自動交易。跑法有兩種:電腦版免費開源,接上你自己的 Claude Code 或 Codex;要關電腦也照跑,就把同一個工作台搬到你專屬的雲端主機,網頁、Telegram、SSH 都能操作。
如果你還沒有想法,官方策略是免費的,每一個都附真實回測。送驗的策略要過三道閘門:誠實回測、MCPT 顯著性檢定、參數穩健性檢查;三道都過才會掛上「已驗證」徽章。沒有徽章不代表它沒過,是沒有附上這三項的檢定結果——自己看它的回測數字。
五個檢查。任何一個沒過,回測數字的意義都跟你以為的不一樣。
你的規則能不能寫成一句話?「當 X 成立就做 Y,遇到 Z 就出場。」寫不出來,代表你手上是直覺不是策略——現在還沒有東西可以測。
回測期間有沒有包含一次真正的下跌?只在多頭跑過的策略等於沒被測過。去找你這個標的歷史上最糟的那段,確認它在你的回測窗口裡面。
回測有沒有算手續費?前面 btc_sma_cross 的例子四年付掉本金 22%。費率要對得上你要下的市場:FEE = 0.0005 是 Binance U 本位合約 VIP0 的 taker(0.05%),Binance 現貨最低階則是 0.1%。官方策略上架的手續費閘門看的就是 FEE 有沒有 ≥ 該交易所 VIP0 的 taker 費率,低估就過不了。
你試過幾組參數?掃一百組,純靠運氣也會有幾組看起來顯著。如果你用全部資料調參數,再用同一段資料報告績效,你報告的是訓練誤差,不是它未來的表現。
報告裡最大的那段回撤,你撐得住嗎?−42.6% 對 100 萬的部位是 42.6 萬的帳面虧損。如果那會讓你把策略關掉,就先把部位縮到不會——你撐不住的那段回撤,就是把帳面虧損變成真虧損的那一段。
不用等到想出一個完美的策略才開始。先部署一支官方策略,看它在一個虧錢的星期裡怎麼表現,等你看懂它的數字在講什麼,再改成自己的版本。