前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FMM 大战 LMM - SOFR 企稳 Part I

FMM 大战 LMM - SOFR 企稳 Part I

作者头像
用户5753894
发布2020-02-19 15:07:52
1K0
发布2020-02-19 15:07:52
举报
文章被收录于专栏:王的机器王的机器

本文有 4867 字,61 截屏

建议阅读 30 分钟

0

引言

本文是金融工程特别系列的第一篇

  1. FMM 大战 LMM - SOFR 企稳 Part I

金融工程正规系列

  1. 弄清量化金融十大话题 (上)
  2. 弄清量化金融十大话题 (下)
  3. 金融工程高度概览
  4. 日期生成
  5. 变量计算
  6. 模型校正
  7. 曲线构建 I - 单曲线
  8. 曲线构建 II - 多曲线 (基差)
  9. 曲线构建 III - 多曲线方法 (抵押品)
  10. 测度转换 (上) - 等价物转换
  11. 测度转换 (下) - 漂移项转换
  12. 产品估值理论
  13. 产品估值 - 解析法和数值积分法 (CF)
  14. 产品估值 - 偏微分方程有限差分法 (PDE-FD)
  15. 产品估值 - 蒙特卡洛模拟法 (MC)
  16. 产品风险理论 (AAD)
  17. 风险计量 - 敏感度 (Greeks & Sensitivities)
  18. 风险计量 - 风险价值 (VaR)
  19. 价值调整 - 凸性调整
  20. 价值调整 - Quanto 调整
  21. 价值调整 - 时间调整
  22. 价值调整 - CVA
  23. 价值调整 - DVA
  24. 价值调整 - FVA
  25. 价值调整 - MVA
  26. 价值调整 - KVA

:该系列基于 Lyashenko A. 和 Mercurio F. 的论文 Looking Forward to Backward-Looking Rates。他俩在论文中提出了更为通用的 Forward Market Model (FMM),它可以同时处理后顾型的 RFR 复合利率前瞻型的 IBOR。两名作者也因此被评选了 Quant of the Year 2020,他们都认为 FMM 才是定价 RFR 期权的正确模型,而且只需在现有的 LMM 方法上改进一点,并不需要过多的额外开发人力。


0

前言

ISDA 在2019 年9 月18 日发布的《Consultation on Final Parameters for Benchmark Fallback Adjustments》确定了

  • IBOR 的替代利率 RFR
  • IBOR 和 RFR 之间基差

其中 IBOR 全称是 InterBank Offered Rate,被替代利率,RFR 全称是 Risk-Free Rate,替代利率。从上面 ISDA 文件摘抄出来下面一段话:

… overwhelming majority of respondents preferred the ‘compounded setting in arrears rate’ to address the difference in tenors and the ‘historical mean/median approach’ to address the difference in risk premia. ISDA

ISDA 统计出绝大部分参与方希望用一个后置式的复合利率来作为 RFR,而且用不同年限的 IBOR 和 RFR 的历史差异的均值或中位值作为 IBOR 停止后当天就要使用的基差。定义 IBOR 公布日和终止日为 Ta 和 Td,那么在终止日那天,我们有以下数学关系:

其中 X 是 ISDA 还未最终决定的一组参数,比如到底是用均值还是中位值来作为基差,而 l 代表历史数据的区间长度,目前可能选项是 5 年或 10 年。

利率通常是定义在计息区间(accrual period),起始日和终止日分别是区间的头和尾。举个具体例子,假设 USD LIBOR 3M 在 2021年12月20日终止,我们用 SOFR 3M 和 5 年历史基差来替代后LIBOR时代的第一天的 LIBOR。

  • 5年数据从 2016年12月19日到 2021年12月19日。
  • 第一个历史数据USD LIBOR 3M 是在 2019年12月19日定盘,而该利率到期于 2020年3月19日。
  • 对应同区间的 SOFR3M 是由 SOFR 隔夜利率从 2019年12月19日一直累积到 2020年3月18日合成的。

上面完整的计算基差过程在下图中展示。

整个用 RFR 复合利率替换 IBOR 的过程看起来没有什么问题,但是细想,IBOR 是前瞻型(forward-looking)利率,在起始日就已经知道其值;而RFR 复合利率由于要不断累积 RFR 隔夜利率,因此是后顾型(backward-looking)利率,在终止日才能知道其值。两种利率对比的示意图如下。

由此可知两种概率从根本上范式都不相同。RFR 复合利率在付息日才能决定利息的大小,这从经济和操作角度给很多企业造成了麻烦。这样看来,向后看类型的利率不行,向前看类型的利率才行,我们需要动动脑筋,设计出一个向前看的 RFR 复合利率 R(T, T+τ),即在T 时点就知道 R(T, T+τ) 的大小了(像 IBOR 一样)。一个最简单的设计就是用 T 点 R(T, T+τ) 的期望值作为向前看的利率,即 ET[R(T,T+ τ)]。


整个 FMM-vs-LMM 的系列内容很新,文章写太长也不便于读者消化,因此我把它分四贴完成。整个系列目录如下(本帖细讲第一章):

目录

第一章 - 基础知识

1.1 延伸版 T-远期测度

1.2 向前看 vs 向后看的即期利率

1.3 向前看 vs 向后看的远期利率

1.4 FMM vs LMM 比较

第二章 - 远期市场模型 FMM

2.1 期限结构

2.2 风险中性测度下的 Fn(t)

2.3 即期测度下的 Fn(t)

2.4 Tk-远期测度下的 Fn(t)

第三章 - RFR 产品估值

3.1 RFR 期货

3.2 RFR 掉期

3.3 RFR 上下限

3.4 RFR 掉期期权

3.5 RFR 期限结构类产品

3.6 RFR 复杂产品

第四章 - FMM 模型校正

4.1 波动率建模

4.2 相关性建模

1

基础知识

1.1

延伸版 T-远期测度

再回到 T-远期测度的等价物 - 零息债 P(t,T),它有个条件是 t ≤ T。当 t > T 时,零息债已到期,按理说这个等价物已不存在了。但如果我们把 P(T,T),即零息债在到期日上的收益 1 投资到银行存款上,这样在任何一个大于 T 的时点 t,该「产品」的价格为

让我们把这个人造产品

表示,其中 t 可以是任意值,我们有

显然

可以当成等价物,对应的测度符号用 Q~T­ 表示,期望符号用 E~T­ 表示。

1.2

向后看 vs 向前看的即期利率

复合利率

给定一组期限结构 0 £ T0 < T1 < … < TN,其中 τn= Tn – Tn-1。对于每个时间 t,定义索引函数 h(t) = min{n: Tn ≥ t},它表示离 t 最近但大于 t 的期限所对应的索引,易知 h(t) 是一个阶梯函数,如下图所示。

对于每个 n =1, 2, …, N,在 [Tn-1, Tn] 计息区间,我们将日单利(SOFR 1M 类)和日复利(SOFR 3M 类)都用连续复利来近似得到

证明过程如下。

向后看的即期利率

后置型利率(in-arrears rates)天生就有向后看的性质,因此我们只有等到计息期最后一天才能知道该利率的值。 R(Tn-1, Tn) 就是一个在 Tn 时向后看的即期利率。为了能一眼看出利率的向后看形式,我们在 R(Tn-1, Tn) 加一个向后的箭头 ←,用

来取代。注意通常符号上用箭头代表向量,但记住这里表达的不是这个意思。

定义一个产品叫做银行存款掉期(Bank Account Swaplet, BAS),在 Tn 时点用 K 来交换银行存款在 [Tn-1, Tn] 区间的收益,如下图所示,

在 Tn-1 时点,BAS 的估值公式为

向前看的即期利率

现在可以定义一个向前看的利率,同样的为了能一眼看出利率的向前看形式,我们用一个向前的箭头 →,用

来表示。它是使得 VBAS(Tn-1) = 0 的 K 值,因此可解得

下图总结了向后看和向前看的即期利率

。前者是直到 Tn 才定盘,而后者在 Tn-1 就开始设定了。

1.3

向后看 vs 向前看的远期利率

向后看的远期利率

定义完即期利率,接下来就要定义远期利率了。想像个产品叫做向后看利率掉期(Backward-Looking Rate Swaplet, BLRS)在 Tn 时点用 K 来交换

,如下图,

在 t 时点,BLRS的估值公式为

现在可以定义一个向后看的远期利率,用符号

来表示。该利率就是使得 VBLRS(t) = 0 时的 K 值,因此可解得

将 t = Tn-1 带入上式,我们发现在 Tn-1 这个时点,向前看的即期利率

等于向后看的远期利率

而且我们可以进一步推出

的表达式

注意

是一个单利付息的(和 IBOR 的范式相同)向后看(和 IBOR 方式不同)的远期利率,它的性质如下:

  • 在 Tn-远期测度下是鞅
  • 在 Tn-1 时点等于「向前看的即期利率」
  • 在 Tn 时点等于「向后看的已实现利率」
  • 在 Tn 时点后就被定盘了,因此当 t > Tn,

当 Tn-1 < t < Tn,

一部分已经在 [Tn-1, t] 被定盘了,还有一部分在 [t, Tn] 还在累积 r(s),其表达式为

向前看的远期利率

想像个产品叫做向前看利率掉期(Forward-Looking Rate Swaplet, FLRS)在 Tn 时点用 K 来交换

,如下图

在 t 时点,FLRS 的估值公式为

现在可以定义一个向前看的利率,用符号

来表示,FL 是 Forward-Looking 的缩写。该利率就是使得 VFLRS(t) = 0 时的 K 值,因此可解得

进一步推出

的表达式,当 t ≤Tn-1 时,向前看的远期利率

等于向后看的远期利率

当 t > Tn-1 时,

已经在 Tn-1 被定盘而不会改变了,其值为

下图总结了向后看和向前看的远期利率

。前者是直到 Tn 才定盘,而后者在 Tn-1 就开始设定了。

鞅过程 SDE 的漂移项为零,因此 Fn(t) 的 SDE 用以下方式来描述,

其中 σn(t) 是波动率,而 gn(t) 是缩放因子。对于 gn(t),我们可用分段函数形式来区分不同时段中远期利率的特点

  • 当 t < Tn-1 时,gn(t) = 1 ,因为 Fn(t) 还未被定盘,以波动率 σn(t) 在演变。
  • 当 Tn-1 < t < Tn 时,gn(t) 成单调递减,因为这时

一部分已经在 [Tn-1, t] 被定盘,一部分在 [t, Tn] 还未被定盘,但随着 t 靠近 Tn,未定盘的部分越来越小,因此波动率也就越小。

  • 当 t > Tn 时,gn(t) = 0,因为 Fn(t) 已经停止演变。

为了使函数 gn(t) 连续,我们需要施加条件 gn(Tn-1) = 1 和 gn(Tn) = 0,再假设 gn(t) 在区间 [Tn-1, Tn] 成单调线性递减,我们设计

至此我们已讨论完在任意 t 时的远期利率 Fn(t) 和零息债

,它们可看成是传统的远期利率和零息债的延伸版。

1.4

LMM vs FMM 比较

和 LMM 不同的是,FMM 模拟的远期利率适用于任何 t。在具体 [Tn-1, Tn] 区间中,两者的区别在于

  • LMM 模拟的 Fn(t) 在时点 Tn-1 就停止演变
  • FMM 模拟的 Fn(t) 直到 Tn 并以常数形式演变

下面我们来模拟一下 LMM 和 FMM 框架下的远期利率。假设 Tn-1 = 9M, Tn = 1Y, Fn(0) = 2.5% 和 σn = 30%。对于 LMM,t Î [0,Tn-1),对于 FMM,t Î [0, Tn),

我尝试着用 cufflinks 来画图,效果很好。Python 代码如下,首先引入必要的几个包。

import numpy as np
import pandas as pd
import cufflinks as cf
np.random.seed(1031)

用上面设定好的初始值,选取 1000 个时点模拟 5 条利率走势路径。

(F0, sigma, T, tau, Nsim, Nt) 
= (0.025, 0.3, 0.75, 0.25, 5, 1000)
t = np.linspace(0,T+2*tau,Nt)
dt = np.diff(t)

z = np.random.randn(Nsim, Nt-1)
g = np.minimum( np.maximum(T+tau-t, 0)/tau, 1 )[:-1]
A = sigma*g*(z*np.sqrt(dt)) - 0.5*(sigma*g)**2*dt
lnF0 = np.tile(np.log(F0),(Nsim,1))
lnF = lnF0 + np.cumsum(A, axis=1)
lnF = np.hstack( (lnF0, lnF) )
F = np.exp(lnF) * 10
df = pd.DataFrame(F.T, index=t)

用 cufflinks 里面的 iplot 函数直接对 DataFrame df 画图

cf.go_offline()

画出的图如下:

其实 cufflinks 画出的图是动图,上图只是它静止的样子。

五条模拟利率都从 2.5% 开始,看横轴从0 到 0.75 (0 到 9 个月)利率波动较大,从 0.75 到 1(9 个月到 1 年)波动慢慢减小,从 1 之后(1 年之后)波动为零。


最后稍微总结一下 LMM 和 FMM 下用的测度、符号、计价物等等,不懂也无所谓,后面还有三帖呢。

下帖来推导 Fn(t) 在各种测度下的 SDE,只需用到我们之前讲过的「测度转换」和「漂移项转换」的技巧。

Stay Tuned!
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王的机器 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档