一、本文大纲:

1.Python内置函数计算期权的价格

2.numpy加速数值计算

3.SciPy进行仿真模拟

4.SciPy求解器计算隐含波动率

5.matplotlib绘图

二、案例

(看不懂,略)

三、numpy加速数值计算

3.1使用循环的方式(对于这些不懂的或者升级的,代码都要仔细敲下来,加深印象)

import time

import numpy as np

port_test_size=range(1,10000,500)

timespent=[]

for size in port_teset_size:

  now=time.time()

  strikes=np.linspace(2.0,3.0,size)

`   for i in range(size):

    res=call_option_pricer(spot,strikes[i],maturity,r,vol)

  timespent.append(time.time()-now)

 

 

从下图中可以看出,计算时间的增长可以说是随着组合规模的增长线性上升。
from matplotlib import pylab
import seaborn as sns
font.set_size(15)
sns.set(style="ticks")
pylab.figure(figsize = (12,8))
pylab.bar(portfolioSize, timeSpent, color = 'r', width =300)
pylab.grid(True)
pylab.title(u'期权计算时间耗时(单位:秒)', fontproperties = font, f
ontsize = 18)
pylab.ylabel(u'时间(s)', fontproperties = font, fontsize = 15)
pylab.xlabel(u'组合数量', fontproperties = font, fontsize = 15)

 

posted on 2018-10-22 22:12  卧水漱石  阅读(166)  评论(0编辑  收藏  举报