第10章 统一风控体系:所有策略的安全底线

140页 · 预计12

开篇故事:那个一夜爆仓的量化团队

2022年5月,LUNA暴雷。那是加密货币历史上最惨烈的事件之一,400亿美元的市值在几天内归零。我当时在壹信量化平台的社群里,亲眼看到无数人爆仓、破产、跳楼的消息。

但最让我震惊的,是一个我认识的量化团队。这个团队有5个人,都是名校毕业,之前在传统金融机构做量化,2021年转战加密货币。他们管理的资金大约有2000万U,主要做期现套利和资金费率套利,年化收益大约30%,回撤控制在5%以内,在圈子里小有名气。

LUNA暴雷前,他们发现了一个"绝佳"的套利机会:UST(LUNA生态的算法稳定币)的价格脱锚了,从1美元跌到了0.9美元。他们的逻辑是:UST是算法稳定币,有锚定机制,价格最终会回到1美元,现在0.9美元买入,等回到1美元就能赚11%。而且他们觉得这是"无风险套利"——因为算法稳定币的锚定机制保证了价格回归。

于是他们把2000万U中的1500万U都买了UST,还加了2倍杠杆,相当于3000万U的仓位。他们的风控模型显示,最大回撤不会超过5%,因为UST历史上从未偏离1美元超过2%,而且每次都在24小时内回归。

但他们忽略了一个致命的风险:算法稳定币的锚定机制本身可能失效。当UST的抛压超过锚定机制的承受能力时,价格就会彻底脱锚,再也回不去了。

LUNA暴雷的那几天,UST从0.9美元跌到0.5美元,再跌到0.1美元,最后跌到0.01美元。他们的仓位在UST跌到0.6美元时就被强平了,1500万U的本金几乎全部亏光。这个曾经风光无限的量化团队,一夜之间破产解散。

我跟这个团队的负责人聊过,他说了一句话让我至今难忘:"我们的风控模型什么都考虑到了,就是没考虑到锚定机制本身会失效。我们以为是无风险套利,结果是最大的风险。"

这个案例深刻地教育了我:在加密货币市场,没有真正的"无风险套利",任何套利策略都有其潜在的黑天鹅风险。风控不是策略的附属品,而是策略的生命线。没有好的风控,再高的收益都是空中楼阁,一次黑天鹅就能让你归零

从那以后,我把风控放在了所有策略的第一位。我花了半年时间,建立了一套统一的风控体系,覆盖了从单策略风控到组合风控、从市场风险到操作风险、从事前预防到事后应急的全流程。这套体系让我在2022年的熊市中只回撤了8%,在2023年的多次黑天鹅(FTX暴雷、硅谷银行倒闭等)中都安然无恙。

这一章,我就把这套统一风控体系完整地讲给你听。从风控的底层哲学,到五大风险类别的识别与应对,到统一风控指标体系,到自动化风控系统的搭建,再到危机应急预案,全部拆透。我希望你读完这一章后,能建立起自己的风控意识和风控体系,让你的套利策略活过牛熊,不被一次黑天鹅打倒。


10.1 风控的底层哲学:先活下来,再谈收益

10.1.1 风控的第一性原理:不对称性

要理解风控,首先要理解一个底层的数学原理:亏损和盈利的不对称性

这个原理很简单:如果你亏了50%,需要赚100%才能回本;如果你亏了80%,需要赚400%才能回本;如果你亏了90%,需要赚900%才能回本。亏损越大,回本越难。

让我们看一个具体的例子:

亏损比例 需要的盈利比例才能回本
10% 11.1%
20% 25%
30% 42.9%
40% 66.7%
50% 100%
60% 150%
70% 233%
80% 400%
90% 900%
100% 不可能(归零)

从这个表可以看出,当亏损超过50%时,回本就变得非常困难了。而在加密货币市场,一次黑天鹅事件(如LUNA暴雷、FTX暴雷)就可能让你亏50%以上。

所以,风控的第一性原理就是:避免大亏,比追求大赚更重要。因为一次大亏可能需要你用几年的时间去弥补,甚至永远无法弥补

我见过太多交易者,平时赚得不错,年化收益50%甚至100%,但一次黑天鹅就亏了80%,几年的利润全部回吐还倒亏本金。他们的问题不是策略不好,而是风控太差——没有控制住极端情况下的亏损。

10.1.2 风控的核心目标:控制回撤,而非消除风险

很多人对风控有一个误解:以为风控就是要消除所有风险,做到"无风险"。但实际上,风控的目标不是消除风险,而是控制风险——把回撤控制在你能承受的范围内,让你在经历亏损后还能继续交易,还有机会回本和盈利

在投资中,风险和收益是对称的——你想要更高的收益,就必须承担更高的风险。完全消除风险的唯一方法是不交易,但那样你也没有收益。所以,正确的做法不是消除风险,而是:

  1. 识别你承担的每一种风险
  2. 评估每种风险的概率和影响
  3. 把总风险控制在你能承受的范围内
  4. 为极端风险(黑天鹅)准备应急预案

我自己的风控目标是:最大回撤不超过15%,年化收益不低于20%。这个目标意味着我愿意承担15%的回撤,来换取20%以上的年化收益。如果某个策略的潜在回撤超过15%,即使它的预期收益很高,我也不会用,或者会把仓位降到回撤可控的范围内。

为什么是15%?因为15%的亏损只需要赚17.6%就能回本,这在加密货币市场是比较容易做到的。如果回撤超过20%,回本就开始变得困难了。所以15%是一个比较合理的上限。

当然,每个人的风险承受能力不同。如果你是保守型投资者,可以把最大回撤目标设为10%甚至5%;如果你是激进型投资者,可以设为20%或25%。但我不建议超过25%,因为25%的亏损需要赚33%才能回本,已经比较困难了。

10.1.3 风控的三层防线

我把风控体系分为三层防线,层层递进,确保即使一层被突破,还有下一层保护:

第一层防线:事前预防(策略层面)

这是最基础、最重要的防线。在策略设计和回测阶段,就把风险考虑进去,从源头上降低风险。

具体包括:

  • 策略设计时,明确策略的风险点和最大回撤
  • 用历史数据回测,包括极端行情(如2022年LUNA暴雷、FTX暴雷)下的表现
  • 蒙特卡洛模拟,测试不同市场环境下的策略表现
  • 压力测试,模拟极端情况下的最大亏损
  • 策略上线前,用小资金实盘测试至少1个月

这一层防线的目标是:确保策略本身的风险是可控的,不会在正常市场环境下出现不可接受的亏损

第二层防线:事中监控(执行层面)

即使策略设计得再好,实盘执行中也可能出现各种意外(如行情超预期、系统故障、操作失误等)。这时候需要事中监控,实时跟踪风险指标,发现异常及时干预。

具体包括:

  • 实时监控每个策略的仓位、盈亏、回撤
  • 实时监控市场风险指标(如波动率、流动性、极端行情)
  • 设置风险预警阈值,当指标超过阈值时自动告警
  • 自动止损和减仓机制,当亏损达到预设阈值时自动执行
  • 人工巡检,每天至少检查一次系统运行状态和风险指标

这一层防线的目标是:在风险还没有造成不可接受的亏损时,就发现并干预,把亏损控制在预设范围内

第三层防线:事后应急(危机层面)

即使有前两层防线,仍然可能遇到极端黑天鹅事件(如交易所暴雷、稳定币脱锚、监管突然禁止等),导致前两层防线被突破。这时候需要事后应急预案,快速响应,把损失降到最低。

具体包括:

  • 制定各种黑天鹅场景的应急预案(如交易所暴雷怎么办、稳定币脱锚怎么办、策略突然失效怎么办)
  • 建立应急响应机制,明确谁来决策、谁来执行、执行步骤是什么
  • 定期演练应急预案,确保在真正的危机中能快速响应
  • 危机后的复盘和总结,更新风控体系

这一层防线的目标是:在极端黑天鹅事件中,把损失控制在能承受的范围内,确保不会归零,还有东山再起的机会

三层防线的关系是:第一层预防大部分风险,第二层控制小部分漏网的风险,第三层应对极端的黑天鹅风险。三层结合,才能构成完整的风控体系。

10.1.4 风控的常见误区

在讲具体的风控方法之前,我先指出几个常见的风控误区,避免你走弯路:

误区一:"这个策略是套利,没有风险"

这是最危险的误区。任何套利策略都有风险,只是风险的大小和类型不同。期现套利有基差扩大的风险,资金费率套利有费率跳变的风险,跨所套利有转账失败的风险,配对套利有协整断裂的风险,网格套利有单边破位的风险,事件套利有判断错误的风险。

在加密货币市场,没有真正的无风险套利。你以为的"无风险",往往是你没有识别到的风险,而这种未被识别的风险往往是最致命的(就像LUNA暴雷中那个量化团队,以为算法稳定币锚定是无风险的,结果锚定本身失效了)。

误区二:"历史最大回撤就是未来最大回撤"

很多人在回测时,看历史最大回撤只有5%,就以为未来最大回撤也不会超过5%。但历史不会简单重复,未来可能出现比历史更极端的行情。比如2022年之前,BTC的历史最大单日跌幅是20%(2020年312),但2022年LUNA暴雷期间,BTC单日跌了15%,很多山寨币单日跌了50%以上。

正确的做法是:在历史最大回撤的基础上,乘以一个安全系数(通常1.5-2倍),作为未来可能的最大回撤。比如历史最大回撤5%,你要准备好未来可能回撤7.5%-10%。

误区三:"分散投资就等于风控"

分散投资确实能降低风险,但分散不等于风控。如果你分散投资的10个策略都是同类型的(比如都是做多山寨币),那在山寨币暴跌时,10个策略会同时亏损,分散就没有意义了。

真正的分散是不同类型、不同市场环境、不同风险来源的策略组合,比如同时做期现套利(市场中性)、网格套利(震荡市有利)、事件套利(事件驱动)、趋势跟踪(趋势市有利)。这样在任何市场环境下,都有策略在盈利,组合的整体回撤就小了。

误区四:"止损设了就万事大吉"

止损是风控的重要工具,但止损不是万能的。在极端行情下,止损可能无法触发(如交易所宕机),或者触发时的成交价格远低于止损价(如流动性枯竭、跳空低开)。比如2022年LUNA暴雷时,很多人的止损单在价格跳空时根本无法成交,或者成交价格比止损价低了30%。

所以,止损只是风控的一部分,你还需要结合仓位控制、分散投资、应急预案等多种手段,不能只依赖止损。

误区五:"风控会降低收益"

很多人觉得风控会限制仓位、错过机会,从而降低收益。但实际上,好的风控不仅不会降低长期收益,反而会提高长期收益。因为风控帮你避免了大亏,而大亏是长期收益的最大杀手。

让我用一个例子说明:

  • 交易者A:不做风控,年化收益50%,但每2年遇到一次黑天鹅亏40%。5年总收益:1.5×0.6×1.5×0.6×1.5 = 1.215,5年总收益21.5%,年化4%。
  • 交易者B:做好风控,年化收益30%,最大回撤10%,黑天鹅时只亏10%。5年总收益:1.3×0.9×1.3×0.9×1.3 = 1.785,5年总收益78.5%,年化12.3%。

你看,虽然交易者A的平时年化更高(50% vs 30%),但因为一次大亏,长期收益反而远低于做好风控的交易者B。这就是风控的价值——风控不是减少收益,而是减少亏损,而减少亏损就是增加收益

10.1.5 风控的执行原则

最后,我总结几条风控的执行原则,这些是我用真金白银换来的经验:

原则一:风控优先于收益

任何交易决策,先考虑风险,再考虑收益。如果一个机会的潜在收益很高,但风险不可控,直接放弃。在这个市场,机会永远有,但本金亏了就没了。

原则二:永远不要满仓

任何时候,都要保留至少20%的现金或等价物(如稳定币),作为安全垫和机动资金。满仓意味着你没有任何缓冲,一次意外就可能让你被动割肉。

原则三:单笔亏损不超过总资金的2%

这是传统金融的经典风控原则,在加密货币市场同样适用。任何单笔交易(或单个策略)的亏损,不应该超过总资金的2%。这样即使连续亏10次,也只亏20%,还有机会回本。

原则四:杠杆是把双刃剑,能不用就不用

杠杆能放大收益,也能放大亏损。在加密货币市场,波动本身就很大,再加杠杆风险更大。我自己的原则是:套利策略尽量不用杠杆,方向性策略(如事件套利)最多用2倍杠杆,绝对不用5倍以上的杠杆。

原则五:定期复盘和更新风控体系

市场在变,策略在变,风控体系也要跟着变。每月做一次风控复盘,检查风控指标是否合理、预警阈值是否需要调整、有没有新的风险点需要纳入。每季度做一次全面的风控审计,确保风控体系跟当前的市场和策略匹配。

记住,风控不是一次性的工作,而是一个持续的过程。建立好风控体系只是第一步,持续执行和优化才是关键。

在壹信量化平台上,a-sig.com提供了风险评估工具,可以帮你分析策略的风险指标、最大回撤、VaR等;intoquant.com可以帮你搭建自动化的风控系统,包括实时监控、自动预警、自动止损等功能。如果你想系统化地做好风控,这些工具能大大提高你的效率。


10.2 五大风险类别:市场风险、流动性风险、操作风险、技术风险、合规风险

10.2.1 风险一:市场风险

市场风险是指由于市场价格波动导致的投资亏损风险。这是最常见、最直接的风险,也是大多数人最关注的风险。

在套利策略中,市场风险的表现形式因策略类型而异:

策略类型 市场风险的表现 典型案例
期现套利 基差扩大,期货和现货价格走势背离 2022年312,期货大幅贴水,期现套利亏损
资金费率套利 费率跳变,从正变负或从负变正 2023年硅谷银行暴雷,USDC脱锚,费率剧烈波动
跨所套利 价差不回归,某交易所价格持续偏离 2022年FTX暴雷,FTT在FTX的价格远高于其他交易所
配对套利 协整断裂,两个标的走势不再相关 2022年ETH合并,ETH和ETC的协整关系断裂
网格套利 单边破位,价格突破网格区间持续下跌 2022年熊市,很多网格策略因为BTC持续下跌而大亏
事件套利 判断错误,事件结果与预期相反 2023年某公链升级不及预期,价格暴跌

市场风险的量化指标

  1. 波动率(Volatility):衡量价格波动的大小。波动率越高,市场风险越大。常用的是年化波动率,BTC的年化波动率通常在50%-80%,山寨币更高。
  2. 最大回撤(Max Drawdown):策略从最高点到最低点的最大跌幅。这是衡量市场风险最重要的指标。
  3. 在险价值(VaR, Value at Risk):在一定置信水平下(如95%),策略在一定时间内(如1天)可能的最大亏损。比如95% VaR = 3%,意味着有95%的概率单日亏损不超过3%。
  4. 贝塔系数(Beta):策略收益与市场整体收益的相关性。Beta=1意味着跟市场同步涨跌,Beta=0意味着市场中性,Beta<0意味着跟市场反向。

市场风险的应对方法

  1. 仓位控制:根据策略的波动率和最大回撤,调整仓位。波动率高的策略,仓位要低。
  2. 止损:设置明确的止损,当亏损达到阈值时及时离场。
  3. 对冲:用衍生品(如期权、期货)对冲市场风险。比如做多现货的同时做空期货,对冲价格波动风险。
  4. 分散:同时运行多个不同类型、不同市场环境的策略,降低单一策略的市场风险。
  5. 动态调整:根据市场波动率动态调整仓位。波动率高时降低仓位,波动率低时增加仓位。

10.2.2 风险二:流动性风险

流动性风险是指由于市场流动性不足,导致无法以合理价格买入或卖出资产,甚至无法成交的风险。

流动性风险在加密货币市场特别突出,因为:

  1. 很多小币种的流动性很差,买卖盘深度薄
  2. 极端行情下,做市商可能撤单,流动性急剧恶化
  3. 不同交易所的流动性差异很大,小交易所的流动性尤其差
  4. 某些事件(如下架、暴雷)可能导致流动性瞬间枯竭

流动性风险的表现形式

  1. 滑点过大:你下单的价格和实际成交价格差异很大。比如你想以100美元买入,结果实际成交价是105美元,滑点5%。
  2. 无法成交:你的限价单挂了很久都没有成交,或者市价单只能部分成交。
  3. 买卖价差扩大:买一价和卖一价之间的差距很大,比如正常时差0.1%,极端时差5%以上。
  4. 提现困难:你想把资产从交易所提出来,但交易所因为流动性问题限制提现或延迟到账。

真实案例:2022年FTX暴雷时的流动性枯竭

2022年11月FTX暴雷时,FTX交易所的流动性瞬间枯竭。很多用户想把资产提出来,但FTX停止了提现。在FTX内部,很多币种的买卖价差扩大到了10%以上,你想卖都卖不出去。FTT代币在FTX内部的价格一度还维持在20美元,但在其他交易所已经跌到了5美元——因为FTX内部没有流动性,价格无法反映真实价值。

很多在FTX上做套利的用户,因为资产被困在FTX,无法转移到其他交易所,最终损失了全部资产。这就是流动性风险的极端表现——不是价格跌了,而是你的资产根本拿不出来了。

流动性风险的量化指标

  1. 买卖价差(Bid-Ask Spread):买一价和卖一价之间的差距,通常用百分比表示。价差越小,流动性越好。
  2. 订单簿深度(Order Book Depth):买卖盘前N档(如前10档)的总挂单量。深度越大,流动性越好。
  3. 日均交易量(ADV, Average Daily Volume):资产的日均交易金额。交易量越大,流动性越好。
  4. 换手率(Turnover Rate):交易量除以流通市值。换手率越高,流动性越好。
  5. 滑点率(Slippage Rate):实际成交价格与预期价格的差异比例。滑点越小,流动性越好。

流动性风险的应对方法

  1. 只交易流动性好的资产:选择日均交易量超过5000万U的币种,避免交易小币种和meme币。
  2. 选择流动性好的交易所:在Binance、OKX等头部交易所交易,避免在小交易所存放大量资产。
  3. 分散交易所存放:不要把所有资产放在一个交易所,分散在2-3个头部交易所,降低单个交易所暴雷的风险。
  4. 用限价单而非市价单:市价单在流动性差时会造成巨大滑点。用限价单,设置你能接受的价格,不能成交就放弃。
  5. 分批下单:大额订单分3-5批下单,每批间隔几分钟,减少对市场的冲击。
  6. 监控流动性指标:实时监控买卖价差、订单簿深度等指标,当流动性恶化时及时减仓或停止交易。
  7. 保留充足的现金:保留至少20%的稳定币现金,避免在需要资金时被迫低价卖出资产。

10.2.3 风险三:操作风险

操作风险是指由于人为操作失误、流程不完善、内部控制失效等原因导致的亏损风险。

操作风险听起来不如市场风险"高级",但实际上,很多量化团队的重大亏损不是因为策略失败,而是因为操作失误。我见过太多因为操作失误导致的悲剧:

  • 下单时把"买入"点成"卖出",或者把数量多打了一个零
  • 提币时把地址填错,资产转到了错误的地址,永远找不回来
  • 策略参数设置错误,比如把止损设成了止盈,或者把仓位设成了10倍
  • 忘记取消旧的订单,导致在不知情的情况下成交
  • 两个策略之间的资金没有隔离,一个策略的亏损影响了另一个策略

真实案例:社群朋友的"多打一个零"惨案

社群里有个朋友,2023年做跨所套利。他想在Binance买入10个ETH,结果下单时数量多打了一个零,变成了100个ETH。当时ETH价格1800美元,100个ETH就是18万美元,而他的账户里只有5万美元。因为是用杠杆,系统接受了订单,但很快价格波动,他的账户被强平,5万美元全部亏光。

他后来跟我说,当时就是手滑,多打了一个零,等反应过来已经成交了。就因为这一个小小的操作失误,他几个月的利润全部亏光,还倒亏了本金。

操作风险的常见类型

  1. 下单错误:买卖方向错误、数量错误、价格错误、交易对错误等。
  2. 转账错误:提币地址错误、链选择错误(如把ETH转到了BSC链)、金额错误等。
  3. 参数设置错误:策略参数设置错误(如仓位、止损、网格区间等)。
  4. 系统配置错误:API密钥配置错误、IP白名单错误、系统时间不同步等。
  5. 流程遗漏:忘记检查、忘记取消订单、忘记充值等。
  6. 内部控制失效:多人操作时职责不清、没有复核机制、一个人能完成所有操作等。

操作风险的应对方法

  1. 标准化操作流程(SOP):把所有常用操作(如下单、提币、参数调整)写成标准化流程,每一步都有检查清单。操作时严格按照流程执行,不要凭记忆。
  2. 双人复核机制:重要操作(如大额转账、参数调整、策略上线)必须由两个人复核,一个人操作,另一个人检查确认后才能执行。
  3. 小额测试:新策略上线、新参数调整、新交易所使用,先用小资金(如总资金的1%)测试至少1天,确认没问题后再用正常资金运行。
  4. 操作日志:记录所有操作,包括操作时间、操作人、操作内容、操作结果。出问题时可以快速定位原因。
  5. 权限控制:不同的人有不同的操作权限,比如交易员只能下单,不能提币;管理员能提币,但需要多人授权。避免一个人拥有所有权限。
  6. 冷静期机制:大额操作(如超过总资金10%的订单或转账)设置10分钟冷静期,10分钟后确认才能执行,给你一个发现错误的机会。
  7. 定期培训和演练:定期对团队成员进行操作培训,模拟各种操作失误场景,演练应急处理流程。

10.2.4 风险四:技术风险

技术风险是指由于技术系统故障、网络中断、API异常、黑客攻击等原因导致的亏损风险。

对于量化交易者来说,技术风险尤其重要,因为你的交易完全依赖于技术系统。系统出了问题,你的策略可能无法执行,或者执行错误,导致亏损。

技术风险的常见类型

  1. 交易所API异常:交易所API限流、返回错误数据、接口变更、短暂不可用等。这是最常见的技术风险。
  2. 网络中断:你的服务器网络中断,无法连接交易所,导致无法下单或平仓。
  3. 服务器故障:你的服务器宕机、磁盘满、内存溢出、程序崩溃等,导致策略停止运行。
  4. 程序bug:你的交易程序有bug,比如逻辑错误、数据处理错误、异常处理不完善等,导致错误交易。
  5. 数据错误:行情数据错误(如价格异常、K线缺失),导致策略基于错误数据做出错误决策。
  6. 黑客攻击:你的服务器被黑客入侵,API密钥被盗,资产被盗取。
  7. 交易所系统故障:交易所本身的系统故障,如宕机、无法下单、无法提现、数据错误等。

真实案例:2023年某交易所宕机导致的跨所套利失败

2023年3月,某交易所因为系统升级出现故障,宕机了4小时。当时我正在做一笔跨所套利:在A交易所买入BTC,提到B交易所卖出。结果B交易所宕机了,我提过去的BTC无法到账(因为交易所宕机时充值也暂停了),也无法在B交易所卖出。

4小时后B交易所恢复,BTC的价格已经跌了3%,我的套利变成了亏损。虽然亏损不大(约0.5%的总资金),但给了我一个教训:跨所套利中,交易所的技术稳定性是一个重要的风险因素,你不能假设交易所永远正常运行

技术风险的应对方法

  1. 多交易所备份:不要只依赖一个交易所。同时在2-3个头部交易所开户,当一个交易所出问题时,可以切换到另一个。
  2. 多服务器部署:策略程序部署在多个服务器上(不同机房、不同云服务商),当一个服务器出问题时,另一个可以接管。
  3. 健康检查和自动重启:程序内置健康检查机制,定期检测程序运行状态,如果发现异常自动重启。同时用supervisor等工具监控进程,进程崩溃时自动拉起。
  4. 异常处理和告警:程序中完善异常处理,遇到API错误、网络中断等情况时,不要崩溃,而是记录日志、发送告警、尝试重试。设置多种告警方式(邮件、短信、Telegram、电话),确保你能第一时间收到告警。
  5. API密钥权限控制:API密钥只开通必要的权限(如只读、交易),不要开通提现权限。不同策略用不同的API密钥,一个密钥被盗不会影响全部资产。
  6. 服务器安全加固:服务器做好安全加固,如关闭不必要的端口、使用SSH密钥登录而非密码、定期更新系统、安装防火墙和入侵检测系统等。
  7. 定期备份:定期备份策略代码、配置文件、交易数据等,确保在服务器故障时能快速恢复。
  8. 手动应急方案:准备好手动应急方案,当自动化系统出问题时,能快速切换到手动操作,避免更大损失。

10.2.5 风险五:合规风险

合规风险是指由于违反法律法规、监管政策、交易所规则等原因导致的风险,包括资产被冻结、罚款、法律诉讼等。

加密货币市场的监管环境正在快速变化,各国政府都在加强对加密货币的监管。合规风险越来越重要,如果你忽视合规,可能面临严重的后果。

合规风险的常见类型

  1. 监管政策变化:某国突然宣布禁止加密货币交易、挖矿,或者对加密货币交易征收高额税收。
  2. 交易所合规问题:交易所因为合规问题被监管处罚、限制服务、甚至关闭。
  3. 资产被冻结:你的银行账户或交易所账户因为涉嫌洗钱、诈骗等被冻结。
  4. 税务问题:没有按照规定申报加密货币交易收入,被税务部门追缴税款和罚款。
  5. 法律纠纷:因为代客理财、发行代币、提供交易服务等行为被起诉。
  6. 制裁风险:你交易的币种或交易对象被列入制裁名单,导致资产被冻结。

真实案例:2023年美国SEC对加密货币的监管收紧

2023年,美国SEC加强了对加密货币的监管,起诉了Binance、Coinbase等交易所,指控它们违反证券法,还把多种代币认定为未注册证券。这导致很多交易所下架了被认定为证券的代币,很多代币价格暴跌。

一些在美用户因为交易了被认定为证券的代币,或者使用了被起诉的交易所,面临账户被冻结、资产无法提取的风险。虽然最终大部分用户的资产没有损失,但这个案例说明:监管政策的变化可能对你的交易产生重大影响,你必须关注合规风险

合规风险的应对方法

  1. 了解你所在地区的法律法规:认真研究你所在国家/地区的加密货币相关法律法规,了解什么是合法的、什么是非法的。
  2. 选择合规的交易所:选择在你所在地区有合规牌照、遵守当地法律法规的交易所。避免使用监管不明确、有合规风险的交易所。
  3. 做好税务申报:按照当地税法规定,如实申报加密货币交易收入,缴纳税款。保留好所有交易记录,以备税务检查。
  4. 不从事非法活动:不参与洗钱、诈骗、非法集资等非法活动。不代客理财(除非有相关牌照),不发行代币,不提供未经许可的金融服务。
  5. 关注监管动态:定期关注你所在地区和主要市场(如美国、欧盟)的加密货币监管动态,及时调整你的交易策略和资产配置。
  6. 分散司法管辖区:如果可能,把资产分散在不同司法管辖区的交易所和钱包中,降低单一地区监管变化的风险。
  7. 咨询专业人士:如果有条件,咨询专业的律师和税务顾问,确保你的交易活动合法合规。

10.2.6 五大风险的总结和优先级

最后,我把五大风险做一个总结,并给出优先级:

风险类型 发生概率 影响程度 优先级 应对难度
市场风险 1(最高)
流动性风险 2
操作风险 中高 3 低(但需要严格执行)
技术风险 中高 4 中高
合规风险 极高 5

优先级的逻辑是:

  1. 市场风险:每天都在发生,是最常见的风险,必须首先管理好。
  2. 流动性风险:虽然不是每天都发生,但一旦发生(如交易所暴雷),影响很大,可能让你资产归零,所以排第二。
  3. 操作风险:发生概率不低,而且完全可以通过流程和制度避免,所以要重点防范,排第三。
  4. 技术风险:量化交易依赖技术系统,技术故障可能导致策略无法执行或错误执行,排第四。
  5. 合规风险:发生概率低,但一旦发生影响极大(如资产被冻结、法律诉讼),需要长期关注,排第五。

当然,这个优先级是针对一般情况的。如果你是个人交易者,操作风险和技术风险可能更突出;如果你是机构团队,合规风险和流动性风险可能更重要。你需要根据自己的情况,调整风险管理的重点。

在壹信量化平台上,a-sig.com提供了全面的风险评估工具,覆盖市场风险、流动性风险等多个维度;intoquant.com可以帮你搭建包含操作风险控制、技术风险监控的完整交易系统。如果你想系统化地管理这五大风险,这些工具能给你很大的帮助。


10.3 统一风控指标体系:从单策略到组合的风险量化

10.3.1 为什么需要统一风控指标体系

很多交易者做风控,都是"拍脑袋"式的——感觉这个策略风险大就少投点,感觉那个策略风险小就多投点。没有统一的量化指标,全凭感觉。这种方式的问题是:

  1. 无法准确比较不同策略的风险:你说A策略风险大,B策略风险小,但大多少、小多少?没有量化就无法比较。
  2. 无法准确计算组合的整体风险:单个策略的风险你可能有感觉,但多个策略组合在一起,整体风险是多少?相关性如何?没有量化就算不出来。
  3. 无法设置明确的风控阈值:你说"亏损太多就止损",但多少算"太多"?没有量化指标就无法设置明确的阈值。
  4. 无法客观评估风控效果:你的风控做得好不好?有没有降低风险?没有量化指标就无法评估。

所以,你需要一套统一的风控指标体系,用量化的指标来衡量和管理风险。这套体系要覆盖从单策略到策略组合,从收益到风险,从历史到预测的各个维度。

我自己的风控指标体系分为三层:单策略指标、组合指标、系统级指标。每一层有不同的指标,层层递进,全面覆盖风险。

10.3.2 第一层:单策略风控指标

单策略风控指标用于衡量单个策略的风险和收益表现。这是最基础的一层,每个策略都要计算这些指标。

收益类指标

  1. 年化收益率(Annualized Return):策略的年化收益。计算公式:(期末净值/期初净值)^(365/天数) - 1。
  2. 累计收益率(Cumulative Return):策略从开始到现在的总收益。计算公式:期末净值/期初净值 - 1。
  3. 月均收益率(Average Monthly Return):策略每月的平均收益。

风险类指标

  1. 年化波动率(Annualized Volatility):策略收益率的标准差,衡量收益的波动程度。波动率越高,风险越大。
  2. 最大回撤(Max Drawdown, MDD):策略从历史最高点到最低点的最大跌幅。这是最重要的风险指标。计算公式:max(1 - 净值t/历史最高净值t)。
  3. 最大回撤持续时间(Max Drawdown Duration):最大回撤从开始到恢复的持续天数。持续时间越长,风险越大。
  4. 在险价值(VaR):在一定置信水平下(如95%),策略单日可能的最大亏损。
  5. 条件在险价值(CVaR / Expected Shortfall):超过VaR的部分的平均亏损,衡量尾部风险。比VaR更保守。

风险调整后收益指标

  1. 夏普比率(Sharpe Ratio):衡量单位风险带来的超额收益。计算公式:(年化收益率 - 无风险利率) / 年化波动率。夏普比率越高越好,通常>1算不错,>2算优秀。
  2. 索提诺比率(Sortino Ratio):类似夏普比率,但只考虑下行波动率(亏损的波动),而不是全部波动率。更合理地衡量风险调整后收益。
  3. 卡玛比率(Calmar Ratio):年化收益率 / 最大回撤。衡量单位最大回撤带来的收益。卡玛比率>1算不错,>2算优秀。
  4. 盈亏比(Profit/Loss Ratio):平均盈利 / 平均亏损。衡量每次盈利相对于每次亏损的比例。
  5. 胜率(Win Rate):盈利交易次数 / 总交易次数。

我自己的单策略风控阈值

指标 合格线 优秀线 警戒线 止损线
年化收益率 >15% >30% <10% <5%
最大回撤 <15% <8% >15% >20%
夏普比率 >1.0 >2.0 <0.8 <0.5
卡玛比率 >1.0 >2.0 <0.8 <0.5
胜率 >50% >60% <45% <40%

当某个策略的指标触及警戒线时,我会开始关注并分析原因;触及止损线时,我会减仓或暂停该策略,进行深入分析和调整。

10.3.3 第二层:组合风控指标

单策略指标只能衡量单个策略的风险,但你通常不会只跑一个策略,而是同时跑多个策略组成投资组合。组合的风险不是单个策略风险的简单相加,因为策略之间有相关性——有的策略同涨同跌,有的策略涨跌相反。所以你需要组合层面的风控指标。

组合收益指标

  1. 组合年化收益率:整个组合的年化收益,按各策略的资金权重加权计算。
  2. 组合累计收益率:整个组合的累计收益。

组合风险指标

  1. 组合年化波动率:整个组合的波动率,考虑策略之间的相关性。计算公式:sqrt(w^T × Σ × w),其中w是权重向量,Σ是协方差矩阵。
  2. 组合最大回撤:整个组合的最大回撤。组合的最大回撤通常小于单个策略的最大回撤(因为分散效应)。
  3. 组合VaR:整个组合的在险价值。

相关性和分散化指标

  1. 策略相关系数矩阵:每个策略与其他策略的收益率相关系数。相关系数越低,分散效果越好。
  2. 平均相关系数:所有策略对之间相关系数的平均值。平均相关系数越低,组合分散化程度越高。
  3. 分散化比率(Diversification Ratio):组合中各策略加权平均波动率 / 组合波动率。比率越高,分散化效果越好。通常>1.2算不错,>1.5算优秀。
  4. 有效仓位(Effective Number of Positions):基于权重的熵计算,衡量组合的有效分散程度。

组合风险调整后收益指标

  1. 组合夏普比率:组合的年化超额收益 / 组合年化波动率。
  2. 组合卡玛比率:组合年化收益率 / 组合最大回撤。

我自己的组合风控阈值

指标 目标值 警戒线 止损线
组合年化收益率 >20% <15% <10%
组合最大回撤 <10% >10% >15%
组合夏普比率 >1.5 <1.0 <0.8
平均相关系数 <0.3 >0.5 >0.7
分散化比率 >1.3 <1.2 <1.1

当组合指标触及警戒线时,我会调整策略配置(如降低高相关性策略的权重、增加低相关性策略);触及止损线时,我会全面降低仓位,进入防御模式。

10.3.4 第三层:系统级风控指标

除了策略和组合层面的风险,还有一些系统级的风险需要监控,比如市场整体风险、交易所风险、资金使用效率等。这些指标不针对某个具体策略,而是针对整个交易系统。

市场环境指标

  1. BTC波动率:BTC的30日年化波动率。衡量市场整体波动水平。波动率高时,市场风险大,需要降低仓位。
  2. 市场恐慌贪婪指数(Fear & Greed Index):衡量市场情绪的指标,0-100,0表示极度恐慌,100表示极度贪婪。极端贪婪时可能是顶部,极端恐慌时可能是底部。
  3. 稳定币市值占比:稳定币市值占加密货币总市值的比例。比例上升表示资金在避险,比例下降表示资金在流入风险资产。
  4. 融资利率:加密货币市场的整体融资利率(如期货资金费率的平均值)。利率过高表示市场过度杠杆化,可能有清算风险。

交易所和资金指标

  1. 各交易所资金分布:你的资金在各交易所的分布比例。避免在单个交易所存放过多资金(建议不超过40%)。
  2. 资金使用率:已使用资金 / 总资金。避免资金使用率过高(建议不超过80%),保留充足的安全垫。
  3. 杠杆使用率:各策略的杠杆使用情况。避免整体杠杆过高(建议不超过2倍)。
  4. 提现可用性:各交易所的提现是否正常。如果某个交易所提现异常,及时转移资金。

系统运行指标

  1. 策略在线率:各策略的正常运行时间比例。在线率低说明技术系统不稳定。
  2. API错误率:交易所API调用的错误比例。错误率高说明API或网络有问题。
  3. 订单成交率:下单后成功成交的比例。成交率低说明流动性或执行有问题。
  4. 告警次数:每天的风控告警次数。告警次数突然增加说明可能有异常情况。

我自己的系统级风控阈值

指标 正常范围 警戒范围 危险范围
BTC 30日波动率 40%-70% 70%-100% >100%
恐慌贪婪指数 20-80 80-90或10-20 >90或<10
单交易所资金占比 <30% 30%-40% >40%
资金使用率 <70% 70%-85% >85%
整体杠杆 <1.5倍 1.5-2倍 >2倍
策略在线率 >99% 95%-99% <95%
API错误率 <1% 1%-5% >5%

当系统级指标进入警戒范围时,我会开始关注并做好应对准备;进入危险范围时,我会立即采取行动(如降低仓位、转移资金、暂停交易等)。

10.3.5 风控指标的监控和报告体系

有了指标体系,还需要建立监控和报告机制,确保你能及时了解风险状况。我自己的监控和报告体系分为三个频率:

实时监控(7×24小时)

  • 用自动化系统实时监控所有风控指标,包括单策略的仓位、盈亏、回撤,组合的整体风险,系统级的市场指标、技术指标等。
  • 设置告警阈值,当指标超过阈值时,通过Telegram、邮件、短信等方式立即告警。
  • 关键告警(如策略回撤超过止损线、交易所提现异常、API错误率突增)设置电话告警,确保你能第一时间收到。

每日报告(每天1次)

  • 每天早上8点生成前一天的风控日报,包括:
    • 各策略的当日收益、累计收益、当前回撤
    • 组合的整体收益、回撤、风险指标
    • 资金分布、资金使用率、杠杆使用率
    • 市场环境指标(BTC波动率、恐慌贪婪指数等)
    • 系统运行指标(在线率、API错误率、告警次数等)
    • 异常情况和需要关注的事项
  • 我每天早上花15分钟阅读风控日报,了解整体风险状况,决定当天是否需要调整。

每周/每月报告(定期)

  • 每周一生成上周的风控周报,每月1日生成上月的风控月报。
  • 周报/月报包括:
    • 各策略的周/月收益、风险指标、排名
    • 组合的周/月收益、风险指标、与基准的对比
    • 策略相关性分析、分散化效果评估
    • 风控事件回顾(本周/月有哪些告警、如何处理的、效果如何)
    • 风控体系的问题和改进建议
  • 我每月花1小时做风控复盘,根据月报分析风控体系的有效性,调整风控阈值和策略配置。

这套监控和报告体系,确保我对风险状况了如指掌,不会出现"不知道自己在冒多大风险"的情况。在a-sig.com上,你可以找到大部分这些风控指标的计算工具和报告模板;intoquant.com可以帮你搭建自动化的实时监控和告警系统。如果你想系统化地做好风控监控,这些工具能大大提高你的效率。


10.4 自动化风控系统搭建:从预警到强制平仓的全流程

10.4.1 为什么需要自动化风控系统

很多人做风控,都是"手动"的——每天看一下账户,感觉亏多了就手动减仓,感觉有风险就手动平仓。这种方式在策略少、资金小的时候还能应付,但当你同时跑5个以上策略、资金量超过100万U时,手动风控就不够用了:

  1. 反应速度不够:加密货币市场24小时交易,行情变化极快。等你发现风险、手动操作时,可能已经亏了很多。
  2. 无法持续监控:你不可能24小时不睡觉盯着行情。晚上睡觉、周末休息时,风险可能发生,你却无法及时处理。
  3. 容易受情绪影响:手动操作时,你可能因为贪婪而不愿止损,因为恐惧而过度减仓。自动化系统没有情绪,能严格按照规则执行。
  4. 多策略管理困难:同时跑多个策略时,你很难同时监控每个策略的风险状况,容易顾此失彼。
  5. 容易出错:手动操作容易出错,比如下错单、算错仓位、忘记平仓等。

所以,当你的策略和资金达到一定规模时,必须搭建自动化风控系统,用程序来监控风险、执行风控操作。自动化系统能7×24小时不间断运行,反应速度在毫秒级,严格执行规则不受情绪影响,是专业量化交易者的必备基础设施。

我自己的自动化风控系统是在2022年搭建的,花了大约2个月时间开发和测试。这套系统运行以来,帮我避免了多次可能的重大亏损——比如2023年硅谷银行暴雷时,系统在USDC脱锚后10分钟内就自动降低了相关策略的仓位,避免了更大的损失。

10.4.2 自动化风控系统的架构

我把自动化风控系统分为五个模块,形成一个完整的闭环:

数据采集模块 → 风险计算模块 → 决策判断模块 → 执行操作模块 → 告警通知模块

模块一:数据采集模块

负责采集所有需要的数据,包括:

  • 行情数据:各交易所、各交易对的实时价格、K线、订单簿
  • 账户数据:各交易所的账户余额、持仓、未成交订单、杠杆率
  • 策略数据:各策略的实时盈亏、仓位、净值曲线
  • 市场数据:BTC波动率、恐慌贪婪指数、资金费率等
  • 系统数据:API响应时间、错误率、程序运行状态

数据采集的频率:行情和账户数据每秒采集1次,市场数据每分钟采集1次,系统数据每5分钟采集1次。所有数据存入时序数据库(如InfluxDB),供后续计算和查询。

模块二:风险计算模块

基于采集的数据,实时计算各项风控指标,包括:

  • 单策略指标:实时盈亏、回撤、波动率、仓位、杠杆率
  • 组合指标:组合盈亏、组合回撤、组合波动率、相关性矩阵
  • 系统级指标:资金使用率、杠杆使用率、各交易所资金占比
  • 市场风险指标:BTC波动率、极端行情检测

风险计算的频率:单策略和组合指标每秒计算1次,系统级指标每分钟计算1次。计算结果存入数据库,并提供API供决策模块查询。

模块三:决策判断模块

根据风险计算的结果,对照预设的风控规则,判断是否需要采取风控操作。风控规则分为三个级别:

  1. 关注级(Warning):指标触及警戒线,需要关注,但不需要立即操作。系统记录日志,发送低优先级告警。
  2. 操作级(Action):指标触及操作线,需要执行风控操作(如减仓、暂停开新仓)。系统生成操作指令,发送中优先级告警。
  3. 强制级(Force):指标触及强制线,需要立即执行强制操作(如强制平仓、全部止损)。系统立即执行操作,发送高优先级告警(电话+短信+Telegram)。

每个级别的具体阈值,根据10.3节的风控指标体系来设定。比如单策略回撤:

  • 10%:关注级

  • 15%:操作级(减仓50%)

  • 20%:强制级(全部平仓)

决策模块的核心是一个规则引擎,你可以用配置文件定义各种风控规则,不需要修改代码就能调整规则。

模块四:执行操作模块

根据决策模块生成的操作指令,执行具体的交易操作。常见的风控操作包括:

  1. 减仓:按比例减少某个策略或某个币种的仓位。
  2. 平仓:平掉某个策略或某个币种的全部仓位。
  3. 暂停开仓:禁止某个策略开新仓,但保留已有仓位。
  4. 暂停策略:完全暂停某个策略,平掉所有仓位,停止运行。
  5. 转移资金:把资金从一个交易所转移到另一个交易所(如某交易所出现风险时)。
  6. 降低杠杆:降低某个策略的杠杆率。

执行模块的设计原则:

  • 幂等性:同一个操作指令执行多次,结果相同。避免重复下单。
  • 容错性:执行失败时自动重试,重试失败时发送告警。
  • 限流:执行操作时控制下单频率,避免触发交易所API限流。
  • 手动确认:强制级操作(如全部平仓)可以设置为需要手动确认后才执行,避免系统误判导致的错误操作。当然,在极端情况下你也可以设置为自动执行。

模块五:告警通知模块

负责把风控事件和操作通知给你。告警分为三个优先级:

  1. 低优先级(Info):关注级事件、常规操作通知。通过Telegram/邮件发送。
  2. 中优先级(Warning):操作级事件、需要你关注的异常。通过Telegram+邮件发送。
  3. 高优先级(Critical):强制级事件、系统故障、可能导致重大损失的情况。通过电话+短信+Telegram+邮件发送,确保你能第一时间收到。

告警内容包括:事件时间、事件类型、涉及策略/币种、当前指标值、阈值、执行的操作、操作结果等。所有告警存入数据库,供事后复盘。

10.4.3 核心风控规则示例

下面我给出几个核心风控规则的具体示例,供你参考:

规则一:单策略回撤风控

规则名称:单策略回撤控制
触发条件:
  当策略A的当前回撤 >= 10%时,触发关注级
  当策略A的当前回撤 >= 15%时,触发操作级
  当策略A的当前回撤 >= 20%时,触发强制级
执行操作:
  关注级:发送Telegram告警,记录日志
  操作级:减仓50%,暂停开新仓,发送邮件+Telegram告警
  强制级:全部平仓,暂停策略,发送电话+短信+Telegram告警
恢复条件:
  当回撤回落至8%以下,且持续24小时,可以恢复正常运行

规则二:组合回撤风控

规则名称:组合整体回撤控制
触发条件:
  当组合整体回撤 >= 8%时,触发关注级
  当组合整体回撤 >= 12%时,触发操作级
  当组合整体回撤 >= 15%时,触发强制级
执行操作:
  关注级:发送告警,开始监控各策略表现
  操作级:所有策略减仓30%,暂停新开策略,发送告警
  强制级:所有策略减仓70%,进入防御模式,发送高优先级告警
恢复条件:
  当组合回撤回落至5%以下,且持续48小时,可以恢复正常仓位

规则三:单币种集中度风控

规则名称:单币种风险敞口控制
触发条件:
  当某个币种的总风险敞口(现货+期货净敞口)占总资金 >= 20%时,触发关注级
  >= 30%时,触发操作级
  >= 40%时,触发强制级
执行操作:
  关注级:发送告警
  操作级:禁止增加该币种的敞口,逐步降低至25%以下
  强制级:立即减仓,将敞口降至20%以下

规则四:交易所集中度风控

规则名称:单交易所资金集中度控制
触发条件:
  当某个交易所的资金占总资金 >= 35%时,触发关注级
  >= 45%时,触发操作级
  >= 55%时,触发强制级
执行操作:
  关注级:发送告警,关注该交易所运行状况
  操作级:暂停向该交易所充值,逐步转出资金至40%以下
  强制级:立即转出资金,降至35%以下,暂停该交易所的新策略

规则五:极端行情风控

规则名称:极端行情应急响应
触发条件:
  当BTC 1小时涨跌幅 >= 10%,或24小时涨跌幅 >= 20%时,触发
  或当某个币种1小时涨跌幅 >= 30%时,触发
执行操作:
  1. 暂停所有策略的新开仓
  2. 检查所有策略的止损是否正常触发
  3. 对于方向性策略(如事件套利),立即减仓50%
  4. 对于中性策略(如期现、配对),检查对冲是否正常,如不正常立即对冲
  5. 发送高优先级告警,通知人工介入
恢复条件:
  当市场波动率回落至正常范围,且持续2小时,可以恢复正常运行

这些规则只是示例,你需要根据自己的策略、资金、风险承受能力来调整具体的阈值和操作。关键是要把规则明确化、量化,让系统能自动执行。

10.4.4 自动化风控系统的技术实现

下面我简单介绍一下自动化风控系统的技术实现方案。如果你是技术背景,可以参考;如果你不是技术背景,可以用intoquant.com的定制服务,让他们帮你搭建。

技术栈选择

  • 编程语言:Python(生态丰富,有很多加密货币API库)
  • 数据采集:使用各交易所的WebSocket API实时推送行情,REST API获取账户数据
  • 数据存储:InfluxDB(时序数据库,适合存储行情和指标数据)+ MySQL(存储配置、交易记录、告警日志)
  • 消息队列:Redis(用于模块间通信、缓存、分布式锁)
  • 规则引擎:自己实现一个简单的规则引擎,或者用Durable Rules等开源规则引擎
  • 监控和可视化:Grafana(连接InfluxDB,做实时监控仪表盘)+ 自研告警服务
  • 部署:Docker容器化部署,用Docker Compose或Kubernetes管理
  • 服务器:至少2台服务器(主备),部署在不同云服务商的不同机房

系统架构图

┌─────────────────────────────────────────────────────────┐
│                      数据采集层                            │
│  交易所WebSocket  │  交易所REST API  │  第三方数据源      │
└───────────────────┼──────────────────┼───────────────────┘
                    │                  │
                    ▼                  ▼
┌─────────────────────────────────────────────────────────┐
│                      数据存储层                            │
│            InfluxDB(时序数据)  │  MySQL(关系数据)     │
└───────────────────────────────┬─────────────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────┐
│                      风险计算层                            │
│  单策略指标计算  │  组合指标计算  │  系统级指标计算        │
└───────────────────┼──────────────────┼───────────────────┘
                    │                  │
                    ▼                  ▼
┌─────────────────────────────────────────────────────────┐
│                      决策判断层                            │
│           规则引擎  │  阈值配置  │  事件日志              │
└───────────────────────┬─────────────────────────────────┘
                        │
            ┌───────────┴───────────┐
            ▼                       ▼
┌─────────────────────┐   ┌─────────────────────┐
│     执行操作层       │   │     告警通知层       │
│  下单/平仓/转账/暂停 │   │ Telegram/邮件/短信/电话│
└─────────────────────┘   └─────────────────────┘

关键技术点

  1. 低延迟:从数据采集到执行操作,整个链路的延迟要控制在1秒以内。用WebSocket而非REST,用内存计算而非数据库查询,用异步IO而非同步。
  2. 高可用:系统不能宕机。用主备架构,主服务器故障时备服务器自动接管。所有模块无状态化,方便水平扩展。
  3. 数据一致性:账户数据、持仓数据要准确,不能因为数据延迟或错误导致误判。用多数据源交叉验证,发现数据异常时告警。
  4. 安全性:API密钥要加密存储,不能明文写在代码里。用环境变量或密钥管理服务(如AWS KMS)管理密钥。服务器做好安全加固。
  5. 可观测性:所有模块都要有详细的日志,所有指标都要能在Grafana上看到。出问题时能快速定位原因。

10.4.5 自动化风控系统的测试和上线

自动化风控系统直接关系到你的资金安全,上线前必须经过充分的测试。我自己的测试流程分为四步:

第一步:单元测试

对每个模块、每个函数进行单元测试,确保逻辑正确。特别是风险计算和决策判断模块,要用各种边界情况测试(如回撤刚好等于阈值、价格跳空、API返回错误等)。

第二步:回测测试

用历史数据测试风控系统的表现。把2022年LUNA暴雷、FTX暴雷、2023年硅谷银行暴雷等极端行情的历史数据喂给系统,看系统是否能正确识别风险、执行操作,操作是否及时、合理。

回测测试要关注:

  • 系统是否在正确的时间触发了正确的规则
  • 执行操作后,是否有效降低了风险
  • 有没有误报(不该触发时触发了)
  • 有没有漏报(该触发时没触发)

第三步:模拟盘测试

在模拟盘环境中运行风控系统,跟实盘行情连接,但不进行真实交易(或者用极小资金进行真实交易)。测试系统在真实行情、真实API环境下的表现,包括:

  • 数据采集是否稳定、准确
  • API调用是否正常,有没有限流
  • 告警是否及时、准确
  • 执行操作的延迟是否可接受
  • 系统长时间运行是否稳定(至少连续运行2周)

第四步:灰度上线

模拟盘测试通过后,开始灰度上线。先只对1-2个策略启用风控系统的监控和告警功能,但不启用自动执行功能(操作还是手动)。运行1周,确认监控和告警准确无误后,再启用自动执行功能,但只对小资金策略启用。再运行1周,确认自动执行准确无误后,再逐步推广到所有策略。

灰度上线的过程中,要密切关注系统表现,随时准备回滚。如果发现问题,立即切换回手动模式,修复问题后再重新上线。

上线后的持续优化

风控系统上线不是终点,而是持续优化的起点。你需要:

  • 每月回顾风控系统的表现,分析每次告警和操作是否合理
  • 根据市场变化和策略调整,更新风控规则和阈值
  • 定期进行压力测试和故障演练,确保系统在极端情况下能正常工作
  • 关注新的风险点,及时纳入风控系统

记住,风控系统是一个活的系统,需要持续维护和优化,不能一劳永逸。

在壹信量化平台上,intoquant.com提供自动化风控系统的定制开发服务,他们有成熟的风控系统框架和丰富的开发经验,可以帮你快速搭建符合自己需求的风控系统。a-sig.com提供风控指标的计算和回测工具,可以帮你验证风控规则的有效性。如果你想搭建自己的自动化风控系统,这些服务和工具能大大节省你的时间和精力。


10.5 危机应急预案:黑天鹅事件下的生存指南

10.5.1 为什么需要危机应急预案

前面讲的风控体系,主要是应对"正常"的市场风险——比如策略回撤、波动率上升、流动性恶化等。这些风险是你可以预期、可以通过常规风控手段管理的。

但在加密货币市场,还有一类风险:黑天鹅事件——完全出乎意料、影响巨大、可能让你资产归零的极端事件。比如:

  • 2022年LUNA暴雷(400亿美元市值归零)
  • 2022年FTX暴雷(全球第二大交易所破产)
  • 2023年硅谷银行倒闭(USDC短暂脱锚)
  • 2023年某交易所被SEC起诉(平台币暴跌50%)
  • 2024年某稳定币脱锚(稳定币不再稳定)

这些事件的共同特点是:

  1. 不可预测:在事件发生前,绝大多数人都没有预料到。
  2. 影响巨大:可能导致整个市场暴跌,某些资产归零。
  3. 发展极快:从事件爆发到造成最大损失,可能只有几小时甚至几分钟。
  4. 常规风控失效:你的止损可能无法触发(交易所宕机),你的对冲可能失效(相关性趋近于1),你的分散可能没用(所有资产同时暴跌)。

对于黑天鹅事件,常规的风控手段是不够的。你需要专门的危机应急预案——提前想好各种极端情况发生时该怎么办,确保在真正的危机中能快速、正确地行动,把损失降到最低,甚至活下来。

我自己的危机应急预案是在2022年FTX暴雷后建立的。FTX暴雷时,我虽然没有在FTX存很多钱(大约10%的资金),但也损失了不少,而且整个过程中我非常慌乱,不知道该怎么办。从那以后,我花了1个月时间,制定了详细的危机应急预案,并每季度演练一次。这套预案在2023年硅谷银行倒闭时帮了我大忙——我在USDC脱锚后1小时内就按照预案完成了所有操作,最终只损失了0.5%的资金。

10.5.2 危机应急预案的制定原则

在讲具体的预案之前,我先讲几个制定危机应急预案的原则:

原则一:假设最坏情况

制定预案时,要假设最坏的情况发生,而不是"应该不会那么糟"。比如制定交易所暴雷的预案时,要假设你在该交易所的所有资产都拿不回来了,而不是"应该能拿回一部分"。只有假设最坏情况,你的预案才能真正保护你。

原则二:简单明了,可执行

危机发生时,你会非常紧张、慌乱,没有时间去思考复杂的操作。所以预案必须简单明了,最好是"如果X发生,就做Y"的形式,步骤清晰,一看就懂,拿起来就能执行。

原则三:明确决策人和执行人

如果是团队,预案中必须明确谁是决策人(最终决定做什么)、谁是执行人(具体操作)、谁是沟通人(对外沟通、获取信息)。避免危机发生时大家互相等待、职责不清。如果是个人,你就是唯一的决策人和执行人,但可以找一个朋友作为"应急联系人",在你无法操作时帮忙。

原则四:提前准备好工具和资源

预案中需要的工具和资源,要提前准备好。比如:

  • 所有交易所的API密钥和登录信息(加密存储在安全的地方)
  • 硬件钱包(存储大部分资产,离线保管)
  • 备用手机和电脑(防止主设备故障)
  • 备用网络(如手机热点,防止宽带中断)
  • 重要联系人的电话(交易所客服、朋友、律师等)
  • 现金(至少能维持3个月生活的现金,防止电子支付出问题)

原则五:定期演练和更新

预案制定后,不能束之高阁。每季度要演练一次,模拟各种危机场景,测试预案的可执行性,发现问题及时修改。同时,当你的策略、资金、市场环境发生变化时,要及时更新预案。

10.5.3 典型黑天鹅场景的应急预案

下面我给出几个典型黑天鹅场景的应急预案,供你参考。你可以根据自己的情况调整。

场景一:交易所暴雷/停止提现

场景描述:你存放资金的某交易所突然宣布停止提现,或被曝出资金缺口,有暴雷风险。

应急响应级别:最高级(红色)

响应时间:立即(1小时内完成所有操作)

操作步骤:
1. 【0-10分钟】确认信息
   - 通过多个渠道确认消息真实性(交易所官方公告、社交媒体、可靠新闻媒体)
   - 确认该交易所是否真的停止提现,还是暂时维护
   - 评估暴雷概率(如果是资金缺口+CEO失联+停止提现,暴雷概率>90%)

2. 【10-30分钟】资产保护
   - 如果交易所还能交易:立即把所有资产换成BTC或ETH(流动性最好的币种),不要换稳定币(稳定币可能也有风险)
   - 如果交易所还能提现:立即把BTC/ETH提到自己的硬件钱包,提币手续费再高也要提
   - 如果交易所已经停止提现:不要在交易所内部进行任何操作,等待后续发展
   - 如果有该交易所的平台币:立即全部卖出(平台币在交易所暴雷时通常暴跌90%以上)

3. 【30-60分钟】风险隔离
   - 把其他交易所的资金也检查一遍,确保没有类似风险
   - 把总资金的50%以上提到硬件钱包,只保留20%-30%在交易所用于交易
   - 暂停所有高风险策略(如跨所套利、事件套利),只保留低风险的中性策略
   - 通知团队成员和相关方,告知情况和应对措施

4. 【后续】持续跟进
   - 关注该交易所的后续发展(破产重组、赔偿方案等)
   - 如果有债权登记,及时登记
   - 记录损失,用于税务申报
   - 复盘原因,更新风控体系(如降低单交易所资金占比上限)

预防措施:
- 单交易所资金占比不超过30%
- 50%以上资产存放在硬件钱包
- 定期检查交易所的储备金证明(Proof of Reserves)
- 关注交易所的负面消息和监管动态

场景二:稳定币脱锚

场景描述:你持有的某稳定币(如USDT、USDC、DAI)价格严重偏离1美元,有脱锚风险。

应急响应级别:高级(橙色)

响应时间:立即(2小时内完成所有操作)

操作步骤:
1. 【0-15分钟】确认信息
   - 确认是哪个稳定币脱锚,脱锚幅度多大
   - 确认脱锚原因(如储备金问题、银行倒闭、算法机制失效)
   - 评估脱锚是暂时的还是永久的(如USDC因硅谷银行倒闭脱锚是暂时的,UST因算法失效脱锚是永久的)

2. 【15-45分钟】资产转换
   - 如果判断是暂时脱锚(如USDC):可以不急于卖出,等回归。但要把该稳定币的占比降到总资金的20%以下
   - 如果判断是永久脱锚(如UST):立即全部卖出,换成BTC、ETH或其他可信稳定币。不要有"等反弹再卖"的想法,脱锚的稳定币可能归零
   - 卖出时优先用限价单,避免在流动性差时被滑点收割
   - 如果该稳定币在A交易所价格远低于B交易所,可以做跨所套利(在A买、提到B卖),但要注意提币风险

3. 【45-120分钟】策略调整
   - 检查所有策略中使用该稳定币作为保证金或计价的情况,及时更换为其他稳定币或BTC
   - 暂停依赖该稳定币的策略(如稳定币套利)
   - 把剩余稳定币分散到2-3种不同的稳定币,降低单一稳定币风险
   - 增加硬件钱包中的BTC/ETH占比

4. 【后续】持续跟进
   - 关注脱锚稳定币的后续发展
   - 如果是暂时脱锚,等价格回归1美元后,可以考虑恢复正常配置
   - 如果是永久脱锚,永久将该稳定币排除在资产配置之外
   - 复盘原因,更新稳定币选择标准和风控规则

预防措施:
- 稳定币分散持有,不把所有资金放在一种稳定币
- 优先选择有全额储备、定期审计、透明度高的稳定币(如USDC)
- 稳定币占总资金的比例不超过50%,其余配置BTC、ETH等
- 定期检查稳定币的储备金报告和审计报告

场景三:策略突然失效/连续亏损

场景描述:某个一直盈利的策略,突然连续亏损,回撤快速扩大,可能是策略逻辑失效或市场环境突变。

应急响应级别:中级(黄色)

响应时间:24小时内完成初步处理,1周内完成深度分析

操作步骤:
1. 【0-2小时】紧急止损
   - 立即暂停该策略的新开仓
   - 如果回撤已经超过15%,立即减仓50%
   - 如果回撤已经超过20%,立即全部平仓
   - 检查止损是否正常触发,有没有因为流动性问题导致的额外损失

2. 【2-24小时】初步分析
   - 分析亏损的原因:是市场环境变化(如从震荡市变成趋势市)?还是策略逻辑有问题?还是执行出错?还是数据错误?
   - 对比历史上类似市场环境下该策略的表现
   - 检查策略的参数是否需要调整
   - 评估该策略是暂时失效还是永久失效

3. 【1-7天】深度分析和决策
   - 如果判断是暂时失效(如市场环境暂时不适合,过段时间会恢复):可以保持策略暂停,等市场环境恢复后再重新启用
   - 如果判断是参数问题:调整参数,用历史数据回测验证,小资金测试后再恢复
   - 如果判断是策略逻辑永久失效(如市场结构变化,套利空间消失):彻底放弃该策略,把资金分配到其他有效策略
   - 把分析过程和结论写入策略复盘文档

4. 【后续】体系优化
   - 更新策略库,标记失效策略
   - 检查其他策略是否有类似的失效风险
   - 优化策略筛选和评估标准,提高新策略的质量
   - 如果是因为市场环境变化导致多个策略失效,考虑调整整个组合的配置

预防措施:
- 每个策略都有明确的失效条件和止损规则
- 定期(每月)评估每个策略的表现,发现异常及时处理
- 不依赖单一策略,同时运行5个以上不同类型的策略
- 策略上线前经过充分的回测和压力测试,包括各种极端市场环境

场景四:监管突然收紧/禁止交易

场景描述:你所在地区突然宣布禁止加密货币交易,或对加密货币交易施加严格限制,可能导致账户被冻结、资产无法提取。

应急响应级别:最高级(红色)

响应时间:立即(24小时内完成所有操作)

操作步骤:
1. 【0-2小时】确认信息
   - 通过官方渠道确认监管政策的具体内容(禁止什么、限制什么、什么时候生效)
   - 确认政策对你的具体影响(你是否在管辖范围内、你的交易活动是否受影响)
   - 咨询专业律师,了解法律风险和应对建议

2. 【2-12小时】资产保护
   - 立即把所有交易所的资产提到自己的硬件钱包(自己控制私钥,不受交易所和监管冻结的影响)
   - 如果有OTC交易渠道,可以考虑把部分加密货币换成现金或其他资产
   - 不要把资产留在交易所,防止交易所配合监管冻结账户
   - 检查你的银行账户是否有被冻结的风险,如果有,提前转移资金

3. 【12-24小时】策略调整
   - 立即停止所有在受监管交易所的交易活动
   - 如果可能,把交易活动转移到监管友好的地区或去中心化交易所(DEX)
   - 如果无法继续交易,把资产转换为BTC、ETH等长期持有,等监管环境明朗后再决定
   - 做好税务申报,避免因为税务问题增加法律风险

4. 【后续】长期应对
   - 持续关注监管动态,了解政策的执行情况和可能的变化
   - 考虑是否需要搬迁到监管友好的地区,或通过合规的方式继续交易
   - 如果决定退出市场,制定有序的退出计划,避免集中抛售导致的损失
   - 保留所有交易记录和资产证明,以备未来可能的法律或税务需要

预防措施:
- 关注你所在地区的监管动态,提前做好准备
- 大部分资产存放在自己的硬件钱包,不要长期存放在交易所
- 分散司法管辖区,在不同地区的交易所和银行都有账户
- 咨询专业律师,确保你的交易活动合法合规
- 保留充足的现金,应对可能的资产冻结

10.5.4 危机应急的组织和流程

除了具体场景的预案,你还需要建立危机应急的组织和流程,确保在危机发生时能高效运转。

应急响应级别

我把危机分为四个响应级别,不同级别有不同的响应流程:

级别 名称 颜色 影响程度 响应时间 决策人
L1 一般 蓝色 单个策略小问题,不影响整体 24小时内 策略负责人
L2 较大 黄色 多个策略受影响,或单策略较大亏损 4小时内 风控负责人
L3 重大 橙色 整体组合受影响,或市场系统性风险 1小时内 投资总监
L4 特别重大 红色 可能导致资产归零或法律风险 立即 创始人/CEO

应急响应流程

不管什么级别的危机,响应流程都遵循以下步骤:

  1. 发现和报告:任何人发现危机迹象,立即报告给相应级别的负责人。自动化系统发现异常时自动告警。
  2. 确认和评估:负责人在规定时间内确认危机真实性,评估影响程度和级别。
  3. 启动预案:根据危机类型和级别,启动相应的应急预案。
  4. 执行操作:按照预案的步骤,执行人快速执行操作。每完成一步,向决策人汇报。
  5. 持续监控:执行操作后,持续监控市场和账户状况,评估操作效果。如果情况恶化,升级响应级别。
  6. 危机解除:当危机得到控制,影响不再扩大,宣布危机解除。
  7. 复盘和总结:危机解除后3天内,召开复盘会议,分析危机原因、响应过程、操作效果,总结经验教训,更新预案和风控体系。

应急沟通机制

危机发生时,沟通非常重要。你需要建立清晰的沟通机制:

  • 内部沟通:团队内部用专门的应急沟通群(如Telegram群),所有相关人员在群内实时同步信息。重要决策和操作在群内确认。
  • 外部沟通:如果有投资者或客户,指定专人负责对外沟通,及时、透明地告知情况和应对措施,避免恐慌和谣言。
  • 信息来源:指定专人负责收集和验证外部信息,确保信息准确,避免被谣言误导。

10.5.5 危机预案的演练和持续改进

预案制定后,必须定期演练,否则真正的危机来临时,你可能还是会慌乱、出错。我自己的演练频率是:

  • 每月:桌面演练(Tabletop Exercise)。团队坐在一起,模拟一个危机场景,口头讨论每个人该做什么,检验预案的完整性和可理解性。每次30分钟。
  • 每季度:功能演练。模拟一个危机场景,实际执行预案中的部分操作(如暂停策略、转移资金,但用小资金或模拟盘),检验操作流程和系统响应。每次2小时。
  • 每年:全面演练。模拟一个重大黑天鹅场景(如交易所暴雷+稳定币脱锚同时发生),完整执行整个应急预案,包括所有操作和沟通。每次半天。

每次演练后,都要做复盘:

  • 预案中有没有遗漏的步骤?
  • 操作流程是否清晰、可执行?
  • 系统响应是否及时、准确?
  • 团队成员是否清楚自己的职责?
  • 沟通是否顺畅、高效?
  • 有没有什么地方可以改进?

根据复盘结果,更新预案和风控体系。

另外,当以下情况发生时,也要及时更新预案:

  • 你的策略或资金配置发生重大变化
  • 市场出现新的黑天鹅类型(如以前没遇到过的风险)
  • 演练中发现预案有问题
  • 监管环境发生重大变化
  • 团队成员发生变化

记住,预案不是一成不变的,它需要随着你的情况和市场的变化持续进化。只有持续演练和改进的预案,才能在真正的危机中保护你。

在壹信量化平台上,intoquant.com可以帮你搭建包含危机应急响应功能的自动化交易系统,比如交易所异常检测、稳定币脱锚检测、自动暂停策略、自动转移资金等功能。a-sig.com提供市场风险监控和预警服务,可以在黑天鹅事件早期就提醒你。如果你想系统化地做好危机应急,这些工具能给你很大的帮助。


量化专家笔记

笔记一:风控的最高境界是"不亏大钱",而不是"不亏钱"

很多人对风控有一个误解,以为风控就是要做到不亏钱,任何亏损都是风控失败。但实际上,风控的最高境界不是"不亏钱",而是"不亏大钱"。

为什么?因为投资本身就是有风险的,你想要收益就必须承担风险,亏损是不可避免的。一个完全不亏钱的策略,要么是不存在的,要么是收益极低(比如存银行)。在加密货币市场,你不可能做到不亏钱,你能做到的是:亏小钱,赚大钱,让盈利远远大于亏损

我自己的交易记录中,大约40%的交易是亏损的。但因为我严格控制每笔亏损的大小(单笔亏损不超过总资金的2%),而让盈利奔跑(盈利交易的平均收益是亏损交易的2-3倍),所以长期下来是稳定盈利的。

风控的核心不是消除亏损,而是控制亏损的大小和频率。具体来说:

  1. 单笔亏损不超过总资金的2%
  2. 单策略最大回撤不超过15%
  3. 组合最大回撤不超过10%
  4. 任何情况下,总亏损不超过你能承受的范围(比如20%)

只要把亏损控制在这些范围内,即使你有40%的交易是亏损的,长期下来也能盈利。相反,如果你不控制亏损,即使你有90%的交易是盈利的,一次大亏(比如亏50%)就可能让你前功尽弃。

我见过太多交易者,平时赚得不错,就是因为一次没有控制住的大亏,几年的利润全部回吐,甚至破产。他们的问题不是策略不好,而是没有理解"不亏大钱"这个风控的核心。

所以,不要追求每笔交易都赚钱,不要因为一次正常的亏损就怀疑自己的策略或风控。接受亏损是交易的一部分,把精力放在控制亏损的大小上,而不是消除亏损上。只要你能做到"不亏大钱",时间会给你丰厚的回报。

笔记二:在加密货币市场,"无风险套利"是最大的风险

这是我用真金白银换来的教训。在加密货币市场,任何声称"无风险"的套利,都隐藏着你没有识别到的风险,而这种未被识别的风险往往是最致命的。

2022年LUNA暴雷时,那个爆仓的量化团队就是典型。他们以为UST的锚定是无风险的,0.9美元买入等回到1美元就能稳赚11%。结果锚定机制本身失效了,UST从0.9跌到0.01,他们加了杠杆的仓位全部爆仓。

类似的例子还有很多:

  • 期现套利:以为基差一定会收敛,结果极端行情下期现基差扩大到30%,爆仓
  • 资金费率套利:以为费率一定会回归,结果费率连续一个月为负,亏掉所有利润
  • 跨所套利:以为价差一定会收敛,结果某交易所暴雷,价格永远不收敛
  • 稳定币套利:以为稳定币一定等于1美元,结果稳定币脱锚归零

这些"无风险套利"的共同特点是:它们的"无风险"建立在某个假设之上,而这个假设在极端情况下可能不成立。比如:

  • 期现套利假设期货和现货价格最终会收敛(但极端行情下可能不收敛)
  • 稳定币套利假设稳定币能锚定1美元(但稳定币可能脱锚)
  • 跨所套利假设两个交易所都能正常提现和交易(但交易所可能暴雷)

在正常市场环境下,这些假设99%的时间都是成立的,所以这些策略看起来确实"无风险"。但那1%的极端情况,一旦发生,就是毁灭性的。而在加密货币市场,极端情况的发生频率远高于传统金融——平均每年都会有1-2次重大黑天鹅。

所以,我的原则是:永远不要相信"无风险套利",永远要问自己:这个策略的假设是什么?在什么情况下这个假设会失效?如果失效了,我会亏多少?我能承受吗?

在评估任何套利策略时,我都会做一个"极端情况压力测试":假设这个策略的核心假设失效,最大亏损是多少?如果最大亏损超过总资金的5%,我就不会用这个策略,或者会把仓位降到最大亏损可控的范围内。

记住,在加密货币市场,活得久比赚得多重要。而活得久的关键,就是永远不要低估风险,永远不要相信"无风险"。

笔记三:仓位控制是风控的核心,比止损更重要

很多人做风控,最看重的是止损——设置一个止损价,亏到就卖。但我认为,仓位控制比止损更重要。止损是事后补救,而仓位控制是事前预防。好的仓位控制,能让你即使不止损也不会亏太多;而不好的仓位控制,即使有止损也可能亏大钱(比如跳空、流动性枯竭时止损无法触发或成交价格极差)。

仓位控制的核心逻辑是:根据策略的风险程度,调整投入的资金比例,让任何单一策略的最大亏损都在你能承受的范围内

我自己的仓位控制方法:

  1. 按策略风险等级分配仓位

    • 低风险策略(期现套利、跨所套利):单策略仓位20%-30%
    • 中风险策略(配对套利、网格套利):单策略仓位10%-20%
    • 高风险策略(事件套利、方向性交易):单策略仓位5%-10%
  2. 按最大回撤反推仓位
    每个策略上线前,通过回测和压力测试,估算它的最大可能回撤(历史最大回撤×2)。然后用你能接受的单策略最大亏损(比如总资金的3%)除以最大可能回撤,得到该策略的最大仓位。
    比如某策略的最大可能回撤是30%,你能接受的单策略最大亏损是总资金的3%,那么该策略的最大仓位 = 3% / 30% = 10%。

  3. 总仓位控制
    所有策略的总仓位不超过总资金的80%,保留至少20%的现金作为安全垫和机动资金。整体杠杆不超过2倍。

  4. 动态调整
    根据市场环境动态调整仓位。市场波动率高时(如BTC 30日波动率>80%),整体仓位降低20%-30%;市场波动率低时,可以适当增加仓位。某个策略连续盈利、表现好时,可以适当增加仓位;连续亏损、表现差时,及时降低仓位。

这种仓位控制方法的好处是:

  • 即使某个策略完全失败(亏100%),对你的总资金影响也不超过5%-10%
  • 即使止损在极端行情下失效,你的亏损也可控
  • 保留了充足的现金,在市场出现机会时能灵活应对

我见过太多人,因为仓位控制不好,一个策略就放了50%以上的资金,结果那个策略出问题,总资金亏了30%以上。他们有止损,但因为仓位太重,止损时的亏损已经很大了。

所以,把仓位控制放在风控的第一位。先想好"我最多愿意在这个策略上亏多少钱",再决定投多少钱。而不是先投钱,再想亏了怎么办。

笔记四:风控不是一个人的事,要制度化、流程化、系统化

如果你是个人交易者,风控可能就是你一个人的事。但当你的资金量达到一定规模(比如超过100万U),或者你有一个团队时,风控就不能只靠某个人的"感觉"或"自觉"了,必须制度化、流程化、系统化。

为什么?因为人是不可靠的——人会有情绪、会犯错、会偷懒、会被利益诱惑。只有制度、流程和系统,才能稳定、持续、不受情绪影响地执行风控。

我自己的团队在风控方面有以下制度:

制度一:风控独立于交易

我们有专门的风控岗位,风控人员不参与交易决策,只负责监控风险和执行风控规则。这样可以避免交易员因为想赚钱而忽视风险,或者因为自己的仓位而不愿意止损。风控人员有"一票否决权"——如果他们认为某个交易或策略风险过大,可以直接否决,不需要交易员同意。

制度二:事前审批制度

任何新策略上线、任何参数调整、任何超过总资金5%的交易,都必须经过事前审批。审批流程:交易员提交申请(包括策略逻辑、回测报告、风险评估、仓位建议)→ 风控人员审核风险 → 投资总监最终决策。没有经过审批的策略或交易,系统无法执行。

制度三:双人复核制度

重要操作(如大额转账、参数调整、强制平仓)必须由两个人复核:一个人操作,另一个人检查确认(包括金额、地址、参数等),确认无误后才能执行。这样可以避免因为一个人的疏忽导致的操作失误。

制度四:定期风控审计

每月做一次风控审计,检查:

  • 风控规则是否被严格执行
  • 有没有绕过风控的操作
  • 风控指标和阈值是否合理
  • 有没有新的风险点需要纳入
  • 风控系统是否正常运行

审计报告提交给管理层,发现问题立即整改。

制度五:应急响应制度

如10.5节所述,制定详细的危机应急预案,明确各级别危机的响应流程、决策人、执行人。每季度演练一次,确保在真正的危机中能快速响应。

除了制度,我们还有系统化的工具来保障风控执行:

  • 自动化风控系统(如10.4节所述),7×24小时监控风险,自动执行风控操作
  • 交易系统内置风控检查,下单前自动检查仓位、止损、权限等,不符合规则的订单无法提交
  • 所有操作都有日志,可追溯、可审计

这些制度和系统,确保了风控不是"嘴上说说",而是真正落实到每一个环节。我见过很多团队,策略很厉害,但因为没有制度化的风控,一次人为失误或一次黑天鹅就崩盘了。在加密货币市场,这样的例子比比皆是。

所以,如果你想长期、稳定地在这个市场赚钱,一定要把风控制度化、流程化、系统化。不要依赖人的自觉,要依赖制度和系统。只有这样,你的交易事业才能经得起时间和黑天鹅的考验。

笔记五:定期压力测试,让你的风控体系在极端行情中接受检验

风控体系不是搭建好了就万事大吉了,你需要定期测试它,特别是在极端行情下的表现。因为正常行情下,风控体系看起来都没问题;只有在极端行情下,风控体系的漏洞才会暴露出来。而极端行情恰恰是你最需要风控保护的时候。

我自己的压力测试分为两种:

第一种:历史回测压力测试

用历史上的极端行情数据,测试你的策略组合和风控体系在当时的表现。我常用的极端行情样本包括:

  • 2020年3月12日(312暴跌,BTC单日跌50%)
  • 2021年5月19日(519暴跌,BTC单日跌30%)
  • 2022年5月(LUNA暴雷,BTC一周跌35%,很多山寨币跌80%以上)
  • 2022年11月(FTX暴雷,BTC一周跌25%,FTT跌90%)
  • 2023年3月(硅谷银行倒闭,USDC脱锚,BTC波动加剧)
  • 2023年8月(某交易所被SEC起诉,平台币暴跌50%)

测试方法:把你的策略组合放到这些历史时间段中运行,看:

  • 最大回撤是多少?是否在你能承受的范围内?
  • 风控规则是否正确触发?触发是否及时?
  • 止损是否有效?有没有因为跳空或流动性问题导致的额外损失?
  • 策略之间的相关性在极端行情下是否发生变化(比如平时不相关的策略在暴跌时同时亏损)?
  • 资金是否充足?有没有因为保证金不足导致的强平?
  • 整个组合在极端行情结束后,需要多久才能恢复?

如果测试发现最大回撤超过你的承受范围,或者风控规则没有正确触发,你就需要调整策略配置、仓位或风控规则,直到在所有历史极端行情下的表现都可接受。

第二种:情景模拟压力测试

历史不会简单重复,未来的黑天鹅可能跟历史上的都不一样。所以除了历史回测,你还需要设计一些未来可能发生的极端情景,测试你的风控体系。

我常用的情景模拟包括:

  • BTC单日跌50%(比312还惨)
  • 最大的交易所暴雷,你在该交易所的资金全部损失
  • 最大的稳定币脱锚归零
  • 你所在地区突然禁止加密货币交易,账户被冻结
  • 你的交易系统被黑客入侵,API密钥被盗
  • 多个黑天鹅同时发生(如交易所暴雷+稳定币脱锚+BTC暴跌)

对于每个情景,我会问:

  • 这种情况发生的概率有多大?(虽然低,但不是零)
  • 如果发生,我的最大损失是多少?
  • 我的风控体系能应对吗?有没有应急预案?
  • 我能承受这个损失吗?如果不能,怎么降低风险?

比如,情景"最大的交易所暴雷",如果我在该交易所有40%的资金,那最大损失就是40%,这是我不能承受的。所以我会把单交易所资金占比降到30%以下,并且50%以上的资产存放在硬件钱包。这样即使最大的交易所暴雷,我的最大损失也不超过15%,可以承受。

压力测试的频率

  • 历史回测压力测试:每季度做一次,或者当策略组合有重大调整时做
  • 情景模拟压力测试:每半年做一次,或者当市场出现新的风险类型时做
  • 全面压力测试(历史+情景):每年做一次,作为年度风控审计的一部分

每次压力测试后,都要写测试报告,包括测试结果、发现的问题、改进措施。然后根据改进措施调整你的策略、仓位、风控规则和应急预案。

记住,风控体系的价值不在于它在正常行情下看起来多完美,而在于它在极端行情下能不能保护你。定期压力测试,就是在和平时期模拟战争,确保真正的战争来临时,你能活下来。

在壹信量化平台上,a-sig.com提供历史极端行情数据库和压力测试工具,可以帮你快速测试策略组合在各种极端行情下的表现。intoquant.com可以帮你搭建包含压力测试功能的风控系统,定期自动运行压力测试并生成报告。如果你想认真做好压力测试,这些工具能大大提高你的效率。

⚠️ 风险提示:本书内容仅为量化研究与知识分享,不构成任何投资建议。套利交易存在基差、费率、流动性、平台与极端行情等风险,历史表现不代表未来收益。投资有风险,入市需谨慎,请自主决策、量力而行。

💡 键盘 ←/→ 翻章 · T 键切换目录