专栏首页王的机器Python 进阶视频课 - 14. FR007 利率掉期定价和曲线拔靴

Python 进阶视频课 - 14. FR007 利率掉期定价和曲线拔靴

这是 Python 进阶课的第十四节 - FR007 利率掉期定价和曲线拔靴,进阶课的目录如下:

  1. NumPy 上
  2. NumPy 下
  3. Pandas 上
  4. Pandas 下
  5. SciPy 上
  6. SciPy 下
  7. Pandas 时间序列
  8. Pandas 高频数据采样
  9. 默顿模型计量经济资本
  10. LSMC 定价美式和百慕大期权
  11. 负油价和负利率模型
  12. Nelson-Siegel 构建债券收益率曲线
  13. 外汇交易组合保证金制定系统

之前基础版的 11 节的目录如下:

  1. 编程概览
  2. 元素型数据
  3. 容器型数据
  4. 流程控制:条件-循环-异常处理
  5. 函数上:低阶函数
  6. 函数下:高阶函数
  7. 类和对象:封装-继承-多态-组合
  8. 字符串专场:格式化和正则化
  9. 解析表达式:简约也简单
  10. 生成器和迭代器:简约不简单
  11. 装饰器:高端不简单

七天回购掉期 (FR007 swap) 是指交易双方以一定的名义本金为基础,将该本金产生的一种利率计算的利息收入(支出) 与另一种利率计算的利息收入(支出)。交换的只是不同特征的利息,没有实质本金的互换。

掉期有两端,固定端和浮动端,固定端的利率由一个固定利率决定,而浮动端的利率由若干个七天回购利率 (7D repo rate) 复合计算而得。七天回购掉期的日期表如下图所示。

把注意力放在浮动端第 n 期,对应的复合利率 R(Tn-1, Tn) 是由一组七天回购利率组成的。

上图只是为了展示浮动利率的复合过程,真正的细节在下图。

本次课程的知识点和代码太多,采取的方式是先展示成品,接着再从零到一来讲解如何实现,来各点击破每个环节的细节,更重要的是分享笔者处理此类问题的思路:

  • 第二节会讲解数据处理,包括如何从中国外汇交易中心收集 FR007 的市场数据和定盘数据,如何从 excel 或 csv 中读取数据,如何用 cufflinks 来可视化数据。
  • 第三节会介绍日期生成,FR007 掉期的产品日期表和指标日期表是如何生成的。
  • 第四节会介绍变量计算,如何计算或插值折现因子和远期利率。
  • 第五节会讲解曲线构建,如何从市场报价通过拔靴法得到零息曲线。
  • 第六节会讲解产品定价,使用面向对象 (object-orient) 方法构建 FR007 掉期对象和定价对象(分别是 IRS 对象和定价对象的子类)。

在 Jupyter Notebook 把问题讲清楚后,为了做工程,我也把所有代码结构化:

数据处理:

|--- data_loader.py
|    |--- load_data()
|    |--- read_instrument()
|    |--- read_market()
|    |--- read_fixing()

日期生成:

|--- schedule.py
|    |--- get_settle_date()
|    |--- get_maturity_date_from_trade_date()
|    |--- trim_date()
|    |--- date_series()
|    |--- IBOR_date()
|    |--- CMPR_date()
|    |--- IRS_schedule()
|    |--- CMPIRS_schedule()

变量计算:

|--- market_variable.py
|    |--- get_discount()
|    |--- get_forward_rate()
|    |--- update_fixing()

曲线构建:

|--- curve_construction.py
|    |--- bootstrapping()
|    |--- compute_npv()
|    |--- process_data()

产品定价:

|--- IR_CMPIRS_engine.py
|    |--- class IR_CMPIR( IR_InterestRateSwap )
|    |--- class IR_CMPIR_pricer( IR_InterestRateSwap_pricer )
|
|--- IR_InterestRateSwap_engine.py
|    |--- class IR_InterestRateSwap()
|    |--- class IR_InterestRateSwap_pricer()

其他有用的函数

|--- utils.py               基本效用函数
|--- ql_utils.py            和 QuantLib 有关的效用函数
|--- date_utils.py          用于日期转换
|--- daycount_utils.py      用于计算年限
|--- calendar_utils.py      用于构建日历
|--- convention_utils.py    用于获取惯例
|--- formatter.py           用于美化格式

本次课程目录如下:

1. 简介

  • 产品介绍
  • 定价流程

2. 数据处理

  • 头寸数据
  • 市场数据
  • 定盘数据

3. 日期生成

  • 基本概念
  • 日历创建
  • 产品日期
  • 指标日期

4. 变量计算

  • 折现因子
  • 远期利率

5. 曲线构建

  • 基本概念
  • 拔靴方法

6. 产品定价

  • 普通 IRS
  • FR007 掉期

本文分享自微信公众号 - 王的机器(MeanMachine1031),作者:王圣元

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 进阶视频课 - 15. 量化交易之向量化回测

    这是 Python 进阶课的第十五节 - 量化交易之向量化回测 ,进阶课的目录如下:

    用户5753894
  • Python 可视化视频课 - 1. Matplotlib 上

    本节开始一个全新的系列,是整套 Python 第三阶段的课。我把整套知识体系分成四个模块:

    用户5753894
  • Python 可视化视频课 - 4. Seaborn 中

    统计分析就是去理解一个数据集中变量之间的关系,以及这些关系如何受到其他变量的影响。Seaborn 的主要用处就是可视化这个过程。当数据以恰当的方式展示出来时,读...

    用户5753894
  • Python 可视化视频课 - 3. Seaborn 上

    Seaborn 是基于 matplotlib 开发而用于统计可视化的高阶工具包。它可无缝相接的在 Pandas 的 DataFrame 上直接画图,而且代码量不...

    用户5753894
  • 『曲线构建系列 1』单曲线方法

    估值金融产品需要折现其包含的现金流,这是我们就需要折现曲线。构建折现曲线是产品估值的必要条件。构建出一套完整而一致的曲线环境不是件容易的事,我们分三贴来把整个流...

    用户5753894
  • 利率掉期 (IRS) 中的超级细节

    最近有读者问人民币 FR007 掉期的估值总是和系统上对不上,加上 RFR 代替 IBOR 后有新的 RFR 掉期出现,其估值方法中有很多细节。以上两种产品都可...

    用户5753894
  • 金融工程高度概览

    整个流程图分为 6 大模块,除了开始的“数据参数”模块,后 5 个模块都有相对应的函数。

    用户5753894
  • Python 进阶视频课 - 12. Nelson-Siegel 构建债券收益率曲线

    这是 Python 进阶课的第十二节 - 负油价和负利率模型,进阶课的目录如下:

    用户5753894
  • 统计学公开课大盘点

    统计学博大精深,用途广泛,是一门非常重要的基础课程。在接触了一些统计学公开课后,发现网络上还有很多的免费的在线统计学课程可以用来学习和复习相关的知识点,只是缺乏...

    统计学家
  • 2 个月如何从小白到 Python 高手,牛津大学博士带你飞!

    Python 可以做任何事情。无论是从入门级选手到专业级数据挖掘、科学计算、图像处理、人工智能,Python 都可以胜任。或许是因为这种万能属性,周围好更多的小...

    小莹莹
  • 面对来势汹汹的AI大潮,你该如何应对?

    2018年1月 教育部印发的《普通高中课程方案和语文等学科课程标准》新加入了数据结构、人工智能、开源硬件设计等 AI 相关的课程。

    abs_zero
  • 总结 | 劫波科技李凯龙谈数字无界:信任经济与网格组织

    AI 科技评论按:经济上的「U 型」信任经济曲线和组织上的「自主分布+协同共识」的网格组织是由数字机构劫波科技创始人兼 CEO 李凯龙创设的理论和模型,代表了他...

    AI科技评论
  • 从小白到年薪10万+,优秀的数据分析能力如何速成?

    广泛被应用的数据分析 谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网...

    机器学习AI算法工程
  • 想转行人工智能?机会来了!!!

    2018年1月 教育部印发的《普通高中课程方案和语文等学科课程标准》新加入了数据结构、人工智能、开源硬件设计等 AI 相关的课程。

    Java团长
  • 【数据分析】EMC杯开放数据比赛 – 金刚队作品

    今天为大家带来的优秀作品赏析,是来自交大的“葫芦娃大战变形金刚”队的“小康的吃路历程”。金刚队成员:康世勇、沈家齐、黄鈃灵、焦天翼、吴嘉韵。 饮食特征: 横坐...

    小莹莹
  • 7个实战案例、24个学习视频、12G干货资料...今天带你免费入门Python数据分析!

    你花了大半天整合了一张数据表,却因为其他部门的错误,导致表格结构全错了!于是你又要吭哧吭哧重新来过...

    养码场
  • 摩根纽约总部量化女神手把手教你学Python机器学习与量化交易

    “量化投资”是指投资者使用数理分析、计算机编程技术、金融工程建模等方式,通过对样本数据进行集中比对处理,找到数据之间的关系,制定量化策略,并使用编写的软件程序来...

    Python中文社区
  • 7个实战案例、24个学习视频、12G干货资料...今天带你免费入门Python数据分析!

    你花了大半天整合了一张数据表,却因为其他部门的错误,导致表格结构全错了!于是你又要吭哧吭哧重新来过……

    华章科技
  • 三体云动上线“在线视频课程”功能,助力场馆停业不停产|腾讯SaaS加速器·学员动态

    ? 来源 | 腾讯SaaS加速器首期项目-三体云动 ---- 一场突如其来的新冠肺炎疫情,仿佛给全国人民套上了枷锁,大家不能出门,企业不能复工,所以宅在家里的...

    腾讯SaaS加速器

扫码关注云+社区

领取腾讯云代金券