交易機器人保護中的異常檢測:從Z-Score到Transformer
每一個在加密貨幣交易所執行過交易機器人的人都知道那種感覺:機器人穩定運行了整整一週,然後在30秒內把一週的利潤全部虧光。某個交易所出現了閃崩。訂單簿裡有虛假的大單。爆倉級聯。或者交易所的API返回了一堆垃圾資料。
所有這些情況都有一個共同點——它們都是異常。如果你的機器人不能識別異常,它遲早會成為異常的受害者。
加密貨幣交易中什麼是異常
在追蹤異常之前,我們需要明確尋找的目標。機器學習將異常分為三種類型,而這三種類型每天都出現在加密市場上。
點異常(Point Anomalies) — 單獨發生、明顯偏離常態的事件。成交量是過去平均水平50倍的K線。Binance上BTC/USDT的買賣價差突然飆升至0.5%。對做市機器人而言,每一個這樣的事件都是潛在陷阱:以虛假價格建倉,或者遭遇吃掉全部利潤的價格滑點。
集體異常(Collective Anomalies) — 單獨看起來正常、但整體上發出警告訊號的一系列事件。經典案例是欺騙交易(Spoofing):某人在幾分鐘內反覆掛出並撤銷大額限價單。每個單獨的訂單看似普通,但"掛單-撤單-掛單-撤單"這種訂單成交比高達100:1的模式就是操縱——依賴訂單簿深度進行交易的機器人將在虛假流動性的基礎上操作。
上下文異常(Contextual Anomalies) — 在錯誤情境下出現的正常值。BTC的交易量在數值上與倫敦時段相當,但發生在UTC時間週日凌晨3點。不考慮上下文,這類異常完全不可見——而這恰恰是最容易被基礎檢測器遺漏的。
交易資料中三種主要異常型別的視覺化:點脈衝、集體模式和上下文偏差。
噪聲 vs. 異常:上下文的挑戰
異常不僅僅是“奇怪的資料”,它是攜帶資訊量的資料。關鍵是要區分:
- 噪聲(Noise): 屬於市場正常機制下的隨機波動。
- 漂移(Drift): 市場條件的逐漸轉變(例如,從低波動率的深夜過渡到活躍的早晨)。
- 異常(Anomaly): 對預期模式的突然違背。
區分無害的噪聲、持續的漂移與危險的異常是任何檢測器面臨的核心挑戰。
解決80%問題的簡單方法
並非所有問題都需要神經網路來解決。對大多數交易機器人來說,三個基礎檢測器就已足夠。
Z-Score:快速極值過濾器
Z-Score顯示當前值距離滾動均值偏離了多少個標準差。計算時間以微秒計,適用於任何時間週期。
我們將其用於三項任務:異常成交量過濾(Z-Score > 3 — 發出訊號,擴大價差或暫停報價)、價差監控(買賣價差異常擴大往往預示急劇行情)以及期貨資金費率(極端值預警可能發生的爆倉級聯)。
Z-Score 通過測量一個點距離均值有多少個標準差來識別極端事件。在大多數交易系統中,超過 ±3σ 的值被視為離群值。
重要侷限:加密市場的分佈具有"厚尾"特徵。在正態分佈下應百萬年才發生一次的事件(6σ),在加密市場每月都會發生。因此,Z-Score是粗粒度異常過濾器,而非最終判斷。
水平漂移檢測器(Level Shift Detector):市場切換機制時
取兩個連續的滾動視窗,比較它們的均值。若差值超過閾值,則發生了水平漂移。做市策略在平穩市場中盈利,在急劇行情中虧損。基於成交量和波動率的水平漂移檢測器能在價格變化明顯之前數分鐘發出機制切換警報。
我們同時將其應用於多項指標:平均成交規模、訂單簿前5檔深度、單位時間成交筆數。若水平漂移在至少兩項指標上觸發,機器人即切換至防禦模式。
波動率漂移檢測器(Volatility Shift Detector):感知風暴前兆
方法相似,但比較的是標準差而非均值。波動率急劇上升是重新審視參數的訊號。有趣的規律:異常低的波動率往往預示著爆發性行情。波動率漂移檢測器能捕捉兩種情況——收縮與擴張。
水平漂移和波動率漂移檢測器是識別“機制切換(Regime Change)”的關鍵——即市場行為的突然結構性轉變,這需要不同的交易參數。
HBOS:快速多維分析
當需要同時監控10個以上的指標,又不希望承擔複雜機器學習的計算成本時,HBOS (Histogram-Based Outlier Selection) 是最佳選擇。它假設特徵相互獨立併為每個特徵構建直方圖。異常評分是所有直方圖反密度的乘積。
HBOS 的速度顯著快於基於距離的方法(如 LOF),非常適合對多維狀態向量進行高頻過濾。
機器學習:當統計方法不夠用時
基礎方法每次只處理一個指標。但真實異常往往表現為多項指標的異常組合:成交量正常,價差正常,但成交量+價差+價格變化速率+訂單簿失衡合在一起——就是異常。這時需要機器學習。
異常檢測方法的結構化景觀:從經典的無監督演算法到深度學習架構。
孤立森林(Isolation Forest):生產環境最佳平衡
在所有ML異常檢測方法中,孤立森林最適合交易系統。該演算法構建一組隨機劃分特徵空間的決策樹整合。異常點因"稀少且不同",會在更少的劃分次數內被孤立出來。
為何選擇孤立森林?無需標註資料——在加密市場標註異常幾乎不可能,因為每次閃崩都是獨一無二的。毫秒級推理速度適合近即時使用。最關鍵的是:可通過SHAP值解釋預測結果——你不僅知道某個時刻是異常,還能理解為什麼。
在比特幣資料上,孤立森林不僅檢測到了Tesla拒絕BTC支付(2021年)引發的明顯波動率異常,還發現了不那麼明顯的異常——價格走勢缺乏成交量支撐的時期,這指向了外部操縱。在分析欺騙交易時,SHAP顯示關鍵指標是訂單簿報價失衡和異常高的撤單活動。
孤立森林演算法通過隨機劃分空間來工作:異常點比密集叢集中的點更容易被孤立,所需的劃分次數顯著更少。
LOF:多交易所監控的最佳選擇
區域性離群因子(Local Outlier Factor)通過比較某點的區域性密度與其鄰居的密度來評估異常程度。Springer(2024年)一項比較LOF、孤立森林和單類SVM在加密貨幣資料上表現的研究發現,LOF效果最佳——在虛警最少的情況下檢測到了最多真實異常,在比特幣和狗狗幣上均表現穩定。
為何LOF對多交易所基礎設施如此重要?不同交易所資料"密度"不同——Binance每秒數千筆成交,小型交易所每秒數十筆。像Z-Score這樣的全域性方法會在小型交易所上產生大量誤報,或在大型交易所上遺漏異常。LOF自適應於區域性上下文。
LOF 比較一個點與其鄰居的區域性密度。這使它能夠發現那些在區域性上是異常的離群點,即使它們在全域性資料模式中看起來是合理的。
侷限性在於關於點數量的二次複雜度。對於即時逐筆資料速度過慢,但對於跨100+交易所的分鐘聚合資料——非常理想。
自動編碼器(Autoencoders):訂單簿深度分析
自動編碼器是一種將資料壓縮為緊湊表示再重建的神經網路。在"正常"資料上訓練後,高重建誤差即發出異常訊號。
對於訂單簿分析,這是最強大的工具。一個擁有20檔買盤和20檔賣盤的訂單簿是一個每秒更新數百次的40維向量。LSTM自動編碼器不僅考慮當前狀態,還考慮動態變化——過去N個Tick中訂單簿如何演變。"LSTM自動編碼器+單類SVM"混合方法分離了職責:神經網路負責特徵提取,經典ML負責決策。主要缺點是計算成本:即時推理需要GPU。
自動編碼器學習正常資料的壓縮“潛在線性”表示。異常資料無法被準確重建,從而產生高錯誤分值,用於異常檢測。
級聯架構:將一切整合在一起
沒有任何單一方法能解決所有問題。快速方法會遺漏複雜異常。精確方法對即時來說太慢。解決方案是級聯架構,其中每個後續層捕獲前一層遺漏的內容。
多層異常檢測架構:從毫秒級的硬性限制到後臺的深度學習分析。
第一層——快速路徑(1毫秒以內)。 對成交量、價差和價格變化進行Z-Score檢驗。永續性檢查。硬性限制。觸發時——立即暫停交易。此層防護閃崩、API錯誤和粗粒度操縱。在機器人主迴圈中實現,無需外部依賴。
第二層——近即時(1–100毫秒)。 對組合特徵使用孤立森林。水平漂移和波動率漂移檢測器。觸發時——切換交易模式,調整參數。在並行執行緒中執行。
第三層——後臺分析(1–60秒)。 對多交易所資料使用LOF。對訂單簿狀態使用LSTM自動編碼器。季節性分解殘差分析。觸發時——傳送警報,調整策略參數。
第四層——批次分析(每小時/每日)。 使用DBSCAN進行虛假交易檢測。使用PCA進行跨交易所相關性監控。完整模型重訓練。輸出——報告、模型更新、前層閾值重新校準。
每層獨立執行。若第三層宕機,第一層和第二層繼續保護機器人。容錯性和優雅降級是任何交易基礎設施的必備屬性。
實踐建議
來自生產環境的幾條經驗。
從簡單開始。 Z-Score+水平漂移+波動率漂移一天內可以實現。這覆蓋了因異常市場條件導致損失的大多數場景。GPU叢集可以稍後再上。
汙染參數(Contamination)是最重要的超參數。 在孤立森林中,它定義了預期的異常比例。對於加密市場,我們根據交易對和交易所使用0.01–0.05。過低——遺漏真實異常;過高——誤報癱瘓交易。
用自適應閾值代替固定閾值。 加密市場是非平穩的。一月份有效的閾值三月份會產生大量誤報。使用EWMA更新閾值,或在滾動視窗上定期重訓練模型。
記錄所有異常。 即使不自動響應——也要儲存帶上下文的標籤。一個月後你將擁有用於訓練監督模型的資料集,以及分析哪些異常先於虧損出現的基礎。
在真實事件上測試。 收集歷史異常案例:2021年5月閃崩、FTX爆倉級聯、LUNA崩盤。對每個新檢測器執行這些場景。如果它連已知事件都捕捉不到——它就毫無用處。
下一步
三個值得關注的方向。
面向訂單簿的Transformer模型。 最新研究表明,在限價訂單簿(LOB)資料上,Transformer自動編碼器+OC-SVM顯著優於所有以往的欺騙檢測方法。針對高頻EUR/USD資料(3.15億條記錄)的分階段滑動視窗Transformer達到了準確率0.93、F1值0.91、AUC-ROC 0.95——顯著優於隨機森林、LSTM和CNN。
具有多頭注意力(multi-head attention)機制的 Transformer 架構被證明在識別高頻限價訂單簿資料中的複雜時間模式方面具有卓越的能力。
用於合成異常生成的GAN。 主要挑戰之一是缺乏標註資料。GAN可以生成逼真的操縱場景用於訓練監督模型。目前已有架構實現了94.7%的準確率,延遲低於3毫秒,吞吐量達每秒15萬筆交易。
生成對抗網路(GAN)可用於通過建立逼真的合成異常來擴充資料集,從而解決交易領域關鍵的標籤稀缺問題。
變點檢測 (Change Point Detection, CPD)。 與尋找單個離群點不同,CPD 專注於識別訊號統計特性發生變化的精確時刻。這對於在做市模式之間切換(例如,從均值迴歸切換到趨勢追蹤)至關重要。
變點檢測(CPD)可識別時間序列資料中的結構性轉變,突出不同市場機制之間的邊界。
異常檢測不是可選功能。它是基礎——沒有它,演算法交易就變成了賭博。越早建立它,市場需要教給你的昂貴教訓就越少。
相關資料
- 金融時間序列異常檢測研究綜述 (Hans Pub)
- 孤立森林 (Isolation Forest) 演算法原理及 Python 實現 (Zhihu)
- 基於 LSTM Autoencoder 的時間序列異常檢測 (CSDN)
- Sklearn 異常檢測常用方法總結 (阿里雲)
- PyOD: 全面的 Python 離群值檢測工具箱
- 基於 Transformer 的訂單簿異常檢測研究 (arXiv)
引文
@software{soloviov2026anomalydetectionalgotrading,
author = {Soloviov, Eugen},
title = {交易机器人保护中的异常检测:从Z-Score到Transformer},
year = {2026},
url = {https://marketmaker.cc/zh/blog/post/anomaly-detection-algotrading},
version = {0.1.0},
description = {哪些异常检测方法在加密货币算法交易中真正有效,如何构建级联防护架构,以及为何这是算法交易不可或缺的基础。}
}
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.