QuantLib 金融计算——数学工具之插值(一维插值方法)

概述
“插值”是量化金融中最常用的工具之一,已知一组离散点以及未知函数 f 在这些点上的值 (xi,f(xi))i∈{0,…,n},要近似求出任意一点 x∈[x0,xn] 上的函数值。

标准的应用场景是对收益率曲线、波动率微笑曲线和波动率曲面的插值。quantlib-python 提供了下列一维和二维插值方法:

插值方法数据维度
LinearInterpolation(1-D)
LogLinearInterpolation(1-D)
BackwardFlatInterpolation(1-D)
ForwardFlatInterpolation(1-D)
BilinearInterpolation(2-D)
BicubicSpline(2-D)

一维插值方法
一维插值方法常用于收益率曲线、波动率微笑曲线,其对象的构造基本如下:

myInt = XXXInterpolation(x, y)
x:浮点数序列,若干离散的自变量
y:浮点数序列,自变量对应的函数值,与 x 等长

插值类定义了 call 方法,一个插值类对象的使用方式如下,作为一个函数

myInt(x, allowExtrapolation)
x:浮点数,要插值的点
allowExtrapolation:布尔型,allowExtrapolation 为 True 意味着允许外推,默认值是 False。

import QuantLib as ql
import numpy as np

#
xVec = [0.0, 1.0, 2.0, 3.0, 4.0]
yVec = [np.exp(x) for x in xVec]
linInt = ql.LinearInterpolation(xVec, yVec)

print("Exp at 0.0  ", linInt(0.0))
print("Exp at 0.5  ", linInt(0.5))
print("Exp at 1.0  ", linInt(1.0))
Exp at 0.0   1.0
Exp at 0.5   1.8591409142295225
Exp at 1.0   2.718281828459045

其中:

yVec: 
[1.0,
 2.718281828459045,
 7.38905609893065,
 20.085536923187668,
 54.598150033144236]

参考文档:
https://www.cnblogs.com/xuruilong100/archive/2004/01/13/9873887.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值