3. 风控体系设计原则:分层防御、实时监控、可追溯性、自动化与人工干预结合

做暗池交易这些年,我最大的体会就是:风控不是一道锁,而是一整套防御体系。你想想看,暗池里没有公开订单簿,信息不对称程度比交易所高得多。一旦风控出问题,损失往往不是小数目。

我个人习惯把风控体系拆成四个维度来设计。说白了,就是分层防御、实时监控、可追溯性、自动化与人工干预结合。这四条原则,缺一不可。

3.1 分层防御:别把鸡蛋放在一个篮子里

为什么强调分层?我在项目中遇到过一件事:某家机构只设了一道风控阈值,结果行情剧烈波动时,阈值被瞬间击穿,订单直接冲到交易所去了。嗯,那笔损失够买好几台服务器了。

分层防御的核心思路是:每一层只解决一个特定问题。我一般分四层:

层级 名称 作用 响应时间
L1 订单级风控 检查单笔订单的合法性(价格、数量、符号) < 1ms
L2 账户级风控 监控账户总敞口、日内交易次数、净头寸 < 10ms
L3 策略级风控 检测策略行为异常(如高频撤单、自成交) < 100ms
L4 系统级风控 全局熔断、连接状态、数据延迟监控 < 1s

每一层都有独立的规则引擎和告警通道。L1 出问题,直接拒单;L2 出问题,限制交易;L3 出问题,暂停策略;L4 出问题,整个系统停机。互不干扰,互不依赖。

关键点: 分层不是简单的堆叠,而是每层要有独立的计算资源和存储。我曾经见过有人把所有规则写在一个循环里,结果 L1 的规则把 L4 的 CPU 吃光了——这就不叫分层了,这叫单点故障。

3.2 实时监控:别等出事了再看日志

实时监控这件事,说起来简单,做起来坑很多。我见过太多团队把监控做成「事后诸葛亮」——数据延迟 5 分钟,等告警出来,行情都变了三波了。

我个人对实时监控的要求是:端到端延迟不超过 50ms。怎么做到?

  • 数据管道用流式处理:别用批处理,别用数据库轮询。Kafka + Flink 是标配,延迟能压到 10ms 以内。
  • 指标要精简:别什么都监控。我一般只盯 5 个核心指标——订单拒绝率、成交率、撤单率、净敞口、延迟抖动。多了反而看不清。
  • 告警要分级:P0 级(系统崩溃)直接打电话;P1 级(阈值超限)发短信;P2 级(趋势异常)发邮件。别把所有告警都搞成「红色警报」,否则没人看。
一个小技巧: 我习惯在监控面板上放一个「心跳图」。每 100ms 画一个点,如果连续 3 个点没更新,说明数据管道出问题了。这个比任何告警都直观。

3.3 可追溯性:每一笔交易都要能「翻旧账」

可追溯性,说白了就是出了问题能查得清。暗池交易的特殊性在于,很多订单是匿名的,一旦发生纠纷,没有完整的日志根本说不清楚。

我要求系统记录以下信息:

  1. 订单全生命周期:从创建、修改、取消到成交,每一步都要打时间戳。
  2. 风控决策日志:每条规则触发了什么动作,为什么触发,参数是什么。
  3. 系统状态快照:每 1 秒记录一次系统状态(CPU、内存、网络、队列长度)。
  4. 外部数据源:行情数据、参考价格、市场状态,全部归档。

我曾经遇到过一个 case:某笔交易在暗池里成交了,但对手方不认账。我们花了 3 天时间,从日志里还原了当时的订单流、风控决策、行情快照,最终证明是对方系统的问题。如果没有完整的可追溯性,这 3 天根本不可能做到。

注意: 日志不能只写「成功」或「失败」。要写清楚「为什么成功」和「为什么失败」。比如「订单被拒绝」这种日志就是废的,要写成「订单被拒绝:价格偏离参考价 5%,超过阈值 3%」。

3.4 自动化与人工干预结合:机器做判断,人做决策

这个原则我花了好几年才真正理解。一开始我追求全自动化,觉得人太慢、太容易出错。后来发现,有些场景机器根本处理不了——比如市场出现极端行情,或者监管政策突然变化。

我的做法是:自动化处理 95% 的常规情况,人工处理 5% 的异常情况。具体来说:

  • 自动化负责执行:规则触发后,自动拒单、自动限流、自动熔断。这些不需要人参与,机器比人快得多。
  • 人工负责决策:当系统检测到「未知模式」或「多规则冲突」时,自动暂停交易,并通知风控人员。由人来判断是继续、调整还是停机。
  • 人机交互要简洁:我给风控人员设计了一个「一键操作」面板——暂停、恢复、调整阈值、查看日志。所有操作不超过 3 次点击。
避坑指南: 我曾经犯过一个错误——把「人工干预」设计成必须输入 5 个参数才能执行。结果有一次行情暴跌,风控人员手忙脚乱,输入了 3 次才成功。后来我改成「一键暂停,参数后补」。记住:紧急情况下,速度比精度重要。

3.5 核心逻辑框架图

下面这张图是我自己画的风控体系核心逻辑。你可以看到,四个原则是相互咬合的:

暗池交易风控体系核心逻辑 分层防御 实时监控 可追溯性 自动化+人工 L1 订单级 L2 账户级 L3 策略级 L4 系统级 独立规则引擎 流式处理 5 个核心指标 P0/P1/P2 分级告警 心跳检测 延迟 < 50ms 订单全生命周期 风控决策日志 系统状态快照 外部数据归档 可还原现场 95% 自动化 5% 人工决策 一键操作面板 未知模式暂停 速度 > 精度 安全、稳定、可审计的暗池交易

你看,分层防御是骨架,实时监控是眼睛,可追溯性是记忆,自动化与人工结合是大脑。四者缺一不可,互相支撑。

最后说一句: 风控体系不是建完就完事的。我每个月都会做一次「压力测试」——模拟各种极端场景,看看系统能不能扛住。你想想看,如果平时不练,真出事的时候再练就晚了。

专注资料整理