请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
周一晚上十点,乐乐已经睡了,苏婉在客厅看电视。林晨坐在书房里,面前是两台显示器——左边是投资系统的代码编辑器,右边是实时行情面板。
他正在写一段新的风控模块代码。
资金从130万追加到150万,这个数字听起来只是多了20万,但在量化系统的世界里,规模每上一个台阶,风险管理的复杂度就呈指数级增长。100万的时候,5%的回撤是5万,还能扛;150万的时候,5%的回撤是7.5万,心理压力已经不一样了。
他在代码编辑器里写下了新的风控模块名称:DynaicRiskManager。
这个模块的设计思路来自他在T厂学到的监控告警体系。在T厂,监控系统不是等出了问题才报警,而是通过实时指标检测异常趋势,在问题发生之前就发出预警。他要把这个思路用到投资系统上。
DynaicRiskManager的核心逻辑是三个层次:
第一层:单策略止损。
每个子策略都有独立的止损线。A股子策略止损线5%,期货子策略止损线7%,期权子策略止损线5%,可转债子策略止损线4%,海外ETF子策略止损线6%。任何一个子策略触及止损线,系统自动平仓该策略的所有持仓,将资金转回现金池。
这不是新东西——之前的系统就有单策略止损。但这次他把止损触发的响应时间从缩短到了。以前是每天收盘后检查一次,现在是盘中实时监控,一旦触及止损线,立刻执行平仓,不等到收盘。
日内止损和实时止损的区别,就是看你会不会因为犹豫而错过止损窗口。他在代码注释里写下了这句话。
第二层:组合风控。
这是新增的逻辑。之前的系统只有单策略止损,没有组合级别的风控。但150万的规模下,单策略止损不够——如果多个策略同时回撤,即使每个策略都在止损线以内,组合整体的回撤也可能超过预期。
他设计了一个组合回撤阈值:8%。如果总资产从最高点回撤超过8%,系统自动将所有策略的仓位减半。如果回撤超过12%,系统自动清仓止损。
8%的回撤对应150万的12万,12%的回撤对应18万。这两个数字写进代码,变成铁律,不给人性留任何商量余地。
第三层:动态仓位调整。
这是整个模块最复杂的部分。
他参考了T厂监控系统的异常趋势检测思路,设计了一个基于市场波动率的动态仓位调节器。具体逻辑是:
计算过去20个交易日的市场波动率(用沪深300指数的已实现波动率作为代理变量)。
如果波动率低于历史中位数(意味着市场平稳),仓位可以维持在目标仓位的100%。
如果波动率超过历史中位数但低于75分位数(意味着市场开始波动),仓位自动降至目标仓位的80%。
如果波动率超过75分位数(意味着市场剧烈波动),仓位自动降至目标仓位的60%。
如果波动率超过90分位数(意味着极端行情),仓位自动降至目标仓位的40%。