doputmccondold.m

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

M
25
字号
% DOPutMCCond.m
function [Pdo,CI,NCrossed] = DOPutMCCond(S0,X,r,T,sigma,Sb,NSteps,NRepl)
dt = T/NSteps;
[Call,Put] = blsprice(S0,X,r,T,sigma);
% Generate asset paths and payoffs for the down and in option
NCrossed = 0;
Payoff = zeros(NRepl,1);
for i=1:NRepl
   Path=AssetPaths1(S0,r,sigma,T,NSteps,1);
   tcrossed = min(find( Path <= Sb ));
   if isempty(tcrossed)
      payoff(i) = 0;
   else
      if tcrossed == NSteps + 1
         Paux = X - Path(tcrossed);
      else
         time = (tcrossed-1) * dt;
         [Caux,Paux] = blsprice(Path(tcrossed),X,r,T-time,sigma);
      end
      NCrossed = NCrossed + 1;
      Payoff(i) = exp(-r*time) * Paux;
   end
end
[Pdo, aux, CI] = normfit(Put - Payoff);

⌨️ 快捷键说明

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