这是个很老的话题了。
跟其他拟合参数问题一样,说白了无非就是个求最小化。既然是优化问题,就设计如何选取目标函数,比较常见的比如模型值跟市场可观察值的最小方差和,或者在前面加个权重:
利率曲线的拟合的主要问题是:远期利率曲线(forward curve)与贴现因子(discount factor)并不是一对一,而是多对一的映射。
在拟合模型上,可分为回归模型、经验模型和均衡无套利模型。
回归模型相对是比较粗糙,他关心的是到期收益率。他直接拟合的市场上所选金融产品的Yield-to-Maturity:
属于该类型模型比如有Bradley-Crane,Elliot-Echols等模型。
均衡无套利模型是动态拟合,利用随机过程假设即期利率, 通过即期利率就可以有贴现因子的分析式子。很多均衡模型是单因子模型,即假设该单因子可以解释利率曲线。常见的有Vasicek 模型,CIR模型,Dufffie-Kan 模型。
比如Vasicek模型中,假设即期利率服从随机过程
, 其中
利用Ito公式便可以推出价格与贴现因子的表达式。
接下来,本文重点介绍的是经验模型,即所谓的静态拟合问题。
静态拟合模型技术上主要分为两大类:含参数模型和非参数模型。含参数模型是对利率曲线的形状是基于某个假设的。市场上比较流行的便是Nelson-Siegel以及其拓展 Nelson-Siegel-Svensson模型。中债用的hermit插值,中证用的样条模型等。这些技术资料在网上很详细。
对于非参数模型,即不对远期曲线形状不做任何假设,只要满足该拟合出来的曲线足够平滑,便OK了。在利率市场上,远期利率是分段的(piecewise constant),那么如何可以直接拟合出一条平滑的piecewise constant的远期曲线呢。芝加哥大学的 Thomase Coleman(文献)给出了较为详细的解释。
给出一条forward curve,便可以计算一支债券的现值
其中是该债券待支付的票息或本金,是其对应的时间。根据远期曲线的期限结构,贴现因子为
,假设一共有N个tenor, 该贴现因子的离散形式有, 其中是对 第 i 个libor的权重。
在如何选取目标函数上,考虑到远期利率曲线的经济含义,一般可以三部分,fit error本身(least square),曲线总体斜率的度量 Energy,曲线总体弯曲度的度量。
该模型最大的好处就是灵活。尽管很多机构喜欢NSS/NS,但是他对Bonds curve拟合是不错的,很多央行都用该模型,但是他对swaps curve就比较差强人意了。
我对利率模型是认知比较肤浅,一开始便直接接触该无参数模型,对优化算法的理解不足,特别是目标函数对各个LIBOR的偏导。一开始也对权重的选择也模糊,是modified duration的倒数还是PV01的倒数,对dirty price 对YTM还是clean price呢。在swaps curve中,对金融产品 FRA,Swap等现金流认识也模糊,而在dual curve pricing上,在权重的考虑上则更加麻烦。
在实例中,以3月23日(市场波动比较大)德国国债市场和EURIBOR Swaps市场为市场数据。在下面的德国国债利率拟合曲线中NS和NSS几乎是一致的。无参数piecewise constant模型可以在技术上同时实现更平滑(总体平滑度值跟小)和误差更小。
bond curves比较NSS 模型 bond curvePiecewiese constant 模型 bond curve在swaps curve上,NSS因为比NS模型多了2个参数,可以实现更多的弯曲。Piecewise constant 无参数模型在平滑度上做点牺牲,却在拟合误差,特别是近期swaps上,远远比NSS模型小得多。
swap curves 比较nss 模型 swap curve piecewise constant模型 swap curve参考文献:
Fitting Forward Rates to Market Data, Colemanpapers.ssrn.com/sol3/papers.cfm?abstract_id=