金融数量分析8:Black-Scholes公式隐含波动率

标签:
杂谈 |
分类: matlab与金融分析 |
http://s16/mw690/6afc56004d445be99cbbf&690
>> [call,put]=blsprice(100,95,0.1,0.25,0.5)
call =
put = 6.3497
看涨期权隐含波动率方程的代码:
function f=ImpliedVolatitityCallObj
[Call,Put] = blsprice(Price, Strike, Rate, Time, Volatility);
f=Call-Callprice;
看跌期权隐含波动率方程的代码:
function f=ImpliedVolatitityPutObj(Volatility, Price, Strike,
Rate, Time, Putprice)
[Call,Put] = blsprice(Price, Strike, Rate, Time, Volatility);
f=Put-Putprice;
function
[Vc,Vp,Cfval,Pfval]=ImpliedVolatility(Price,Strike,Rate,Time,CallPrice,PutPrice)
Volatility0=1.0;
[Vc,Cfval] =fsolve(@(Volatility)
ImpliedVolatitityCallObj
[Vp,Pfval] =fsolve(@(Volatility)
ImpliedVolatitityPutObj(Volatility, Price, Strike, ...
Price=100;
Strike=95;
Rate=0.10;
Time=1.0;
CallPrice=15.0;
PutPrice=7.0;
[Vc,Vp,Cfval,Pfval]=ImpliedVolatility(Price,Strike,Rate,Time,CallPrice,PutPrice)
http://s1/mw690/6afc560007ba0b4622390&690
Strike=95;
Rate=0.10;
Time=1.0;
Volatility=0:0.1:2.0;
n=length(Volatility);
Call=zeros(n,1);
Put=zeros(n,1);
for i=1:n
end
subplot(2,1,1)
plot(Volatility,Call,'-*');
legend('CallPrice')
subplot(2,1,2)
plot(Volatility,Put,'-o');
legend('PutPrice')