跳到正文

量化交易的风险管理系统

风险管理体系决定量化机构在单策略失败时还能不能活下去。仓位限制、杠杆上限、回撤触发器、压力测试,哪一样都不能省。

第 2 篇 · 共 8 篇 约 11 分钟

风险管理是决定一个量化机构能不能活过 5 年的纪律。它也决定你的 PnL 是你的还是借来的。这一块做不对,别的都不重要。

有件事我想直说。量化交易最常见的失败模式不是烂模型,不是烂数据,甚至不是坏运气。是没有严肃的风险管理系统,加上连续几个月的好回报让运营者相信自己不需要。

故事通常这么演:策略在赚钱。策略继续赚钱。运营者加资金。策略继续赚钱。运营者加杠杆——为什么不加,alpha 是真的。然后制度切换发生了。一个没人预见的相关性制度,一次把模型假设拉到三倍的波动率飙升,一次让执行假设作废的流动性事件。策略一周亏 6%。然后 12%。然后杠杆把它放大到 30%。然后运营者发现那个所谓的风险模型——也就 Excel 里几个写着”最大仓位 10%“的格子——假设的是策略会像平静期那样表现。它没有。

这篇文章讲的就是搭一个能让这个故事讲不下去的风险系统。整篇的主线只有一条:限额必须写在系统能强制执行的地方,并且在每一层都写。

五层,每层都有自己的 kill switch

一个严肃的量化运营在五层上做风险管理。层与层不是重复劳动——每一层抓的是下一层看不见的东西。

最里面是策略级。每个策略有自己的风险预算:最大单笔仓位、最大总敞口(多头加空头)、最大净敞口(多头减空头)、强制暂停前的最大回撤、行业和因子集中度上限。一个目标年化波动率 12% 的策略,可能是单笔仓位不超过 NAV 的 5%、总敞口 200%、净敞口 50%、回撤 15% 暂停、行业集中度 25% 这样一组数字。数字本身不通用——取决于策略的 alpha-to-risk 比、容量、流动性特征——但每个策略都得把它们写在系统能强制执行的某个地方。常见的错误是限额在上线时定义一次,之后再也没人碰;正确的做法是每季度复审,重大策略改动、制度切换、容量扩张之后也要复审。

策略级限额全绿,不代表没事——这正是组合级存在的理由。组合层把跨策略的敞口聚起来,相关性爆雷就是在这里抓的。如果你三个策略都正向暴露在 value 因子上,策略级风险报告可能每个都显示”在限额内”,但组合级视图会显示 40% 的实际 value 敞口,远超任何合理的因子集中度限额。组合级要看的是聚合的总敞口和净敞口、聚合的因子敞口和行业敞口、策略收益的相关性矩阵(高相关意味着分散化没在按你以为的方式工作),以及每个策略对组合风险的边际贡献——一个高 Sharpe 但高相关的策略,取决于它跟其他策略的相关性,对组合可能是净加分也可能是净减分。Chan 在 Algorithmic Trading(Wiley, 2013, ISBN 978-1-118-46014-6)第 8 章讲了组合级风险管理,特别强调策略级 Sharpe 会怎样误导你对组合级风险的判断。

再往外是公司级,约束在这一层变成生死问题:总杠杆上限(分散化量化公司典型 3–4 倍)、总净杠杆上限(多空公司典型 1–2 倍)、触发投资者沟通或返还资本的总回撤限额,以及流动性要求——NAV 的一定比例必须能在 N 天内、正常市场条件下平掉。公司级限额通常由高级风控人员来设而不是策略团队,因为策略团队天然偏向于让自己的策略看起来安全。这是特性,不是 bug:策略团队不该是公司级风险房间里唯一的声音。

第四层跟 alpha 无关,跟”你还能不能交易”有关——运营风险,也是策略导向型量化最被低估的一层。它的组件是:一条命令停掉所有交易的 kill switch,最好每周测一次;开盘期间每 5 分钟一次的内部仓位对券商仓位的对账;拒掉名义金额明显是打错的订单(多一个零、小数点错位)的胖手指检查;系统故障时人也能介入平仓的人工覆盖通道;以及在规定时间窗内从完全的基础设施故障中恢复的灾难恢复能力。实话是:大部分零售量化完全跳过这一层。他们有策略、有券商连接、有祈祷。等券商在波动剧烈的那天宕机 30 分钟,他们就会见识到运营风险长什么样。

最外面一层是交易对手风险:你的券商、结算商、托管行或 prime broker 没法履约的风险。对大部分零售和小型机构量化,这具体就是券商风险。缓解手段不复杂:用资本充足、受监管的券商(IBKR、Schwab、Alpaca 等);资金可观时别全押在一家;了解 SIPC 和保险覆盖的边界;分配可观资金时盯着券商的财务健康。券商倒闭对小量化是低概率高影响事件;对有 prime broker 关系的大机构,这个话题会复杂得多——文末再展开。

仓位管理:杠杆最大的那个决策

五层限额是围栏,仓位管理是围栏里面真正开车的动作——它是风险管理里杠杆最大的决策,方式上的小变化比几乎任何其他参数都更剧烈地改变你的风险特征。常见做法有四种,复杂度递增,适用面却不是递增的。

等权最简单:把资金平均分成 N 份。

positioni=capitalN\text{position}_i = \frac{\text{capital}}{N}

对相似波动率品种的分散化组合,这没问题。品种波动率差别很大时它就是个糟糕的默认——5% 仓位放在 15% vol 的股票上,跟 5% 仓位放在 60% vol 的加密货币上,风险完全不是一回事。

波动率目标法正是冲着这个问题来的:按品种波动率反向配仓位,让每个仓位贡献相等的预期风险。

positioni=target_voli×capitalσi×pricei\text{position}_i = \frac{\text{target\_vol}_i \times \text{capital}}{\sigma_i \times \text{price}_i}

每个仓位 10% 的年化波动率目标是常见起点。产出的组合里,无论底层品种波动率多少,每个仓位的风险贡献大致相同。

Kelly 准则走的是另一条路:不问风险贡献,直接最大化长期增长。

f∗=pa−qbf^* = \frac{p}{a} - \frac{q}{b}

其中 pp 是胜率,q=1−pq = 1-p,aa 是平均亏损,bb 是平均盈利,f∗f^* 是要押上的资金比例。理论上几何增长率在满 Kelly 时最大化;实践中满 Kelly 太激进——回撤是残酷的,理论上满 Kelly 有大约一半的概率在途中把资金腰斩(具体深度随策略分布变化)。所以大部分从业者退到半 Kelly 或 1/4 Kelly,拿一点增长换回撤可控。

风险平价则把波动率目标的思路推到组合层面:让每个仓位对组合总风险的贡献相等。

positioni=risk_budgetiσi×pricei\text{position}_i = \frac{\text{risk\_budget}_i}{\sigma_i \times \text{price}_i}

这是风险平价基金背后的原理(Bridgewater All Weather 是典型代表)。风险平价组合倾向于在低波动率品种上加杠杆来拉平风险贡献,这也是这类基金运行在显著杠杆下的原因。

四种摆在一起,判断其实很清楚:小型量化运营的合适起点通常是波动率目标配仓、每仓 10% vol 目标;只交易相似品种时等权也行;Kelly 理论上诱人、实际上对大部分策略危险;风险平价是小量化基本用不上的机构基础设施。

杠杆上限

仓位定了规模,杠杆定的是整体的放大倍数——把小 alpha 变成真实收益、也把小错误变成真实亏损的那个乘数。大部分策略爆仓都在某个时点上涉及杠杆。

常规上限:

策略类型总杠杆净杠杆
股票多空,分散化1.5-2.5x0.3-0.8x
股票市场中性2.0-4.0x0.1-0.3x
统计套利,单票4.0-10.0x0.0-0.2x
期货,多资产2.0-5.0xvaries
加密,集中1.0-3.0xvaries

单笔仓位层面:按成本计,任何单一仓位不应超过 NAV 的 5–10%。盯市后可能漂高,但漂高本身就是减仓信号。

注意表里市场中性可以跑到 4 倍而多空只有 2.5 倍——因为危险的从来不是杠杆本身,是杠杆架在一个风险模型错了的策略上。4 倍总杠杆的市场中性策略,风险模型对,没问题;2 倍总杠杆的多空策略,风险模型错,要命。

回撤控制

限额管的是敞口的横截面,回撤管的是风险在时间轴上的表达。控制框架分两档加一个恢复条件。软停在 -10%:所有仓位规模减半,策略以一半规模继续跑——给策略恢复的空间,又不把全部资金暴露在产生回撤的同样条件下。硬停在 -20%:清掉所有仓位、停止策略、展开调查,在搞清楚回撤原因、并且有证据表明原因已经消除之前不重启。恢复到满规模之前,要求满足以下两条之一、取较长者:连续两个月正收益,或者策略的滚动 Sharpe 回到回撤前水平。

恢复条件不是官僚程序。回撤经常损害的是策略的隐含假设——市场相关性结构变了、流动性制度变了、因子行为变了。在理解这些变化之前就回到满规模,就是 20% 回撤变成 40% 回撤的标准路径。Ang 在 Asset Management(Oxford University Press, 2014, ISBN 978-0-19-995932-7)第 10 章讲了这些控制的机构版本;框架是机构级的,原理适用于任何规模。

压力测试

回测告诉你策略历史上怎么表现。压力测试告诉你策略在没发生过的场景里会怎么表现——而那些场景可能会发生。

先重放历史危机:2008 GFC(极端相关性飙升、股票回撤 40%+、波动率的波动率飙升)、2020 新冠(史上最快的股票回撤、VIX 飙到 80+、3 周内完成制度切换)、2022 通胀与利率(股债同时回撤、现代史上 60/40 组合最差的一年),再加上闪崩类事件——2010、2015,以及 2021 年 Archegos / Viacom 平仓这种单票事件。

然后构建市场还没实际经历过的假设场景,每个场景都要能逼出一个具体问题的答案。利率一个季度上行 200 bp:你的因子敞口会怎么变?VIX 翻倍:你的 margin call 风险和流动性风险是什么?股票一个月跌 20%:你的回撤多深、恢复路径是什么?高收益债利差扩大 300 bp:对你的多空组合意味着什么?

真正吓人的是组合场景:衰退加利率上行加信用利差走宽同时发生,或者波动率飙升加流动性抽离加相关性制度切换同时发生。这些场景下分散化失效,在平静制度下训练的风险模型低估一切。老实说:大部分策略能扛过历史场景。危险的是假设场景,因为历史记录没让你的风险模型为它们准备过。

一个诚实的坑

大部分零售量化跳过风险管理,因为他们的策略”在赚钱”。然后黑天鹅来了,策略一周亏 50%,他们才发现自己的风险模型是许愿。

有一个真实的失败案例值得细看。一个策略管用了 18 个月,回测干净,实盘表现干净,运营者有个”最大仓位 5%“的规则,自己手动执行。然后 2020 年 3 月来了。策略在波动率飙升期间的因子敞口方向没问题——但券商盘中提高了保证金要求,他凑不出 margin call,仓位在最差的价格被强平。策略逻辑没问题。风险基础设施没有。

这就是风险管理要防的那类失败:不是靠预测黑天鹅,是靠确保黑天鹅来的时候,损失有界、可恢复。

这个案例还暴露了”手动执行”这四个字的分量。在代码里定义的限额,在代码里强制:pre-trade 检查拒掉会突破限额的订单,回撤熔断器在阈值触发时自动启动,压力测试把历史和假设场景过一遍策略逻辑、报出每个场景下的预测 PnL、最大回撤、恢复时间。在文档里定义的限额,只能靠希望强制。整合到订单管理层,才是重点。

尾部风险:为没发生过的事做准备

基于波动率的风险模型假设收益大致正态分布。它们不是。实际收益分布有更厚的尾部,极端事件比模型预测的更频繁;而黑天鹅按定义不在历史样本里,纯历史的风险模型没法为它们做准备。

能做的准备有四样,共同点是不依赖预测。集中度限制本身就是尾部风险对冲:即便因子模型说仓位之间不相关,也强制行业和因子集中度限制,让任何单一制度事件打不掉一大块组合。流动性储备:不管模型说什么最优,留 NAV 的 5–15% 在现金或现金等价物——平时是收益拖累,券商发 margin call 或交易对手抽走信贷额度时是活命钱。策略设计里的可选择性:偏向可以快速缩仓的策略而不是需要有序清算的策略——多头股票组合一天能卖光,私募信贷头寸卖不掉;建一个你能退出的组合。最后是为没发生过的事压测:2008 没被 2007 的风险模型预测到,2020 没被 2019 的预测到——会伤到你的场景正是还没发生的那些,为合理但前所未见的事件构建假设,确保策略扛得住。

实话是:你没法为每一只黑天鹅做准备。你能为黑天鹅的类别做准备——突然的流动性抽离、相关性飙升、制度切换——用强制限制让任何单一事件能造成的伤害有界。限额防止不了损失,但能让它有界。

交易对手风险的具体功课

前面说了交易对手风险对中小量化就是券商风险,具体要做的功课有三样。

券商财务健康:券商资本充足吗?倒闭了会怎样?大部分零售券商带 SIPC 保险(每个账户上限 50 万美元,现金有限额),但券商倒闭时你可能没法及时访问仓位或现金。资金可观时,用资本充足的券商(Interactive Brokers、Schwab),并考虑把资金分到两家。

SIPC 的细节:SIPC 覆盖每个客户最多 50 万美元,但其中只有 25 万美元覆盖现金;超出限额的部分,你是券商的无担保债权人。有些券商通过私人保险带额外覆盖(比如 IBKR 的 excess coverage),值得搞清楚。

账单对账:每个月读一遍券商账单——仓位跟你的记录一致吗,有没有意外交易,现金余额匹配吗。对不上就先对账再交易。券商出错确实会发生。

对有 prime broker 关系的更大运营,这个话题会复杂得多:净额结算协议、再抵押限额、隔离账户结构、衍生品的信用支持附件(CSA)。这些不是小量化的领域,但这是规模化之后要面对的东西。

做就完了

风险管理是单个策略失败时让量化机构活下去的东西。仓位管理、杠杆限额、回撤熔断器、压力测试、kill switch、尾部风险缓冲、交易对手监控——哪一样都不能省,哪一样都不能”等我们资金多了再加”。现在就加,现在就测,确保它们在你需要之前就能工作。

不舒服的真相是:风险管理是量化交易里没人觉得激动的部分。alpha 激动,基础设施激动,风险层是你花时间想象一切都出错、然后写代码防止它的部分。这是防止可避免失败的无名工作。做就完了。


参考文献

  • Chan, E. (2013). Algorithmic Trading: Winning Strategies and Their Rationale. Wiley. Chapter 8 (Risk Management). ISBN: 978-1-118-46014-6.
  • López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley. Chapter 15 (Understanding Strategy Risk). ISBN: 978-1-119-48208-6.
  • Ang, A. (2014). Asset Management: A Systematic Approach to Factor Investing. Oxford University Press. Chapter 10 (Risk Management). ISBN: 978-0-19-995932-7.