第23章 做市策略中的模型校准:参数校准频率、方法选择、误差分析与稳定性检验
模型校准这事儿,说白了就是让理论模型跟市场真实数据对上话。我刚开始做结构化产品做市那会儿,总觉得模型跑出来就完事了,结果被市场狠狠教育了一顿——模型参数不对,报价全偏,亏得我肉疼。
今天咱们就聊聊模型校准的几个核心问题:多久校一次?用什么方法校?校完了怎么知道准不准?以及模型会不会突然抽风?
一、校准频率:不是越勤越好
校准频率这个问题,我见过两种极端。有人一天校一次,有人一个月都不动一次。都不对。
我个人习惯是这样分的:
- 波动率参数:每天开盘前校准一次。如果市场剧烈波动,盘中加一次。
- 相关性参数:每周校准一次。这东西变化慢,天天校反而引入噪声。
- 均值回复参数:每月校准一次。这是长期特征,别被短期波动带偏了。
- 利率/股息参数:跟着市场数据走,有重大事件时手动更新。
核心原则:校准频率 = 参数敏感度 × 市场变化速度
敏感度高的参数,频率要高;市场变化快的时候,频率也要高。
我在项目中遇到过一件事:有一次做雪球产品的做市,波动率参数我按惯例每天校一次。结果那天下午市场突然暴跌,波动率飙升,我的报价还用的早上的参数,直接被套利者打爆了。从那以后,我加了个盘中校准的触发器——当标的资产价格波动超过2%时,自动触发一次校准。
二、校准方法选择:各有各的坑
校准方法说白了就三大类:最小二乘法、最大似然估计、贝叶斯方法。每种我都用过,说说我的感受。
| 方法 | 适用场景 | 我踩过的坑 |
|---|---|---|
| 最小二乘法(OLS) | 线性模型、参数少的情况 | 对异常值敏感,有一次一个数据点异常,整个参数全偏了 |
| 最大似然估计(MLE) | 随机波动率模型、跳跃扩散模型 | 计算量大,收敛慢,有时候迭代几百次都不动 |
| 贝叶斯方法 | 数据少、需要先验信息的情况 | 先验分布选不好,结果比不校还差 |
我个人推荐的做法:
- 日常做市用最小二乘法,快,够用
- 新产品上线或市场结构变化时,用MLE做一次深度校准
- 如果数据量少(比如刚上市的产品),用贝叶斯方法加先验信息
一个小技巧:我习惯同时跑两种方法做交叉验证。如果OLS和MLE的结果差太多,说明数据有问题或者模型不合适,这时候别急着用,先查数据。
三、校准误差分析:别只看拟合优度
很多人校完模型就看个R²,觉得0.99就万事大吉了。嗯,这里要注意——R²高不代表你做市能赚钱。
我一般看这几个误差指标:
- 样本内误差 vs 样本外误差:样本内拟合得再好,样本外一塌糊涂,那就是过拟合了。我要求样本外误差不超过样本内的1.5倍。
- 尾部误差:做市最怕的是极端行情。我专门看95%分位数以上的误差,这部分误差如果太大,说明模型在极端情况下不靠谱。
- 误差的自相关性:如果误差有明显的自相关,说明模型漏掉了某些结构特征。我习惯画个误差的ACF图看看。
- 经济意义检验:参数值是否合理?比如波动率不能是负的,相关性不能大于1。我见过有人校出波动率200%的参数,一看就是数据有问题。
我曾经犯过的错:有一次校准Heston模型的参数,样本内R²高达0.995,我特别满意。结果实盘跑了一周,亏了50万。后来一查,是因为参数虽然拟合得好,但隐含的波动率曲面形状跟市场实际交易的不一致,导致报价系统性偏离。
从那以后,我加了一条铁律:校准完必须做一次市场一致性检验,看看模型价格跟市场实际成交价差多少。
四、模型稳定性检验:别让模型突然抽风
模型稳定性,说白了就是参数别今天一个样明天一个样。如果参数每天跳来跳去,你的报价也会跟着跳,交易员根本没法用。
我常用的稳定性检验方法:
- 滚动窗口检验:用过去30天的数据,每天滚动校准一次,看参数的时间序列。如果参数的标准差超过均值的20%,说明不稳定。
- 扰动分析:给输入数据加1%的噪声,看参数变化多少。如果参数变化超过10%,说明模型对数据太敏感。
- 子样本检验:把数据分成两半,分别校准,看参数是否一致。如果差异很大,说明模型结构可能有问题。
我的经验阈值:
波动率参数:日间变化不超过5%
相关性参数:周间变化不超过10%
均值回复参数:月间变化不超过15%
超过这个范围,我会暂停使用该模型,手动排查原因。
五、校准流程框架图
下面这张图是我做模型校准的标准流程,你可以参考一下:
这个流程我用了好几年,基本没出过大问题。核心就是:数据要干净,方法要匹配,误差要分析,稳定性要检验。少一步都不行。
六、实战中的几个坑
最后分享几个我踩过的坑,你们注意避开:
- 坑一:数据频率不匹配——用日线数据校出来的参数,用在分钟级别的做市上,结果一塌糊涂。校准数据的频率要跟实际交易频率匹配。
- 坑二:忽略交易成本——模型校得再好,如果没考虑交易成本,实盘照样亏。我习惯在校准目标函数里加一个交易成本惩罚项。
- 坑三:过度优化——参数校得太精细,结果市场一变就失效。我给自己定了个规矩:参数的有效位数不超过3位,多了就是过度拟合。
- 坑四:忘记重新校准——模型上线后就不管了。我设了个自动提醒,每天开盘前检查一次校准状态。
最后说一句:模型校准不是一劳永逸的事。市场在变,产品在变,你的校准策略也得跟着变。我每年都会复盘一次校准流程,看看有没有需要优化的地方。
做市这行,细节决定成败。校准做得好,你就能比别人多赚几个bp。别小看这几个bp,一年下来就是几百万的差距。