Riskless bond (riskfree interest rate is 25%):
16 --- 20 -- 25
Stock price:
|- 225 |- 120 -| 64 -| |- 75 |- 40 -| |- 25
Derivative security (binary option paying 100 when the stock price is between 50 and 100 and paying zero otherwise):
|- 0 |- ? -| ? -| |- 100 |- ? -| |- 0
The actual probabilities are 2/3 for up and 1/3 for down at each node.
120 - 64 40 - 64 r = 25% u = -------- = 87.5% d = ------- = -37.5% 64 64 * r - d 25% - (-37.5%) 62.5% 1 pi = ----- = ---------------- = ----- = - u u - d 87.5% - (-37.5%) 125% 2 * * 1 pi = 1 - pi = - d u 2 check with the stock: 120/2 + 40/2 80 ------------ = ---- = 64 1.25 1.25
|- 0 0/2 + 100/2 | |- ----------- = 40 -| 40 | 1.25 | ---- = 32 -| |- 100 1.25 | 100/2 + 0/2 | |- ----------- = 40 -| 1.25 | |- 0
|- 40 32 -| |- 40 This is riskless, so just invest $32 in the bond and $0 in the stock.
This is a good way of betting that the stock will not go up or down too much, but only if your investment banker does not charge too much for the option!
The questions in this section are based on the Stochastic Volatility Option Pricing Applet in Homework 5. You should not need to use the complete program listings, but they are included at the end of the exam in case you would like to have a look at them.
Here is the method eurCall in SVPriceEngine, which computes the price of a European call option.public double eurCall(double stock,double strike,long nsimu) { long i,n; double x; x=0.0; for(n=0;n<nsimu;n++) { stockP = stock; sigma = sigma0; for(i=0;i<npers;i++) { stockP *= stocktotret(); } x += Math.max(stockP-strike,0);} return(x/((double) nsimu * Math.pow(r1per,(double) npers)));}
Change the line x += Math.max(stockP-strike,0);} to x += Math.max(strike-stockP,0);}
The variable x contains the running sum of the option values. After the for-loop completes, x contains the sum of all of them. When it is divided by nsimu, we have the average of the values, which is discounted to compute the option price.
Math.pow(r1per,(double) npers) is the factor used to discount the average option price.
It is hard because we do not know when to exercise. We know the value of an exercised option at each node, but we do not know the continuation value. By contrast, the binomial computes the continuation value at each point as it steps through the tree.
If expected repayments do not change much (as when market rates are much higher than the issue rate), the i.o. is like a bond and declines in value when the rate increases. If expected repayments fall significantly with the rate rise (as when the rates are at a new low in the life of the mortgages), the i.o. gains a longer life and increases in value.
Dan Scholz of NISA described how simulation was used to analyze the trade-off between tracking error and transaction costs to determine a cost-smart rebalancing strategy. (Many other answers are possible.