盘一盘 Python 系列 - SciPy 进阶

本文详细介绍了Python的SciPy库在插值方面的应用,包括一维插值的内插与外插,以及二维插值的原理和示例。通过实例展示了使用`splrep`、`splev`、`interp1d`和`interp2d`等函数进行插值计算,并探讨了不同外插方法的影响。文章还涉及到在量化金融中的插值应用,如收益率曲线和波动率平面的插值。最后,文章通过一个利率上限估值的案例,演示了如何结合SciPy进行复杂金融产品的定价计算。
摘要由CSDN通过智能技术生成

本文含 8890 字,37 图表截屏

建议阅读 46 分钟

0

引言

本文是 Python 系列的 SciPy 补充篇。整套 Python 盘一盘系列目录如下:

在量化金融中,插值是个很常见的操作,即从一系列标准点对应的值”推出“非标准点的值,这个”推出“可以是内推 (interpolation),或称内插,也可以是外推 (extrapolation),或称外插。此外插值的维度可以是一维、二维甚至三维,在收益率曲线上插值用的是一维插值,在波动率平面上插值用的是二维插值。

收益率曲线插值:给定标准年限 t 和利率 r,如下图所示,对于非标准年限 t内插或者外插出 ri

波动率平面插值:给定标准年限 t、标准行权价 K,和波动率 σ,如下图所示,对于非标准年限 ti 和非标准行权价 Kj,内插或者外插出 σij。 

给定一组 (xi, yi),其中 i = 1, 2, ..., n,而且 xi 是有序的,称为「标准点」。插值就是对于任何新点 xnew,计算出对应的 ynew。换句话来说,插值就是在标准点之间建立分段函数 (piecewise function),把它们连起来。这样给定任意连续 x 值,带入函数就能计算出任意连续 y 值。

在 SciPy 中有个专门的函数 scipy.interpolate 是用来插值的,首先引进它并记为 spi。 

import scipy.interpolate as spi

本贴分三章,第一章讲一维插值,第二章讲二维插值,第三章结合前两章的知识点对真实的 USD cap 估值。

1

一维插值

1.1

内插

用 scipy.interpolate 来插值函数 sin(x) + 0.5x。

x = np.linspace(-2 * np.pi, 2 * np.pi, 11)
f = lambda x: np.sin(x) + 0.5 * x
f(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值