第23章 做市策略中的模型校准:参数校准频率、方法选择、误差分析与稳定性检验

模型校准这事儿,说白了就是让理论模型跟市场真实数据对上话。我刚开始做结构化产品做市那会儿,总觉得模型跑出来就完事了,结果被市场狠狠教育了一顿——模型参数不对,报价全偏,亏得我肉疼。

今天咱们就聊聊模型校准的几个核心问题:多久校一次?用什么方法校?校完了怎么知道准不准?以及模型会不会突然抽风?

一、校准频率:不是越勤越好

校准频率这个问题,我见过两种极端。有人一天校一次,有人一个月都不动一次。都不对。

我个人习惯是这样分的:

  • 波动率参数:每天开盘前校准一次。如果市场剧烈波动,盘中加一次。
  • 相关性参数:每周校准一次。这东西变化慢,天天校反而引入噪声。
  • 均值回复参数:每月校准一次。这是长期特征,别被短期波动带偏了。
  • 利率/股息参数:跟着市场数据走,有重大事件时手动更新。

核心原则:校准频率 = 参数敏感度 × 市场变化速度

敏感度高的参数,频率要高;市场变化快的时候,频率也要高。

我在项目中遇到过一件事:有一次做雪球产品的做市,波动率参数我按惯例每天校一次。结果那天下午市场突然暴跌,波动率飙升,我的报价还用的早上的参数,直接被套利者打爆了。从那以后,我加了个盘中校准的触发器——当标的资产价格波动超过2%时,自动触发一次校准。

二、校准方法选择:各有各的坑

校准方法说白了就三大类:最小二乘法、最大似然估计、贝叶斯方法。每种我都用过,说说我的感受。

方法 适用场景 我踩过的坑
最小二乘法(OLS) 线性模型、参数少的情况 对异常值敏感,有一次一个数据点异常,整个参数全偏了
最大似然估计(MLE) 随机波动率模型、跳跃扩散模型 计算量大,收敛慢,有时候迭代几百次都不动
贝叶斯方法 数据少、需要先验信息的情况 先验分布选不好,结果比不校还差

我个人推荐的做法:

  • 日常做市用最小二乘法,快,够用
  • 新产品上线或市场结构变化时,用MLE做一次深度校准
  • 如果数据量少(比如刚上市的产品),用贝叶斯方法加先验信息

一个小技巧:我习惯同时跑两种方法做交叉验证。如果OLS和MLE的结果差太多,说明数据有问题或者模型不合适,这时候别急着用,先查数据。

三、校准误差分析:别只看拟合优度

很多人校完模型就看个R²,觉得0.99就万事大吉了。嗯,这里要注意——R²高不代表你做市能赚钱。

我一般看这几个误差指标:

  1. 样本内误差 vs 样本外误差:样本内拟合得再好,样本外一塌糊涂,那就是过拟合了。我要求样本外误差不超过样本内的1.5倍。
  2. 尾部误差:做市最怕的是极端行情。我专门看95%分位数以上的误差,这部分误差如果太大,说明模型在极端情况下不靠谱。
  3. 误差的自相关性:如果误差有明显的自相关,说明模型漏掉了某些结构特征。我习惯画个误差的ACF图看看。
  4. 经济意义检验:参数值是否合理?比如波动率不能是负的,相关性不能大于1。我见过有人校出波动率200%的参数,一看就是数据有问题。

我曾经犯过的错:有一次校准Heston模型的参数,样本内R²高达0.995,我特别满意。结果实盘跑了一周,亏了50万。后来一查,是因为参数虽然拟合得好,但隐含的波动率曲面形状跟市场实际交易的不一致,导致报价系统性偏离。

从那以后,我加了一条铁律:校准完必须做一次市场一致性检验,看看模型价格跟市场实际成交价差多少。

四、模型稳定性检验:别让模型突然抽风

模型稳定性,说白了就是参数别今天一个样明天一个样。如果参数每天跳来跳去,你的报价也会跟着跳,交易员根本没法用。

我常用的稳定性检验方法:

  • 滚动窗口检验:用过去30天的数据,每天滚动校准一次,看参数的时间序列。如果参数的标准差超过均值的20%,说明不稳定。
  • 扰动分析:给输入数据加1%的噪声,看参数变化多少。如果参数变化超过10%,说明模型对数据太敏感。
  • 子样本检验:把数据分成两半,分别校准,看参数是否一致。如果差异很大,说明模型结构可能有问题。

我的经验阈值

波动率参数:日间变化不超过5%

相关性参数:周间变化不超过10%

均值回复参数:月间变化不超过15%

超过这个范围,我会暂停使用该模型,手动排查原因。

五、校准流程框架图

下面这张图是我做模型校准的标准流程,你可以参考一下:

模型校准标准流程 步骤1:数据准备 步骤2:方法选择 OLS MLE/贝叶斯 步骤3:参数校准 步骤4:误差分析 步骤5:稳定性检验 通过 ✓ 投入使用 不通过,返回调整

这个流程我用了好几年,基本没出过大问题。核心就是:数据要干净,方法要匹配,误差要分析,稳定性要检验。少一步都不行。

六、实战中的几个坑

最后分享几个我踩过的坑,你们注意避开:

  • 坑一:数据频率不匹配——用日线数据校出来的参数,用在分钟级别的做市上,结果一塌糊涂。校准数据的频率要跟实际交易频率匹配。
  • 坑二:忽略交易成本——模型校得再好,如果没考虑交易成本,实盘照样亏。我习惯在校准目标函数里加一个交易成本惩罚项。
  • 坑三:过度优化——参数校得太精细,结果市场一变就失效。我给自己定了个规矩:参数的有效位数不超过3位,多了就是过度拟合。
  • 坑四:忘记重新校准——模型上线后就不管了。我设了个自动提醒,每天开盘前检查一次校准状态。

最后说一句:模型校准不是一劳永逸的事。市场在变,产品在变,你的校准策略也得跟着变。我每年都会复盘一次校准流程,看看有没有需要优化的地方。

做市这行,细节决定成败。校准做得好,你就能比别人多赚几个bp。别小看这几个bp,一年下来就是几百万的差距。

无相订单流研究社 微信Lucian808555