The Performance of Option Price Models, a Comparison Dayton Marks† Supervisor: Dr. Vladimir Dvoracek* University of the Fraser Valley, Department of Economics April 24, 2017
Abstract Option pricing has been a subject of keen interest since the contracts first started trading on the Chicago Board Options Exchange in 1973. I examine the performance of two option pricing models, Black-Scholes (1973) and Heston (1993). I gauge the performance of these two models by determining: (a) which model, when optimally calibrated to market data, does a better job of pricing options; (b) which model functions as a better predictor of future option prices. The analysis shows that: (a) the Heston model does a better job of depicting market prices; (b) the Heston model is a better predictor of future option prices because of its ability to track the evolution of volatility. Lastly, I generate Monte-Carlo simulations of the Black-Scholes model allowing for jumps in volatility around earnings announcement dates. These simulations function as open-form mathematical solutions to the actuarial price of the options. The results indicate that model prices more accurately reflect future market prices when more realistic assumptions about volatility are taken into consideration.
Keywords: Stochastic Volatility, Heston, Black-Scholes, Market-Price Calibration, MonteCarlo, Earnings Dates, Jump Diffusion, Predictive Modeling
† University of the Fraser Valley, Email:
[email protected] * University of the Fraser Valley, Email:
[email protected]
Table of Contents 1 - Background ............................................................................................................................................ 3 2 - Introduction ........................................................................................................................................... 4 3 - The Black-Scholes Model ...................................................................................................................... 5 4 - The Heston Model .................................................................................................................................. 6 5 - Market-Calibration Comparisons ........................................................................................................ 8 5.1 - The Black-Scholes Model with Calibration .......................................................................................... 8 5.1.1 – Examples of Market Calibration for the Black-Scholes Model ........................................................ 9 5.2 - The Heston Model with Calibration ................................................................................................... 12 5.2.1 – Examples of Market Calibration for the Heston Model .................................................................. 12 6 - Model Calibration Results .................................................................................................................. 16 7 - The Black-Scholes Model as a Predictor of Future Option Prices .................................................. 18 7.1 - Calculations of the Black-Scholes Volatility Parameter .................................................................... 18 7.2 - Results of the Black-Scholes Model as a Predictor of Future Option Prices ..................................... 19 8 - The Heston Model as a Predictor of Future Option Prices.............................................................. 20 8.1 - Calculations of the Heston Volatility Parameters .............................................................................. 20 8.2 - Results of the Heston Model as a Predictor of Future Option Prices ................................................ 21 9 - Model Prediction Results .................................................................................................................... 22 10 - Monte-Carlo Simulations of the Black-Scholes Model with Jump Diffusion ............................... 23 10.1 - Misconceptions Regarding Volatility ............................................................................................... 23 10.2 - Jump Diffusion for Earnings Announcements.................................................................................. 24 10.3 - The Impact of Jump Diffusion on the Probability Density Function................................................ 25 11 - Monte-Carlo Simulation Results ...................................................................................................... 26 11.1 - Using Historic Volatility for Predictive Modeling ........................................................................... 26 11.2 - Examples of Monte-Carlo Simulation with Jump Diffusion ............................................................ 26 11.3 – Results of Trading Strategy.............................................................................................................. 28 12 - Conclusion .......................................................................................................................................... 29 References .................................................................................................................................................. 30 Appendix .................................................................................................................................................... 31
2
1 - Background A primary focus of this paper is examining how theory interlinks with application. One major question that I address is: how are options actually being priced in the real world? Both the BlackScholes and Heston models are widely used in the finance industry, however I focus on determining which model does a better job of reflecting actual bid and ask quotes on an exchange. The criteria I use to determine this is looking at which model has a higher correlation coefficient and which model has a lower sum of squares difference when compared to market prices. In order to analyze this, I use market-price calibration techniques for both the models and examine which model does a better job of pricing options with different strike prices and maturities. I examine non-dividend American style1 call options on companies included in the S&P 500 index because they are better capitalized and more liquid, and tend to attract the attention of major fund managers. Furthermore, the options are traded primarily in an auction market setting which tends to coalesce with lower transaction costs and smaller spreads (Pagano & Röell, 1996). Because I concentrate on non-dividend stocks, I can therefore treat the American style options as European style options. This can be applied because as Hull (2018, p.241-244) points out, so long as an American style call options remains within its no-arbitrage bounds, early exercise is always sub-optimal. This is because a trader can choose to sell their option in the market and receive greater remuneration than if they were to exercise their option early. This relationship holds so long as the option remains within its no-arbitrage bounds which can be described as: Max( S0 – Ke-rT, 0 ) and S0 (1) However, this treatment cannot be applied to American style put options as shown by Merton, Brennan & Schwartz (1977) and Hull (2018, p.244-246). I therefore concentrate on call options for the purpose of this paper. The second part of this paper examines whether option pricing models have predicative qualities. I examine if the Black-Scholes and Heston models function as a predictor of future prices. I address this by using historic volatility parameters as inputs for each model and compare the results to three months of option price data obtained from a Bloomberg terminal. I concentrate on model specific accuracy as a primary concentration for this analysis. Lastly, I create Monte-Carlo simulations of the Black-Scholes model using historic volatility as an input with jump diffusion2 processes for future earnings dates. These model prices exhibit different probability density functions than a vanilla Black-Scholes price, and as such, different option prices. The analysis suggests that market prices tend towards model prices even when accounting for the time-decay of an option. This suggests that when more robust assumptions about volatility are accounted for, market prices tend to model prices. This also leaves open the possibility of using models for the purpose of speculative trading.
1 2
American style option allow the option to be exercised at any time; European style allow exercise only at maturity. See Section 10 for an explanation of this process
3
2 - Introduction Call (put) options are contracts between two parties that grants one party the right, but not the obligation to buy (sell), an underlying asset at a future date at a fixed price, with the other party maintaining the obligation to sell (buy) the underlying asset if the option is exercised. The general risk-neutral valuation framework for an option on a risky asset where markets are arbitrage free is: V0 = e-rTπ(St) (2) where: V0 = value of the option at inception e = the continuously compounded risk-free rate r = the interest rate on a riskless asset T = time until expiry π(St) = option payoff Simultaneously, the payoff of a call option expiration is: πC(ST) = max[ (ST – K) , 0 ] (3) and the payoff of a put option at expiration is: πP(ST) = max[ (K – ST) , 0 ] (4) where: ST = the value of the option at expiration K = the strike price of the option Therefore, the present value of a call option at inception is: ∞
C0 = e-rT ∫0 (ST – K)q(ST)dST and the present value of a put option at inception is:
(5)
∞
P0 = e-rT ∫0 (K – ST)q(ST)dST (6) where: q(ST) = the probability density function of the underlying asset at time T. From a risk-neutral standpoint, as shown in equations (5) and (6) European style options are effectively worth the risk-neutral distribution of possible payouts at maturity (their expected value) discounted at the continuously compounded risk-free rate. Option pricing models such as BlackScholes and Heston capture this concept by creating their own probability density functions of the possible ending prices of an underlying asset at expiration and derive a risk-neutral price for an option based on no-arbitrage assumptions. These models depend heavily on assumptions about the future volatility of a stock, and are used in order to create the probability density function for an underlying asset used to generate a model price (Bhupinder, 1997). 4
3 - The Black-Scholes Model The Black-Scholes model assumes that an underlying asset evolves through time as such: dS = µSdt + σSdz (7) where: µ = the constant drift of the underlying asset S = the current value of the underlying asset σ = the volatility of the underlying asset dz = a standard Wiener process3 Under the Black-Scholes model, a European call option on a non-dividend paying stock is: C0 = S0N(d1) – Ke-rTN(d2) (8) and the value of a European put option on a non-dividend paying stock is: P0 = Ke-rTN(-d2) – S0N(-d1) (9) where: d1 = ln(S0/K) + (r + σ2/2)T σ√T d2 =
(10)
ln(S0/K) + (r - σ2/2)T = d1 - σ√T
(11)
σ√T The Black-Scholes model makes the following assumptions: 1) Volatility is constant over the life of the option 2) Markets are efficient and underlying assets adhere to the random walk theory4 3) Stock prices are log-normally distributed as they evolve through time 4) There are no commissions or transaction costs 5) Markets are liquid such that assets are frictionless5 The Black-Scholes model was created by Fischer Black and Myron Scholes in 1973 and is a framework for pricing European options (Black & Scholes, 1973). However, a more robust model was later derived that gave rise to the use of stochastic volatility6 modeling whereby volatility could evolve over time rather than remain constant.
3
A Wiener process is a continuous-time stochastic process. For its use in the Black-Scholes model it is used in conjunction with Geometric Brownian Motion in order to model random stock prices through time. 4 This is the theory that asset prices move randomly through time. 5 This is the assumption that a trader can buy and sell an underlying asset at the same price. 6 This is the assumption that the variance in volatility itself is able to fluctuate over time rather than remaining constant through time. This process allows volatility to evolve through time and exhibit heteroskedastic characteristics
5
4 - The Heston Model The primary difference between the Heston model and Black-Scholes model is that the Heston model employs the use of a stochastic aspect of volatility rather than assume constant volatility like that of the Black-Scholes model. Thus in the Heston Model we assume: dSt = µStdt + √νtStdWts (12) Where νt is a Cox-Ingersoll-Ross7 (CIR) Process representing the instantaneous variance in time: dνt = κ(θ-ν(t-1))dt + ξ√ν(t-1)dWtν (13) and dWts and dWtν are Wiener processes with correlation ρ. The parameters of the Heston Model are: µ = the drift of the underlying asset θ = the long-run variance of the CIR process κ = the rate at which νt reverts to θ ξ = the volatility of the volatility which determines the variance of νt ρ = the correlation of the Wiener processes dWts and dWtν The parameters of the Heston model must also obey the Feller Condition where: 2κθ > ξ2 (14) If this is met, then νt is strictly a positive process. Under the Heston model a European call option on a non-dividend paying stock is: C0 = StP1 – Ke-rTP2 (15) and the value of a European put option on a non-dividend paying stock is P0 = Ke-rT(-P2) – St(-P1) (16) where, for j = 1,2 (17) (18) and
7
(19)
This is a one-factor process used to describe the evolution and diffusion of a characteristic in mathematical finance.
6
(20) where: (21)
(22) and
The Heston model makes the following assumptions: 1) Volatility is stochastic over the life of the option but has a long-run mean which it reverts back to through time (see chart below) 2) Markets are efficient and underlying assets adhere to the random walk theory 3) Stock prices are log-normally distributed as they evolve through time 4) There are no commissions or transaction costs 5) Markets are liquid such that assets are frictionless By using the CIR process to describe the evolution of νt the Heston model becomes a less restrictive model then that of the Black-Scholes model which assumes constant volatility. An example of the evolution of νt can be seen below where θ = 0.65; κ = 0.03; ξ = 0.04 and ν0 = 0.2: 8
The Evolution of
νt5
Volatility
0.9
0.6
0.3
0 0
20
40
60
80
100
Time (t)
8
The Heston Model was developed by Steve Heston in 1993 and is a closed-form model for the purpose of pricing options with special application for currencies and bonds (Heston, 1993). Because the Heston model allows for the evolution of volatility through time, it tends to be regarded as a more robust model. Moreover, the BlackScholes model tends to do a poor job of pricing bond options as bonds tend to decrease in volatility as they approach maturity (Klein, 1996).
The dotted lines represent the upper and lower 95% confidence intervals of the CIR process used to describe volatility in the Heston model. The grey line represents a singular process of volatility as it evolves through time.
7
5 - Market Calibration Comparisons In order to determine which model more accurately depicts how options are priced in real markets I compare the performance of the Black-Scholes model to the Heston model after both have been optimally calibrated to market prices. The goal of market calibration is to minimize the difference between the model prices and the quoted market prices. I repeat this process over a variety of different options with various maturities and strike prices in order to see how each model performs under different assumptions. The models are optimized using historic bid-ask quotes on six different companies9 and are sampled at 9:00AM each morning from January 18th 2017 to March 2nd 2017. For each company, I choose two options with long-term (LT), medium-term (MT) and short-term (ST) expirations. For each expiration I use the option that is closest to the underlying price at the beginning of the observation period in order to calibrate each model.
5.1 - The Black-Scholes Model with Calibration To calibrate the Black-Scholes model to market data, I first derive a time-series interpolation of the Black-Scholes model in Microsoft Excel and include all relevant market data for pricing the option. After the interpolation is complete and all known variables are included, the only exogenous variable left to solve for is the volatility parameter of the model. To estimate the volatility parameter and calibrate the model I minimize the sum of squares difference between the models output price and the observed market average price10. This process is done by using Microsoft Excel’s solver function which optimizes the volatility estimate of the model by minimizing the objective function. Once this process has been completed, the volatility estimation is optimized and the calibration process for the Black-Scholes model is complete. The sum of squares difference for this analysis is calculated as: n
∑(xt-yt)2
(23)
i=1
where: xt = the output price of the Black-Scholes Model at time t yt = the market average price at time t Using the calibrated Black-Scholes model parameter, I than calculate the correlation coefficient of the model price and market average price, and calculate the sum of squares difference between the model price and market average price. These statistics show how well the model performs when pricing a real non-dividend American style option. Below are some examples of how the Black-Scholes model performs when pricing options on Adobe Systems Incorporated. This process was repeated for each option and the results can be seen in the section 6 of this report. 9
Adobe Systems Inc. (ADBE), Biogen Inc. (BIIB), Ebay Inc. (EBAY), Edward Lifesciences Co. (EW), Facebook Inc. (FB), Gilead Sciences Inc. (GILD). These non-dividend paying companies were randomly selected from the S&P 500 for my analysis. 10 The average of the Bid and the Ask, where the Bid is the price that a trader’s market-sell order will be transacted and the Ask is the price that a trader’s market-buy order will be transacted at for the observed trading tick.
8
5.1.1 – Examples of Market Calibration for the Black-Scholes Model ADBE C105 1/19/18 Options - Near the Money (LT)
27 25 23 21
Option Price
29
19 17 256 σ = 0.422
246 236 Days to Maturity Bid Ask Avg
226 BS_Price
| R2 = 0.9812 | SSD = 8.04 |
38 36 34 32 30 28 26 24
256 σ = 0.422
251
246 241 236 Days to Maturity Bid Ask Avg
231 BS_Price
| R2 = 0.9838 | SSD = 47.02 |
9
226
Option Price
ADBE C92.5 1/19/18 Options - DEEP in the Money (LT)
ADBE 7/21/17 C105 Options - Near the Money (MT)
15 13 11
Option Price
17
9 129
124
119 114 109 Days to Maturity
104
99
σ = 0.2529 Bid
Ask
Avg
BS_Price
| R2 = 0.9985 | SSD = 1.28 |
ADBE 7/21/17 C95 Options - DEEP in the Money (MT) 28
24 22 20 18
16 129
124
119 114 109 Days to Maturity
104
99
σ = 0.2529
C95_Bid
C95_Ask
Avg
| R2 = 0.9931 | SSD = 10.61 |
10
BS_Price
Option Price
26
ADBE 4/21/17 C105 Options - Near the Money (ST)
14 12 10 8
Option Price
16
6 65
55
σ = 0.2358
45 Days to Maturity
Bid
Ask
35
Avg
BS_Price
| R2 = 0.9992 | SSD = 0.52 | ADBE 4/21/17 C92.5 Options - DEEP in the Money (ST) 29 27 25 23 21 19 17 15 65 σ = 0.2358
60
55 Bid
50 Ask
45 Avg
40
35
BS_Price
| R2 = 0.9916 | SSD = 6.14 | The results of the calibration exercises show that Black-Scholes model tends to track closely with market prices. However, the Black-Scholes model tends to become less accurate as the strike price varies from the underlying assets price. These results align closely with the findings of Chesney & Scott (1989) who found evidence that the Black-Scholes model exhibits a strike-price bias11. The results of the analysis shows that the Black-Scholes model consistently underprices options as the underlying price differs from the strike price12.
11
This can be clearly seen for the ADBE 92.5 call options expiring 1/19/18 where the model consistently underprices the options. This phenomenon is referred to as the volatility smile where the implied volatility of an option increases as the underlying price diverges from the strike price of the option. 12
11
5.2 - The Heston Model with Calibration For analysis on the Heston model I use a calibration technique that employs the use of MATLAB’s Isqnonlin function in order to find the non-linear least squares optimized values for the model (Appendix – MATLAB Function 3 and Script 4). This process is similar to the calibration technique use for the Black-Scholes model, but differs in that this process solves for all variables in the CIR process used to describe volatility in the Heston model (Crisstomo, 2014). This process optimizes the parameters of the Heston model using local calibration, however this process does not necessarily generate globally optimized parameters as the objective function may have multiple minimums and hence multiple solutions (Bin, 2007). I repeat the process done for the Black-Scholes model and calculate the correlation coefficient of the model price and market average price, and calculate the total sum of squares difference between the model price and market average price. Below are some examples of how the Heston model performs when pricing options on Adobe Systems Incorporated. This process was repeated for each option and the results can be seen in the section 6 of this report. The locally optimized volatility parameters for the Heston model are also included below.
5.2.1 - Examples of Market Calibration for the Heston Model V0 0.1573
V 0.4703
0.4344
-0.9489
α 0.2006
29 27 25 23 21 19 17 256
251
Avg
246 241 236 Days to Maturity Bid
Ask
231
Heston_Price
| R2 = 0.9808 | SSD = 6.05 |
12
226
Option Price
ADBE C105 1/19/18 Options - Near the Money (LT)
34 29
Option Price
ADBE C92.5 1/19/18 Options - DEEP in the Money (LT)
24 256
251
246 241 236 Days to Maturity Avg
Bid
Ask
231
226
Heston Px
| R2 = 0.9828 | SSD = 10.67 |
V0 0.1240
V 0.0159
0.0862
-0.9999
α 4.4288
ADBE C105 7/21/17 Options - Near the Money (MT)
15 13 11 9
129
124
119 114 109 Days to Maturity Bid
Ask
Avg
104
Heston_Px
| R2 = 0.9989 | SSD = 0.38 |
13
99
Option Price
17
25
20
Option Price
ADBE C92.5 7/21/17 Options - DEEP in the Money (MT)
15 129
124
119 114 109 Days to Maturity
C95_Bid
C95_Ask
104
Avg
99
Heston_Px
| R2 = 0.9932 | SSD = 8.38 |
V0 0.5747
V 0.0357
0.1419
α -0.2715 124.1396
ADBE C105 4/21/17 Options - Near the Money (ST)
14 12 10 8 6
65
60
55 50 45 Days to Maturity Bid
Ask
Avg
40
Heston_Px
| R2 = 0.9993 | SSD = 0.25 |
14
35
Option Price
16
29 27 25 23 21 19 17 15 65
60
55 50 45 Days to Maturity Bid
Ask
Avg
40
Option Price
ADBE C92.5 4/21/17 Options - Deep in the Money (ST)
35
Heston_Px
| R2 = 0.9916 | SSD = 6.26 |
The results of the calibration exercises shows that the Heston model tends to track closely with market prices, and does a better job overall of pricing options with a variety of different strike prices. The results also suggest that the Heston model is able to capture the volatility smile13 that the Black-Scholes model fails to account for. These results align closely with the finding in Ziqun Ye’s Masters Thesis (2013) which shows that the Black-Scholes model underprices both in the money14 and out of the money15 options. Ye also finds that the Heston model captures the volatility smile but tends to exhibit minor overpricing of out of the money options and minor underpricing of in the money options. These results coincide with my observations on ADBE where the Heston model tracks closer to the market price, but at times tends to underprice the option.
13
This is the phenomenon where reverse-engineering the Black-Scholes formula at different strike prices in an option-chain yields higher implied volatilities as strike price increases in their distance from the underlying’s price. Options where the underlying assets’ price is greater than the strike price of the option, meaning the option can be exercised for a profit in its current state. 15 Options where the underlying assets’ price is less than the strike price of the option, meaning the option cannot be exercised at for a profit in its current state. 14
15
6 - Market Calibration Results Overall, the Heston model with local calibration performed better and had a higher correlation coefficient in 74% of observations. The results of the analysis can be seen in the table below: Option ID ADBE C105 4/21/17 ADBE C92.5 4/21/17 ADBE C105 7/21/17 ADBE C95 7/21/17 ADBE C105 1/19/18 ADBE C92.5 1/19/18 BIIB C260 1/19/18 BIIB C290 1/19/18 BIIB C260 7/21/17 BIIB C285 7/21/17 BIIB C265 4/21/17 BIIB C285 4/21/17 EBAY C26 4/21/17 EBAY C30 4/21/17 EBAY C26 7/21/17 EBAY C30 7/21/17 EBAY C30 1/19/18 EW C95 5/19/17 EW C75 5/19/17 EW C95 1/19/18 EW C75 1/19/18 EW C95 1/18/19 EW C75 1/18/19 FB C130 3/17/17 FB C110 3/17/17 FB C130 6/16/17 FB C110 6/16/17 FB C130 1/19/18 FB C110 1/19/18 GILD C70 5/19/17 GILD C80 5/19/17 GILD C70 6/16/17 GILD C80 6/16/17 GILD C70 1/19/18 GILD C80 1/19/18
Black-Scholes R2 0.9992 0.9916 0.9985 0.9931 0.9812 0.9838 0.6549 0.6482 0.598 0.5739 0.6053 0.5089 0.9889 0.9961 0.9879 0.9955 0.9976 0.9947 0.9934 0.9766 0.9887 0.9801 0.9845 0.8718 0.9993 0.9748 0.9977 0.9535 0.9888 0.9967 0.9946 0.995 0.9911 0.991 0.9871 16
Heston R2 0.9993 0.9916 0.9932 0.9989 0.9808 0.9828 0.6851 0.6739 0.6434 0.6373 0.7226 0.6973 0.9889 0.9976 0.9879 0.9972 0.9983 0.9954 0.9928 0.9825 0.9908 0.9799 0.9838 0.9298 0.9998 0.9779 0.998 0.9605 0.9897 0.9984 0.9969 0.9986 0.9967 0.9964 0.9956
Moreover, the Heston model in 83% of cases tended to have a lower sum of squares difference on the observed options. The results can be seen in the table below: Option ID ADBE C105 4/21/17 ADBE C92.5 4/21/17 ADBE C105 7/21/17 ADBE C95 7/21/17 ADBE C105 1/19/18 ADBE C92.5 1/19/18 BIIB C260 1/19/18 BIIB C290 1/19/18 BIIB C265 7/21/17 BIIB C285 7/21/17 BIIB C265 4/21/17 BIIB C285 4/21/17 EBAY C26 4/21/17 EBAY C30 4/21/17 EBAY C26 7/21/17 EBAY C30 7/21/17 EBAY C30 1/19/18 EW C95 5/19/17 EW C75 5/19/17 EW C95 1/19/18 EW C75 1/19/18 EW C95 1/18/19 EW C75 1/18/19 FB C130 3/17/17 FB C110 3/17/17 FB C130 6/16/17 FB C110 6/16/17 FB C130 1/19/18 FB C110 1/19/18 GILD C70 5/19/17 GILD C80 5/19/17 GILD C70 6/16/17 GILD C80 6/16/17 GILD C70 1/19/18 GILD C80 1/19/18
Black-Scholes SSD 0.52 6.14 1.28 10.61 8.04 47.02 1,288.64 1,117.30 1,212.55 914.83 1,028.12 767.80 1.06 2.87 1.35 3.85 0.21 4.76 9.79 10.38 48.82 13.52 62.81 6.66 2.46 1.72 15.29 4.33 52.35 0.50 0.08 0.86 0.18 2.03 1.30
Heston SSD 0.25 6.26 0.38 8.38 6.05 10.67 3,148.59 413.764 674.67 513.87 445.90 768.48 1.37 0.13 3.50 0.14 0.08 1.03 8.38 33.02 4.73 6.87 24.64 3.15 0.19 1.43 2.49 2.50 83.67 0.139116 0.058454 0.128411 0.115413 0.393022 2.443368
The overall analysis suggests that it is more likely that market participants are using the Heston model or a similar stochastic volatility model in order to price options in the real financial markets. 17
7 - The Black-Scholes Model as a Predictor of Future Option Prices 7.1 - Calculations of Black-Scholes Volatility Parameter In order to estimate the volatility parameter, historical time-series data can be analyzed at fixed intervals (i.e., daily, weekly, monthly) and these fixed points can be used in the calculation of the historical volatility of an underlying asset. I derive historic volatility using Hull (p.324-327). We define: n + 1 = number of observations Si = the Stock price at the end of the ith observations where i = 0,1,2……n τ = annualized length of observations Si µi = ln Si-1
( )
(24)
Where the standard deviation of µi is:
(25)
and the annualized volatility σ is: σ = sdaily√252 (26)
where we assume there are 252 trading days in a year.
Using these formulas I derive the historic volatility parameter of the Black-Scholes model using the adjusted closing price each day over a five year period, using the most recent trading data. For the Black-Scholes model, if the historic volatility is greater than the implied volatility, this suggests a buy-signal because all other inputs for the model are known (i.e., underlying price, strike price, time to maturity and risk-free rate). This process is similar to Goyal & Saretto’s (2009) approach where they look at returns on options where implied volatility varies from historic volatility. For implied volatility, I use the derivations of volatility from the Black-Scholes market calibration section of this paper which provides an accurate estimate of the implied volatility. By applying these metrics I examine if the Black-Scholes model acts as a good predictor of future option prices. I also make the assumption that a trader is only able to buy at the Ask and sell at the Bid and use this when calculating trading profits and losses as this better reflects real life trading conditions.
18
7.2 - Results of the Black-Scholes Model as a Predictor of Future Option Prices
The results of this trading strategy over three months results in losses 77% of the time. Option ID ADBE C105 4/21/17 ADBE C92.5 4/21/17 ADBE C105 7/21/17 ADBE C95 7/21/17 ADBE C105 1/19/18 ADBE C92.5 1/19/18 BIIB C260 1/19/18 BIIB C290 1/19/18 BIIB C260 7/21/17 BIIB C285 7/21/17 BIIB C265 4/21/17 BIIB C285 4/21/17 EBAY C26 4/21/17 EBAY C30 4/21/17 EBAY C26 7/21/17 EBAY C30 7/21/17 EBAY C30 1/19/18 EW C95 5/19/17 EW C75 5/19/17 EW C95 1/19/18 EW C75 1/19/18 EW C95 1/18/19 EW C75 1/18/19 FB C130 3/17/17 FB C110 3/17/17 FB C130 6/16/17 FB C110 6/16/17 FB C130 1/19/18 FB C110 1/19/18 GILD C70 5/19/17 GILD C80 5/19/17 GILD C70 6/16/17 GILD C80 6/16/17 GILD C70 1/19/18 GILD C80 1/19/18
BS H_Vol 0.2434 0.2434 0.2434 0.2434 0.2434 0.2434 0.3405 0.3405 0.3405 0.3405 0.3405 0.3405 0.2703 0.2703 0.2703 0.2703 0.2703 0.3357 0.3357 0.3357 0.3357 0.3357 0.3357 0.3929 0.3929 0.3929 0.3929 0.3929 0.3929 0.304 0.304 0.304 0.304 0.304 0.304
BS I_Vol 0.2358 0.2358 0.2528 0.2528 0.4219 0.4219 0.3969 0.3969 0.40319 0.40319 0.45037 0.45037 0.3246 0.3246 0.3233 0.3233 0.29655 0.30059 0.30059 0.3287 0.3287 0.35293 0.35293 0.2272 0.2272 0.2521 0.2521 0.28306 0.28306 0.236449 0.236449 0.232168 0.232168 0.251655 0.251655
t=0 BID 6.6 16.3 9 16.05 17.6 24.75 51.4 35.5 37 26.2 29.7 18.7 4.7 1.91 5 2.63 3.7 7.5 21.2 12.7 25.1 18.5 29 3.9 18.25 7.25 20.35 13.9 25.65 5.1 1.43 5.45 1.7 8.45 4.35
19
t=0 ASK 6.8 17.75 9.2 16.55 20.1 27.7 54.4 38.1 40.1 29.4 32.5 21.7 4.8 1.92 5.5 2.68 3.8 8.4 24.2 16.5 29 22.9 33.6 4 18.4 7.4 20.5 14 25.85 5.25 1.45 5.65 1.76 8.6 4.5
t=n Bid 14.8 26.7 16.85 25.55 25.55 34.5 56.1 38.1 40.3 28.8 33.9 19.9 7.65 4 8.05 4.75 5.9 5.5 19.8 11.2 24 18 29.5 5.85 25.15 10.2 26.25 16.85 30.65 2.76 0.42 3.1 0.57 6.1 2.74
t=n Position Ask 15.2 Long 27.8 Long 17.1 Short 25.9 Short 28.2 Short 37.7 Short 59.5 Short 41.5 Short 43.7 Short 29.5 Short 36.1 Short 20.3 Short 8.65 Short 4.15 Short 8.75 Short 4.9 Short 6.1 Short 6.5 Long 23.2 Long 13.2 Long 26.8 Long 21.5 Short 32.9 Short 5.95 Long 25.3 Long 10.25 Long 26.45 Long 17 Long 30.95 Long 2.79 Long 0.43 Long 3.15 Long 0.58 Long 6.2 Long 2.79 Long
Profit 117.65% 50.42% -90.00% -61.37% -60.23% -52.32% -15.76% -16.90% -18.11% -12.60% -21.55% -8.56% -84.04% -117.28% -75.00% -86.31% -64.86% -34.52% -18.18% -32.12% -17.24% -16.22% -13.45% 46.25% 36.68% 37.84% 28.05% 20.36% 18.57% -47.43% -71.03% -45.13% -67.61% -29.07% -39.11%
8 - The Heston Model as a Predictor of Future Option Prices 8.1 - Calculations of Heston Volatility Parameters In order to calculate the historic volatility parameters of the Heston model, I estimate the following characteristics using the last five years of historic data for an underlying asset: θ = the long-run variance of the CIR process κ = the rate at which νt reverts to θ ξ = the volatility of the volatility which determines the variance of νt ρ = the correlation of the Wiener processes dWts and dWtν ν0 = the starting volatility parameter at inception µStdt + √νtStdWts ≈ µSdt + σSdz (27) ∴ κ(θ-ν(t-1))dt + ξ√ν(t-1)dWtν ≈ σ (28) To estimate these variables using historic stock data: ν0 – can simply be estimated as the average beginning volatility at the beginning of the five year period observed on the option. ξ – can be estimated as the variance of the volatility because of the assumptions of equation 28 we can therefore use the variance of equation 26 as an estimate θ – can be estimated by taking the average of the Black-Scholes volatility at the end of the fiveyear period ρ – for simplicity rho can be assumed as -0.999 as it typically has a strongly negative correlation with the standard Weiner Process dWts κ – can be estimated by minimizing the sum of squares difference between the two sides of equation 28 that is, it should give a close representation of the Black-Scholes historical volatility. An example of the historic volatility parameters of the Heston model on ADBE options can be seen below with a comparison to the daily observed historic volatility.
2
Heston Model Volatility on ADBE
Daily Volatility
Daily Volatility
Historic Volatility ADBE 1.5 1 0.5 0 0
500 Days
1000
0.6 0.4 0.2 0 0
20
500 Days
1000
8.2 - Results of the Heston Model as a Predictor of Future Option Prices
The results of this trading strategy results in losses 51% of the time, which is fewer than before. Option ID
Heston Price
t=0 BID
t=0 ASK
t=n Bid
t=n Ask
ADBE C105 4/21/17
$11.96
6.6
6.8
14.8
15.2
Long
117.65%
ADBE C92.5 4/21/17 ADBE C105 7/21/17 ADBE C95 7/21/17 ADBE C105 1/19/18 ADBE C92.5 1/19/18 BIIB C260 1/19/18 BIIB C290 1/19/18 BIIB C260 7/21/17 BIIB C285 7/21/17 BIIB C265 4/21/17 BIIB C285 4/21/17 EBAY C26 4/21/17 EBAY C30 4/21/17 EBAY C26 7/21/17 EBAY C30 7/21/17 EBAY C30 1/19/18 EW C95 5/19/17 EW C75 5/19/17 EW C95 1/19/18 EW C75 1/19/18 EW C95 1/18/19 EW C75 1/18/19 FB C130 3/17/17 FB C110 3/17/17 FB C130 6/16/17 FB C110 6/16/17 FB C130 1/19/18 FB C110 1/19/18 GILD C70 5/19/17 GILD C80 5/19/17 GILD C70 6/16/17 GILD C80 6/16/17 GILD C70 1/19/18 GILD C80 1/19/18
$19.49 $16.05 $21.34 $21.75 $27.85 $39.95 $28.39 $28.39 $18.51 $18.01 $10.73 $5.53 $3.25 $6.56 $4.49 $6.22 $9.21 $22.47 $14.39 $25.80 $18.84 $29.16 $15.82 $26.02 $26.18 $34.16 $38.78 $46.41 $7.37 $3.48 $8.00 $4.08 $11.94 $8.02
16.3 9 16.05 17.6 24.75 51.4 35.5 37 26.2 29.7 18.7 4.7 1.91 5 2.63 3.7 7.5 21.2 12.7 25.1 18.5 29 3.9 18.25 7.25 20.35 13.9 25.65 5.1 1.43 5.45 1.7 8.45 4.35
17.75 9.2 16.55 20.1 27.7 54.4 38.1 40.1 29.4 32.5 21.7 4.8 1.92 5.5 2.68 3.8 8.4 24.2 16.5 29 22.9 33.6 4 18.4 7.4 20.5 14 25.85 5.25 1.45 5.65 1.76 8.6 4.5
26.7 16.85 25.55 25.55 34.5 56.1 38.1 40.3 28.8 33.9 19.9 7.65 4 8.05 4.75 5.9 5.5 19.8 11.2 24 18 29.5 5.85 25.15 10.2 26.25 16.85 30.65 2.76 0.42 3.1 0.57 6.1 2.74
27.8 17.1 25.9 28.2 37.7 59.5 41.5 43.7 29.5 36.1 20.3 8.65 4.15 8.75 4.9 6.1 6.5 23.2 13.2 26.8 21.5 32.9 5.95 25.3 10.25 26.45 17 30.95 2.79 0.43 3.15 0.58 6.2 2.79
Long Long Long Long Long Short Short Short Short Short Short Long Long Long Long Long Long Short Short Short Short Short Long Long Long Long Long Long Long Long Long Long Long Long
50.42% 83.15% 54.38% 27.11% 24.55% -15.76% -16.90% -18.11% -12.60% -21.55% -8.56% 59.38% 108.33% 46.36% 77.24% 55.26% -34.52% -9.43% -3.94% -6.77% -16.22% -13.45% 46.25% 36.68% 37.84% 28.05% 20.36% 18.57% -47.43% -71.03% -45.13% -67.61% -29.07% -39.11%
21
Position
Profit
9 - Model Prediction Results The results of using both models for predictive purposes shows that the Heston model tends to be a better predictor of future option prices than the Black-Scholes model. This is primarily due to the fact that the Heston model takes advantage of stochastic volatility and allows for the evolution of volatility, something that the Black-Scholes model lacks. Moreover, as seen with the market calibration analysis above, the Heston Model had a higher correlation coefficient with market prices on average than the Black-Scholes model and also a lower sum of squares difference. Because of this and the fact that the Heston model tends to capture the volatility smile, the Heston model is overall a more robust model for both modeling and trading signals. Market-calibrated prices for both models tend to have implied volatilities that diverge from historic volatilities. As such, the question becomes, does volatility revert back to historic volatilities, and if so, does this present an opportunity to generate trading profits from this process? Analysis on large-cap companies shows that companies tend to a lower steady-state volatility as they progress to a state of maturity. As seen below, Alphabet Inc. exhibits this phenomenon which fits in well with the stochastic volatility aspects of the Heston model. Moreover, this phenomenon also shows how volatility is not constant as assumed by the Black-Scholes model and supports the findings above which imply that the Heston model is a better predictor of future option prices. These findings also tend to align with Goyal & Saretto’s (2009) findings, however with my findings showing the Heston model as a better framework for option pricing in general and does present an opportunity to generate trading profits due to the mean-reverting nature of volatility. An example of Alphabet Inc’s historic volatility fitting the assumptions of the Heston model can be seen below:
Volatility
GOOG Historic 30-day Volatility 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0
22
10 - Monte-Carlo Simulations of the Black-Scholes Model with Jump Diffusion A useful approach to option pricing is the Monte-Carlo method, where an underlying asset is simulated using the assumptions of a model and the simulated payoffs of the option are calculated and present valued at the risk-free rate. I use the Black-Scholes model and include a jump diffusion16 process for earnings dates which was first introduced by Robert Merton (1976). This process allows for more accurate pricing in the event that underlying stock returns exhibit discontinuous returns, such as a sudden jump in the stock price as a result of earnings announcements. These Monte-Carlo simulations function as open-form mathematical solutions to the problem of pricing an option when the probability density function is subject to asymmetric changes to its distribution. Because deriving a closed-form mathematical solution to include a jump diffusion process tends to be more sophisticated, Monte-Carlo simulations are typically used and allow for user defined characteristics to be inputted into the model. However, before doing this it is important to discuss some of the basic assumptions and misconceptions regarding volatility.
10.1 - Misconceptions Regarding Volatility The assumption that returns are normally distributed and that volatility is constant is inconsistent with historical observations of the S&P 100. For instance, a normally distributed return would almost never generate a loss in the S&P 100 of over 20% in a single trading day, which is what occurred on October 19, 1987.
Log Returns
S&P 100 Log Returns 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25 -0.3
16
A jump-diffusion process is used to account for an increase in volatility at a particular point in time. This process in a MonteCarlo simulation for earnings dates allows for a singular trading day in which volatility is allowed to increase to a higher than normal level. See “10.3 - The Impact of Jump Diffusion on the Probability Density Function”
23
Rather, the distribution of returns on equities exhibits more of a leptokurtic, left-skewed and fattailed distribution then that of a typical normal distribution as shown below:
Precent of Disbtribution
Distribution of Returns 50% 40%
30% 20% 10% 0% -10
-5
Observed
0 Sigma Event
5
10
Normal Distribution
Due to the fact that the Black-Scholes model assumes that returns are normally distributed, this therefore creates a differential between the outputs of the Black-Scholes model and the actuarial fair-value of an option which presents a shortcoming for the Black-Scholes model. Even though the Black-Scholes model has its downsides, I will use it as a framework for this analysis.
10.2 - Jump Diffusion for Earnings Announcements Because volatility tends to be non-constant as shown in the graph of the S&P 100’s Log Returns, more robust assumptions about future volatility should be taken into consideration when valuing an option. One way in which to account for this is considering the impact of earnings announcements on stock prices. Earnings announcements tend to be one of the most volatile periods for an underlying asset as investor patiently await the results of a company’s financial performance. Typically observed volatility on these trading days tends to be higher, and as such, the following Monte-Carlo simulations will account for this by adding in the historic volatility observed on earnings dates. For the Monte-Carlo using the assumptions of the Black-Scholes Model we assume: Where:
dS = µSdt + σSdz + JndTn (14)
S = the value of the underlying asset at time t µ = the annualized drift of the underlying asset σ = the annualized volatility of the underlying asset dz = a standard Weiner process Jn = the annualized volatility to be observed on the nth jump Tn = the time at which nth jump process occurs
24
10.3 - The Impact of Jump Diffusion on the Probability Density Function A standard process with no jumps yields the following: Distribution of Possible Prices
Underlying Price
Percent of Observations
Probability Density Function at Expiry
Time (t)
Price of Underlying
As seen within the distributional properties above, distribution of possible prices exhibits an increasing variance the further away from the origin that the underlying assets gets. With the inclusion of a jump diffusion process as seen below, the distribution of possible prices tends to exhibit heteroskedastic properties and an alteration to the probability density function leading to a greater variance of possible ending prices. The addition of a singular jump diffusion process yields the following: Distribution of Possible Prices
Underlying Price
Percent of Observations
Probability Density Function at Expiry
Time (t)
Price of Underlying
The addition of a jump diffusion process changes the distribution of possible prices for the underlying asset while simultaneously changing the variance of the probability density function at expiry changing the value of an option. If an investor had perfect information about future volatility this would effectively allow the investor to perfectly price an option and statistically arbitrage options when other traders fail to account for increased volatility.
25
11 - Monte-Carlo Simulation Results 11.1 - Using Historic Volatility for Predictive Modeling In order to determine if the Black-Scholes model performs as a good predictor of future option prices I include jump diffusion parameters for future earnings dates in Monte-Carlo simulations and re-value the options. The simulations use historic volatility to account for the regular volatility and volatility observed on earnings dates to account for the jump diffusion process. This process assumes that in the long-run, implied volatilities of an options tend towards their historic average. Because options are a function of volatility, as volatility parameters change, the forecast of the option also changes. However, because all models will tend to the market price regardless of implied volatility as time tends to zero, we must add back the decay-rate of an option in order to see if a more robust version of the Black-Scholes model functions as a good predictor of future prices. To do this, I derive Theta, the time-decay of an option, and add this back into the price differential of the option as time changes. By doing this I measure if there is a convergence market and model prices, if this the case, it exhibits evidence that the Black-Scholes with jump diffusion is a good predictor of future option prices.
11.2 - Examples of Monte-Carlo Simulations with Jump Diffusion For Adobe, computations of historical volatility shows that σ= 0.5135, however volatility on earnings dates has historically been σe= 0.7744. I re-pricing Adobe options starting 1/18/17 with earnings dates assumed at: 3/17/17; 6/21/17; 9/20/17 and 12/15/17 with the following results:
ADBE 1/19/18 C105 Option - Near the Money (LT) 31 27 25 23 21 19 17 256
251
246
σ= 0.5135; σe= 0.7744
Bid
Ask
241
236
231
226
Days to Maturity Avg
BS_Monte-Carlo w/ Jumps
26
Option Price
29
Monte-Carlo simulation of the Black-Scholes model for ADBE 1/19/18 C105 options with the inclusion of a jump-diffusion process to correct for increased volatility on earnings dates had an R2 of 0.9768. Simultaneously, sum of squares difference between the model and market price was 440.22 showing that the model does a poor job of depicting market prices. However, the model tended to have predictive qualities as the market prices tended towards the model prices even when adjusted for the time-decay of the option as shown below:
30% 25% 20% 15% 10% 5% 0% 256
251
246 241 236 Days to Maturity
Price Difference
231
Differential
Market-Model Price Differential
226
Decay-Adjusted Difference
If this model was used for the purposes of speculative trading, a trader at the beginning of the observation period could have purchased an ADBE 1/1918 call option at the Ask price of $20.1 and resold the option at the end of the observation period at the Bid price of $25.55, thus realizing a net profit of 27.11%. Results of this Monte-Carlo can be seen in the Appendix. For Facebook, computations of historical volatility shows that σ= 0.3852, however volatility on earnings dates has historically been σe= 0.427565. Re-pricing Facebook options starting 1/18/17 with earnings dates assumed on 5/03/2017. The results are as shown below: FB 6/16/17 C130 Option - Near the Money (MT)
13 11 9 7 103
98
93 88 83 σ= 0.3852; σe= 0.4276 Days to Maturity Bid
Ask
Avg
78
73
BS_Monte-Carlo w/ Jumps 27
Option Price
15
The Black-Scholes Monte-Carlo with the inclusion of a jump-diffusion process to correct for increased volatility on earnings dates had an R2 of 0.9704, which is lower than both the vanilla Black-Scholes and Heston models. Simultaneously, the sum of squares difference between the model and market price was 499.58 showing that the model did a poor job of depicting the market prices. However, once again the market prices even when accounting for the decay-rate of the option tended to the model prices. These findings align with Goyal & Saretto’s (2009) findings which shows significant average monthly returns when portfolios of options are purchased when there is a divergence between the historic volatility and implied volatility of an option. The results of the model can be seen below:
70% 60% 50% 40% 30% 20% 10% 0% 103
98
93 88 83 Days to Maturity
Price Difference
78
Differential
Market-Model Price Differential
73
Decay-Adjusted Difference
11.3 – Results of Trading Strategy The results of using this trading strategy on these two options results in the following: Option ID ADBE C105 1/19/18 FB C130 6/16/17
BS H_Vol 0.2434 0.2434
BS I_Vol 0.2358 0.2272
t=0 BID 17.6 7.25
t=0 ASK 20.1 7.4
t=n Bid
t=n Ask
25.55 10.2
28.2 10.25
Position Long Long
Trading Profit 27.11% 37.84%
This analysis suggests that by taking into account more robust assumptions about volatility, option price models themselves can function as predictors of future option prices. This trading strategy assumes that volatility its self is non-constant and tends to be larger around earnings dates, thus changing the value of the option. The second assumption is that volatility is mean reverting in that volatility will revert to its historic average over time17.
17
This assumption is based on the fact that historic volatility is used as a primary input into the model. Because market prices tended to model prices after the inclusion of jump diffusion for earnings dates even after accounting for the decay rate of the option, this suggests that volatility is exhibiting these properties. This is also consistent with the assumptions of the Heston model and the manner in which it describes the evolution of volatility with mean-reverting properties.
28
12 – Conclusion When the Black-Scholes and Heston models are calibrated to market prices, the Heston model tends to do a better job of pricing options. Comparisons of the correlation coefficients and sum of squares differences showed that the Heston model was more accurate in 74% and 83% of all cases respectively. The Heston model is a better framework for pricing options due to the fact that it tracks the evolution of volatility by using a stochastic process whereas the Black-Scholes model assumes that volatility is constant. The Black-Scholes model also exhibits a strike-price bias and tends to underprice deep in and out of the money options. When comparing the predictive qualities of the models I use the historic volatility as an input for the models and use the model prices as a trading signal. Over a three month period, the BlackScholes models resulted in losses in 77% of all cases whereas the Heston model resulted in losses in only 51% of all cases. This shows that the Heston model tends to be a better predictor of future option prices. These results are primarily due to the different trading signals that are exhibited by each model, with the Heston model having the ability to describe the volatility smile. I also create Monte-Carlo simulations and add in jump-diffusion processes to account for earnings announcements. The results of the simulations on the two companies I tested suggest that model and market prices tend to converge over time even after accounting for the decay rate of the options. The simulations showed market-model convergences of 5% and 2% respectively. These results suggest that more accurate assumptions about volatility can results in models that function as predictors of future option prices. This leaves open the opportunity to use the Heston model with jump diffusion to price options and use it as a predictor of future option prices.
29
References
Bhupinder B., (1997) Implied Risk-neutral Probability Density Functions From Option Prices: Theory and Application. Bank of England Working Paper No 66. Retrieved from http://dx.doi.org/10.2139/ssrn.77429 Bin, C. (2007): Calibration of the Heston Model with Application in Derivative Pricing and Hedging. Retrieved from: http://ta.twi.tudelft.nl/mf/users/oosterle/oosterlee/chen.pdf Black, F., & Scholes, M. (1973). The Pricing of Options and Corporate Liabilities. Journal of Political Economy,81(3), 637-654. doi:10.1086/260062 Chesney, M., & Scott, L. (1989). Pricing European Currency Options: A Comparison of the Modified Black- Scholes Model and a Random Variance Model. The Journal of Financial and Quantitative Analysis,24(3), 267. doi:10.2307/2330812 Crisstomo, R. (2014). An Analysis of the Heston Stochastic Volatility Model: Implementation and Calibration Using Matlab. SSRN Electronic Journal. doi:10.2139/ssrn.2527818 Goyal, A., & Saretto, A. (2009). Cross-section of option returns and volatility. Journal of Financial Economics,94(2), 310-326. doi:10.1016/j.jfineco.2009.01.001 Heston, S. L. (1993). A Closed-Form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options. Review of Financial Studies,6(2), 327-343. doi:10.1093/rfs/6.2.327 Hull, J. C. (2018). Options, futures, and other derivatives (10th ed.). New York, NY: Pearson. Klein, P. (1996). Pricing Black-Scholes options with correlated credit risk. Journal of Banking & Finance,20(7), 1211-1229. doi:10.1016/0378-4266(95)00052-6 Merton, R. C. (1976). Option pricing when underlying stock returns are discontinuous. Journal of Financial Economics,3(1-2), 125-144. doi:10.1016/0304-405x(76)90022-2 Merton, R. C., Brennan, M. J., & Schwartz, E. S. (1977). The Valuation Of American Put Options. The Journal of Finance,32(2), 449-462. doi:10.1111/j.15406261.1977.tb03284.x Pagano, M., & Röell, A. (1996). Transparency and Liquidity: A Comparison of Auction and Dealer Markets with Informed Trading. The Journal of Finance,51(2), 579-611. doi:10.1111/j.1540-6261.1996.tb02695.x Ye, Z. (2013). The Black-Scholes and Heston Models for Option Pricing (Unpublished master's thesis). University of Waterloo. Retreived from https://uwspace.uwaterloo.ca/bitstream /handle/10012/7541/Ye_Ziqun.pdf?sequence=1&isAllowed=y
30
Appendix
Script 1: MatLab Vanilla Monte-Carlo Code18 clear clc close all %-- Closes any old graphs from a previous run %===== Inputs ====% K r vol drift t N
= = = = = =
30; 0.02; 0.36; 0; 200; 10000;
%Strike Price %Risk-Free rate %volatility %constant drift process %time to expiration in days %number of iterations
for N = 1:N So
= 33.75;
%Stock Price
for t = 1:t So =(So*drift*(1/252)+So*norminv(rand(),0,(vol/sqrt(252)))+So); SoGraph(t,N) = So; %figure(1) %-- use these to see it graph each iteration %plot(SoGraph) %-- use these to see it graph each iteration end CallProfit(N) = max(( So - K )*exp((-r)*(t/252)),0); clc % I put this here to keep the Command Window clean as it iterates N end figure(1) plot(SoGraph) CallOption = mean(CallProfit)
18
Thank-you to Mike Solyom for help with adding in the charts
31
Script 2: MatLab Monte-Carlo Code with Jump-Diffusion19 clear clc close all %-- Closes any old graphs from a previous run %===== Inputs ====% K r vol drift t j D N
= = = = = = = =
30; 0.02; 0.36; 0; 22; 0.9251; 7; 100;
%Strike Price %Risk-Free rate %volatility %constant drift process %time to expiration in days %earnings-date jump vol %days until earnings are announced %number of iterations
for N = 1:N So = 33.75
%Stock Price
for t = 1:t if t == D So =(So*drift*(1/252)+So*norminv(rand(),0,(j/sqrt(252)))+So) else So =(So*drift*(1/252)+So*norminv(rand(),0,(vol/sqrt(252)))+So) end SoGraph(t,N) = So; %figure(1) %-- use these to see it graph each iteration %plot(SoGraph) %-- use these to see it graph each iteration end CallProfit(N) = max(( So - K )*exp((-r)*(t/252)),0); clc % I put this here to keep the Command Window clean as it iterates N end figure(1) plot(SoGraph) CallOption = mean(CallProfit)
19
Thank-you to Mike Solyom for help with adding in the charts
32
MatLab Function 1: Characteristic function of the Heston Model20 (chfun_heston.m) function y = chfun_heston(s0, v0, vbar, a, vvol, r, rho, t, w); % Heston characteristic function. % Inputs: % s0: stock price % v0: initial volatility (v0^2 initial variance) % vbar: long-term variance mean % a: variance mean-reversion speed % vvol: volatility of the variance process % r : risk-free rate % rho: correlation between the Weiner processes for the stock price and its variance % w: points at which to evaluate the function % Output: % Characteristic function of log (St) in the Heston model % Interim calculations alpha = -w.*w/2 - i*w/2; beta = a - rho*vvol*i*w; gamma = vvol*vvol/2; h = sqrt(beta.*beta - 4*alpha*gamma); rplus = (beta + h)/vvol/vvol; rminus = (beta - h)/vvol/vvol; g=rminus./rplus; % Required inputs for the characteristic function C = a * (rminus * t - (2 / vvol^2) .* log((1 - g .* exp(-h*t))./(1-g))); D = rminus .* (1 - exp(-h * t))./(1 - g .* exp(-h*t)); % Characteristic function evaluated at points w y = exp(C*vbar + D*v0 + i*w*log(s0*exp(r*t)));
Script 3: Heston Model Option-Series Pricer %call_heston_cf(s0, v0, vbar, a, vvol, r, rho, t, k) N = 32; %Number of time periods to re-price option at %===== s0 = t = r = v0 = vbar = vvol = rho = a = k =
Inputs Vectors =====% [input data]; [input data]; [input data]; 0.0000; 0.9194; 0.5827; -0.4389; 0.1847; 80; %Strike Price of option
for N = 1:N Prices = call_heston_cf(s0(N), v0, vbar, a, vvol, r(N), rho, t(N), k) end
20
Thank-you Ricardo Crisóstomo for letting me steal your code
33
Matlab Function 2: Call price in the Heston model21 (call_heston_cf.m) function y = call_heston_cf(s0, v0, vbar, a, vvol, r, rho, t, k) % Heston call value using characteristic functions. % y = call_heston_cf(s0, v0, vbar, a, vvol, r, rho, t, k) % Inputs: % s0: stock price % v0: initial volatility (v0^2 initial variance) % vbar: long-term variance mean % a: variance mean-reversion speed % vvol: volatility of the variance process % r: risk-free rate % rho: correlation between the Weiner processes of the stock price and its variance % t: time to maturity % k: option strike % chfun_heston: Heston characteristic function % 1st step: calculate pi1 and pi2 % Inner integral 1 int1 = @(w, s0, v0, vbar, a, vvol, r, rho, t, k) real(exp(i.*w*log(k)).*chfun_heston(s0, v0, vbar, a, vvol, r, rho, t, wi)./(i*w.*chfun_heston(s0, v0, vbar, a, vvol, r, rho, t, -i))); % inner integral1 int1 = integral(@(w)int1(w,s0, v0, vbar, a, vvol, r, rho, t, k),0,100); % numerical integration pi1 = int1/pi+0.5; % final pi1 % Inner integral 2: int2 = @(w, s0, v0, vbar, a, vvol, r, rho, t, k) real(exp(i.*w*log(k)).*chfun_heston(s0, v0, vbar, a, vvol, r, rho, t, w)./(i*w)); int2 = integral(@(w)int2(w,s0, v0, vbar, a, vvol, r, rho, t, k),0,100);int2 = real(int2); pi2 = int2/pi+0.5; % final pi2 % 2rd step: calculate call value y = s0*pi1-exp(-r*t)*k*pi2; end
Matlab Function 3: Cost function for local calibration22 (costf.m) function [cost] = costf(x) global data; global finalcost; % Compute individual differences % Sum of squares performed by Matlab's lsqnonlin for i=1:length(data) cost(i)= data(i,5) - call_heston_cf(data(i,1),x(1), x(2), (x(5)+x(3)^2)/(2*x(2)), x(3), data(i,4), x(4), data(i, 2),data(i,3)); end % Show final cost finalcost =sum(cost)^2 end
21 22
Thank-you Ricardo Crisóstomo for letting me steal your code Thank-you Ricardo Crisóstomo for letting me steal your code
34
Script 4: Heston local calibration using Matlab’s lsqnonlin23 (Heston_calibration_local.m) % Heston calibration, local optimization (Matlab's lsqnonlin) % Input on data.txt % Data = [So, t, k, r, mid price, bid, ask] clear all global data; global cost; global finalcost; data = [] % Initial parameters and parameter bounds % Bounds [v0, Vbar, vvol, rho, 2*a*vbar - vvol^2] % Last bound include non-negativity constraint and bounds for mean-reversion x0 = [.5,.5,1,-0.5,1]; lb = [0, 0, 0, -1, 0]; ub = [1, 1, 5, 1, 20]; % Optimization: calls function costf.m: tic; x = lsqnonlin(@costf,x0,lb,ub); toc; % Solution: Heston_sol = [x(1), x(2), x(3), x(4), (x(5)+x(3)^2)/(2*x(2))] x min = finalcost
Script 5: Black-Scholes Option Pricing Model %=== Black-Scholes ===% clear clc %=== Inputs ===% So = 35; K = 29; r = 0.02; vol = 0.36; T = 22/252; %=== Formulas ===% d1 = ((log(So/K) + (r + vol^2/2)*T))/(vol*sqrt(T)); d2 = ((log(So/K) + (r - vol^2/2)*T))/(vol*sqrt(T)); Call = So*normcdf(d1) - K*exp(-r*T)*normcdf(d2) Put = K*exp(-r*T)*normcdf(-d2) - So*normcdf(-d1)
23
Thank-you Ricardo Crisóstomo for letting me steal your code
35
ADBE ADBE 1/19/18 TRADE Days to Option Option Option C105 options PRICE Maturity Bid Ask Avg 2017-01-18 9:00 108.15 257 17.6 20.1 18.85 2017-01-19 9:00 108.77 256 18.25 20.05 19.15 2017-01-20 9:00 110.259 255 19.8 21.05 20.425 2017-01-23 9:00 110.62 254 19.95 21.85 20.9 2017-01-24 9:00 112.66 253 20.3 22.75 21.525 2017-01-25 9:00 113.89 252 22.65 24.15 23.4 2017-01-26 9:00 113.05 251 22.25 23.85 23.05 2017-01-27 9:00 113.405 250 20.95 24.35 22.65 2017-01-30 9:00 112.76 249 21.9 23.65 22.775 2017-01-31 9:00 112.81 248 22.15 23.5 22.825 2017-02-01 9:00 113.29 247 20.95 24.05 22.5 2017-02-02 9:00 113.02 246 22.15 23.55 22.85 2017-02-03 9:00 114.64 245 23.3 25.2 24.25 2017-02-06 9:00 114.35 244 21.3 24.1 22.7 2017-02-07 9:00 114.945 243 22.8 24.5 23.65 2017-02-08 9:00 115.61 242 23.1 24.6 23.85 2017-02-09 9:00 116.5 241 23.1 26.2 24.65 2017-02-10 9:00 116.12 240 23.45 25.3 24.375 2017-02-13 9:00 117.11 239 23.05 26.05 24.55 2017-02-14 9:00 117.13 238 23.5 26.85 25.175 2017-02-15 9:00 118.42 237 24.4 26.85 25.625 2017-02-16 9:00 118.72 236 24.5 27.85 26.175 2017-02-17 9:00 118.96 235 25.5 27.05 26.275 2017-02-20 9:00 119.67 234 25.8 27.05 26.425 2017-02-21 9:00 119.865 233 25.2 27.85 26.525 2017-02-22 9:00 119.27 232 24.7 28.35 26.525 2017-02-23 9:00 118.25 231 25.25 27.7 26.475 2017-02-24 9:00 118.26 230 24.95 26.7 25.825 2017-02-27 9:00 118.33 229 24.25 27.75 26 2017-02-28 9:00 118.36 228 25.15 27.15 26.15 2017-03-01 9:00 119.91 227 25.15 28 26.575 2017-03-02 9:00 119.55 226 25.55 28.2 26.875
24
BlackBS_Jump Scholes Heston Monte24 19.80877 19.2003 23.7854 20.15188 19.593 23.8229 21.04431 20.9679 24.6211 21.23756 20.5691 24.7871 22.53446 22.2845 26.3383 23.29543 23.137 26.7875 22.71223 22.4915 26.4158 22.90902 22.7189 26.6507 22.45072 22.2083 26.2249 22.45222 22.2147 26.1912 22.73009 22.5289 26.5333 22.51688 22.2956 26.0475 23.54517 23.4437 27.0606 23.31064 23.187 26.9230 23.68605 23.6122 27.4047 24.10114 24.0725 27.8175 24.66216 24.696 28.6529 24.36722 24.374 28.1770 24.99997 25.0755 28.3488 24.982 25.0594 28.5234 25.8461 26.0133 29.4768 26.00735 26.1929 29.6573 26.13255 26.333 29.9600 26.59356 26.8405 30.4241 26.68856 26.9471 30.1178 26.22231 26.4398 30.0323 25.43219 25.5754 29.2558 25.40704 25.5513 28.7725 25.43884 25.5903 28.9872 25.40169 25.552 29.4666 26.48061 26.7365 30.13 26.21524 26.4507 29.5562
100,000 traces per observation with jump diffusion process for earnings dates; Total Runtime: 18:12:13.
36
FB US 6/16/17 FB TRADE Days to Bid C130 options PRICE Maturity 2017-01-18 09:00 127.43 104 7.25 2017-01-19 09:00 127.983 103 7.45 2017-01-20 09:00 7.2 127.61 102 2017-01-23 09:00 128.13 101 7.25 2017-01-24 09:00 128.79 100 7.55 2017-01-25 09:00 131.02 99 8.85 2017-01-26 09:00 9.9 132.71 98 2017-01-27 09:00 132.684 97 10.25 2017-01-30 09:00 8.7 130.29 96 2017-01-31 09:00 8.5 129.86 95 2017-02-01 09:00 9.4 131.555 94 2017-02-02 09:00 131.84 93 8.95 2017-02-03 09:00 8.6 131.33 92 2017-02-06 09:00 8.7 131.902 91 2017-02-07 09:00 8.65 131.94 90 2017-02-08 09:00 10 133.915 89 2017-02-09 09:00 133.81 88 9.95 2017-02-10 09:00 134.46 87 10.1 2017-02-13 09:00 9.8 134.02 86 2017-02-14 09:00 9.6 133.78 85 2017-02-15 09:00 133.19 84 9.15 2017-02-16 09:00 9.1 133.25 83 2017-02-17 09:00 9.2 133.43 82 2017-02-20 09:00 9.1 133.29 81 2017-02-21 09:00 133.1 80 8.85 2017-02-22 09:00 136.564 79 11.2 2017-02-23 09:00 134.87 78 10.05 2017-02-24 09:00 135.11 77 10.2 2017-02-27 09:00 135.11 76 10.2 2017-02-28 09:00 135.11 75 10.2 2017-03-01 09:00 135.11 74 10.2 2017-03-02 09:00 135.11 73 10.2
25
Ask 7.4
BlackBS_Jump Heston Scholes Monte25 7.325 7.179 7.295 11.307
Avg
7.55
7.5
7.408
7.518
11.681
7.3 7.35 7.65 8.95 10 10.3 8.8 8.6 9.45 9.05 8.7 8.75 8.75 10.1 10.05 10.2 9.9 9.7 9.25 9.2 9.3 9.2 8.95 11.3 10.15 10.25 10.25 10.25 10.25 10.25
7.25 7.3 7.6 8.9 9.95 10.275 8.75 8.55 9.425 9 8.65 8.725 8.7 10.05 10 10.15 9.85 9.65 9.2 9.15 9.25 9.15 8.9 11.25 10.1 10.225 10.225 10.225 10.225 10.225
7.180 7.397 7.698 8.843 9.769 9.711 8.316 8.044 8.932 9.050 8.715 8.993 8.977 10.106 9.994 10.350 10.030 9.840 9.442 9.427 9.487 9.356 9.192 11.332 10.165 10.273 10.235 10.179 10.144 10.107
7.268 7.478 7.777 8.955 9.908 9.834 8.364 8.068 8.980 9.090 8.726 9.003 8.973 10.142 10.012 10.373 10.025 9.813 9.384 9.356 9.406 9.257 9.073 11.309 10.072 10.174 10.123 10.053 10.006 9.956
11.471 11.688 11.869 12.913 14.031 13.894 12.431 12.033 12.988 13.060 12.600 12.991 13.025 14.127 13.875 14.231 13.965 13.720 13.354 13.268 13.194 13.176 12.945 14.975 13.941 14.033 13.904 13.830 13.700 13.671
100,000 traces per observation with jump diffusion process for earnings dates; Total Runtime: 5:11:47.
37