摘要
本文报告一组对可转债模型定价偏差的检验结果。定价引擎以 Crank–Nicolson 有限差分格式求解可转债 PDE,输出理论价与市价的偏差,并据此构造用于横截面排序的"机会分"。检验发现:其一,机会分的横截面 Rank-IC 在全市场池上不显著为正,月频样本(3,727 观测)中低估度的 IC 为 −0.117($t$ = −3.75),2025 年季频样本为 −0.26,五分位组合不单调;其二,对信用利差与下修博弈强度两个自由参数的网格扫描对 IC 无实质影响;其三,同一模型输出的横截面中位数构成的时序序列,与中证转债指数下一季收益的 Spearman 相关为 −0.522(17 季)。据此,机会分被降级为复核标记,不参与排序与仓位;聚合中位偏差则被开发为大类择时输入,并进入预注册的样本外观察期。本文同时记录一处记账口径误设——扣减无风险利率而现金按零计息——该误设曾使一个通过预承诺门槛的结论被误判为失败。
1. 研究问题
可转债的模型定价偏差有两种可能的用法。一是横截面用法:在同一时点比较不同个券的偏差,用于选券。二是时序用法:将全市场偏差聚合为单一指标,用于判断市场整体的估值水位。
两种用法对模型的要求不同。前者要求模型误差在个券之间基本独立,从而偏差的排序反映真实的相对便宜程度;后者只要求模型误差的共同分量随时间变化,个券噪声在聚合中被平均。二者可以一个成立而另一个不成立。
本文分别检验这两种用法。工具为 CBLens。
2. 数据与方法
2.1 样本与口径
检验全部采用 point-in-time 口径:Wind 高保真数据源,信号日后首个可得收盘进场,下一调仓日后首个可得收盘出场(前视窗口 12–14 天),退市债按退市前最后收盘强制平仓,current_fallback_ratio = 0。
横截面检验的样本池为全市场定价池(每期约 200–520 只),而非模型筛选后的候选子集。使用候选子集将使检验对象由"模型的排序能力"变为"候选集内部的排序能力",二者不等价。
2.2 检验方法
- 横截面:Rank-IC、分位组合收益、截面 z-score,实现于
convertible_bond/signal_eval.py。 - 时序:全市场偏差的横截面中位数按季度记录,基线序列
data/cb_valuation_history.json。 - 组合层:三层回测架构(过滤 / 持仓模式 / 资金模式),换手与成本基于实际持仓代码。
3. 横截面结果
3.1 Rank-IC
表 1 机会分与低估度的横截面 Rank-IC
| 样本 | 观测数 | Rank-IC | 年度分解 |
|---|---|---|---|
| 2025–26 月频 × 12 截面 | 3,727 | score −0.045;低估度 −0.117($t$ = −3.75) | — |
| 2022–26 季频 × 17 截面 | 3,234 | 低估度 −0.071($t$ = −1.64) | 2022 +0.00;2023 +0.04;2024 −0.07;2025 −0.26 |
月频样本的低估度 IC 为 −0.117,$t$ = −3.75。该值不仅不显著为正,且符号为负,即模型判定为低估的个券在后续区间内相对跑输。季频样本的方向一致但幅度较小,年度分解显示负值主要来自 2025 年(−0.26,该年无一季度为正)。
按机会分构造五分位组合,各分位收益不单调,Q5 − Q1 约为 0。
一项需要单独说明的稳健性问题:偏差指标呈现的微弱正 IC 几乎全部来自强制赎回与退市前的价格收敛尾部;剔除退市债后该正值转负。即该部分预测力来源于"确定回归面值"的机制,而非个券相对定价的识别。
3.2 参数敏感性
信用利差 base_spread 与下修博弈年化强度 p_down 是模型中两个先验设定的自由参数。对二者的网格扫描显示,其取值对 Rank-IC 与中位偏差均无实质影响。
该结果在事后是可预期的:这两个参数对全市场个券的定价影响近似同向平移,而平移不改变排序。以不改变排序的参数修正排序问题,在构造上即不可行。
3.3 一处已修正的样本偏差
2022–24 季频截面的早期版本因历史价格分批拉取,样本中仅包含后来退市的个券,构成一种反向的幸存者偏差。补全 718 只个券的全程历史后复核,方向性结论不变。该问题由数据装载路径而非检验逻辑引入,属于此类检验中较难自查的一类。
3.4 处理
基于上述结果,机会分的定位由排序信号降级为复核标记:用于提示人工检视,不参与权重分配、不作为买入排名、不作为交易信号。批量筛选界面的副标题相应标注"非收益预测"。
4. 时序结果
4.1 中位偏差的时变特征
图 1 为 2022 年年中至 2026 年的季度序列,全期 7,533 个观测。

图 1 全市场理论价相对市价的中位偏差(阴影为 p25–p75 区间)
表 2 中位偏差的年度分布
| 年份 | 中位偏差 | 判高估占比 |
|---|---|---|
| 2022 | +13.5% | 90% |
| 2023 | +17.4% | 93% |
| 2024 | +6.8%(09-30 为 +0.4%) | 74% |
| 2025 | +14.5% | 88% |
| 2026 (H1) | +18.7% | 90% |
全期中位数 +13.0%,取值区间 [+0.4%, +21.6%],序列从不深度转负。
该恒正偏差最初被视为模型校准问题。但将 base_spread 设为 0 且 p_down 提高至 0.6 后,中位偏差仍为 +19%,说明其不是可通过参数消除的偏置。静态校准在此方向上无效。
4.2 与后续市场表现的关系
表 3 中位偏差与中证转债指数下一季收益(17 季)
| 检验 | 结果 |
|---|---|
| Spearman 相关 | −0.522 |
| Pearson 相关 | −0.503 |
| 便宜组下季收益均值 | +2.80% |
| 贵组下季收益均值 | +0.01% |
| 组间价差 | +2.79% / 季 |
分组按中位偏差的中位数划分。序列两端的极值可作为直观参照:2024-09-30 中位偏差 +0.4%(全期最低),其后一季指数 +5.6%;2025-12-31 中位偏差 +21.6%(全期最高),其后一季 −1.1%。
4.3 择时叠加的预承诺检验
为避免映射参数的事后调整,仓位映射与判定门槛在计算结果之前固定:
$$\mathrm{gross} = \mathrm{clip}\left(1 - 2.5 \cdot \max(0,\ \mathrm{medDev}),\ 0.5,\ 1.0\right)$$
锚点为中位偏差 0% 对应满仓、+20% 对应半仓;调仓成本 20bps × |Δgross|;对照组为同一组合的满仓基线。判定门槛为:(a) Sharpe 上升且最大回撤下降且 Calmar 上升;(b) 2024-09 谷底季的 gross ≥ 0.9。
表 4 择时叠加与满仓基线对比(季频,4 年)
| 指标 | 满仓基线 | 叠加择时缩放 |
|---|---|---|
| 总收益 | +21.8% | +17.4% |
| 年化波动 | 8.5% | 5.8% |
| Sharpe | 0.59 | 0.70 |
| 最大回撤 | 12.4% | 7.7% |
| Calmar | 0.41 | 0.53 |
| 谷底季 gross | — | 0.99 |
两项门槛均通过。需要注意代价项:四年内让出 4.4 个百分点的绝对收益。该叠加的性质为风险预算工具,即以收益换取回撤,而非收益增强。
月频复核(统一现金计息口径,4 年三臂对照)方向一致:叠加臂 Sharpe 0.67、最大回撤 10.4%、Calmar 0.94,对照的满仓臂分别为 0.59、20.1%、0.58。叠加在月频下的改善幅度更大,与"调仓频率越高越体现节流"的机制预期一致。
5. 讨论
第 3 节与第 4 节的结论并不冲突,因为二者检验的对象不同。
横截面 IC 检验的是模型能否在同一时点区分个券的相对便宜程度。本样本中该能力不成立:单券偏差中,流动性、条款细节、正股 beta、评级差异与下修博弈的主观概率等成分共同构成噪声,其量级压过模型可捕捉的定价成分。
时序聚合检验的是全市场偏差的共同分量是否携带信息。本样本中该信息存在:数百只个券的特异性噪声在取中位数时被大幅削减,剩余的共同波动对应市场对转债期权价值所要求的溢价水平。
即同一组模型输出,在个券维度信噪比不足以支持排序,在市场维度则足以支持水位判断。这一区分具有一般性:信号在某一聚合层级失效,不构成该信号在其他层级同样失效的证据;反之亦然。
6. 研究设计约束
17 个季度、单一市场、约一个完整估值周期的样本,足以支持多种事后叙述。以下三项约束用于限制研究者自由度。
默认变更的判定规则。 任何默认行为的变更需同时满足:(a) 存在机制解释而非仅有回测数值;(b) 跨至少两个 regime;(c) 对调仓频率稳健(月频与季频同向)。该规则的直接起因是一次错误:曾基于单一牛市区间的证据将界面默认持仓模式改为 pool,四年复测后回退。17 个季度的 Sharpe 差异不足以达到该门槛。
预注册的样本外复评。 复评时点固定为 2026-09-30 与 2026-12-31,成功标准在数据可得之前写定,不得事后修改:(a) 择时信号——追加新季度后重算相关系数,维持负号视为存活,连续两季翻正则降级该信号并撤销界面上的择时表述;(b) 择时叠加——按预承诺映射计算应有 gross,不允许修改映射参数,连续四季纸面落后同组合满仓基线的风险调整指标则放弃;(c) 横截面——追加新季度的 Rank-IC,仅当连续三季以上稳健高于 +0.05 时才重新讨论机会分参与排序的可能。
结论与代码的绑定。 上述内容记录于仓库 docs/research/ 下,由版本控制提供时间戳。
7. 一处记账口径误设
择时叠加从离线原型迁移至引擎后复测,结果与原型不一致:Sharpe 由 0.59 → 0.68 变为 0.40 → 0.40,门槛判定为失败。
原因是引擎在计算 Sharpe 时按无风险利率 2.2% 扣减,但持有现金按零计息。该组合系统性低估一切持有现金的配置:择时缩放平均持有 33% 现金,top_score + reserve_cash 平均持有 39% 现金,两者均受此影响。
表 5 三种口径下的判定结果
| 口径 | 基线 Sharpe | 叠加 Sharpe | 叠加 MDD | 门槛 (a) |
|---|---|---|---|---|
| 预承诺口径(rf = 0) | 0.59 | 0.68 | 6.8% | 通过 |
| 旧引擎口径(rf = 2.2%,现金零计息) | 0.40 | 0.40 | 6.8% | 不通过 |
| 现金按 rf 计息(经济一致) | 0.40 | 0.49 | 5.3% | 通过 |
修正后(新增 cash_yield_rate 配置,区间记账与日频曲线同口径计息,基准同步按同口径计入成员变动换手成本)结论恢复。
该案例的意义在于:当结论随口径变化时,先验上无法判断问题在结论还是在口径,两个方向都需要核查。若当时仅执行引擎版本并接受其失败判定,一个通过预承诺门槛的结果将被一处记账错误否决。
8. 局限
- 样本:17 个季度、单一市场、约一个完整估值周期。文中 $t$ 值仅作方向参考,不构成显著性结论。
- 样本内知识:择时映射的锚点($k$ = 2.5,锚 0% / +20%)在已知四年偏差取值范围的情况下选定,带有样本内知识。其检验只能在样本外完成。
- 幸存者残留:横截面池为当前名册的历史回放,越早的截面越偏向长存续个券。该偏误不改变定性结论,但存在。
- 成本模型:原型仅计入仓位变动成本,无日内净值。引擎落地时应在筛选后候选池上复测。
- 前视窗口:前向收益口径的 12–14 天前视窗口为实现约束,非理论设定。
9. 复现说明
代码见 github.com/Grefer/CBLens。信号检验实现于 convertible_bond/signal_eval.py;估值序列见 data/cb_valuation_history.json,图 1 与表 2 由该文件直接生成;组合层对比可由 cb-strategy-backtest 复跑;完整研究笔记见 docs/research/2026-06-score-ic-and-valuation-timing.md。