DAFTAR PUSTAKA
Hull, John C. Options, Futures, and other Derivatives. 1997. New Jersey : Prentice
Hall
Kwok, Yue-Kuen. Mathematical Model of Financial Derivatives. 1998. Singapore :
Springer-Verlag.
Ross, Sheldon. An Introduction to Mathematical Finance. 1999. USA : Cambridge
University Press.
Taylor, Howard M. and Karlin, Samuel. An Introduction to Stochastic Modeling
(Revised Edition). 1994. USA : Academic Press.
Wheeden, Richard L. and Zygmund, Antoni. Measure and Integral. 1997. USA :
MARCEL DEKKER, INC.
LAMPIRAN A
Date Close 21/06/2007 14250 20/06/2007 14450 19/06/2007 13600 18/06/2007 13600 15/06/2007 13800 14/06/2007 14100 13/06/2007 14800 12/06/2007 14900 11/06/2007 15300 08/06/2007 15350 07/06/2007 15300 06/06/2007 15250 05/06/2007 15650 04/06/2007 15750 31/05/2007 15100 30/05/2007 15000 29/05/2007 14600 28/05/2007 14550 25/05/2007 14450 24/05/2007 14500 23/05/2007 14850 22/05/2007 14400 21/05/2007 14350 16/05/2007 14700 15/05/2007 14850 14/05/2007 14900 11/05/2007 14800 10/05/2007 15000 09/05/2007 14850 08/05/2007 14850 07/05/2007 15050 04/05/2007 15450 03/05/2007 15600 02/05/2007 15950 01/05/2007 15900 30/04/2007 15750 27/04/2007 15600 26/04/2007 16200 24/04/2007 14550 23/04/2007 14700 20/04/2007 14100 19/04/2007 14050 18/04/2007 14600 17/04/2007 14750 16/04/2007 14450 13/04/2007 14200 12/04/2007 14250 11/04/2007 13800 10/04/2007 14250 09/04/2007 13950 05/04/2007 13650 04/04/2007 13750 03/04/2007 13550 02/04/2007 13000 30/03/2007 12600 29/03/2007 12550 28/03/2007 12450 27/03/2007 12700 26/03/2007 12700 23/03/2007 12150 22/03/2007 12150 21/03/2007 12050 20/03/2007 11900 16/03/2007 12200 15/03/2007 12300 14/03/2007 12250 13/03/2007 12500 12/03/2007 12500 09/03/2007 12250 08/03/2007 12450 07/03/2007 12300 06/03/2007 12100 05/03/2007 12050 02/03/2007 12600 01/03/2007 12600 28/02/2007 12550 27/02/2007 12900 26/02/2007 13250 23/02/2007 13400 22/02/2007 13550 21/02/2007 13350 20/02/2007 13400 16/02/2007 13400 15/02/2007 13350 14/02/2007 12700 13/02/2007 12550 12/02/2007 12700 09/02/2007 13000 08/02/2007 12900 07/02/2007 12900 06/02/2007 12850 05/02/2007 12900 02/02/2007 12800 01/02/2007 12800 31/01/2007 13200 30/01/2007 13500 29/01/2007 13500 26/01/2007 12950 25/01/2007 13100 24/01/2007 13950 23/01/2007 14100 22/01/2007 14400 19/01/2007 13900 18/01/2007 14200 17/01/2007 13600 16/01/2007 13400 15/01/2007 12700 12/01/2007 12050 11/01/2007 11750 10/01/2007 11500 09/01/2007 11800 08/01/2007 12250 05/01/2007 12450 04/01/2007 12850 03/01/2007 13000 02/01/2007 12800 28/12/2006 12600 27/12/2006 12550 26/12/2006 12300 22/12/2006 12000 21/12/2006 12050 20/12/2006 11500 19/12/2006 10950 18/12/2006 11450 15/12/2006 11100 14/12/2006 10950 13/12/2006 11000 12/12/2006 11300 11/12/2006 11250 08/12/2006 11150 07/12/2006 1135006/12/2006 11300 05/12/2006 11350 04/12/2006 11150 01/12/2006 11500 30/11/2006 10650 29/11/2006 10550 28/11/2006 10500 27/11/2006 10800 24/11/2006 10600 23/11/2006 10600 22/11/2006 10800 21/11/2006 10400 20/11/2006 10300 17/11/2006 10300 16/11/2006 10450 15/11/2006 10500 14/11/2006 10500 13/11/2006 10100 10/11/2006 10300 09/11/2006 10200 08/11/2006 10200 07/11/2006 10500 06/11/2006 10550 03/11/2006 10550 02/11/2006 10100 01/11/2006 9850 31/10/2006 9750 30/10/2006 9900 20/10/2006 9400 19/10/2006 9000 18/10/2006 9000 17/10/2006 9050 16/10/2006 9100 13/10/2006 9100 12/10/2006 9100 11/10/2006 9250 09/10/2006 9100 06/10/2006 9200 05/10/2006 9050 04/10/2006 9100 03/10/2006 9300 02/10/2006 8900 29/09/2006 9100 28/09/2006 9050 27/09/2006 8800 26/09/2006 8700 25/09/2006 8700 22/09/2006 8700 21/09/2006 8750 20/09/2006 8800 19/09/2006 8900 18/09/2006 8850 15/09/2006 9000 14/09/2006 9000 13/09/2006 8700 12/09/2006 8400 11/09/2006 8800 08/09/2006 8900 07/09/2006 9100 06/09/2006 9300 05/09/2006 9450 04/09/2006 9550 01/09/2006 9600 31/08/2006 9200 30/08/2006 8800 29/08/2006 9050 28/08/2006 9050 25/08/2006 9050 24/08/2006 8800 23/08/2006 8600 22/08/2006 8400 16/08/2006 8450 15/08/2006 8500 14/08/2006 8500 11/08/2006 8500 10/08/2006 8600 09/08/2006 8900 08/08/2006 8650 07/08/2006 8400 04/08/2006 8250 03/08/2006 8250 02/08/2006 8300 01/08/2006 8300 31/07/2006 8350 28/07/2006 8400 27/07/2006 8650 26/07/2006 8750 25/07/2006 8050 24/07/2006 7650 21/07/2006 7550 20/07/2006 7400 19/07/2006 7100 18/07/2006 6750 17/07/2006 6800 14/07/2006 6850 13/07/2006 6950 12/07/2006 6950 11/07/2006 6800 10/07/2006 6900 07/07/2006 7000 06/07/2006 7000 05/07/2006 6950 04/07/2006 6700 03/07/2006 6500 30/06/2006 6500 29/06/2006 6400 28/06/2006 6400 27/06/2006 6450 26/06/2006 6500 23/06/2006 6700 22/06/2006 6700 21/06/2006 6850
LAMPIRAN B
Program Matlab 7.0 Mencari Hampiran Harga Lookback Options
1.
Penaksiran harga floating lookback options
S0 % Harga saham awal
N % Jumlah subselang
T % Time to Maturity
sigma % Standar deviasi harga saham
r % Suku bunga
dt = T/N; % Time step
u = exp(sigma*sqrt(dt)); % Faktor kenaikan d = 1/u; % Faktor penurunan p = (exp(r*dt)-d)/(u-d); % Peluang saham naik q = 1-p; % Peluang saham turun
% --- Metode Binomial --- %
YP = zeros(N+1,N+1); % Vektor Y(t) untuk put YC = zeros(N+1,N+1); % Vektor Y(t) untuk call
VPE = zeros(N+1,N+1); % Matriks binomial opsi put eropa VCE = zeros(N+1,N+1); % Matriks binomial opsi call eropa VPA = zeros(N+1,N+1); % Matriks binomial opsi put amerika VCA = zeros(N+1,N+1); % Matriks binomial opsi call amerika
for ia=2:(N+1) for i=1:ia YP(i,ia) = u^(ia-i); YC(i,ia) = d^(i-1); end end YC(1,1) = 1; YP(1,1) = 1; for ib=1:(N+1) VPE(ib,N+1) = YP(ib,N+1)-1;
70
VCE(ib,N+1) = 1-YC(ib,N+1); VPA(ib,N+1) = YP(ib,N+1)-1; VCA(ib,N+1) = 1-YC(ib,N+1); end
for j=N:-1:2 % keadaan saat t(j) for kp=1:(j-1)
VPE(kp,j) = exp(-r*dt)* max((q*VPE(kp,j+1)*d+ p*VPE(kp+2,j+1)*u),0); VPA(kp,j) = max((exp(-r*dt)*(q*VPA(kp,j+1)*d+ p*VPA(kp+2,j+1)*u)),(YP(kp,j)-1)); end VPE(j,j) = exp(-r*dt)*max((q*VPE(j,j+1)*d+ p*VPE(j+1,j+1)*u),0); VPA(j,j) = max((exp(-r*dt)*(q*VPA(j,j+1)*d+ p*VPA(j+1,j+1)*u)),(YP(j,j)-1)); VCE(1,j) = exp(-r*dt)*max((q*VCE(1,j+1)*d+ p*VCE(2,j+1)*u),0); VCA(1,j) = max((exp(-r*dt)*(q*VCA(1,j+1)*d+ p*VCA(2,j+1)*u)),(1-YC(1,j))); for kc=2:j VCE(kc,j) = exp(-r*dt)*max((q*VCE(kc-1,j+1)*d+ p*VCE(kc+1,j+1)*u),0); VCA(kc,j) = max((exp(-r*dt)*(q*VCA(kc-1,j+1)*d+ p*VCA(kc+1,j+1)*u)),(1-YC(kc,j))); end end VPE(1,1) = exp(-r*dt)*max((q*VPE(1,2)*d+p*VPE(2,2)*u),0); VPA(1,1) = max((exp(-r*dt)*(q*VPA(1,2)*d+p*VPA(2,2)*u)), (YP(1,1)-1)); VCE(1,1) = exp(-r*dt)*max((q*VCE(1,2)*d+p*VCE(2,2)*u),0); VCA(1,1) = max((exp(-r*dt)*(q*VCA(1,2)*d+p*VCA(2,2)*u)), (1-YC(1,1))); PutE = VPE(1,1)*S0; CallE = VCE(1,1)*S0;
71
PutA = VPA(1,1)*S0; CallA = VCA(1,1)*S0;
disp(['Nilai Lookback Floating Put Eropa (PutE) : ', num2str(PutE)]);
disp(['Nilai Lookback Floating Call Eropa (CallE) : ', num2str(CallE)]);
disp('========================================================'); disp('========================================================');
disp(['Nilai Lookback Floating Put Amerika (PutA) : ', num2str(PutA)]);
disp(['Nilai Lookback Floating Call Amerika (CallA) : ', num2str(CallA)]);
disp('========================================================');
2.
Penaksiran harga fixed lookback options
(fixed call)
S0 % Harga saham awal
K % Strike Price
n % Jumlah subselang
r % Suku bunga
T % Time to Maturity
dt = T/(n-1);
sigma %Standar deviasi harga saham
u = exp(sigma*sqrt(dt)); % Faktor kenaikan d = 1/u; % Faktor penurunan p = (exp(r*dt)-d)/(u-d); % Peluang saham naik q = 1-p; % Peluang saham turun
ID = triu(ones(n,n)); j=0; for baris=2:(n-1) for kolom=baris:n j=j+1; if j>baris j=baris; end ID(baris,kolom) = j; end j=0; end sizeF = ceil(n/2);
F = zeros(n,sizeF); %matriks payoff Eropa FA = zeros(n,sizeF); %matriks payoff Amerika S = zeros(n,1); for barS=1:n; S(barS,1) = S0*u^(n-barS); end for barF=1:n isiF = ID(barF,n); js = barF; for kolF=1:isiF F(barF,kolF) = max(S(js,1)-K,0); FA(barF,kolF) = max(S(js,1)-K,0); js = js+1; end end for back=(n-1):-1:2 sizeF = ceil(back/2);
73
%---Matriks evaluasi untuk Amerika---% cekFA = zeros(back,sizeF); S = zeros(back,1); for barS=1:back S(barS,1) = S0*u^(back-barS); end for barFA=1:back isiFA = ID(barFA,back); jsA = barFA; for kolFA=1:isiFA cekFA(barFA,kolFA) = max(S(jsA,1)-K); jsA = jsA+1; end end %--- Fsem = zeros(back,sizeF); FAsem = zeros(back,sizeF); ceku = 1; ku = 1;
for bku=2:back % barisFsem iku = ID(bku,back); % banyak elemen for barfsem=1:iku ku = ku+1; if barfsem>ceku ku = ku-1; end Fsem(bku,barfsem) = exp(-r*dt)*(p*F(bku,ku)+ q*F(bku+1,barfsem)); FAsem(bku,barfsem) = max(exp(-r*dt)*(p*F(bku,ku)+ q*F(bku+1,barfsem)),cekFA(bku,ba rfsem)); end ku = 1; ceku = iku; end Fsem(1,1) = exp(-r*dt)*(p*F(1,1)+q*F(2,1)); FAsem(1,1) = max(exp(-r*dt)*(p*F(1,1)+q*F(2,1)),cekFA(1,1)); F = zeros(back,sizeF); FA = zeros(back,sizeF); for tranbF=1:back for trankF=1:sizeF F(tranbF,trankF) = Fsem(tranbF,trankF); FA(tranbF,trankF) = FAsem(tranbF,trankF); end end end opsiE = exp(-r*dt)*(p*F(1,1)+q*F(2,1)) opsiA = exp(-r*dt)*(p*FA(1,1)+q*FA(2,1))
74
(fixed )put
S0 % Harga saham awal
K % Strike Price
n % Jumlah subselang
r % Suku bunga
T % Time to maturity
dt = T/(n-1);
sigma %Standar deviasi harga saham
u = exp(sigma*sqrt(dt)); % Faktor kenaikan d = 1/u; % Faktor penurunan p = (exp(r*dt)-d)/(u-d); % Peluang saham naik q = 1-p; % Peluang saham turun
ID = triu(ones(n,n)); j=0; for baris=2:(n-1) for kolom=baris:n j=j+1; if j>baris j=baris; end ID(baris,kolom) = j; end j=0; end sizeF = ceil(n/2);
F = zeros(n,sizeF); % matriks payoff Eropa FA = zeros(n,sizeF); % matriks payoff Amerika
S = zeros(n,1); for barS=1:n; S(barS,1) = S0*d^(barS-1); end for barF=n:-1:1 isiF = ID(barF,n); js = barF; for kolF=1:isiF F(barF,kolF) = max(K-S(js,1),0); FA(barF,kolF) = max(K-S(js,1),0); js = js-1; end end
for back=(n-1):-1:2 % step per waktu sizeF = ceil(back/2);
%---Matriks evaluasi untuk Amerika---% cekFA = zeros(back,sizeF); S = zeros(back,1); for barS=1:back S(barS,1) = S0*d^(barS-1); end for barFA=back:-1:1 isiFA = ID(barFA,back); jsA = barFA; for kolFA=1:isiFA cekFA(barFA,kolFA) = max(K-S(jsA,1),0); jsA = jsA-1; end end %--- Fsem = zeros(back,sizeF); FAsem = zeros(back,sizeF); cekd = 1; kd = 1;
for bkd=(back-1):-1:1 %step per baris ikd = ID(bkd,back); %jumlah elemen for barfsem=1:ikd kd = kd+1; if barfsem>cekd kd=kd-1; end Fsem(bkd,barfsem) = exp(-r*dt)*(p*F(bkd,barfsem)+ q*F(bkd+1,kd)); FAsem(bkd,barfsem) = max(exp(-r*dt)*(p*F(bkd,barfsem) +q*F(bkd+1,kd)), cekFA(bkd,barfsem)); end kd = 1; cekd = ikd; end Fsem(back,1) = exp(-r*dt)*(p*F(back,1)+q*F(back+1,1)); FAsem(back,1) = max(exp(-r*dt)*(p*F(back,1)+q*F(back+1,1)), cekFA(back,1)); F = zeros(back,sizeF); FA = zeros(back,sizeF); for tranbF=1:back for trankF=1:sizeF F(tranbF,trankF) = Fsem(tranbF,trankF); FA(tranbF,trankF) = FAsem(tranbF,trankF); end end end opsiE = exp(-r*dt)*(p*F(1,1)+q*F(2,1)) opsiA = exp(-r*dt)*(p*FA(1,1)+q*FA(2,1))