返回文章列表
February 19, 2026
5 分钟阅读

交易机器人保护中的异常检测:从Z-Score到Transformer

交易机器人保护中的异常检测:从Z-Score到Transformer
算法交易
异常检测
机器学习
风险管理
孤立森林
LOF
欺骗交易

每一个在加密货币交易所运行过交易机器人的人都知道那种感觉:机器人稳定运行了整整一周,然后在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 统计方法 Z-Score 通过测量一个点距离均值有多少个标准差来识别极端事件。在大多数交易系统中,超过 ±3σ 的值被视为离群值。

重要局限:加密市场的分布具有"厚尾"特征。在正态分布下应百万年才发生一次的事件(6σ),在加密市场每月都会发生。因此,Z-Score是粗粒度异常过滤器,而非最终判断。

水平漂移检测器(Level Shift Detector):市场切换机制时

取两个连续的滚动窗口,比较它们的均值。若差值超过阈值,则发生了水平漂移。做市策略在平稳市场中盈利,在急剧行情中亏损。基于成交量和波动率的水平漂移检测器能在价格变化明显之前数分钟发出机制切换警报。

我们同时将其应用于多项指标:平均成交规模、订单簿前5档深度、单位时间成交笔数。若水平漂移在至少两项指标上触发,机器人即切换至防御模式。

波动率漂移检测器(Volatility Shift Detector):感知风暴前兆

方法相似,但比较的是标准差而非均值。波动率急剧上升是重新审视参数的信号。有趣的规律:异常的波动率往往预示着爆发性行情。波动率漂移检测器能捕捉两种情况——收缩与扩张。

市场机制切换检测 水平漂移和波动率漂移检测器是识别“机制切换(Regime Change)”的关键——即市场行为的突然结构性转变,这需要不同的交易参数。

HBOS:快速多维分析

当需要同时监控10个以上的指标,又不希望承担复杂机器学习的计算成本时,HBOS (Histogram-Based Outlier Selection) 是最佳选择。它假设特征相互独立并为每个特征构建直方图。异常评分是所有直方图反密度的乘积。

HBOS 算法原理 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 算法可视化 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。

面向订单簿的 Transformer 具有多头注意力(multi-head attention)机制的 Transformer 架构被证明在识别高频限价订单簿数据中的复杂时间模式方面具有卓越的能力。

用于合成异常生成的GAN。 主要挑战之一是缺乏标注数据。GAN可以生成逼真的操纵场景用于训练监督模型。目前已有架构实现了94.7%的准确率,延迟低于3毫秒,吞吐量达每秒15万笔交易。

用于交易异常的 GAN 生成对抗网络(GAN)可用于通过创建逼真的合成异常来扩充数据集,从而解决交易领域关键的标签稀缺问题。

变点检测 (Change Point Detection, CPD)。 与寻找单个离群点不同,CPD 专注于识别信号统计特性发生变化的精确时刻。这对于在做市模式之间切换(例如,从均值回归切换到趋势跟踪)至关重要。

变点检测 变点检测(CPD)可识别时间序列数据中的结构性转变,突出不同市场机制之间的边界。

异常检测不是可选功能。它是基础——没有它,算法交易就变成了赌博。越早建立它,市场需要教给你的昂贵教训就越少。

相关资料

  1. 金融时间序列异常检测研究综述 (Hans Pub)
  2. 孤立森林 (Isolation Forest) 算法原理及 Python 实现 (Zhihu)
  3. 基于 LSTM Autoencoder 的时间序列异常检测 (CSDN)
  4. Sklearn 异常检测常用方法总结 (阿里云)
  5. PyOD: 全面的 Python 离群值检测工具箱
  6. 基于 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 = {哪些异常检测方法在加密货币算法交易中真正有效,如何构建级联防护架构,以及为何这是算法交易不可或缺的基础。} }
免责声明:本文提供的信息仅用于教育和参考目的,不构成财务、投资或交易建议。加密货币交易涉及重大损失风险。

MarketMaker.cc Team

量化研究与策略

在 Telegram 中讨论