函数插值生成波动率曲面

本文介绍如何使用Python进行波动率曲面的插值,主要涉及到期权的隐含波动率,通过将日期转换为time-to-maturity并计算方差矩阵,然后利用scipy.interpolate.interp2d函数进行二维插值。最终,将插值结果调整为合适的格式用于制图。
摘要由CSDN通过智能技术生成

代码基本都是改自优矿,但是因为有几个地方要解释一下,还是贴上来。还是涵盖了一些蛮基本的技巧。

  • 期权价格一般以隐含波动率的形式报出。

    站在现在3月3日的时间节点上,可以看到未来date(2015,3,25), date(2015,4,25), date(2015,6,25), date(2015,9,25)几个时间节点的strike price以及对应的波动率——波动率矩阵(行为maturity,列为strike)

#全部代码:
import pandas as pd
import numpy as np
from datetime import *
from scipy import interpolate
from matplotlib import pylab
#市场上期权价格一般以隐含波动率的形式报出,一般来讲在市场交易时间,交易员可以看到类似的波动率矩阵(Volatilitie Matrix):
pd.options.display.float_format='{:,>.2f}'.format
dates=[date(2015,3,25), date(2015,4,25), date(2015,6,25), date(2015,9,25)]
strikes=[2.2, 2.3, 2.4, 2.5, 2.6]
blackVolMatrix=np.array([[ 0.32562851,  0.29746885,  0.29260648,  0.27679993],
                  [ 0.28841840,  0.29196629,  0.27385023,  0.26511898],
                  [ 0.27659511,  0.27350773,  0.25887604,  0.25283775],
                  [ 0.26969754,  0.25565971,  0.25803327,  0.25407669],
                  [ 0.27773032,  0.24823248,  0.27340796,  0.24814975]])

table=pd.DataFrame(blackVolMatrix*100,index=strikes,columns=dates)
table.index.name='Strike Price'
table.column
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值