近半年来,全球利率资本市场正在经历着一场变革和调整(SOFR和ESTER 贴现)。各大机构和清算中心内部正在重新调整利率定价曲线模型和风控架构,机构间也在积极商议修改利率交易的定价方法和相关补偿策略。作为本公众号的开篇,让我们来聊一聊利率资本市场的一个核心问题 – 利率曲线的创建,它是所有金融产品定价的根本。

一个机构所选择创建的利率曲线决定了其所有金融产品未来现金流的贴现方式,也就直接影响他们资本市场的估值。即使利率曲线的数学模型并不如奇异产品定价那么复杂,各机构的利率曲线也有诸多差异。

在介绍利率曲线之前,有必要提一下几个比较重要的利率概念。在金融工程里,我们以后会提到很多种利率,而在利率曲线期限结构里,我们说的利率主要有两种,零息利率(zero rate)和(即时)远期利率((instantaneous) forward rate)。

零息利率 R(0, T)

如果现在投资一个零息债券(zero coupon bond),到未来T时刻拿回本金,那么零息利率用来计算你现在需要支付的现金,

\Z(0, T)=\mathit{e}^{-R(0, T)T}

这里Z(0,T) 也叫贴现率(discount factor)。很显然,这里我们定义零息利率为连续复利,计息时间T则需要根据相应计息日计算办法来得到(譬如Act/365)。这里我们注意到,零息利率和贴现率是一一对应的。

远期利率F(0; T1, T2)

让我们先来做个假设:如果你现在持有1元钱,你可以做两笔投资: a)投资买一个T1到期零息债券,到T1到期日我们选择继续再投资T2到期零息债券,或者b)投资买一个T2到期零息债券。在T2时刻,这两笔投资的价值应该是等价的,

\frac{1}{Z(0, T_1)}\frac{1}{Z(0; T_1; T_2)} = \frac{1}{Z(0, T_2)}

这里为了计算远期两个时间点(T1, T2)之间的贴现率 Z(0; T1, T2),我们引入了远期利率的概念,即f(0; T1, T2)。基于这个关系,我们可以定义连续复利远期利率为,

\mathit{f}(0; T_1, T_2) = -\frac{lnZ(0, T_2) - lnZ(0, T_1)}{T_2 - T_1}

或者简单复利远期利率,

\mathit{f}(0; T_1, T_2) = -\frac{1}{T_2 - T_1}(\frac{Z(0, T_1)}{Z(0, T_2)}-1)

注意到远期利率可以用T1,T2两个点的连续贴现率来定义,那么即时远期利率就可以简单理解为当T1无限靠近T2的连续复利远期利率,

\mathit{f}(0; t) = \lim\limits_{\epsilon \to 0} \mathit{f}(0; t; t+\epsilon) = -\frac{\partial{lnZ(0, t)}}{\partial{t}}

这样,即时连续复利利率和贴现率之间的关系就可以表示成:

Z(0, T) = \mathit{e}^{-\int_0^T \mathit{f}(0, s) ds}

这里,大家可能注意到了一个细节:以上所有利率和贴现率的计算都是基于0时刻的。换句话说,他们都不是随机的,数学上我们称0时刻可测度的,后面有机会我们专门聊一聊测度,会谈到以上利率的定义都是基于利率远期测度的。

接下来,我们来聊一聊利率曲线的建立。利率曲线,顾名思义,是连接很多个利率点的一条曲线。由于零息利率,远期利率,以及贴现率是可以互相计算得出的,所以利率曲线可以由他们中的任意一种来建立,

\{T_i, R(0, T_i)\} \\
\{T_i, \mathit{f}(0; T_i, T_{i+1})\} \\
\{T_i, Z(0, T_i)\}

实际工作中,对于利率交易员来说,他们往往更关注简单复利远期利率,因为绝大多数金融产品未来的现金流是基于远期利率计算的。

接下来,如何连接这些利率点?一般有两种办法:连续光滑函数或者数学插值。由于利率曲线可以由零息利率,远期利率或贴现率构建,我们可以选择其中任意一种做函数拟合或插值。

运用光滑函数拟合曲线的方法有很多,比较常用的包括Nelson-SeigelSvensson指数样条B样条等等。这类曲线的创建需要多维的最小优化算法或非线性回归,譬如各国央行用来计算债券相对价值的债券曲线,以及信用评估机构常用的单个信用曲线。光滑函数曲线有自身的优点,譬如有预设的曲线结构以及可控的曲线光滑度,但由于函数自由度低(Nelson-Seigel只有4个),因此曲线不可能完全准确匹配所有用于创建曲线的金融产品价格。另外,因为此类函数曲线的局域性不够好,对于实际风险对冲和控制来说有其局限性(但这也不是绝对的,有投资银行用光滑函数曲线来控制几个核心市场利率(2y/5y/10y/30y)的债券收益,并且基于该函数曲线来做对冲和风控,事实证明也很有效)。

通过数学插值方法来拟合曲线,交易员需要对市场和交易产品有更深的理解,他们需要同时考虑曲线的连续性,光滑性,单调性,和局域性。首先,利率曲线必须满足连续性的要求,不可以无故的断开(但也有例外,譬如turn of year effect)。其次,曲线的光滑性是很有必要的,这就要求在使用数学差值方法时仔细考量所构建的利率曲线是否达到光滑性标准,比如使用零息利率的线性插值会导致远期利率呈现锯齿状,这个在实际工作中是不能接受的。第三,在两个时间点之间插值的利率曲线必须是单调的,不应该出现一个莫名奇妙的凹凸包。最后,保证曲线的局域性对于风险对冲来说尤为重要,比如交易员做个两年的利率产品,然后利率曲线模型运行完建议他通过使用10年的远期利率来做对冲,这就出现很大问题。

在实际工作中,交易员和机构需要全面的考虑定价以及风控的不同需求,从而灵活的使用不同的插值拟合方法。比如某全球清算中心的利率产品定价选择用自然三次样条在对数贴现率上进行插值,而相对应的利率产品风控就选择用线性方法在零息利率上插值,这是相对容易理解的。对数贴现率的三次样条插值的远期利率是二次光滑的,这就对产品的定价的精确性有非常大的帮助(但自然三次样条插值会导致有些情况下利率曲线不单调,也会导致他们的定价也有潜在风险),但是三次样条的插值导致远期利率的期限结构不够局域性,会导致交易员错误的对冲利率风险或增加额外对冲成本,所以他们选择在零息利率线性插值。在这里列举一些常用的插值方法,譬如线性或单调三次样条插值零息利率,线性或单调三次或张力样条插值对数贴现率,单调凸性或二次样条插值远期利率等等。

下一次我们着重以美元欧元市场着重讨论一下如何从已有的利率市场交易金融产品创建利率曲线。

Leave a Reply

Your email address will not be published. Required fields are marked *