下单前只差一个检查,为什么可能让一次小错误变成大损失?

建立统一风控引擎

约 10 分钟1 个动手实验4 道小题

学完你能说清楚把风险写成统一、可解释、先于下单执行的规则。

01学完这一课,你能做到什么

策略负责找机会,风控负责先问一句:这笔订单现在能不能安全地进入市场?

学完这一课,你应该能:

  1. 把风控放到事前、事中、事后三个时间点来设计;
  2. 为每条规则写清输入、阈值、触发理由和缺数据时的处理方式;
  3. 分清放行、拦截、人工复核,以及暂停后续订单的区别;
  4. 用正常单、超额单、错价单、禁买标的和事件风险等情景检验风控;
  5. 明白“触发”和“已经卖出”不是一回事。

本课出现的金额、比例和阈值都是教学配置。例如 20 万元、5%、1% 和 2%,用来说明规则怎样工作,不是给任何账户的参数建议。

02风控要覆盖三个时间点

把风控想成机场安检:起飞前检查行李,飞行中监测异常,落地后复盘问题。交易也一样。

  • 事前:订单进入市场前,检查金额、价格、标的状态、账户风险和外部事件;
  • 事中:持仓已经存在时,持续检查止损、当日亏损、宏观环境和新闻变化;
  • 事后:记录哪条规则被触发、订单是否成交、最终损失多少,并修改下一次的控制办法。

软件部署错误、价格异常、市场突然剧烈波动、财务或信用事件,都可以转成不同的控制:软件错误用金额和频率限制,错价用价格边界,系统性冲击用暂停和控制,财务事件用名单和事件监测。

历史事件只能帮助你设计测试情景,不能推出“收到新闻就一定能退出”或“恐慌结束后一定能赚钱”。风控的作用是减少暴露、提高处置纪律,不是消灭所有损失。

一笔订单的风控闭环
  1. 1事前检查订单、行情、账户、名单
  2. 2事中约束止损、亏损、事件、宏观
  3. 3事后复盘触发、成交、损失、修订

一句话记住风控不只拦下单,还要管持仓和复盘。

03下单前,至少检查这八类规则

一套统一风控引擎,不是只写一个“能不能买”的判断,而是同时检查多类约束:

  1. 单笔金额上限:订单价格 × 数量不能超过示例上限 20 万元,防止数量或单位写错;
  2. 价格偏离:订单价相对可靠参考价偏离超过 5% 时拒绝,防止错价单;
  3. 禁买名单:标的处于预设禁止买入状态时拒绝,不能只靠证券名称猜测;
  4. ATR 仓位约束:根据总权益、 和限制波动敞口,示例单笔风险预算为账户的 1%;
  5. 当日亏损熔断:累计亏损达到 2% 时暂停新增风险;
  6. 持仓止损:价格触发固定比例或 ATR 止损时,启动退出流程;
  7. 事件风险:调查、违约等公告或新闻需要进入判断;
  8. 宏观门控:例如 VIX 大于 50 时暂停新增买入。

如果参考价、账户权益或新闻数据缺失、过期,就要预先规定返回什么结果。最危险的做法是把“没有数据”默认为“没有问题”。

例如,价格 100 元、数量 3,000 股,订单金额是:

订单金额 = 价格 × 数量 = 100 × 3,000 = 300,000 元

它超过 20 万元上限,即使策略信号再强,也不能直接放行。

八类规则分别防什么
金额与价格

拦住输入错误

单笔上限和参考价边界,防止数量或报价写错。

标的与账户

拦住不该承担的暴露

禁买名单、ATR 仓位和当日亏损限制。

持仓与事件

处理已经发生的风险

止损、公告、调查和违约等信息进入处置流程。

市场环境

极端时少做新增风险

宏观门控和外层价格边界,防止局部规则互相放大。

一句话记住缺数据不能被当成没有风险。

04多条检查同时运行,最后怎样决定

同一订单要经过多个检查。统一引擎可以把结果归纳为四种内部状态:

  • approve:没有违反已配置规则,可以继续流程,但不代表交易没有风险;
  • warning:发现可处理的风险,建议降低数量或金额,并说明上限和理由;
  • reject:当前订单不允许继续;下一笔订单仍要按自己的条件重新检查;
  • halt:系统进入暂停状态,后续订单受到影响,直到满足明确的恢复条件。

优先级是:halt > reject > warning > approve。如果一条规则通过,另一条规则拒绝,最终结果必须是拒绝,不能用“多数通过”放行。

在学习者版实验里,我们把 warning 表现为“人工复核”:输入不完整、数据过期或事件含义不够确定时,先不让系统自动放行。真实系统还需要单独区分“暂停新增风险”和“允许紧急减仓”,避免暂停买入时意外阻止必要的卖出。

主风控引擎应由不同策略和场景共同调用。ATR、事件、宏观模块负责准备输入,RiskManager 负责统一检查,这样不容易出现某个脚本忘记风控的情况。

一句话记住一条拒绝规则,不能被多数通过抵消。

动手试试

放行、拦截还是人工复核

逐张查看订单情景,判断风控引擎应该放行、拦截还是交给人工复核。

SCENARIO JUDGE

你是统一风控引擎。请判断这张订单情景卡应该放行、拦截,还是人工复核。先看风险等级,再看数据是否足够支持自动决策。

第 1 / 8 张
情景 01

金额和价格都正常

账户权益约 100 万元。提交买入 510050 100 股的订单,价格 3 元,可靠参考价也是 3 元;标的不在禁买名单,新闻无异常,账户当日亏损未达到熔断线。

05用情景卡证明风控真的在工作

测试不能只看程序有没有报错,要同时比较预期决策、实际决策、触发理由和建议金额。

可以先用一个约 100 万元的教学账户和参考价 3 元的 510050 做例子:

  • 买入 100 股,金额 300 元,其他条件正常,应当放行;
  • 买入 50 万股,金额 150 万元,超过账户和单笔约束,应当拦截;
  • 以 3.4 元买入、参考价 3 元,偏离约为:

价格偏离 = (3.4 ÷ 3 − 1) × 100% ≈ 13.33%

它超过示例 5% 阈值,应当拦截;

  • 对禁买名单中的标的提交买单,应当拦截;
  • 对价格约 1,700 元的标的提交过大数量,可能同时触发金额和 ATR 约束;
  • 输入“立案调查”等事件时,应返回对应的风险决策;
  • 当日亏损超过 2% 或宏观指标进入高危阈值,应进入暂停状态,并验证后续订单确实受到影响。

还要专门测试参考价缺失、行情过期、重复订单和止损触发但没有成交。所有测试都在模拟环境完成,没有真实下单授权时不能把模拟结果当成实际保护效果。

06对冲能补充风控,但不是损失保证

保护性看跌可以为持有的 提供一层下跌保护。教学例子是持有约 3,000 万元 ETF,再支付约 30 万元购买看跌期权。期权的保护效果还取决于标的、行权价、期限、波动率和数量,不能因为支付了 30 万元,就假设一定能补偿 200 万元损失。

同一合约等量多空可能形成锁仓并产生费用,但是否有意义要看市场规则和交易目的。保护性买入期权和卖出期权收取权利金,风险结构完全不同。卖方可能多数时间小赚,却在少数极端日出现巨大损失;高不等于低风险。

再记住三条边界:

  • 触发止损,不等于已经卖出;跌停、停牌、不足都可能让委托无法成交;
  • 两边反向持仓,不等于风险自动消失,可能先耗尽;
  • 风控规则能降低暴露,不能保证目标价成交,也不能保证账户不亏损。

复盘时要记录触发、委托、成交回报和剩余持仓。只有看到这些记录,才知道系统到底执行到了哪一步。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01一条规则通过,另一条规则拒绝,最终应该怎样处理?
02价格 100 元、数量 3,000 股,订单金额是多少?
03参考价已经缺失,最稳妥的默认处理是什么?
04止损价格被触发,是否代表订单已经卖出?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 建立统一风控引擎统一风控引擎最重要的作用是什么?

在下单前统一检查风险,并在异常时限制新增暴露、留下可复核的理由。

  • 先检查,再下单
  • 最严格规则优先
  • 触发不等于成交
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01风控要覆盖下单前、持仓中和事后复盘三个时间点。
  2. 02单笔金额、价格偏离、禁买名单、ATR、亏损熔断、止损、事件和宏观门控要统一检查。
  3. 03多个结果按 halt > reject > warning > approve 汇总,不能用多数通过放行。
  4. 04缺失或过期数据不能默认当作安全,warning 在实验中表现为人工复核。
  5. 05触发止损不等于完成卖出,对冲和高胜率也都不是损失保证。
完成这一课

完成这一课

读完讲义、动手做一次实验、答对小题,这一课就算学完了。

  • 读完讲义
  • 完成一轮订单情景判断
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定的订单情景,用于练习风控规则的判断。

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。