2. 风控体系设计原则:全面性、独立性、实时性、可量化
做市商的风控体系,说白了就是一道防火墙。
这道墙要是没砌好,行情一波动,可能连墙带人一起被埋。我见过太多团队,策略很牛,代码很炫,最后栽在风控上。为什么?因为原则没立住。
今天聊的这四个原则——全面性、独立性、实时性、可量化,是我个人认为最底层的四根柱子。缺一根,整个体系就容易晃。
核心观点:风控不是事后补救,而是事前设计。原则定了,后面的规则、代码、流程才有根。
2.1 全面性原则:别留死角
全面性,听起来像废话。但实际操作中,最容易出问题的就是「我以为覆盖了」。
举个例子。我之前接手过一个做市项目,团队把价格风险、库存风险都管得死死的,结果某天交易所网络延迟,订单重复提交,瞬间爆仓。你说这是不是风控漏洞?当然是。因为操作风险没人管。
全面性要求我们覆盖以下几类风险:
- 市场风险:价格波动、流动性枯竭、价差扩大
- 信用风险:对手方违约、交易所宕机
- 操作风险:人为误操作、系统bug、网络延迟
- 模型风险:参数失效、策略过拟合
我建议你在设计风控清单时,拿一张白纸,把所有「万一出事」的场景都列出来。别怕多,怕漏。
避坑指南:我曾经漏掉「交易所API限频变更」这个风险点。结果某天交易所把限频从100次/秒降到10次/秒,我们的订单全部被拒,做市策略直接停摆。嗯,从那以后,我把「外部接口变更」列入了风控清单。
2.2 独立性原则:裁判不能同时当运动员
这个原则,很多团队不重视。觉得「我们自己人盯着就行」。
你想想看,交易员和风控员坐在一起,行情一波动,交易员说「再给我一分钟,肯定能赚回来」,风控员能顶住压力吗?很难。
独立性要求:
- 组织独立:风控团队不隶属于交易部门
- 流程独立:风控决策不受交易员影响
- 系统独立:风控模块与交易模块解耦
我记得有一次,一个交易员私下找到风控同事,说「今晚行情好,把止损线放宽一点吧」。风控同事直接拒绝了。为什么?因为他的KPI不跟交易盈利挂钩。这就是独立性的价值。
注意:独立性不是「不沟通」。风控和交易需要定期对齐,但决策权必须分开。说白了,风控说「停」,就必须停,没有商量余地。
2.3 实时性原则:晚一秒可能就没了
做市商的风控,跟传统金融不一样。传统风控可以T+1算,做市商不行。
为什么?因为做市商每秒都在跟市场交互。你的库存、敞口、保证金,每秒钟都在变。如果风控是分钟级甚至小时级,那跟没有差不多。
实时性体现在三个层面:
- 数据实时:行情、订单、持仓数据延迟不超过100ms
- 计算实时:风控指标计算在10ms内完成
- 响应实时:触发风控阈值后,能在下一个tick前执行
我习惯在风控系统里加一个「心跳检测」。每100ms检查一次所有风控指标,如果某个指标超过阈值,直接触发熔断。别等人工确认,来不及的。
一个真实的教训:我曾经把风控检查放在交易循环之外,结果行情剧烈波动时,风控计算还没跑完,仓位已经爆了。后来我把风控逻辑嵌入了交易主循环,延迟从500ms降到了5ms。效果立竿见影。
2.4 可量化原则:感觉没用,数字才有用
「我觉得风险有点大」——这句话在风控体系里没有意义。
可量化原则要求:每一个风控指标都必须有明确的数值定义。
举个例子:
| 风险类型 | 模糊描述 | 可量化描述 |
|---|---|---|
| 库存风险 | 库存不能太大 | 单币种库存不超过总资产的5% |
| 价差风险 | 价差不能太宽 | 价差超过0.3%时自动撤单 |
| 资金风险 | 保证金要够 | 可用保证金低于20%时停止开仓 |
可量化还有一个好处:可以回测。你可以拿历史数据跑一遍,看看这些阈值设得合不合理。我每次上线新策略,都会先跑一个月的历史回测,把风控阈值调稳了再上实盘。
一个小技巧:阈值不是一成不变的。市场波动率变了,阈值也要跟着调。我习惯用「动态阈值」——比如基于过去N天的波动率,自动调整止损线。这样既不会太松,也不会太紧。
2.5 四个原则的关系
这四个原则不是孤立的。它们互相支撑:
- 全面性告诉你「管什么」
- 独立性告诉你「谁来管」
- 实时性告诉你「什么时候管」
- 可量化告诉你「管到什么程度」
缺了任何一个,风控体系都会出现短板。我见过最惨的案例:一个团队全面性做得很好,但独立性不够,结果交易员自己改风控参数,一天亏了300万。你说冤不冤?
下面这张图,是我个人总结的风控原则框架,你可以参考:
好了,这一章就聊到这儿。四个原则听起来简单,但真正落地的时候,每一个都需要花功夫去打磨。下一章我们会深入聊具体的风控指标和阈值设计,到时候你会看到这些原则是怎么变成代码和规则的。