17.4 Full-Scale Real Data
К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
85 86 87 88 89 90 91 92 93 94 95 96 97
The binomial model can be used to price real-world European calls and puts. Further, the Binomial Tree
Risk Neutral method can be extended to price any type of derivative security (European vs. American vs.
other, on any underlying asset(s), with any underlying dividends or cash flows, with any derivative
payoffs at maturity and/or payoffs before maturity). Indeed, it is one of the most popular techniques on
Wall Street for pricing and hedging derivatives.
Problem Using Real Data. On December 13, 1999, the stock price of Amazon.com was $102.50, the
yield on a riskfree Treasury Bill maturing on April 20, 2000 was 5.47%, the exercise price of an April 100
European call on Amazon.com was $100.00, the exercise price of an April 100 European put on
Amazon.com was $100.00, and the time to maturity for both April 21, 2000 maturity options was 0.3556
years. What is the annual standard deviation of Amazon.com stock? What are the current prices of the call
and put under the continuous annualization convention? What are the current prices of the call and put
under the discrete annualization convention?
Solution Strategy. Collect Amazon.com's historical stock prices from Yahoo Finance! and calculate the
annual standard deviation. Use the annual standard deviation and the annual riskfree rate to calculate the
up movement / period, down movement / period, and riskfree rate / period. Extend the Binomial Option
Pricing - Risk Neutral model to full-scale (50 periods) in order to achieve greater price accuracy.
FIGURE 17.9 Spreadsheet Model of Binomial Option Pricing - Estimating Volatility.
How To Build This Spreadsheet Model.
1. Collect Historical Stock Price Data. Go to Yahoo Finance! (quote.yahoo.com), enter AMZN
(the ticker symbol for Amazon.com) in the Get Quotes box, click on Chart, at the bottom of the
page click on Other: historical quotes, adjust the start date if you want more than three months
of data, click on Download Spreadsheet Format, and save the csv file. Launch Excel and open
the csv file.
2. Calculate Discrete and Continuous Returns. There are two conventions for calculating stock
returns. A simple percent change yields the Discrete Return = [(Price on date t) - (Price on date t-
1)] / (Price on date t-1). Enter =(E4-E5)/E5 in cell G4 and copy it down. The Continuous Return
= LN[(Price on date t) / (Price on date t-1)]. Enter =LN(E4/E5) in cell H4 and copy it down.
3. Calculate the Daily and Annual Standard Deviation. Use Excel's function STDEV to calculate
the sample standard deviation of daily discrete returns and daily continuous returns. Enter
=STDEV(G4:G68) in cell G71 and copy the cell to H71. Convert the daily standard deviation to
annual standard deviation by multiplying by the square root of the number of trading days in the
year. By way of explanation, the stock variance is proportion to the units of time. Hence, the
stock standard deviation is proportional to the square root of the units of time. The empirical
evidence shows that is better to use trading days rather than calendar days, since trading days is a
better predictor of stock volatility than calendar days. There are 252 trading days in the year, so
we multiply by the square root of 252. Enter =G71*SQRT(252) in cell G72 and copy it to the
cell H72.
We find that Amazon.com's annual standard deviation is 90.23% based on discrete returns and is 86.07%
based on continuous returns.
FIGURE 17.10 Spreadsheet Model of Binomial Option Pricing - Full-Scale Real Data -
Call.
4. Start with the Risk Neutral Spreadsheet and Freeze Panes. Open the spreadsheet that you
created for Binomial Option Pricing – Risk Neutral and immediately save the spreadsheet under a
new name using the File | Save As command. It will be helpful for navigation purposes to lock in
both column titles and row titles. Select cell G16 and click on Window | Freeze Panes.
5. Rearrange the Inputs. Select the range A6:B7 and drag the range (hover the cursor over the
lower highlighted line, click on the left mouse button, and hold it down while you move it) to cell
E6. Select the range A8:B8 and drag the range to cell E5. Select the range A9:B11 and drag the
range to cell A8. Select the range E4:F4 and drag the range to cell E8.
6. Enter the New Inputs. Enter the Full-Scale Real Data inputs in the range B4:B11 as shown in
Figure 2. The value in cell B11 serves as a switch between the Discrete and Continuous
Annualization Conventions. To accommodate both annualization conventions, enter
=IF(B11=1,90.23%,86.07%) in cell B6 for the Annual Standard Deviation. To highlight which
annualization convention is in use, enter =IF($B$11=1,"Discrete","Continuous") in cell E2.
7. Calculate the New Outputs. Calculate four new "per period" outputs:
o Time / Period = (Time To Maturity) / (Number of Periods). Enter =B9/B10 in cell F4.
o Riskfree Rate / Period = (Annual Riskfree Rate) * (Time / Period) under the discrete
annualization convention or = exp[(Annual Riskfree Rate) * (Time / Period)] -1 under the
continuous annualization convention. Enter =IF($B$11=1,B7*F4,EXP(B7*F4)-1) in cell
F5.
o Up Movement / Period = (Annual Standard Deviation) * Square Root (Time / Period)
under the discrete annualization convention or = exp[(Annual Standard Deviation) *
Square Root (Time / Period)] -1 under the continuous annualization convention. Enter
=IF($B$11=1,B6*SQRT(F4),EXP(B6*SQRT(F4))-1) in cell F6.
o Down Movement / Period = -(Annual Standard Deviation) * Square Root (Time /
Period) under the discrete annualization convention or = exp[-(Annual Standard
Deviation) * Square Root (Time / Period)] -1 under the continuous annualization
convention. Enter =IF($B$11=1,-B6*SQRT(F4),EXP(-B6*SQRT(F4))-1) in cell F7.
The up movement / period and down movement / period are calibrated to correspond to
the stock's annual standard deviation. It is not necessary to calibrate them to the stock's
expected return.2
8. Extend The Periods and Time to 50 Periods. Select the range B14:C14, grab the fill bar (hover
the mouse over the lower-right corner of the selection - when it turns to a "+" sign, click the left
mouse button), and fill in the range D14:AZ14. Select the cell B15 and copy it to the range
C15:AZ15.
9. Extend The Stock Price Tree to 50 Periods. Add some rows to make space between the Stock
Price Tree and the Option Price Tree. Select the range A26:A67 and click on Insert | Rows.
Then, copy cell C17 to the 50-by-51 range C17:AZ67. A binomial tree will form in the triangular
area from C17 to AZ17 to AZ67.
2 At full-scale (50 periods), the binomial option price is very insensitive to the expected return of
the stock. For example, suppose that you calibrated this Amazon.com case to an annual expected
return of 10%. Just add 10%*F4 to the formulas for the up and down movements / period. So the
up movement / period in cell F6 would become
=IF($B$11=1,10%*F4+B6*SQRT(F4),EXP(10%*F4+B6*SQRT(F4))-1) and the down
movement / period in cell F7 would become =IF($B$11=1,10%*F4-
B6*SQRT(F4),EXP(10%*F4-B6*SQRT(F4))-1). This changes the option price by less than
1/100th of one penny! In the (Black Scholes) limit as the number of (sub)periods goes to infinity,
the option price becomes totally insensitive to the expected return of the stock. Because of this
insensitivity, the conventions for calculating the up movement / period and down movement /
period ignore the expected return of the stock.
FIGURE 17.11 Spreadsheet of Binomial Option Pricing - Full-Scale Real Data - Call (Continued).
10. Extend The Option Payoffs At Maturity to 50 Periods. Copy the old payoffs at maturity
starting in cell J69 and to the new payoffs at maturity range AZ69:AZ119.
11. Extend The Option Price Tree to 50 Periods. Copy cell B69 to the range B69:AY118. A
binomial tree will form in the triangular area from B69 to AZ69 to AZ119.
We see that the Full-Scale Real Data model predicts an European call price of $22.61. This is only one
cent different that what the Black-Scholes model predicts given identical inputs! Now let's check the put.
FIGURE 17.12 Spreadsheet Model of Binomial Option Pricing - Full-Scale Real Data - Put Option.
12. Put Option. Enter 0 in cell B4.
FIGURE 17.13 Spreadsheet of Binomial Option Pricing - Full-Scale Real Data - Put (Continued).
We see that the Full-Scale Real Data model predicts an European put price of $18.18. This is only one
cent different that what the Black-Scholes model predicts given identical inputs! The accuracy of the
binomial model can be increased to any desired degree by increasing the number of periods. Whereas the
Black Scholes model (and its natural extensions) is limited to a narrow range of derivatives, the Binomial
Option Pricing model can be extended to price any derivative security (any type, any underlying asset(s),
any underlying cash flows, any derivative payoffs).
The binomial model can be used to price real-world European calls and puts. Further, the Binomial Tree
Risk Neutral method can be extended to price any type of derivative security (European vs. American vs.
other, on any underlying asset(s), with any underlying dividends or cash flows, with any derivative
payoffs at maturity and/or payoffs before maturity). Indeed, it is one of the most popular techniques on
Wall Street for pricing and hedging derivatives.
Problem Using Real Data. On December 13, 1999, the stock price of Amazon.com was $102.50, the
yield on a riskfree Treasury Bill maturing on April 20, 2000 was 5.47%, the exercise price of an April 100
European call on Amazon.com was $100.00, the exercise price of an April 100 European put on
Amazon.com was $100.00, and the time to maturity for both April 21, 2000 maturity options was 0.3556
years. What is the annual standard deviation of Amazon.com stock? What are the current prices of the call
and put under the continuous annualization convention? What are the current prices of the call and put
under the discrete annualization convention?
Solution Strategy. Collect Amazon.com's historical stock prices from Yahoo Finance! and calculate the
annual standard deviation. Use the annual standard deviation and the annual riskfree rate to calculate the
up movement / period, down movement / period, and riskfree rate / period. Extend the Binomial Option
Pricing - Risk Neutral model to full-scale (50 periods) in order to achieve greater price accuracy.
FIGURE 17.9 Spreadsheet Model of Binomial Option Pricing - Estimating Volatility.
How To Build This Spreadsheet Model.
1. Collect Historical Stock Price Data. Go to Yahoo Finance! (quote.yahoo.com), enter AMZN
(the ticker symbol for Amazon.com) in the Get Quotes box, click on Chart, at the bottom of the
page click on Other: historical quotes, adjust the start date if you want more than three months
of data, click on Download Spreadsheet Format, and save the csv file. Launch Excel and open
the csv file.
2. Calculate Discrete and Continuous Returns. There are two conventions for calculating stock
returns. A simple percent change yields the Discrete Return = [(Price on date t) - (Price on date t-
1)] / (Price on date t-1). Enter =(E4-E5)/E5 in cell G4 and copy it down. The Continuous Return
= LN[(Price on date t) / (Price on date t-1)]. Enter =LN(E4/E5) in cell H4 and copy it down.
3. Calculate the Daily and Annual Standard Deviation. Use Excel's function STDEV to calculate
the sample standard deviation of daily discrete returns and daily continuous returns. Enter
=STDEV(G4:G68) in cell G71 and copy the cell to H71. Convert the daily standard deviation to
annual standard deviation by multiplying by the square root of the number of trading days in the
year. By way of explanation, the stock variance is proportion to the units of time. Hence, the
stock standard deviation is proportional to the square root of the units of time. The empirical
evidence shows that is better to use trading days rather than calendar days, since trading days is a
better predictor of stock volatility than calendar days. There are 252 trading days in the year, so
we multiply by the square root of 252. Enter =G71*SQRT(252) in cell G72 and copy it to the
cell H72.
We find that Amazon.com's annual standard deviation is 90.23% based on discrete returns and is 86.07%
based on continuous returns.
FIGURE 17.10 Spreadsheet Model of Binomial Option Pricing - Full-Scale Real Data -
Call.
4. Start with the Risk Neutral Spreadsheet and Freeze Panes. Open the spreadsheet that you
created for Binomial Option Pricing – Risk Neutral and immediately save the spreadsheet under a
new name using the File | Save As command. It will be helpful for navigation purposes to lock in
both column titles and row titles. Select cell G16 and click on Window | Freeze Panes.
5. Rearrange the Inputs. Select the range A6:B7 and drag the range (hover the cursor over the
lower highlighted line, click on the left mouse button, and hold it down while you move it) to cell
E6. Select the range A8:B8 and drag the range to cell E5. Select the range A9:B11 and drag the
range to cell A8. Select the range E4:F4 and drag the range to cell E8.
6. Enter the New Inputs. Enter the Full-Scale Real Data inputs in the range B4:B11 as shown in
Figure 2. The value in cell B11 serves as a switch between the Discrete and Continuous
Annualization Conventions. To accommodate both annualization conventions, enter
=IF(B11=1,90.23%,86.07%) in cell B6 for the Annual Standard Deviation. To highlight which
annualization convention is in use, enter =IF($B$11=1,"Discrete","Continuous") in cell E2.
7. Calculate the New Outputs. Calculate four new "per period" outputs:
o Time / Period = (Time To Maturity) / (Number of Periods). Enter =B9/B10 in cell F4.
o Riskfree Rate / Period = (Annual Riskfree Rate) * (Time / Period) under the discrete
annualization convention or = exp[(Annual Riskfree Rate) * (Time / Period)] -1 under the
continuous annualization convention. Enter =IF($B$11=1,B7*F4,EXP(B7*F4)-1) in cell
F5.
o Up Movement / Period = (Annual Standard Deviation) * Square Root (Time / Period)
under the discrete annualization convention or = exp[(Annual Standard Deviation) *
Square Root (Time / Period)] -1 under the continuous annualization convention. Enter
=IF($B$11=1,B6*SQRT(F4),EXP(B6*SQRT(F4))-1) in cell F6.
o Down Movement / Period = -(Annual Standard Deviation) * Square Root (Time /
Period) under the discrete annualization convention or = exp[-(Annual Standard
Deviation) * Square Root (Time / Period)] -1 under the continuous annualization
convention. Enter =IF($B$11=1,-B6*SQRT(F4),EXP(-B6*SQRT(F4))-1) in cell F7.
The up movement / period and down movement / period are calibrated to correspond to
the stock's annual standard deviation. It is not necessary to calibrate them to the stock's
expected return.2
8. Extend The Periods and Time to 50 Periods. Select the range B14:C14, grab the fill bar (hover
the mouse over the lower-right corner of the selection - when it turns to a "+" sign, click the left
mouse button), and fill in the range D14:AZ14. Select the cell B15 and copy it to the range
C15:AZ15.
9. Extend The Stock Price Tree to 50 Periods. Add some rows to make space between the Stock
Price Tree and the Option Price Tree. Select the range A26:A67 and click on Insert | Rows.
Then, copy cell C17 to the 50-by-51 range C17:AZ67. A binomial tree will form in the triangular
area from C17 to AZ17 to AZ67.
2 At full-scale (50 periods), the binomial option price is very insensitive to the expected return of
the stock. For example, suppose that you calibrated this Amazon.com case to an annual expected
return of 10%. Just add 10%*F4 to the formulas for the up and down movements / period. So the
up movement / period in cell F6 would become
=IF($B$11=1,10%*F4+B6*SQRT(F4),EXP(10%*F4+B6*SQRT(F4))-1) and the down
movement / period in cell F7 would become =IF($B$11=1,10%*F4-
B6*SQRT(F4),EXP(10%*F4-B6*SQRT(F4))-1). This changes the option price by less than
1/100th of one penny! In the (Black Scholes) limit as the number of (sub)periods goes to infinity,
the option price becomes totally insensitive to the expected return of the stock. Because of this
insensitivity, the conventions for calculating the up movement / period and down movement /
period ignore the expected return of the stock.
FIGURE 17.11 Spreadsheet of Binomial Option Pricing - Full-Scale Real Data - Call (Continued).
10. Extend The Option Payoffs At Maturity to 50 Periods. Copy the old payoffs at maturity
starting in cell J69 and to the new payoffs at maturity range AZ69:AZ119.
11. Extend The Option Price Tree to 50 Periods. Copy cell B69 to the range B69:AY118. A
binomial tree will form in the triangular area from B69 to AZ69 to AZ119.
We see that the Full-Scale Real Data model predicts an European call price of $22.61. This is only one
cent different that what the Black-Scholes model predicts given identical inputs! Now let's check the put.
FIGURE 17.12 Spreadsheet Model of Binomial Option Pricing - Full-Scale Real Data - Put Option.
12. Put Option. Enter 0 in cell B4.
FIGURE 17.13 Spreadsheet of Binomial Option Pricing - Full-Scale Real Data - Put (Continued).
We see that the Full-Scale Real Data model predicts an European put price of $18.18. This is only one
cent different that what the Black-Scholes model predicts given identical inputs! The accuracy of the
binomial model can be increased to any desired degree by increasing the number of periods. Whereas the
Black Scholes model (and its natural extensions) is limited to a narrow range of derivatives, the Binomial
Option Pricing model can be extended to price any derivative security (any type, any underlying asset(s),
any underlying cash flows, any derivative payoffs).