4、曲线构建与插值:Nelson-Siegel模型、Svensson模型、三次样条插值、曲线拟合评估指标
做碳市场期限结构分析,说白了就是要把不同到期日的碳配额价格串成一条连续的曲线。这条曲线有多重要?我打个比方——你手里有1年期和3年期的碳配额价格,但你想知道2年期的隐含价格是多少,这时候就得靠曲线构建和插值了。
我个人习惯把这条曲线叫做「碳市场的温度计」。温度计不准,你后面的套利模型全是白搭。今天咱们就把这块硬骨头啃下来。
4.1 为什么需要曲线构建?
碳市场里,我们能看到的价格通常是离散的。比如EUA期货有Dec-23、Dec-24、Dec-25这些合约,但中间月份呢?没有直接报价。你想想看,做套利策略时,我们需要任意期限的收益率或价格,这就逼着我们必须把离散点连成连续曲线。
曲线构建的核心目标就两个:
- 插值:已知点之间「猜」出合理价格
- 外推:已知点之外「推」出合理价格(这个风险大,我一般慎用)
核心观点:曲线构建不是数学游戏,而是对市场隐含信息的提取。好的曲线能反映市场对未来碳价的真实预期。
4.2 Nelson-Siegel模型
Nelson-Siegel模型(简称NS模型)是我最早接触的利率曲线模型。它用四个参数就能描述整条曲线,简洁得让人舒服。
模型公式长这样:
R(t) = β₀ + β₁ * (1 - e^(-t/τ)) / (t/τ) + β₂ * [(1 - e^(-t/τ)) / (t/τ) - e^(-t/τ)]
参数含义:
- β₀:长期利率水平(t→∞时的渐近线)
- β₁:短期偏离(t→0时的曲线斜率)
- β₂:中期曲率(曲线的「驼峰」形状)
- τ:衰减因子(控制曲线弯曲位置)
我在项目中遇到过一个问题:NS模型对短端和长端拟合得不错,但中段总是差点意思。尤其是碳市场里,中期合约(3-5年)往往交易最活跃,价格信息最丰富,这时候NS模型就有点力不从心了。
实战技巧:NS模型的τ参数很敏感。我建议用网格搜索先粗调,再用优化算法精调。别一上来就扔给优化器,容易陷入局部最优。
4.3 Svensson模型
Svensson模型是NS模型的升级版,加了两个参数,专门解决中段拟合不足的问题。说白了,就是给曲线多了一个「驼峰」自由度。
公式变成这样:
R(t) = β₀ + β₁ * (1 - e^(-t/τ₁)) / (t/τ₁)
+ β₂ * [(1 - e^(-t/τ₁)) / (t/τ₁) - e^(-t/τ₁)]
+ β₃ * [(1 - e^(-t/τ₂)) / (t/τ₂) - e^(-t/τ₂)]
多了β₃和τ₂两个参数,曲线能拟合更复杂的形状。我记得有一次做EUA期货曲线,NS模型的残差在3年期附近明显偏大,换成Svensson模型后,拟合优度直接提升了15%。
但要注意——参数越多,过拟合风险越大。我曾经吃过这个亏:用Svensson模型拟合了10个数据点,R²高达0.999,结果外推一步就崩了。嗯,这里要提醒大家:拟合得好不代表预测得好。
避坑指南:我曾经用Svensson模型拟合碳配额远期曲线,发现τ₂参数经常跑到边界值。后来加了正则化约束,才稳定下来。如果你的τ₂总是很大或很小,说明模型可能不需要这个额外自由度。
4.4 三次样条插值
参数模型(NS/Svensson)适合整条曲线建模,但如果你只需要在已知点之间插值,三次样条更直接、更灵活。
三次样条的核心思想:每两个相邻点之间用一条三次多项式连接,保证连接处一阶、二阶导数连续。这样整条曲线看起来光滑自然,没有「折角」。
我画个简单的示意图:
三次样条的优点很明显:
- 局部调整不影响全局(不像NS模型改一个点整条曲线都变)
- 计算速度快,适合高频更新
- 对数据分布没有强假设
但缺点也突出:外推能力差。出了数据范围,三次样条就像脱缰的野马,完全不可控。所以我只在插值场景用,绝不拿它做外推。
实战技巧:做碳市场曲线时,我通常把NS/Svensson模型和三次样条结合用。先用参数模型拟合整体趋势,再用三次样条对残差做局部修正。这叫「参数+非参数」混合方法,效果比单独用任何一种都好。
4.5 曲线拟合评估指标
模型建好了,怎么评价好坏?光看R²可不够。我总结了一套评估体系:
| 指标 | 公式 | 说明 | 我的经验阈值 |
|---|---|---|---|
| RMSE | √(Σ(yᵢ-ŷᵢ)²/n) | 均方根误差,衡量整体偏差 | < 0.5% 算优秀 |
| MAE | Σ|yᵢ-ŷᵢ|/n | 平均绝对误差,对异常值不敏感 | < 0.3% 算良好 |
| MAPE | Σ|(yᵢ-ŷᵢ)/yᵢ|/n × 100% | 平均绝对百分比误差 | < 2% 可接受 |
| AIC/BIC | 信息准则 | 惩罚参数数量,防过拟合 | 越小越好 |
| 残差自相关 | Durbin-Watson统计量 | 检查残差是否独立 | 接近2为佳 |
我个人最看重两个指标:
- RMSE:直观反映拟合精度,单位与价格一致,好理解
- AIC:防止你为了追求拟合精度而堆参数
我曾经遇到一个案例:用Svensson模型拟合碳配额曲线,RMSE只有0.2%,但AIC比NS模型高了30多。这说明多出来的两个参数并没有带来实质性的信息增益,反而增加了过拟合风险。最后我选了NS模型,虽然RMSE稍高(0.35%),但泛化能力更强。
避坑指南:别只看R²!R²会随着参数增加而单调递增,哪怕加的是随机噪声。我见过有人用7参数模型拟合5个数据点,R²=1.0,但外推一步就偏离了20%。记住:简单模型+合理拟合 > 复杂模型+完美拟合。
4.6 实战中的选择策略
说了这么多,到底该用哪个?我根据碳市场的特点,给个参考:
- 数据点少(< 10个):用NS模型。参数少,不容易过拟合。我一般用最小二乘法估计参数,加个L2正则化更稳。
- 数据点中等(10-30个):Svensson模型或三次样条。如果曲线形状复杂(比如有多个驼峰),优先Svensson。
- 数据点多(> 30个):三次样条。计算快,局部灵活,适合高频更新。
- 需要外推:只用NS/Svensson模型。三次样条外推不靠谱,我吃过亏。
最后说一句:曲线构建没有银弹。不同市场、不同数据频率、不同交易策略,适合的模型都不一样。我的建议是——把NS、Svensson、三次样条都实现一遍,用历史数据回测,看哪个在你的场景下表现最好。实践出真知,这话在量化交易里尤其适用。
公众号:蓝海资料掘金营,微信deep3321