problem set 4

9
Zach Savidge ECO 465 3/5/2014 Problem Set #4 Problem 1. 1a. %define variables S=52;K=50;r= .05; dy = .05; t=1/2;num_steps=125;dt=t/num_steps;sigma=.25; %calculate states and probability of up state u = (exp( (r-dy)*dt + sigma*sqrt(dt))); d = (exp( (r-dy)*dt - sigma*sqrt(dt))); p = (exp((r - dy)*dt) - d)/(u-d); %calculate stock price at each final node vec = [125:-1:0']; vec2= [0:1:125']; ST = S*(u.^vec).*(d.^vec2); %calculate call payoff at each node and probability of each node CPayoff = max (ST-K, 0); Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob) Call price =4.5679 1b. %define variables S=52; K=50; r=.05; d=1.30; exdiv =3/12; t=1/2; num_steps=125; dt=t/num_steps;sigma=.25; %Value of prepaid forward F = S - d^(-r*exdiv); %volatility of prepaid forward sigmaF = sigma * (S/F); %calculate u and d coefficients and probability of up-state u = exp( (r*dt + sigmaF*sqrt(dt))); d = exp( (r*dt - sigmaF*sqrt(dt))); p = (exp((r*dt)) - d)/(u-d); %calculate price of prepaid at end of period vec = [125:-1:0']; vec2= [0:1:125']; FT = F*(u.^vec).*(d.^vec2);

Upload: zach12345

Post on 28-Dec-2015

63 views

Category:

Documents


0 download

DESCRIPTION

Princeton ECO 363

TRANSCRIPT

 Zach  Savidge    ECO  465  3/5/2014    

Problem  Set  #4    

Problem  1.      1a.    %define variables S=52;K=50;r= .05; dy = .05; t=1/2;num_steps=125;dt=t/num_steps;sigma=.25; %calculate states and probability of up state u = (exp( (r-dy)*dt + sigma*sqrt(dt))); d = (exp( (r-dy)*dt - sigma*sqrt(dt))); p = (exp((r - dy)*dt) - d)/(u-d); %calculate stock price at each final node vec = [125:-1:0']; vec2= [0:1:125']; ST = S*(u.^vec).*(d.^vec2); %calculate call payoff at each node and probability of each node CPayoff = max (ST-K, 0); Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob)  Call  price  =4.5679    1b.  %define variables S=52; K=50; r=.05; d=1.30; exdiv =3/12; t=1/2; num_steps=125; dt=t/num_steps;sigma=.25; %Value of prepaid forward F = S - d^(-r*exdiv); %volatility of prepaid forward sigmaF = sigma * (S/F); %calculate u and d coefficients and probability of up-state u = exp( (r*dt + sigmaF*sqrt(dt))); d = exp( (r*dt - sigmaF*sqrt(dt))); p = (exp((r*dt)) - d)/(u-d); %calculate price of prepaid at end of period vec = [125:-1:0']; vec2= [0:1:125']; FT = F*(u.^vec).*(d.^vec2);

CPayoff = max (FT-K, 0); Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob)  Call  price  =  4.8092    Using  a  continuous  dividend  gave  a  price  that  was  4.5679/  4.8092-­‐1    =  5.02%  less  than  using  a  discrete  dividend.          1c.      %define variables S=52; K=50; r= .05; dy = .075; t=1/3; num_steps=125; dt=t/num_steps; sigma=.25; %calculate state coefficients and probabilities u = (exp( (r-dy)*dt + sigma*sqrt(dt))); d = (exp( (r-dy)*dt - sigma*sqrt(dt))); p = (exp((r - dy)*dt) - d)/(u-d); %calculate stock price in final nodes vec = [125:-1:0']; vec2= [0:1:125']; ST = S*(u.^vec).*(d.^vec2); %calculate call payouts and probabilities of payouts at final nodes CPayoff = max (ST-K, 0); Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob) Call  price  =  3.7140  with  a  continuous  dividend        %define variables S=52;K=50;r=.05; d=1.30; exdiv =3/12;t=1/3; num_steps=125; dt=t/num_steps;sigma=.25; %Value of prepaid forward F = S - d^(-r*exdiv); %volatility of prepaid forward sigmaF = sigma * (S/F); %calculate u and d coefficients and probability of up-state u = exp( (r*dt + sigmaF*sqrt(dt))); d = exp( (r*dt - sigmaF*sqrt(dt))); p = (exp((r*dt)) - d)/(u-d);

%calculate price of prepaid at end of period vec = [125:-1:0']; vec2= [0:1:125']; FT = F*(u.^vec).*(d.^vec2); CPayoff = max (FT-K, 0); Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob)    Call  price  =$  3.9414    The  price  using  continuous  dividends  is  3.7140/3.9414  –  1  =  %5.7695  less  that  when  discrete  dividends  are  used.      Hence  the  discrepancy  is  larger  when  the  maturity  is  shorter.      1d.    %define variables S=52; K=50; r=.05; d=1.30; exdiv =3/12; t=1/2; num_steps=125; dt=t/num_steps;sigma=.25; %Value of prepaid forward F = S - d^(-r*exdiv); %volatility of prepaid forward sigmaF = sigma * (S/F); %calculate u and d coefficients and probability of up-state u = exp( (r*dt + sigmaF*sqrt(dt))); d = exp( (r*dt - sigmaF*sqrt(dt))); p = (exp((r*dt)) - d)/(u-d); %calculate price of prepaid at end of period vec = [num_steps:-1:0']; vec2= [0:1:num_steps']; FT = F*(u.^vec).*(d.^vec2); %create Call payoff vector equal to normal call payoff if FT is less %than 70 and zero if FT is greater than zero CPayoff = [0:num_steps]; for i = 1:num_steps if FT(i)>70 CPayoff(i) = 0; else CPayoff(i)= max (FT(i)-K, 0);

end end Qprob = binopdf( (num_steps: -1:0)', num_steps, p); Cprice =exp(-r*t) * (CPayoff*Qprob) Call  price  =  $3.7068          Problem  2    2a.    We  discount  the  expected  option  payout  at  the  risk  free  rate  because  we  are  using  the  risk-­‐neutral  probability  of  each  option  payout  instead  of  its  true  probability.  If  we  were  to  determine  the  true  probability  of  each  stock  price,  and  hence  each  option  payout,  on  a  binomial  tree,  we  would  then  discount  by  an  appropriate  discount  rate  reflecting  the  fact  that  an  option  is  a  leveraged  investment  in  the  stock.  It  can  be  shown  mathematically  that  both  these  methods  produce  the  same  valuation  for  the  option,  so  the  more  simple,  risk-­‐neutral  method  is  typically  used.      2b.  A  difference  between  the  borrowing  and  lending  rate  would  lead  to  a  no-­‐arbitrage  band,  instead  of  a  singular  price  at  which  the  call  price  could  not  be  arbitraged.  Any  price  within  this  band  is  a  feasible  price  for  the  call.      To  calculate  this  band,  we  use  the  binomial  options  pricing  model,  first  setting  the  risk  free  rate  equal  to  the  borrowing  rate,  9%:    

Δ =20− 0

41(1.4634− .7317) = 2/3  

𝐵! = 𝑒!.!"1.4634 ∗ 0− .7317 ∗ 20

1.4634− .7317 = −18.2786    Hence  the  price  of  the  call  cannot  be  more  than  𝐶 = !

!∗ 41− 18.2786 = $9.0547,  or  

a  market  participant  would  go  short  the  call  and  offset  it  by  borrowing  money  and  longing  the  stock  to  lock  in  an  arbitrage  profit.      Next,  we  apply  the  binomial  pricing  model,  setting  the  risk  free  rate  equal  to  the  lending  rate.      

𝐵! = 𝑒!.!"1.4634 ∗ 0− .7317 ∗ 20

1.4634− .7317 = −18.6479  

Likewise,  the  price  for  the  call  cannot  be  less  than  𝐶 = !!∗ 41− 18.6479 = $8.6854  

or  a  market  participant  would  go  long  the  call  and  hedge  the  position  by  shorting  the  stock  and  lending  money.      So  a  reasonable  band  for  the  call  price  is  $8.6854  to  $9.0547    2c.  If  we  assume  the  investor  has  other  taxable  income,  losses  are  tax  deductible  and  hence  actually  have  a  tax  advantage.  Thus  the  economics  payout  in  the  down  state  for  the  stock  and  call  are:      

𝑉𝑎𝑙𝑢𝑒  𝑜𝑓  𝐶𝑎𝑙𝑙 = 𝐶! − 𝑡! 𝐶! − 𝐶  𝑉𝑎𝑙𝑢𝑒  𝑜𝑓  𝑆𝑡𝑜𝑐𝑘 = 𝑆! − 𝑡! 𝑆! − 𝑆  

Thus  we  can  create  a  system  of  two  equations:    Δ 𝑆! − 𝑡! 𝑆! − 𝑆 + 𝐵𝑒!" − 𝐵𝑒!" − 𝐵 𝑡! = 𝐶! − 𝑡! 𝐶! − 𝐶  

Δ 𝑆! − 𝑡! 𝑆! − 𝑆 + 𝐵𝑒!" − 𝐵𝑒!" − 𝐵 𝑡! = 𝐶! − 𝑡! 𝐶! − 𝐶    Solving  both  for  C  and  setting  them  equal  to  each  other  we  get:    

 Δ 𝑆! − 𝑡! 𝑆! − 𝑆 + 𝐵𝑒!" − 𝐵𝑒!" − 𝐵 𝑡! − 𝐶! + 𝑡! 𝐶!

𝑡!=Δ 𝑆! − 𝑡! 𝑆! − 𝑆 + 𝐵𝑒!" − 𝐵𝑒!" − 𝐵 𝑡! − 𝐶! + 𝑡! 𝐶!

𝑡!  

 Cancelling  terms  we  get:      

 

Δ 𝑆! − 𝑡! 𝑆! − 𝑆 − 𝐶! + 𝑡! 𝐶! =  Δ 𝑆! − 𝑡! 𝑆! − 𝑆 − 𝐶! + 𝑡! 𝐶!    Solving  for  delta  we  get:    

Δ =𝐶! 1− 𝑡! − 𝐶! 1− 𝑡!𝑆! 1− 𝑡! − 𝑆! 1− 𝑡!

=(𝐶! − 𝐶!) 1− 𝑡!𝑆(𝑢 − 𝑑) 1− 𝑡!

 

 By  no  arbitrage,  we  know  if  the  payouts  for  the  stock  and  bond  position  are  the  same  as  for  the  call,  the  price  to  enter  the  position  must  be  the  same  as  the  price  of  the  call:    

Δ𝑆 + 𝐵 = 𝐶    Thus  we  can  solve  for  B  by  plugging  our  delta  and  the  equation  above  back  into  one  of  our  original  equations:        

Δ 𝑆! − 𝑡! 𝑆! − 𝑆 + 𝐵𝑒!" − 𝐵𝑒!" − 𝐵 𝑡! = 𝐶! − 𝑡! 𝐶! − Δ𝑆 − 𝐵  𝐵𝑒!" − 𝐵𝑒!"𝑡! + 𝐵𝑡! + 𝐵𝑡! = 𝐶! − 𝑡!𝐶! + Δ(S𝑡! − 𝑑𝑆 + 𝑑𝑆𝑡! − 𝑆𝑡!)  𝐵 𝑒!" 1− 𝑡! + 𝑡! + 𝑡! = 𝐶! 1− 𝑡! + ΔS(𝑡! − 𝑡! − 𝑑 1− 𝑡! )  

 

Simplifying  this  expression  gives:    

𝐵 =1

𝑒!" ∗ 1− 𝑡!1− 𝑡!− 𝑡! − 𝑡!1− 𝑡!

∗ (𝑢𝐶! − 𝑑𝐶!𝑢 − 𝑑 −

Δ𝑆 ∗ 𝑡! − 𝑡!1− 𝑡! 1− 𝑡!

)  

 The  risk  neutral  probability  is  calculated  by  using  the  normal  formula  but  inserting  the  tax  

adjusted  risk  free  rate:  𝑝 =!!"∗!!!!!!!!

!!!!!!!!!!!!

!!!  

 When  the  three  tax  rates  are  set  equal  to  each  other,  they  cancel  from  the  above  equations  and  hence  do  not  affect  the  pricing  of  assets.  As  many  large  market  players  have  all  sources  of  income  taxed  at  the  same  rate,  in  practice  these  assets  can  be  priced  without  considering  the  tax  rate.      Problem  3    3a.  Asian  options  are  less  expensive  than  European  options  because  the  volatility  of  the  average  price  of  a  security  is  less  than  the  volatility  of  its  spot  price  and  the  price  of  an  option  increases  with  volatility.        3b.  The  question  is  somewhat  ambivalent  in  defining  the  strike  price.  I  interpret  the  question  to  mean  that  the  strike  price  is  equal  to  the  current  stock  price,  not  the  average  stock  price,    𝑒(!!!)! ,  hence  K  =  50.503.    The  option  takes  the  average  stock  prices  over  the  last  3  months,  but  because  we  are  only  constructing  a  15-­‐step  model,  this  time  frame  cannot  be  exactly  captured.  I  choose  to  take  the  average  over  the  last  8  nodes  to  best  capture  the  stock  price  in  the  last  3  months  before  expiration.        

%define variables S=50; r= .05; dy = .03; t=1/2; num_steps=15; dt=t/num_steps; sigma=.25; K =S*exp((r-dy)*t); %calculate state coefficients and probabilities u = (exp( (r-dy)*dt + sigma*sqrt(dt))); d = (exp( (r-dy)*dt - sigma*sqrt(dt))); p = (exp((r - dy)*dt) - d)/(u-d); %create a matrix of 1s and 0s with a row corresponding to each distinct %path the stock can take b =1; while length(b) ~= 2^num_steps x = binornd(1, .5, 1000000, num_steps); b = unique(x, 'rows');

end %set the 1s in the matrix to u and the 0s to d b = u.*b; for n = 1:2^num_steps; for i = 1:num_steps; if b(n,i)==0; b(n,i)=d; else b(n,i); end end end %multiply by the prepaid forward price to create a matrix of each dinstinct %path the stock can take. If the stock hits 70, set it equal to zero for the %remainder of the path. for n = 1:2^num_steps; b(n,1)=S*b(n,1); for i = 2:num_steps; b(n,i)=b(n,i)*b(n,i-1); end end %find the sum of the last 8 nodes in each distinct path and create a vector %of these sums SC = zeros(2^num_steps,1); for n = 1:2^num_steps; for i=8:num_steps; SC(n) = SC(n)+b(n,i); end end %find the average stock price over the last 8 nodes for each distinct path %from these sums SA=SC/8; %calculate the payoff of the option for each distinct path for n = 1:2^num_steps; Cpayoff(n) = max(SA(n) - K, 0); end %find the price of the call by summing the potential

payouts and dividing %them by the probability of any given distinct stock path Cprice = exp(-r*t) * sum(Cpayoff)*(1/(2^num_steps))

 Call  price  =  $3.1402    

   3c.  It  is  significantly  harder  to  value  because  it  is  path  dependent.      Below  is  MATLAB  code  for  valuing  this  option  assuming  it  has  the  same  characteristics  as  the  options  in  problem  1d.    The  price  of  the  call  comes  to  $4.0300    

%define variables S=52; K=50; r=.05; d=1.30; exdiv =3/12; t=1/2; num_steps=15; dt=t/num_steps;sigma=.25; %Value of prepaid forward F = S - d^(-r*exdiv); %volatility of prepaid forward sigmaF = sigma * (S/F); %calculate u and d coefficients and probability of up-state u = exp( (r*dt + sigmaF*sqrt(dt))); d = exp( (r*dt - sigmaF*sqrt(dt))); p = (exp((r*dt)) - d)/(u-d); %create a matrix of 1s and 0s with a row corresponding to each distinct %path the stock can take b =1; while length(b) ~= 2^num_steps x = binornd(1, .5, 1000000, num_steps); b = unique(x, 'rows'); end %set the 1s in the matrix to u and the 0s to d b = u.*b; for n = 1:2^num_steps; for i = 1:num_steps; if b(n,i)==0; b(n,i)=d; else b(n,i); end end

end %multiply by the prepaid forward price to create a matrix of each dinstinct %path the stock can take. If the stock hits 70, set it equal to zero for the %remainder of the path. for n = 1:2^num_steps; b(n,1)=F*b(n,1); for i = 2:num_steps; if b(n,i-1)>70 b(n,i)=0; else b(n,i)=b(n,i)*b(n,i-1); end end end %calculate the payoff of the option. Since we set the stock to 0 for all %paths which resulted in the stock going above 70, we can ignore this %feature of the call for n = 1:2^num_steps; Cpayoff(n) = max(b(n,num_steps) - K, 0); end %find the price of the call by summing the potential payouts and dividing %them by the probability of any given distinct stock path Cprice = exp(-r*t) * sum(Cpayoff)*(1/(2^num_steps))