代码基本都是改自优矿,但是因为有几个地方要解释一下,还是贴上来。还是涵盖了一些蛮基本的技巧。
期权价格一般以隐含波动率的形式报出。
站在现在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