doput.m

来自「Matlab codes for financial models」· M 代码 · 共 19 行

M
19
字号
% DOPut.m
function P = DOPut(S0,X,r,T,sigma,Sb)
a = (Sb/S0)^(-1 + (2*r / sigma^2)); 
b = (Sb/S0)^(1 + (2*r / sigma^2)); 
d1 = (log(S0/X) + (r+sigma^2 / 2)* T) / (sigma*sqrt(T));
d2 = (log(S0/X) + (r-sigma^2 / 2)* T) / (sigma*sqrt(T));
d3 = (log(S0/Sb) + (r+sigma^2 / 2)* T) / (sigma*sqrt(T));
d4 = (log(S0/Sb) + (r-sigma^2 / 2)* T) / (sigma*sqrt(T));
d5 = (log(S0/Sb) - (r-sigma^2 / 2)* T) / (sigma*sqrt(T));
d6 = (log(S0/Sb) - (r+sigma^2 / 2)* T) / (sigma*sqrt(T));
d7 = (log(S0*X/Sb^2) - (r-sigma^2 / 2)* T) / (sigma*sqrt(T));
d8 = (log(S0*X/Sb^2) - (r+sigma^2 / 2)* T) / (sigma*sqrt(T));
P = X*exp(-r*T)*(normcdf(d4)-normcdf(d2) - ... 
    a*(normcdf(d7)-normcdf(d5))) ...
    - S0*(normcdf(d3)-normcdf(d1) - ...
    b*(normcdf(d8)-normcdf(d6)));


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?