⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dekcev.m

📁 用matlab实现障碍期权的复制
💻 M
字号:
function [output value]=DEKCEV(int,up,out,So,strike,B,term,...
sigma,r,q,Y,time,tau,K)
n=length(time);
P=zeros(n,n);
M=term; [Call,Put] = CEVprice(B,strike,r,term,sigma,time,Y,q);
NBV=flipud((Call.*int+Put.*(1-int))');
for i=1:n;
[Call,Put] = CEVprice(B,K(1,n+1-i),r,tau(1,n-i+1),sigma,...
time(1:1,1:n-i+1),Y,q);
P(i:i,1:n-i+1)=Call.*up+Put.*(1-up);
end;
P=flipud(fliplr(P'));
alphaout=P\(-NBV);
[Call,Put] = CEVprice(So,K,r,tau,sigma,0,Y,q);
[C1,P1] = CEVprice(So,strike,r,term,sigma,0,Y,q);
pricevec=[C1*int+P1*(1-int),Call*up+Put*(1-up)];
valueout=dot(pricevec',[1;alphaout]);
% Output 1: Value of replicating portfolio.
% ----------------------------------------
value=(C1*int+P1*(1-int)-valueout)*(1-out)+valueout*out;
% Output 2: Positions that need to be taken.
% ------------------------------------------
alpha=([1;zeros(n,1)]-[1;alphaout])*(1-out)+[1;alphaout]*out;
Type=[2*int-1; (up*2-1)*ones(n,1)];
output=[alpha [strike K]' [term tau]' Type pricevec'];
disp(' Position Strike Maturity Type Price');
disp(output);

⌨️ 快捷键说明

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