HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp(...
-
Upload
leslie-dominic-watson -
Category
Documents
-
view
214 -
download
0
Transcript of HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp(...
![Page 1: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/1.jpg)
HW8
![Page 2: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/2.jpg)
OIL BOND
𝑏𝑜𝑛𝑑𝑝𝑟𝑖𝑐𝑒={ $1000 ,𝑜𝑖𝑙<25$1000+(𝑜𝑖𝑙−25 )×$170 ,25≤𝑜𝑖𝑙≤40
$3550 ,𝑜𝑖𝑙>40
![Page 3: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/3.jpg)
OIL BOND - CODE
S = 30;
r = 0.02;
sigma = 0.06;
T = 1;
N = 10;
deltaT = T/N;
u = exp( sigma * sqrt(deltaT) );
d = 1/u;
p = ( exp( r * deltaT ) - d ) / ( u - d );
for i = 0 : N
oilp(i+1) = S * u^(N-i) * d^(i);
if oilp(i+1)<25
oilp(i+1) = 25;
elseif oilp(i+1)>40
oilp(i+1) = 40;
end
oilp(i+1) = 1000+( oilp(i+1) -25)*170;
end
![Page 4: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/4.jpg)
OIL BOND – CODE (CONTI.)
for i = N : -1 : 1
for j = 0 : i-1
oilp(j+1) = exp(-r*deltaT) * ( oilp(j+1)*p + oilp(j+2)*(1-p) );
end
oillattice(1:i,i) = oilp(1:i);
end
format short g
oilp(1,1)
oillattice
![Page 5: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/5.jpg)
![Page 6: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/6.jpg)
INDEX CURRENCY OPTION NOTES
![Page 7: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/7.jpg)
INDEX CURRENCY OPTION NOTES
- CODES = 102;
r = 0.02;
sigma = 0.102;
T = 1;
N = 10;
deltaT = T/N;
u = exp( sigma * sqrt(deltaT) );
d = 1/u;
p = ( exp( r * deltaT ) - d ) / ( u - d );
for i = 0 : N
currp(i+1) = S * u^(N-i) * d^(i);
if currp(i+1)>169
currp(i+1) = 1000;
elseif currp(i+1)<84.5
currp(i+1) = 0;
else
currp(i+1) = 1000-(1000*(169/currp(i+1)-1)) ;
end
end
![Page 8: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/8.jpg)
INDEX CURRENCY OPTION NOTES
- CODE (CONTI.)for i = N : -1 : 1
for j = 0 : i-1
currp(j+1) = exp(-r*deltaT) * ( currp(j+1)*p + currp(j+2)*(1-p) );
end
currlattice(1:i,i) = currp(1:i);
end
format short g
currp(1,1)
currlattice
![Page 9: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/9.jpg)
![Page 10: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/10.jpg)
MONTE CARLO PUT OPTION
function [ cp, pp, CIc, CIp] = blsMC( S, K, r, T, sigma, NRepl )
nuT = (r - 0.5*sigma^2) * T;
siT = sigma * sqrt(T);
c_payoffs = exp(-r*T) * max(0, S*exp(nuT + siT*randn(NRepl,1)) -K );
p_payoffs = exp(-r*T) * max(0, K - S*exp(nuT + siT*randn(NRepl,1)) );
[cp, varc, CIc] = normfit(c_payoffs);
[pp, varp, CIp] = normfit(p_payoffs);
end
![Page 11: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/11.jpg)
DEMO
S = 50; K = 50; r = 0.1; T = 1; sigma = 0.2; lamda = 1.2;
[blsout_c, blsout_p] = blsprice(S,K,r,T,sigma);
bls = ones(100) * blsout_p;
for i = 1:100
[bitc(i), bitp(i)] = bitprice(S,K,r,T,sigma,i,0);
[tric(i), trip(i)] = triprice(S,K,r,T,sigma,lamda,i,0);
[MCc(i), MCp(i), temp1,temp2] = blsMC(S,K,r,T,sigma,i*100);
CId(i) = temp2(2)-temp2(1);
end
![Page 12: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/12.jpg)
![Page 13: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/13.jpg)
![Page 14: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/14.jpg)
CASH OR NOTHING
function [ cp, pp ] =
blsMC2( S, K, C, r, T, sigma, NRepl )
nuT = (r - 0.5*sigma^2) * T;
siT = sigma * sqrt(T);
pvC = exp(-r*T) * C;
Stock = S*exp(nuT + siT*randn(NRepl,1));
for i = 1:NRepl
c_payoffs(i) = 0;
p_payoffs(i) = 0;
if Stock(i) > K
c_payoffs(i) = pvC;
elseif Stock(i) < K
p_payoffs(i) = pvC;
end
end
[cp, varc, CIc] = normfit(c_payoffs);
[pp, varp, CIp] = normfit(p_payoffs);
end
![Page 15: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/15.jpg)
DEMO
S = 50; K = 50; C = 10; r = 0.1; T = 1; sigma = 0.2; NRpel = 10000;
for TS = 1:100
[MC1c(TS), MC1p(TS)] = blsMC2(TS,K,C,r,T,sigma,NRpel);
End
figure;
plot(MC1c);
hold on;
plot(MC1p,'color',[1 0 0.5]);
title('Cash or Nothing');
![Page 16: HW8. OIL BOND OIL BOND - CODE S = 30; r = 0.02; sigma = 0.06; T = 1; N = 10; deltaT = T/N; u = exp( sigma * sqrt(deltaT) ); d = 1/u; p = ( exp( r * deltaT.](https://reader036.fdocuments.net/reader036/viewer/2022062720/56649f0a5503460f94c1e472/html5/thumbnails/16.jpg)