Users/Robertjfrey/Documents/Work
Total Page:16
File Type:pdf, Size:1020Kb
AMS 511.01 - Foundations Class 11A Robert J. Frey Research Professor Stony Brook University, Applied Mathematics and Statistics [email protected] http://www.ams.sunysb.edu/~frey/ In this lecture we will cover the pricing and use of derivative securities, covering Chapters 10 and 12 in Luenberger’s text. April, 2007 1. The Binomial Option Pricing Model 1.1 – General Single Step Solution The geometric binomial model has many advantages. First, over a reasonable number of steps it represents a surprisingly realistic model of price dynamics. Second, the state price equations at each step can be expressed in a form indpendent of S(t) and those equations are simple enough to solve in closed form. 1+r D-1 u 1 1 + r D 1 + r D y y ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = u fl u = 1+r D u-1 u 1+r-u 1 u 1 u yd yd ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ1+r D ÅÅÅÅÅÅÅÅ1 uêÅÅÅÅ-ÅÅÅÅu ÅÅ H L H ê L i y As we will see shortlyH weL Hwill solveL the general problemj by solving a zsequence of single step problems on the lattice. That K O K O K O K O j H L H ê L z sequence solutions can be efficientlyê computed because wej only have to zsolve for the state prices once. k { 1.2 – Valuing an Option with One Period to Expiration Let the current value of a stock be S(t) = 105 and let there be a call option with unknown price C(t) on the stock with a strike price of 100 that expires the next three month period. We’ll use a single binomial step, so D = 0.25 months. For the period of t to t+D the risky return is u = 110%; the binomial probability is Pu = 0.50, and the annual risk free rate is r = 0.04. 1 1 + r D 1 + r D 1 1.01 1.01 y y S t = u S t S t u u fl 105 = 115.50 95.45 u y y C t max u S t - K, 0 max S t u - K, 0 d C t 15.5 0 d H L H L ji zy ji zy ji zy ji zy j z j z j z j z We can solvej H L thez firstj two equationsH L for the stateH pricesL ê usingz Kthe closedO formj solutionz j z K O j z j z j z j z k H L { k 1+r D-@ 1 u H L D 1+0.04µ@0.25H L-ê1 1.10 D { k H L { y ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ 0.523 k { u = 1+r D u-1 u = 1+0.04µ0.25 1.10-1 1.10 = 1+r D-u 1+0.04µ0.25-1.10 yd 0.467 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ1+r D ÅÅÅÅÅÅÅÅ1 uêÅÅÅÅ-ÅÅÅÅu ÅÅ ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ1+0.04µ0.25 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ1 1.10ê -ÅÅÅÅÅÅÅÅ1.10ÅÅÅÅÅ H L H ê L H L H ê L i y i y If we take these valuesj and substitutez j them into the last rowz we realize a call premium of C(t) > 5.23. K O j H L H ê L z j H L H ê L z K O j è z j z The risk neutral kmeasure P is { k { 2 ams-511-lec-11A-p.nb è Pu 1 yu 1 0.673 0.529 è = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = Pd 1 + r D yd 1 + 0.01 0.288 0.471 It is remarkablei y but, other than meeting the requirement that 0 < P < 1, the ordinary probability measure does not play a role j z u in the solution.j z K O K O K O k { 1.3 – The General Binomial Option Pricing Model We’ll return to the example above but now assume that the option expires is six months, but we wish to model the stock price evolution using two lattice steps. The binomial lattice for the stock is then 127.05 115.50 105.00 105.00 95.45 86.78 As before, the risk neutral measure is è Pu 0.529 è = Pd 0.471 The “leaves”i y of the lattice above occur at expiry, so for each price node we can calculate the value of the call option. This j z gives us jthe z K O k { 27.05 5.00 0.00 è T T 1 Pu 27.05 1 0.529 27.05 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ è = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = 16.49 1 + r D Pd 5.00 1.01 0.471 5.00 i è yT T 1 j Pu z 5.00 1 0.529 5.00 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ j è z K O= ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ K O K =O 2.62 1 + r D k Pd { 0.00 1.01 0.471 0.00 i y j z j z K O K O K O k { ams-511-lec-11A-p.nb 3 We can now add this information to the lattice. 27.05 16.49 5.00 2.62 0.00 è T T 1 Pu 16.49 1 0.529 16.49 ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ è = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = 9.85 1 + r D Pd 2.62 1.01 0.471 2.62 This allows us toi completey the lattice. The value at the “root”, 9.85, is the value of the call option. j z j z K O K O K O k { 27.05 16.49 9.85 5.00 2.62 0.00 1.4 – Calibrating the Model to Market Data For a given stepsize D we have two free parameters in the geometric binomial model: Pu and u. As was shown earlier, with a sufficient number of steps the log price tends towards a Normal distribution. The calibration of the geometric binomial model at stepsize D, therefore, involves selecting a set of parameters Pu and u so that the mean and standard deviation of the log price are matched. S t + 1 m = E log ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ S t + 2 H S t L 1 s = VarC Clog ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅGGÅÅÅÅÅÅÅÅ H LS t 1 m H L Pu = ÅÅÅÅÅ 1C + CÅÅÅÅÅÅÅ D GG 2 s H L s D u = e è!!!! J N è!!!! 4 ams-511-lec-11A-p.nb 1.5 – Mathematica Code This code is not the most efficient; it’s meant to illustrate the computations in the simplest terms. Each step or level in the lattice is represented by a list. The entire lattice is a list of such lists, e.g., {{x11},. {x21, x22}, {x31, x32, x33}, ...}. The function fLatticeForwardStep takes one level of the lattice and produces the successor level using the supplied nUpFactor. fLatticeForwardStep vnOneLevel_, nUpFactor_ := Append vnOneLevel nUpFactor, Last vnOneLevel nUpFactor ; è The function fRiskNeutralMeasure calculates the value of Pu assuming a geometric binomial model. @ D fRiskNeutralMeasure nRiskFree_, DTime_, nUpFactor_ := @ @ D ê D -1 + nUpFactor + nRiskFree nUpFactor DTime ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ ; -1 + nUpFactor2 @ D These functions are used at the leaves of the undelying’s lattice to compute the leaves of the option’s lattice. fCallAtExpiry nNowPrice_, nStrikePrice_ := Max nNowPrice - nStrikePrice, 0 ; fPutAtExpiry nNowPrice_, nStrikePrice_ := Max nStrikePrice@ - nNowPrice, 0 ; D @ D fLatticeBackStep vnOneLevel_, nRiskFree_,@ DTime_, nRiskNeutralProb_D := Module i@, D Table @ nRiskNeutralProb vnOneLevel i + 1D- nRiskNeutralProb@ 8 < vnOneLevel i + 1 1 + nRiskFree DTime , i, 1@, Length vnOneLevel - 1 H P T H L ; P TL ê H L 8 @ D < D D ams-511-lec-11A-p.nb 5 This is the top-level function. It returns the risk neutral measure, the underlying’s “forward” lattice, and the option’s “backward” lattice. Note that the forward and backward lattices, whose variables I’ve somewhat incorrectly called trees in the code, are computed by using NestList to recursively apply fLatticeForwardStep from the root to the leaves and then fLatticeBackStep from the leaves to the root. The last parameter is a character with “c” for a call and “p” for a put. fGeometricBinomialOption nNowPrice_, nUpFactor_, nStrikePrice_, nRiskFree_, iIntervals_, DTime_, cPutCall_ := Module vvnBackwardTree, @ vnExpiryPrice, vvnForwardTree, nRiskNeutralProb , vvnForwardTree = NestListD @ 8 fLatticeForwardStep #, nUpFactor &, nNowPrice , < iIntervals @ ; @ D nRiskNeutralProb8 < = fRiskNeutralMeasure nRiskFree, DTime, nUpFactor ; vnExpiryPriceD = If cPutCall == c, fCallAtExpiry #, nStrikePrice & ü Last vvnForwardTree , fPutAtExpiry #, nStrikePrice@ & ü Last vvnForwardTreeD ; @ vvnBackwardTree@= NestList D ê @ D fLatticeBackStep@ #, nRiskFreeD, DêTime, nRiskNeutralProb@ D &, DvnExpiryPrice, iIntervals @ ; @ D nRiskNeutralProb, vvnForwardTree, vvnBackwardTree ; D 8 < D 6 ams-511-lec-11A-p.nb 1.6 – Example: Pricing a Put Option Consider a stock with current price S(0)=125. It’s log mean and variance are m = 0.10 and s2=0.01. There is a put option on the stock with expiry T=0.5 and a strike price K = 120. The annual risk free rate is 4%. Estimate the price of the put option using a 5-step geometric binomial option model. nTimeToExpiry = 0.5; iIntervals = 10; DTime = nTimeToExpiry iIntervals; nUpFactor = Exp 0.01 DTime ; ê nRiskNeutral, vvnStockLatticeè!!!!!!!!!!!!!!!!!!!!!!!!! , vvnOptionLattice = fGeometricBinomialOptionB F125, nUpFactor, 120, 0.04, iIntervals, DTime, p ; 8 < MatrixForm ü vvnStockLattice@ MatrixForm ü vvnOptionLattice D ê ê ams-511-lec-11A-p.nb 7 ol o 136.696 o 133.673 o 130.717 130.717 o o 127.827 127.827 o 125 , , 125. , , 125. , o 122.236 122.236 o i y o 119.533 j 119.533 z o ji 116.89 zy j z o ji zy j z j 114.305 z o j z j z j z mH L K O j z j z j z o j z j z j z o j z j z j z o k { j z j z o k { j z o o k { o o o o o o n 156.322 149.485 152.866 149.485 146.18 142.948 142.948 146.18 142.948 139.787 139.787 139.787 136.696 136.696 ji 136.696 zyo| j zo 133.673 133.673 ji 133.673 zy j zo 130.717 ji 130.717 zy j z j 130.717 zo 127.827 i 127.827 y j z j z j zo i 125.