波动率微笑

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

波动率微笑及曲面测试

周杨汪灏

实验目的

1、描绘期权隐含波动率与执行价格之间函数关系的图形。

实验原理

1、隐含波动率是将市场上的期权交易价格代入权证理论价格 Black-Scholes模型,反推

出来的波动率数值。由于期权定价BS模型给出了期权价格与五个基本参数之间的定量关系,只要将其中前4个基本参数及期权的实际市场价格作为已知量代入定价公式,就可以从中解出惟一的未知量,其大小就是隐含波动率。

验证过程

1、以上证50etf 4月、6月到期期权为例

2、利用b-s公式,反推出来隐含波动率,计算在不同K下的隐含波动率

3、画出不同k所对应的隐含波动率函数图像

代码

S0=2.789;

r=5/100;

T=[0.06];

K=[ 2.6 2.65 2.7 2.75 2.80 2.85];

c=[ 0.212 0.172 0.1366 0.1028 0.0797 0.0595];

IV=blsimpv(S0,K,r,T,c);

plot(K,IV);

>> S0=2.789;

r=5/100;

T=[0.23];

K=[2.6 2.65 2.7 2.75 2.80 2.85];

c=[ 0.2664 0.2331 0.2022 0.1758 0.1432 0.1261]; IV=blsimpv(S0,K,r,T,c);

plot(K,IV);

>> x=[2.6 2.65 2.7 2.75 2.80 2.85];

y=[0.48 0.23 0.06];

z=[0.2913 0.2915 0.2940 0.2846 0.2971 0.3022;

0.2509 0.2543 0.2565 0.2616 0.2493 0.2609;

0.2072 0.2034 0.2132 0.2175 0.2196 0.2386];

surf(x,y,z);

shading interp;

axis tight; grid on;

title('Implied Volatility Surface','Fontsize',24,'FontWeight','Bold','interpreter','latex'); xlabel('K','Fontsize',20,'FontWeight','Bold','interpreter','latex');

ylabel('T','Fontsize',20,'FontWeight','Bold','interpreter','latex');

zlabel('Implied Volatility ','Fontsize',20,'FontWeight','Bold','interpreter','latex');

set(gca,'Fontsize',16,'FontWeight','Bold','LineWidth',2);

结论与问题

1.描绘图形与基本假设一直,执行价格与隐含波动率函数关系图基本符合波动率微笑。

2.波动率微笑对看涨期权与看跌期权是一致的?存在的原因?期限增大时,波动变小?

附录:如何求解隐含波动率

Function ImpliedCallVolatility(UnderlyingPrice, ExercisePrice, Time, Interest, Target, Dividend) High = 5

Low = 0

Do While (High - Low) > 0.0001

If CallOption(UnderlyingPrice, ExercisePrice, Time, Interest, (High + Low) / 2, Dividend) > Target Then

High = (High + Low) / 2

Else: Low = (High + Low) / 2

End If

Loop

ImpliedCallVolatility = (High + Low) / 2

End Function

Function ImpliedPutVolatility(UnderlyingPrice, ExercisePrice, Time, Interest, Target, Dividend)

High = 5

Low = 0

Do While (High - Low) > 0.0001

If PutOption(UnderlyingPrice, ExercisePrice, Time, Interest, (High + Low) / 2, Dividend) > Target Then

High = (High + Low) / 2

Else: Low = (High + Low) / 2

End If

Loop

ImpliedPutVolatility = (High + Low) / 2

End Function

相关文档
最新文档