function Matrix(j,i) % 参数的输入 S=varargin{1}; K=varargin{2}; T=varargin{3}; r=varargin{4}; Sigma=varargin{5}; N=varargin{6}; m=varargin{7}; h=varargin{8}; e=varargin{9}; c=varargin{10}; I1=varargin{11}; I2=varargin{12}; L=varargin{13}; DeltaT=T/N; %% 三叉树期权定价矩阵:Three_Call_Option_Pricing_Matrix % 初始化期权价格矩阵 Three_Call_Option_Pricing_Matrix=zeros(2*N+1,N+1); U=exp(Sigma*sqrt(3*DeltaT)); D=1/U; % 在Q测度下的风险中性概率 PU=1/6-(r-(Sigma*T/N)^2/2)*sqrt(DeltaT/(12*(Sigma*T/N)^2)); PM=2/3; PD=1/6+(r-(Sigma*T/N)^2/2)*sqrt(DeltaT/(12*(Sigma*T/N)^2)); if i<=m V(j,i)=S*U^(N-j) else V(j,i)=S*U^(N-j)*(1-20%) end for j=1:(2*N+1) Three_Call_Option_Pricing_Matrix(j,N+1)=max(V(j,i),V(j,i)*(1+e%)-I2,V(j,i)*(1-c%)+I1,L)-K; end
for i=N:-1:0 for j=1:(2*i+1) Matrix(j,i)=exp(-DeltaT*r)*(PU*Matrix(j,i+1)+PM*Matrix(j+1,i+1)+PD*Matrix(j+2,i+1)); end end
|