前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 进阶视频课 - 14. FR007 利率掉期定价和曲线拔靴

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

作者头像
用户5753894
发布2021-07-07 18:02:35
1.3K0
发布2021-07-07 18:02:35
举报
文章被收录于专栏:王的机器王的机器

这是 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 把问题讲清楚后,为了做工程,我也把所有代码结构化:

数据处理:

代码语言:javascript
复制
|--- data_loader.py
|    |--- load_data()
|    |--- read_instrument()
|    |--- read_market()
|    |--- read_fixing()

日期生成:

代码语言:javascript
复制
|--- schedule.py
|    |--- get_settle_date()
|    |--- get_maturity_date_from_trade_date()
|    |--- trim_date()
|    |--- date_series()
|    |--- IBOR_date()
|    |--- CMPR_date()
|    |--- IRS_schedule()
|    |--- CMPIRS_schedule()

变量计算:

代码语言:javascript
复制
|--- market_variable.py
|    |--- get_discount()
|    |--- get_forward_rate()
|    |--- update_fixing()

曲线构建:

代码语言:javascript
复制
|--- curve_construction.py
|    |--- bootstrapping()
|    |--- compute_npv()
|    |--- process_data()

产品定价:

代码语言:javascript
复制
|--- 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()

其他有用的函数

代码语言:javascript
复制
|--- 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 掉期
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据处理:
  • 日期生成:
  • 变量计算:
  • 曲线构建:
  • 产品定价:
  • 其他有用的函数
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档