Statistical Laboratory University of Cambridge
Financial Option Pricing
& Skewed Volatility
Dunstan Marris MPhil Statistical Science 1999
External Supervisor: Dr Martin Baxter Nomura International Plc
Summary
Derivatives are financial products whose value depends on the state of other financial instruments. Their price can be shown to depend on the volatility of the underlying instrument. Section 1 discusses current market practice and section 2 provides an overview of probabilistic modelling techniques.
In 1998, Nomura International Plc identified an increasing change in Japanese interest rate markets causing a phenomenon known as "Skewed Volatility". There exist models capable of pricing derivatives within such an environment, but these lack the tractability of common simpler models. This provided the motivation to search for new alternatives.
This project, supported by Dr Martin Baxter, a Nomura fixed income quantitative analyst, develops derivative pricing models that reduce known deficiencies in current practice. The main discovery, a new model, is detailed in section 3. It incorporates a single additional parameter to describe "Skew" and exhibits closed form solutions for many derivatives. Section 4 discusses implementation issues such as statistical calibration and a method to reduce "Skewed Pricing Risk" through hedging. The change in Yen markets increased to extreme levels during the first half of 1999, and motivated the incorporation of the model in Nomura International's analytic library.
Other opportunities to employ the techniques are also investigated. Some markets such as Foreign Exchange show a phenomenon known as "Volatility Smile". A framework for applicable models is developed in section 5, though no closed form solutions are found. Section 6 looks at the statistical calibration of a model exhibiting "Smile".
Extensive use is made of the MPhil in Statistical Science courses in Stochastic Calculus, Advanced Financial Models, Advanced Probability and Monte Carlo Statistics. Research was performed using the prodigious library facilities throughout Cambridge: Pure Mathematics and Mathematical Statistics Library, Marshall Library of Economics, Judge Institute of Management Studies Library and the Cambridge University Library. Personal computing facilities proved adequate: Microsoft Excel provided a flexible workbench, while Visual C++ was used to build models. The report was produced in Word.
I II
Acknowledgements
Thanks are due to Dr Martin Baxter and Nomura's Fixed Income Quantitative Group, who suggested and supported the project. Thanks also goes to the Statistical Laboratory, its members and their lectures.
Contents
1 Introduction ...... 4
2 Martingale Machinery...... 9
3 Shift Model ...... 14
4 Skew Pricing Methodology...... 32
5 Non Linear Models...... 44
6 Smile Pricing Methodology...... 56
Concluding Remarks...... 58
Appendix...... 60
Bibliography...... 72
III 1 Introduction
For over 100 years, financial markets have traded derivative products whose worth depends on the price of an underlying stock. Numerous models of markets and stock prices have been developed to determine the fair value of such derivative products.
In 1900, Bachelier proposed a stock model that became known as Brownian motion. Einstein and Wiener later developed the modern mathematical version. By 1965, Samuelson studied stock prices through geometric Brownian motion. For three-quarters of a century these models proposed that the value of derivative products depended on a holder's risk preferences.
In 1973 Black and Scholes proved that in stylised market a derivative product can be replicated by continuously trading the underlying stock, thus showing there to be a unique fair price independent of risk preferences. Their work now forms the foundation of the derivatives industry. This section first details the assumptions, problems and practices associated with their model, then briefly lists some alternative approaches.
1.1 Black Scholes Assumptions
The Black Scholes methods have been and applied to derivatives based on many underlying products. The fundamental assumptions are unchanged, and are well catalogued by Hull [1997]:
The underlying instrument follows the stochastic process: = µ + σ dSt St dt St dWt , indexed from the spot trade S0 The short selling of securities with full proceeds is permitted There are no transaction costs or taxes All securities are perfectly divisible There are no riskless arbitrage opportunities Trading is continuous The risk free rate of interest r is constant and the same for all maturities
The canonical example is the European call, giving the purchaser the option to buy the underlying instrument at the end of the option's life span, t = T , at a strike price K . These
assumptions lead to an analytic solution for the price P0 from five parameters:
P = BS ()S , K,T,r,σ 0 EuroCall 0
4 In practice r and σ may change over the life of the option and a form of expected average may be used instead. Bond markets provide values for such r , but σ is difficult to calculate given past data and is open to significant future speculation. See the historic volatility graph in Figure 1-1.
σ This leaves S0 , K,T,r directly observable, while can be calculated by observing the market
1 consensus on P0 , and inverting the Black-Scholes formula . The estimate obtained is known σ as "Black Scholes implied volatility", denoted here by Implied . Figure 1-1 also graphs Implied volatility, and one can see the market has come to a more stable consensus on the mean volatility for the period.
Figure 1-1 Historic and Implied Yen Volatility
Unfortunately P0 varies in a complex fashion on S0 , K,T,r , making it awkward to spot σ expensive or cheap prices. Hence, prices are often quoted in terms of Implied from which P0 can be generated as required by accounting software.
1.2 Black Scholes Problems
Despite the success of the Black Scholes model, options often trade at other prices than it predicts. Anomalies are monitored through the break down in the Black Scholes assumption σ that Implied should be identical for all options on a given underlying instrument for a given expiry.
1 The formula has no analytic inverse, but is monotone for European Options. Shaw [1998] graphically discusses the break down in monotone behavior, and thus degeneracy of the inverse, amongst warrants and barriers. This project confines the calculation to European Options, so is able to gain an inverse via Newton Raphson numerical approximation, supported by Bisection method upon non-convergence. See Press et al [1992] for algorithm.
5 σ To discuss volatility for a specific group of options this report uses Implied = . Most options K S0 ,etc = are sold with a strike price equal to the current forward price, K FT , known as "At the σ σ Money" (ATM). The value Implied = is thus easily observed and shortened to Black−Scholes . K FT
ATM Volatility σ Black−Scholes
Figure 1-2 Implied volatility for options on JPY/USD FX Future, 46 days to expiry, Future at 83.17, ATM volatility 11.44%.
The anomalies imply: σ ≠ σ , ∀K , see Figure 1-2. Many reasons have been Implied K Black − Scholes proposed. Some are based on the assumption Black Scholes is correct:
Excessive fear of market crashes would explain the sudden appearance of anomalies in equity options after the 1987 crash
The timing of trades in a derivative and its underlying may differ substantially. Thus the calculation of implied volatility, using traded prices, may be incorrect. These discrepancies can empirically cause such anomalies
Others assume market forces are finding correct equilibrium prices, and that the Black Scholes assumptions are incorrect:
Black Scholes assumes the underlying process follows a log normal distribution. Most empirical studies find reason to reject this. Anecdotally: “Log normal distributions imply 1987 style market crashes should only occur every 1000 years” Other distributions can be used to create models that closely fit option markets
Markets have transaction costs, liquidity issues and trade discretely with price jumps. Models that include these factors can also fit some market phenomena
Volatility evolves stochastically over time and cannot be represented by an expected average. The process of the volatility can be estimated and models that do so can closely replicate market prices
Unfortunately, no model includes captures all these facets, and those providing even a single correction (two-factor models) become much less tractable and must be solved computationally.
6 1.3 Market Practice
The visibility of liquid markets ensures all market participants know option "values". Hence, trades of liquid options are priced by statistical observation of market values, generating σ Implied . Black Scholes can then be used safely for all accounting purposes.
>> Problems arise with illiquid trades. Examples include European call options with K FT , << known as far "Out of the Money" (OTM), or K FT deep "In the Money" (ITM). Other options are traded "Over the Counter" (OTC) and are tailored to customers needs. They may have unusual life spans or more complex returns ("Exotic Options").
σ A common solution is to fit trend lines to observed Implied , effectively interpolating prices over strike and expiry ranges. These interpolated volatilities are also used within Black Scholes style formulae for specific exotic options.
Dumas et al [1996] highlight several issues with this practice. A false sense of security can be σ generated through over fitting the market observed data. Empirically the Implied structure changes rapidly and endangers hedging strategies and risk analysis.
1.4 Moving Forward
The desire for consistent hedging strategies and market realistic risk analysis is forcing institutions to look for more sophisticated models.
One might be tempted to statistically observe asset price distributions and use these to generate derivative prices. However, as detailed in section 2, the construction of fair and arbitrage free prices requires the specification of a replicating trading strategy. The strategy is a continuous process and is closely linked to the asset price evolution, thus requiring the model to define the asset's stochastic process.
There is significant empirical data to recommend asset price models with stochastic volatility. Timeseries analysis of underlying instrument prices reveal:
Bunching of high and low volatility episodes, known as "Volatility clustering"
Volatility is correlated with information arrival, hence varies according to seasonal effects such as holidays
Volatility regresses to mean levels with oscillations above and below
7 Unfortunately, even approximated stochastic volatility models, such as the auto regressive GARCH family, are mathematically awkward. Although solutions are known for common derivatives, they can be extremely time-consuming frameworks for the development of new exotics and risk analysis. Furthermore solutions are computationally expensive to achieve, and sometimes rely on less stable numerical methods such as Monte Carlo integration.
This project aims to find mathematically tractable models, based on the Black-Scholes model, that fit market observed prices. It is believed they can fill some roles in pricing and risk analysis while minimising mathematical requirements.
1.5 Model Tractability
There are some important requirements and measures of mathematical tractability. One requires models that are fast to adjust for new products and fast to solve for individual trades. The first requires mathematical tractability, the second ideally requires analytical solutions or models that give rise to formulae suitable for fast numeric integration.
1.5.1 Model and Claim Independence
Ideally, models should have no link from a specific contract to the model of the underlying process. This makes economic sense, since the underlying process is an independently observable and possibly tradable entity. See Figure 1-3.
Underlying Process Product Contract
Present Value
Figure 1-3 Modeling Information Flow
This aids extension of the model to more complex contracts. A counter example is the deterministic volatility structure approach. The underlying process is adjusted according to an option contract's strike value. This causes problems with path dependent exotics, such as barriers, look-back and Asian options.
1.5.2 Single Source of Random Perturbations
Models of the underlying process driven by numerous diffusions become analytically difficult to manipulate, statistically difficult to fit and numerically hard to solve.
8 1.5.3 Low Markov Dimension
Diffusion models are analogous to continuous time Markov chains. This link becomes explicit when models are discretised. The Markov dimension is defined as the number of state space variables required modelling the process. For example:
If volatility and price evolve separately it is a two dimensional model
If historic values are required for future steps, they can be stored in separate Markov dimensions. Thus GARCH models have Markov dimension greater than one.
Low dimension models are faster to manipulated analytically and numerically.
2 Martingale Machinery
Black Scholes derivative pricing theory relies on the construction of risk free claim-replicating strategies. For example European options have claims that can be replicated in a riskless manner by continuously managing a portfolio of two assets, the underlying instrument and any other instrument, known as a numeraire, see Baxter and Rennie [1996].
In 1976, Cox and Ross observed that for certain stock models arbitrage free derivative prices could be calculated as a form of expectation of the claim. This probabilistic approach obscures the replicating strategy, but aids the application of Black Scholes to other models of the underlying instruments. In 1981, Harrison and Pliska proved a rigorous connection between arbitrage free markets and the set of stochastic processes known as martingales.
This section aims to outline the important arguments for subsequent development of new models.
2.1 Martingales {} Stochastic processes, St t≥0 , are useful models of fluctuating assets. One can construct a probability space ()Ω, ℑ,Ρ as follows: Let S()ω ,ω ∈ Ω be a potential path of the asset, and Ρ()ω be the probability it takes such a path. Thus St is a random variable taking possible asset values at time t ≥ 0 . Generate a filtration of sigma fields describing the information ≥ ℑ = σ ()≤ known about the path by time t 0 : t S s : s t .
Investors are usually assumed risk adverse and not interested in holding a risky asset unless they expect to gain wealth. Thus one expects market equilibrium to yield prices that obey the first inequality below:
9 Ε []ℑ ≥ ∀ ≤ Ε []< ∞ ∀ Ρ St s S s , s t and Ρ St , t
The right-hand inequality is a technical condition, and together they form the definition of a sub-martingale. Furthermore, it is sometimes possible to construct a new probability measure ~ Ρ such that:
Ε []ℑ = ∀ ≤ Ε []< ∞ ∀ Ρ~ St s S s , s t and Ρ~ St , t
~ whence the process is called "martingale with respect to the measure Ρ ". If the measures are ~ ~ equivalent, i.e. Ρ()A = 0 ⇔ Ρ ()A = 0 , Ρ is called an equivalent martingale measure.
2.2 Market Models
A portfolio of the financial instruments may be traded such that they approximate the worth of a derivative's pay-off. This is known as hedging, and is easily studied in stylised discrete finite markets. It is possible to show there is a hedge that will minimise the expected square replication error.
Furthermore, in some stylised markets some derivatives are exactly replicable, and are called "attainable". If all claims within a market are attainable, the market is called complete.
If a party were to trade attainable derivatives at a value different from the cost of replication then there would be an opportunity for others to earn risk free money. This is not a realistic situation, and by adding the assumption there is never any such opportunity ("no arbitrage") one gains a strong modelling framework. Harrison and Pliska [1981] show an important consequence:
The market is arbitrage free if and only if there is at least one equivalent martingale measure
If so, the market is complete if and only if the measure is unique
2.3 Choosing Models
Combining ideas from the previous two sections, one wishes to find stochastic models of assets that imply complete markets, and thus one must find processes for which there exist equivalent martingale measures.
10 The classic Samuelson and Black Scholes choice of geometric Brownian motion fulfils this criterion. Girsanov's theorem provides a method of constructing the new measure. However, this project discusses alternative processes.
Harrison and Pliska highlight that process continuity and the Markov property are neither sufficient nor necessary conditions for asset processes to yield complete markets. If two processes are identical except for their probability measures, either both or neither are {} complete. This leads to an assertion that only the null sets of the distribution of St t≥0 are relevant to market completeness, and:
"Thus the parts of probability theory most relevant to the general question [what processes yield a complete market] are those results, usually abstract in appearance and French in origin, which are invariant under substitution of an equivalent measure."
The ramifications are discussed later alongside proposed models.
2.4 Martingale Option Pricing ~ Assuming there exists a unique equivalent martingale measure, Ρ , for a given asset process {} St t≥0 , one can continue with the classical results of derivative pricing. Formally, options, forwards and other derivatives are contingent claims. They are legal agreements that result in a transfer of worth between two parties at a pre-specified time in the future, say T , according
to the movement of other market observable values, say St .
For the simplest derivatives the legal claim's worth, C , can be written as a function of the
terminal price ST , and the contract’s strike price K . For Example:
When selling a Forward of product A, one agrees to sell at a price K a fixed = ()− amount of A to the other party at time T . It is worth C St K to the counter-party.
When selling a European Call Option of product A, one agrees to offer to sell at a price K a fixed amount of A to the other party at time T . The other = ()− + party need not accept the offer at time T . It is worth C St K to the counter-party.
2.4.1 Simple Numeraires
An introductory run through is best seen when a cash bond is used as numeraire, and when Ρ~ such risk free bonds have zero yield. One can then construct a martingale process Et that replicates the claim C at time T :
11 E = Ε~ []C | ℑ t Ρ t
2 φ The martingale representation theorem states there is a previsible process t such that:
= Ε []+ tφ Et Ρ~ C ò sdSs 0
φ φ Since t is previsible, one can build a portfolio of with t of the underlying instrument, and ψ = −φ t Et t St of the numeraire. The value of such a portfolio at time t is:
P = φS +ψ 1 t t t
= φ S + ()E −φ S = E t t t t t t
= φ +ψ If dPt t dSt t 0 the portfolio is said to be self-financing: Any change in value of the = = portfolio matches the changes in the portfolio's contents. Since Pt Et , dPt dEt ; by the = φ = φ definition of Et , dEt tdSt giving the required dPt t dSt . Thus Pt is a risk free self- financing portfolio that replicates C at time T . Therefore, the arbitrage free price for the claim at t = 0 is
P = Ε ~ []C 0 Ρ
2.4.2 Other Numeraires
Alternatively, a numeraire that follows a process Bt can be used to form a "discounted = −1 process" Zt Bt St . As long as Zt does not violate the technical conditions above, a measure Ρ~ Ρ~ can be found to remove any drift such that Zt is a martingale. One can also construct
-1 Et that replicates the a "discounted claim" BT C at time T :
-1 E = Ε~ [B C | ℑ ] t Ρ T t
φ Again the martingale representation theorem states there is a previsible process t such that:
t = Ε []−1 + φ Et Ρ~ BT C ò sdZs 0
2 A stochastic process that is unable to see into the future: adapted and cadlag.
12 φ φ Since t is previsible, one can build a portfolio of with t of the underlying instrument, and ψ = −φ t Et t Z t of the numeraire. Then the value of such a portfolio at time t is:
P = φS +ψ B t t t t
= φS + ()E −φ Z B t t t t t
= E B t t
σ Z φ σ Z Let t be the volatility of Zt , and thus t t is the volatility of Et . Likewise suppose the σ B volatility of numeraire (often zero) is t . Then the stochastic calculus product rule gives:
d()E B = B dE + E dB + σ B ()φ σ Z dt t t t t t t t t t
= φ By the construction of Et , dEt t dZt . Substituting gives:
dP = φ (B dZ + Z dB + σ Bσ Z dt)+ψ dB t t t t t t t t t t
= ()= + + σ Bσ Z Recognising that dSt d Bt Zt BtdZt ZtdBt t t dt , and substituting gives:
dP = φ dS +ψ dB t t t t t
Proving Pt is a risk free self-financing portfolio that replicates C at time T , and so the arbitrage free price for the claim at t = 0 is
-1 P = B Ε~ [B C | ℑ ] t t Ρ T t
2.5 Example Derivatives
2.5.1 Interest Rate Caplets3
Choose a zero coupon bond maturing on the caplet payment date, price P()t,T , as the Ρ numeraire. Assume this martingale under T the "T forward measure". One can define the (forward) Libor rate:
3 See Appendix A.7 for a discussion on Caps and Caplets
13 1 æ P()t,T − δ ö L = ç −1÷ t δ è P()t,T ø
() Ρ Ρ Since P t,T is a martingale under T , it follows Lt is a T martingale. Thus an option on
LT −∂ struck at K paid at T (known as a caplet) has a present value:
[ + ] 2 P = P()(0,T EΡ L − K )= P()0,T BS()L , K,σ ,T 0 T 0
2.5.2 Foreign Exchange Options
Let Ct be the quantity of domestic currency required to purchase one unit of foreign currency. One can not "trade" this exchange rate. One can however purchase foreign bonds, whose domestic value is given by:
C P ()t,T t For () Again choose a domestic bond PDom t,T , as the numeraire. The first discount by the second Ρ is a martingale under T , the domestic "T forward measure". That means the forward FX rate for payment at T:
C P ()t,T F = t For t () PDom t,T
is martingale. Thus the present value of a foreign exchange European call option is given by:
[ + ] [ + ] P = P ()(0,T EΡ C − K )= P ()(0,T EΡ F − K ) t Dom T T Dom T T
= P ()0,T BS()F , K,σ 2 ,T Dom 0
3 Shift Model
3.1 Aim
This section develops a new option-pricing model capable of replicating market prices that display linear implied volatility skew. The treatment is for a generic underlying asset, though Fixed Income products commonly display these pricing trends. For example, see Figure 3-1.
14
Figure 3-1 JPY 6 month Caplet, Reset 1 Yr., March 1999
The model must match Black Scholes ATM prices, but differ either side by a linear amount. This suggests a single extra parameter could describe the anomaly.
3.2 Previous Research
3.2.1 Constant Elasticity Of Variance
Shortly after Black and Scholes [1973], Cox and Ross [1976] a series of stock price processes and a framework for solving option pricing problems. Some of these SDEs fall under the Constant Elasticity of Variance model:
dS = µS dt + S ασdW α ∈[0,1] t t t t ,
α − σ ∝ 1 4 This suggests St , or that the volatility increases as St decreases . Economically equity prices should become more volatile as they fall, since the corporation's total value will have decreased with respect to their fixed costs or debt.
This model induces linear skew within the (90%, 10%) Call Delta range. Setting α =1 α = 1 2 provides Black-Scholes as a sub case and other closed form solutions exist for 0, 2 , 3 . However the general solution involves an infinite series of Gamma functions, "which is some what awkward to evaluate" Shaw [1998]. Monte Carlo numerical techniques5 can produce solutions for all α ∈[0,1] . Figure 3-2 graphs the skewed implied Black Scholes volatility for CEV prices.
4 ≠ σ α ≠ When S0 1, the CEV model's must be re-scaled for 1to ensure the ATM options agree with σ = 1−ασ Black-Scholes prices. An explicit formula provides the adjustment CEV S0 Black −Scholes . 5 Discussed in section 3.4.1
15
Figure 3-2 CEV Model Implied Volatility
Empirical studies of bond price timeseries, see Chan et al [1992], find significant evidence for values α > 1, while others, see Marsh and Rosenfeld [1983], find no evidence to reject the log normal model.
3.2.2 Compound Options
In 1979, Robert Geske provided further and more complex arguments for the equity market's implied volatility skew. Shares in a company have a comparable income stream to theoretical long dated options on the company's assets. Geske argues an equity option should be modelled as an option upon an option, known as a Compound Option.
Closed form solutions exist to price compound options, and company reports may provide the necessary economical data for their pricing inputs. However there are significant disadvantages in using non-market observable values within option pricing, and the model is significantly less tractable than Black Scholes.
3.2.3 Displaced Diffusion
In 1983, Mark Rubinstein developed an equity option-pricing model similar to Geske [1979]. The firm is decomposed into a proportion α of risky asset that follows a log normal process with constant volatility, and ()1−α of risk free asset that provides a constant return. The firm
is assumed to have a debt equity ratio of β . Ignoring Rubinstein's dividend treatment,
summarising parameters are derived as a = α()1+ β and b = ()1−α −αβ r . Economic assumptions give the stock value as the sum of a risky process and risk free process in the proportions a and b . Discovery of an arbitrage pricing mechanism leads to a European call option formula:
+ Ε[]aeWt S + bS − K 0 0
16 resembling a Cox and Ross [1976] risk neutral Black-Scholes derivation:
+ Ε[]e z S − K 0
suggesting the analytic solution as an adjustment of a Black-Scholes formula:
()σ ()− σ changing PVEuroCall S0 , K,t, r, to PVEuroCall aS0 , K bS0 ,t,r, R
Rubinstein requires the debt to be riskless, which implies a < 1, and demonstrates this to induce one direction of skew, increasing as a decreases. Hull [1997] describes a > 1, implying the firm's debt exceed its riskless assets, resulting in similar arguments to the compound option model, and skew of the alternate direction. See Figure 3-3.
Figure 3-3 Displaced Diffusion Model
3.3 Proposed Model
The rest of the section details a new model derived from the requirements in section 1. Although not discovered until half way through the project, it could be seen as a modern and extended version of Rubinstein [1983]. A similarity with the CEV model is found, and believed to be unpublished.
3.3.1 Stochastic Differential Equation
A model must describe the stochastic process of the underlying instrument. By restricting attention to tradable instruments6 in arbitrage free markets, Harrison and Pliska [1981] ~ inform us the process is martingale under a martingale measure Ρ . The model proposed is:
~ 6 E.g. Forwards. Stock processes require deterministic drift under Ρ , such that their discounted process is martingale.
17 = ()β + ()− β σ ~ dSt St S0 1 Shift dWt
~ Ρ~ Where Wt is Brownian motion. The model clearly has no additional innovation process, only one additional parameter, β , and retains a single Markov dimension. These three properties suggest a highly tractable and desirable model.
The SDE also contains two special cases, the Normal Absolute Diffusion model and a log normal model, similar to Black Scholes. Both have analytic and well studied solutions, and are special cases within the CEV model.
β Normal 0 Log-Normal 1 Table 3-1 Shift Model Embedded Cases
3.3.2 Log Normal Distributions
β ≠ = β + ()− β For 0 , let X t St S0 1 , then:
X = S 0 0
dX = βdS t t
~ dX = βX σ dW t t Shift t
This has a global and unique analytical solution:
~ X = X exp()βσ W − 1 β 2σ 2 t t 0 Shift t 2 Shift
So:
S ~ S = 0 ()exp()βσ W − 1 β 2σ 2 T − ()1− β T β Shift T 2 Shift
18 7 > The terminal prices, ST , follow a displaced log normal distribution , and since X t 0 it
> − ( 1 − ) follows St S0 β 1 . This gives numeric insight into the model: by displacing the minimum below zero the instrument will fluctuate more than normal at low values.
Figure 3-4 shows probability density functions of ST for the Shift and Black Scholes models. Although not visible at this scale, the probability the Shift model price will be negative is of
− order 10 7 when σ = 20% .
= σ = Figure 3-4 Price Distribution S0 1 Shift 20%
A call option far OTM will only enter the money if there is a large increase in the underlying, thus its value depends only on the right hand tail: the thicker the more valuable. Far OTM put options are similarly only effected by the left tail (see Hull [1997]). Thus the Shift model should display skew relative to Black Scholes log normal prices.
When β = 0 the substitution method fails. However this is the absolute diffusion model and = ( + σ ) the distribution is easily calculated as ST S0 1 ShiftWt , and shown in Figure 3-5. The substitution method is valid for all other values8. Two examples are given in Figures 3-6, 3-7.
7 This gives rise to the name "Displaced Diffusion". 8 When β > 1 the Hull arguments reverse suggesting the alternate direction of implied volatility skew.
19
Figure 3-5 Distribution under Absolute Diffusion
Figure 3-6 Distribution with β < 0 Figure 3-7 Distribution with β > 1
3.3.3 Drift
Although it is known the first moment of the price distribution, the mean, is irrelevant to option pricing, it is interesting to see a difference emerge between the Black Scholes log normal process and this new model. Under the original probability measure Ρ , one might expect:
dS = µ()t, S dt + ()βS + S (1− β )σ dW t t t 0 Shift t
Re-arranging gives:
é µ()t, S ù dS = σ ()βS + S ()1− β ê t dt + dW ú t Shift t 0 σ ()β + ()− β t ë Shift St S0 1 û
~ ~ Yet since there is no arbitrage section 2 shows the drift must vanish under Ρ , and the Ρ Brownian motion is given by:
t µ()t, S ~ = + t Wt Wt ò ds 0 σ ()β + ()− β Shift St S0 1
20 ~ However, Wt may not be well defined. The construction relies on the Cameron-Martin- Girsanov theorem. Technical conditions ensures the speed of drift is not too fast compared to the magnitude of the Brownian motion within the SDE. Clearly if under some paths σ ()= St 0 , then the Brownian motion has no effect on St , so will be unable to provide drift.
Girsanov's theorem provides a complicated condition on an exponential martingale. Øksendal [1995] provides a simplified sufficient condition by Novikov:
é æ 2 öù ç T æ µ()t, S ö ÷ Ε ê 1 ç t ÷ ú < ∞ Ρ expç 2 ò ç ÷ ds÷ ê 0 σ ()βS + S ()1− β ú ë è è Shift t 0 ø øû
µ()= µ If t, St St , as the Black Scholes case, then this condition is not be satisfied. This is a
σ ()= = − ( 1 − ) consequence of the displaced null of the distribution: St 0 at St S0 β 1 . If there were no drift it would never reach this point, but if a process had downward deterministic
~ = − ( 1 − ) Ρ~ drift Wt would not be able to imply this drift at St S0 β 1 , hence would not exist. By Harrison and Pliska [1981] the market model would contain arbitrage opportunities. Reversing the argument, given that there is no arbitrage, one can be sure the deterministic drift factor is not a simple linear function.
3.4 Solutions
3.4.1 Monte Carlo Solution
Monte Carlo methods provide an intuitive framework for evaluating complex integrals. Given the risk neutral SDE:
~ dS = ()βS + S ()1− β σ dW t t 0 Shift t
Ρ~ one can numerically sample ST under by discretising the SDE:
S = S + ()βS + S ()1− β σ ∆N t+∆ t t 0 Shift i
T and walking ∆ steps using Normal samples Ni . Figure 3-8 shows an example series of independent sample paths. The values reached on the right hand side are thus realisations
ST ,i .
21
• Figure 3-8 : Sample Paths from SDE
The values ST ,i can then be used to gain an estimate of the claim:
+ c = ()S − K i T ,i
The average of such samples tends to their expectation by the law of large numbers. Repeating this process many times yields a numeric approximation:
n + 1 P = P()0,T E [] (S − K )≈ P()0,T åc 0 QT T i n i=1
The Monte Carlo method works for all values of β .
Normal Distribution Samples () Monte Carlo methods rely on a large number of samples Wt ~ N 0,1 . These must be generated carefully so as not to bias the results. Numerical Recipes in C [1992] provides [] trusted algorithms for Ui ~ U 0,1 samples. These can be used to generate Normal samples via the Box-Muller method. See Appendix A.1 for details.
Antithetic Samples
The speed of Monte Carlo convergence can be increased by using antithetic samples, see Pitts ± [1998]. The marginal distribution of the underlying may not be symmetric, so ST ,i are not ± valid realisations. However one may use Wt to generate antithetic paths. See Figure 3-9 for an example pair of paths and their antithetic copies. The full effect is seen in Figure 3-10, and shows a more even spread compared to Figure 3-8. This in turn causes reduced variance of the average payoff, and thus faster convergence.
22
Figure 3-10 : Multiple Antithetic Paths Figure 3-9 : Pair of Antithetic Paths
3.4.2 Closed Form Pricing ~ Assuming β ≠ 0 , the SDE has a closed form solution, under Ρ :
S ~ S = 0 ()exp()βσ W − 1 β 2σ 2 T − ()1− β T β Shift T 2 Shift
And that the price of a European call option is:
= ()([ − )+ ] P0 P 0,T EΡ~ ST K
A similarity to the Black [1976] formula for options on forwards implies Black Scholes computer libraries can be used for the Shift model if the input values are altered as follows:
Black Scholes Formula Shift Formula + (1 − ) Forward Rate S0 S0 S0 β 1 + ( 1 − ) Forward Strike K K S0 β 1 Volatility σ βσ Shift Risk Free Rate r 0 Table 3-2 Black Scholes conversion to Shift Model ~ This is confirmed below by a derivation based on Kennedy [1998]. Note working under Ρ is Ρ ~ the same as working under and substituting Wt for Wt . First using an indicator function on [()− + ] EΡ~ ST K :
é ù æ βσ W − 1 β 2σ 2 T ö æ Shift T Shift ö ê 2 − ú ç ç + e 1÷ − ÷ E S 1 K I 1 2 2 êç 0 ç ÷ ÷ ì æ exp()βσ W − β σ T −1 ö ü ú β ï ç Shift T Shift ÷ ï íS 1+ 2 >K ý êè è ø ø 0 ç β ÷ ú ë îï è ø þï û
23 rearrange to give:
é ù βσ W − 1 β 2σ 2 T ê S Shift T Shift ú = ( 0 e 2 − ()K + S ()1 −1 )I E β 0 β ïì βσ W − 1 β 2σ 2 T ïü ê S0 Shift T 2 Shift > + ()1 − ú í β e K S0 β 1 ý ë îï þï û
( + ( 1 − )) and separate the constant K S0 β 1 :
é ù βσ W − 1 β 2σ 2 T ê S Shift T Shift ú = ( 0 e 2 )I E β ïì βσ W − 1 β 2σ 2 T ïü ê S0 Shift T 2 Shift > + ( 1 − ) ú í β e K S0 β 1 ý ë îï þï û − ()+ ()1 − Ρ[]βσ − 1 β 2σ 2 > ()βK + − β K S0 β 1 ShiftWT 2 ShiftT ln S 1 0 () Taking the first half, and noting WT ~ N 0,T :
W 2 S βσ W − 1 β 2σ 2 T − T = 0 e Shift T 2 Shift 1 e 2T dW β ò 2πT T ì 2 2 ü ï βσ W −1 β σ T ï S0 Shift T Shift æ 1 ö í e 2 >K +S0 ç −1÷ý ï β è β øï î þ
()W −βσ T 2 S − T Shift = 0 1 e 2T dW β ò 2πT T ì æ β ö ü ï ç K +()−β ÷−1 β 2σ 2 ï ln ç 1 ÷ ShiftT ï è S ø 2 ï íW −βσ T > 0 ý T Shift βσ ï Shift ï ï ï î þ
æ β ö é ç K +()−β ÷+ 1 β 2σ 2 ù lnç 1 ÷ Shift T S 2 = S0 Ρê > è 0 ø ú β WT βσ ê Shift ú ë û
Recombining the two halves, and using Ρ[]W > x = 1− Φ( x )= Φ( −x ): T T T
æ + ()1 − ö æ + ()1 − ö é æ ç S0 S0 β 1 ÷ ö æ ç S0 S0 β 1 ÷ öù ln + 1 β 2σ 2 T ln − 1 β 2σ 2 T ê ç ç + ( 1 − ) ÷ 2 Shift ÷ ç ç + ( 1 − ) ÷ 2 Shift ÷ú S K S0 β 1 K S0 β 1 = ()0 Φç è ø ÷ − ()+ ()1 − Φç è ø ÷ P0 P 0,T ê βσ K S0 β 1 βσ ú β Shift T Shift T ê ç ÷ ç ÷ú ë è ø è øû
æ + ()1 − ö æ + ()1 − ö ç S0 S0 β 1 ÷ ç S0 S0 β 1 ÷ ln + 1 β 2σ 2 T ln − 1 β 2σ 2 T ç + ()1 − ÷ 2 Shift ç + ()1 − ÷ 2 Shift = è K S0 β 1 ø = è K S0 β 1 ø So summarising, let d1 βσ and d2 βσ Shift T Shift T then:
24 P = P()0,T [(S + S ( 1 −1))Φ()d − (K + S ( 1 −1)Φ()d )] 0 0 0 β 1 0 β 2
As expected above in Table 3-2. It should be noted the accuracy of formulae involving the cumulative normal distribution, Φ()d , depend on the accuracy of the evaluation of a non- analytical solvable integral. The Shift model requires similar regions of the function as Black Scholes. Appendix A.2 discusses and tests this project's chosen numerical approximation of Φ()d .
3.5 Matching Black Scholes ATM
Derivative markets give clear indications of the price of liquid ATM options, and thus the new σ model must match the observed Black−Scholes .
Many models, including the Shift model, fail to match under some parameter settings. This can be corrected by adjusting the model's volatility parameter. It can be raised or reduced σ until the prices match the market. Here the tuned value is denoted by Shift .
The model miss prices ATM options by up to 9% implied volatility for extreme values of β σ and high Black−Scholes , see Table 3-3. These values are significant, but within Bid Offer spreads of a typical instrument. E.g. In March 1999, the 6 month Yen caplet, 6 month set date, traded at Bid=99%, Offer=86%.
σ = σ = Black−Scholes 30% Black −Scholes 90% β = −0.5 0.085% 2.434% β = 0.01 0.113% 3.273% β = 0.5 0.085% 2.434% β = 2.0 -0.336% -8.614% Table 3-3 Implied Volatility Error for ATM
3.5.1 Numerical Methods σ Numerical methods can solve an inverted Shift Model to calculate the exact Shift required. One can use the Black Scholes implied volatility algorithm, by shifting the parameters as described in section 3.4.2. The result is extremely accurate and takes less than a second, however faster solutions are desirable.
3.5.2 Analytic Approximation
If implied volatilities match at ATM, then so do the option prices:
25 BS()F, F,σ 2 ,t = BS(F , F , β 2σ 2 ,t) Black−Scholes β β Shift
σ σ which should give an expression for Shift in terms of Black−Scholes and other parameters.
∆ = 1 First use Taylor's expansion on Black Scholes about the strike which yields 2 , i.e.
1σ 2t K = Fe 2 , noting this is close to the ATM option.
1σ 2t 1σ 2t ∂BS BS()F,h,σ 2 ,t = BS(F, Fe 2 ,σ 2 ,t)+ (h − Fe 2 ) ()F, K,σ 2 ,t ∂ 1σ 2t K K =Fe 2
2 2 1σ 2t ∂ BS + 1 ( − 2 ) ()σ 2 + 2 h Fe 2 F, K, ,t .... ∂ 1σ 2t K K =Fe 2
σ ≈ σ Taking the first line only eases calculations, but yields Shift Black−Scholes , an important but uninteresting result. Next note the derivatives of Black Scholes with respect to K are similar to Delta and Gamma:
∂BS ()F, K,σ 2 ,t = −Φ()d ∂K 2 ∂ 2 BS ()σ 2 = φ()1 F, K, ,t d 2 ∂K 2 Kσ t
1σ 2t = 2 = = −σ Φ() while at K Fe , d1 0 and d 2 t . One can approximate d 2 by a further Taylor expansion around Φ()0 :
Φ()d = Φ ()0 + dφ ()x + d 2 []− xφ()x + ... x=0 x=0
Combining and simplifying yields:
−σ 2 1 t 2 hσ t e 1σ t BS()F,h,σ 2 ,t ≈ 1 ()F − h + + 2 (h − Fe 2 ) 2 2π Fσ t 2π
So using these to compare ATM options under the Black Scholes and Shift models:
−σ 2 −β 2σ 2 t 1 Black−Scholest 2 1 Shift 2 e 1σ t e 1 βσ t σ t + 2 ()1− e 2 Black−Scholes = σ t + 2 ()1− e 2 Shift Black−Scholes σ Shift β 2σ Black−Scholes t Shift t
26 This is still intractable, but by expanding the exponential terms one can gain a solvable cubic in Vieta form. A more accurate approach is given by applying a single step of Newton Raphson σ from a starting point of Black−Scholes . The equation and derivatives are listed by Mathematica below:
In[10]:= f[x,k,b,t]
(k Sqrt[t])/2 2 (b Sqrt[t] x)/2 2 -(1-E ) (1-E ) Out[10]= ------k Sqrt[t] + ------+ 222 kt 2btx 2 E k Sqrt[t] 2 b E Sqrt[t] x
> Sqrt[t] x
In[11]:= Simplify[f[x,k,b,t]/D[f[x,k,b,t],x]]
(k Sqrt[t])/2 2 (b Sqrt[t] x)/2 2 -(1 - E ) (1 - E ) Out[11]= (------k Sqrt[t] + ------+ 222 kt 2btx 2 E k Sqrt[t] 2 b E Sqrt[t] x
> Sqrt[t] x) /
(b Sqrt[t] x)/2 2 (b Sqrt[t] x)/2 2 (1 - E ) Sqrt[t] (1 - E ) > (Sqrt[t] ------22 22 btx 2btx 2 E 2 b E Sqrt[t] x
22 (b Sqrt[t] x)/2 - b t x (b Sqrt[t] x)/2 E(1-E) > ------) 2bx
f ()σ ,σ , β,t σˆ = σ − Black−Scholes Black−Scholes Shift Black−Scholes ′()σ σ β f Black−Scholes , Black−Scholes , ,t
Tests using Mathematica showed that a single step, and thus the analytic formula above, gave σ an estimate of Shift to solve the equation that was accurate to the true solution beyond 4 decimal places.
The result is still extremely complicated and open to implementation error. To give an indication the formula is copied below in Excel format:
=Sigma- ( -( (1-EXP(Sigma*SQRT(t)/2))^2 / (2*EXP(Sigma^2*t)*Sigma*SQRT(t)) ) - (Sigma*SQRT(t))+( (1- EXP(Beta*Sigma*SQRT(t)/2) )^2 /(2*Beta^2*EXP(Beta^2*Sigma^2*t)*SQRT(t)*Sigma))+(Sigma*SQRT(t)) )/ ( SQRT(t) - ((Beta*(1-EXP(Beta*SQRT(t)*Sigma/2))^2*SQRT(t))/(EXP(Beta^2*t*Sigma^2))) - ( (1- EXP(Beta*SQRT(t)*Sigma/2) )^2 /(2*Beta^2*EXP(Beta^2*t*Sigma^2)*SQRT(t)*Sigma^2))-( (EXP( (Beta*SQRT(t)*Sigma/2)-(Beta^2*t*Sigma^2)) * (1-EXP(Beta*SQRT(t)*Sigma/2) ) )/(2*Sigma) ) )
27 More unfortunately the repeated Taylor expansions in the formula's development cause σ significant error in the result. It yields ˆ Shift accurate only to ±1% Implied Volatility within the ∈ ( ] β ∈ ( ] σ ∈ ( ] range t 0,1 , 0,1.8 and Black −Scholes 0%,79% .
3.5.3 Statistical Modelling
Alternatively, a statistical approximation can be fitted. Subsequent analytic development of the Shift model will require a simplistic formula, so one is developed next.
The S-Plus statistical package was used to investigate the structure of the relationship. Linear σ modelling was used to fit a sample of the numerically obtained Shift values using β σ approximating formulae on , Black−Scholes , S0 . As hoped there proved to be no dependency on β S0 , unfortunately successful fits required high order and exponential terms of and σ Black−Scholes .
Linear modelling was not as useful as hoped. Measures of squared miss pricing error differ ()σ −σ 2 significantly different from squared error Shift ˆ Shift , thus S-Plus optimised a slightly different problem. S-Plus also had no way of knowing to preserve two important traits:
σ = σ β = Shift Black −Scholes when 1 maintaining identity with Black Scholes
σ → σ → Shift 0 as Black −Scholes 0
Eye balling techniques using Excel, realistic error measures, three dimensional residual plots helped select amongst models of the form:
σˆ = σ + cˆ ()β −1 σ + cˆ () ()β −1 σ 2 + ... Shift Black −Scholes 1 Black −Scholes 2 Black −Scholes
The following formula proved sufficient to keep the pricing error less than 1% implied ∈ ( ] β ∈ ( ] σ ∈[] volatility for t 0,1 , 0,1 and Black−Scholes 1%,70% :
σˆ = σ + 0.035()β −1 σ + 0.029() ()β −1 σ 2 Shift Black −Scholes Black −Scholes Black −Scholes
σ Figure 3-11 compares all three estimates of Shift for an arbitrary option. It gives insight into the complex dynamics of the relationship.
28
σ = = = Figure 3-11 : Estimates of Shift at T 1, S0 K 1
3.6 A Surprising Quality
Figure 3-12 displays a remarkable relationship between the CEV and Shift models. Both may be used to model the same option pricing effects. The latter being always analytically tractability gives it a clear advantage. The formers historic standing has produced many empirical studies highlighting potential use.
Figure 3-12 CEV and Shift Model Similarities
An additional impact is given by the identical parameterisation of both models. This is not an immediately natural phenomenon, and was reverse engineered! It is the reason for the β
parameterisation within the SDE, as opposed to a linear addition such as λ below:
~ dS = ()S + λ σ dW t t Shift t
29 An Analytic Insight
One can gain an analytic insight into the similarity of the CEV and Shift models. As in section 3.4.2, assuming β ≠ 0 , the Shift model SDE has a closed form solution:
S ~ S = 0 ()exp()βσ W − 1 β 2σ 2 T − ()1− β T β Shift T 2 Shift
S ~ ~ S = 0 ()β + βσ W − 1 β 2σ 2 T + 1 ()βσ W − 1 β 2σ 2 T + ... T β Shift T 2 Shift 2 Shift T 2 Shift
~ ~ S ≈ S ()1+σ W + 1 βσ 2 T ()W 2 − T T 0 Shift T 2 Shift T
~ ~ 2 χ 2 α = 1 Noting WT is Normally distributed, one has WT ~ . Meanwhile CEV 2 exhibits an
analytic European call solution using non-central χ 2 , see Rebonato [1998], in the form:
P = Fχ 2 (h ,h ) − Kχ 2 (h ,h ) 0 1,1 1,2 2,1 2,2
For the general CEV case the marginal distribution can be approximated by a modified Bessel function, Shaw [1998], and is thus closely related to a power of a non-central chi-squared distribution.
3.7 Extension to Exotic Options
The title "exotic options" describes products with more complex contingent claim functions C . These products are traded "over the counter", meaning they are individually tailored to customers requirements. This has two significant consequences: the products provide a high- margin income stream for banks, yet are difficult to price. The latter is compounded because of the low liquidity and lack of market equilibrium prices for interpolation. These products require tractable models with parameters that can be estimated from liquid markets, as developed in this report.
3.7.1 Barrier Options
Two examples are given below, both are Barrier Call Options:
(){} = []− + The Up and Out: C S , K, B S K 1{}¬∃ > ≤ < T t up T S j∆ Bup ;0 j ∆ (){} = []− + The Up and In: C S , K, B S K 1{}∃ > ≤ < T t up T S j∆ Bup ;0 j ∆
30 These options have a price dependence on ∆ , the frequency at which the underlying
instrument is tested to have passed a barrier Bup / down . If a barrier is checked each month then one is less likely observe a transgression than if it is checked each day.
Barrier options can be intuitively priced with Monte Carlo methods. If the underlying instrument's price is simulated as a walk of step size ∆ then the Knock In or Knock Out event can easily be tested at each step, enabling each iteration to correctly simulate the exotic claim.
Analytical barrier solutions effectively check continuously, hence price assuming a higher probability of the barrier being crossed. Traded barrier options clearly can not check continuously since the underlying instrument is traded and thus priced discretely.
Glasserman [1997] gives a method of approximating discrete checked barrier options from
()0.5826σ ∆ analytic models. The Barrier Bup / down must be scaled away from S0 by e .
3.7.2 Testing Barrier Option Pricing
In the absence of drift, a standard Black Scholes Barrier formula may be transformed into a (1 − ) Shift Model formula, by the previous method. The Shift factor S0 β 1 is added to S0 , K , σ and also Bup / down , and the adjusted Shift is used.
A further change is also necessary. The ∆ scaling factor must use the σ appropriate for the [ + ( 1 − )] model, hence for the Shift model: Bup / down S0 β 1 must be scaled away from S0 by
()βσ ∆ e 0.5826 Shift .
Option 1: Down and Out Call, Spot=1, Barrier=0.85, Sigma=30%, Strike=1, Maturity 1 Yr. Monthly Checks, BS ∆ Scaling = 1.052, Shift ∆ Scaling = 1.010
Monte Carlo Analytic Black Scholes 0.1090 0.1088 Shift, Beta=0.2 0.1069 0.1072 CEV, Alpha=0.2 0.1069 NA
Option 2: Up and Out Call, Spot=1, Barrier=1.3, Sigma=30%, Strike=1, Maturity 1 Yr. Monthly Checks, BS ∆ Scaling = 1.052, Shift ∆ Scaling = 1.010
Monte Carlo Analytic Black Scholes 0.0238 0.0245 Shift, Beta=0.2 0.0303 0.0316 CEV, Alpha=0.2 0.0303 NA
31
These prices seem consistent, but are affected by the Monte Carlo method's errors9. Both options are ATM so price differences are due to the likelihood of a knock out.
Option 1: Prices have decreased, indicating an increase in the likelihood of a down and out knock. This is expected due to the relatively higher volatility experienced by prices that are falling below ATM.
Option 2: Prices have increased, indicating a decrease in the likelihood of an up and out knock. This is expected due to the relatively lower volatility experienced by prices that are rising above ATM.
4 Skew Pricing Methodology
An option pricing model needs a framework in which to operate. Parameters must be estimated, prices predicted, errors estimated and performance judged.
This section develops a method of estimating parameters from market observable values, and a method of reducing exposure to the risk of miss-estimations. Both are illustrated with respect to the Shift model, but the identical parameterisation of the CEV model suggests they form a generic skew methodology.
Alternatively, CEV methods could be applied to the more tractable Shift model. A literature search found empirical studies of the CEV model's ability to describe the timeseries of underlying instruments. Although these give economic reasoning for the models, no paper discussed the practical application of skew option pricing.
4.1 Measuring Parameter Effect
The α and β parameters adjust the gradient of the skew. This gradient of implied volatilities with respect to call delta is eye-balled to be invariant under changes in the scale of the underlying instrument prices. The gradient similarly seems invariant under changes in volatility.
9 Errors decreased with higher iterations, and this level of accuracy required 1 million iterations. The normal simulates were cached to reduced errors between Monte Carlo estimates.
32 These observations suggest a multiplicative model of implied volatility with respect to strike. All graphs so far have displayed linear relationships with constant gradients. This is partially caused by plotting implied volatility against call delta, a function of ln()K :
æ ln()S0 + 1 σ 2t ö ∆ = Φç K 2 ÷ ç ÷ è σ t ø
Figure 4-1 Shift Model Implied Volatility vs. Strike
Figure 4-1 shows the Shift model implied volatility with respect to strike, and two Least σ = + (σ ) = + () Square Error fitted relationships: Implied a0 a1K , and ln Implied a0 a1 ln K . The latter multiplicative model clearly has the closer fit, and hence suggests a measure of skew.
The simplest point to measure the gradient of the skew is at the ATM option. Let χ be a heuristic measurement:
∂ ln(σ ) χ = Implied = ∂ ln(K) K FT
ln(σ = +∂ ) − ln(σ = −∂ ) = Implied K FT Implied K FT + ∂ − − ∂ ln(FT ) ln(FT )
To test the heuristic measure, one can plot its value for a series of β for a given option: see Figures 4-2, 4-3. Proof of success of the measure was gained from the invariance of the relationship across all scales of underlying price, volatility and maturity.
33 Figure 4-2 Parameter vs. Skew Figure 4-3 Parameter vs. Skew
Summarising there is a simple relationship between the heuristic skew measure and both the CEV and Skew model parameters:
α = β =1+ 2χ
4.2 Measuring Market Parameters
Many statistical methods, such as Maximum Likelihood or Generalised Method of Moments, support the fitting of stochastic models to timeseries data. These can be used to select the parameters for option pricing SDEs from historic values of the underlying instrument.
Option prices also contain sufficient information about the parameters. Since the sole aim is to fit an SDE for option pricing, it seems sensible to use option prices themselves as the data source. Papers (see survey by Ghysels et al [1996]) record the suitability of the data, yet raise concerns at the lack of developed techniques. This section develops an ad hoc approach.
4.2.1 Problem {} Given a series of option prices quoted as Black-Scholes implied volatilities, Vi , and each {} option's strike price, Ki , one wishes to tune model parameters to gain the closest match of
the model's σ = to V . Implied K Ki i
4.2.2 Method
Section 4.1 showed linear implied volatility skew with respect to call delta is equivalent to multiplicative skew with respect to strike. Thus one can fit the ()= + ( ) χ = relationship: ln Vi a0 a1 ln K i to market data, gaining an estimate ˆ aˆ1 . This report restricts the statistical methods to Least Squared Errors (LSE) to ensure clarity and tractability.
34 One can find estimates aˆ0 , aˆ1 to minimise the score function:
å ()ln()V − a − a ln (K )2 i 0 1 i i
Setting partial derivatives to zero gives the formula:
( ()− ~)( ()− ~) å ln Ki K ln Vi V ~ å ln()K ~ å ln()V aˆ = , where K = i , V = i 1 ()()− ~ 2 n n å ln Ki K
4.2.3 Conclusion
Using the observations in section 4.1, gain an estimate βˆ :
~ ~ å (ln()K − K )(ln()V −V ) βˆ = 1+ 2 i i ()()− ~ 2 å ln Ki K
Extensions to this framework could include:
Weights: Options near ATM are the most accurately priced within the market so may provide the clearest information on skew.
Confidence Intervals: The LSE method gives an unbiased estimate of slope if the noise is independent of parameters, additive and of mean zero. If so, confidence intervals could be generated, leading through to pricing confidence intervals. Real data must be analysed to ensure these assumptions are holding and residuals are homoscedastic. 4.3 Examples
4.3.1 JPY Fixed Income
Look at the volatility structure of JPY Fixed Income Caplets in Figure 4-4. Compare these with
β σ 10 a Shift model fitted with single values of and Black −Scholes in Figure 4-5. The model can not match the large change in volatility over tenure.
10 σ σ The model requires Shift to be re-calculated to match Black−Scholes for each tenure.
35
Figure 4-4 JPY Caplet Implied Volatility Figure 4-5 Shift Model fitted to JPY Caplets, with no tenure structure
σ σ If one observes separate Black−Scholes at each tenure, and constructs multiple Shift , one gains a
11 β σ closer match, see Figure 4-6 . If one goes further and calculates and Black−Scholes at each tenure, one can further improve the fit. See Table 4-1 and Figure 4-7.
χ ResetYr ˆ σ β ATM Black−Scholes 0.5 -0.09 0.82 101.9% 1.0 -0.10 0.81 97.6% 1.5 -0.10 0.80 93.4% … 4.0 -0.21 0.57 62.5% Table 4-1 Tenure Structure of Parameters
Figure 4-6 Shift Model fitted to JPY Caplets with Figure 4-7 Shift Model fitted to JPY Caplets with σ Black−Scholes tenure structure σ β Black−Scholes and tenure structure
Eye-balling, the fit looks good. The error is less than 4% points for all but the extreme strikes and easily within Bid Ask spreads. In fact it is deemed close enough for commercial use. So
36 taking a quick look back over the result, the Shift model provides a high tractable pricing solution in JPY fixed income markets.
4.3.2 GBP Fixed Income
The volatility structure of GBP Caps12 in Figure 4-8 is clearly different from that of JPY, yet the Shift model still fits well, see Figure 4-9. Again there is some error at extremely low strike values.
Figure 4-8 GBP Cap Implied Volatility Figure 4-9 Shift Model fitted to GBP Caps
4.3.3 USD Fixed Income
Finally look at the volatility structure of USD Caps13 in Figure 4-10. Short tenures have a structure known as "smile", and the Shift model fails to fit the data, see Figure 4-11. Suitable models are discussed in section 5.
Figure 4-10 USD Cap Implied Volatility Figure 4-11 Shift Model fitted to USD Caps
11 This is a dependency between the derivative contract and the underlying process, and as such is not ideal. For the Cap derivative this is not a concern since it is priced as a sum of a series of Caplets, one for each tenure. 12 These are average broker quotes, May 1999, for flat Cap volatilities. These would normally be used to generate Caplet volatilities, the latter being modelled by European Call formulae. Caplets hold a slightly different volatility term structure, see Appendix A.7, but also suffer from noise and "trading opportunities". 13 These Cap volatilities are reconstructed from a New York style skew table using the assumption that the ATM strike is fixed at 5% and volatility 20%.
37
4.3.4 A Note on Equity Derivatives
Equity derivatives are renowned for exhibiting extreme skew. Figure 4-12 displays the July 1999 implied volatilities for December 1999 S&P 500 Index options.
Figure 4-12 Options on S&P 500, Future=1421, Figure 4-13 Extreme Shift Model Skew 168 Days to Expiry
The data's skew measurement implies βˆ = −2.4 , which is outside the normal parameter range. However Figure 4-13 demonstrates it is possible to generate slopes as steep, but not with the β value expected. More work is needed to understand the limits of the model.
4.4 Hedging
This section derives the sensitivity of the Shift model's prices with respect to market observable values, and discusses methods to reduce the risk of holding options with skewed volatility.
4.4.1 Preliminary Identities
Recall:
( S0 )+ 1 β 2σ 2 ( S0 )− 1 β 2σ 2 ln βK +S ()1−β 2 Shift t ln βK +S ()1−β 2 Shift t d = 0 and d = 0 1 βσ 2 βσ Shift t Shift t
= − βσ 14 Then d 2 d1 Shift t and one can see :
14 Following a useful result from Kennedy [1998] involving the Normal distribution probability density function, where φ = Φ′ :
38 2 2 [ ( S0 ) 1 2 2 ] 2 2 d = d − 2 ln β + ()−β + β σ t + β σ t 2 1 K S0 1 2 Shift Shift = 2 − ()S0 d 2ln β + ()−β 1 K S0 1
Thus:
S0 φ()− ()+ ()1 − φ() β d1 K S0 β 1 d 2
2 2 S − 1 d − 1 d = 1 []0 e 2 1 − ()K + S ()1 −1 e 2 2 2π β 0 β S − 1 d 2 ( 0 ) 2 1 é S ln β + ()−β ù = e 0 − ()K + S ()1 −1 e K S0 1 ≡ 0 2π ëê β 0 β ûú
4.4.2 Delta Hedging
Recall the Shift model's price for a European call:
P = [S + S ( 1 −1)]Φ()d − [K + S ( 1 −1)]Φ()d Shift 0 0 β 1 0 β 2
∂ ∂ d2 d1 and differentiate with respect to S , then use the identity ∂ = ∂ : 0 S0 S0
∂P ∂ ∂ Shift = 1 Φ()+ S0 φ()d1 − ()1 − Φ()− ()+ ()1 − φ()d2 ∂ β d1 β d1 ∂ β 1 d 2 K S0 β 1 d 2 ∂ S0 S0 S0
∂ = 1 []Φ()− ()− β Φ()+ []S0 φ()− ()+ ()1 − φ()d1 β d1 1 d 2 β d1 K S0 β 1 d 2 ∂ S0
= 1 [Φ()d − ()1− β Φ()d ] β 1 2
Which is a pleasingly compact formula. Figures 4-14 and 4-15 demonstrate the small change in hedging surface. In practice, there is little change to traders' standard Delta hedging actions.
Figure 4-14 Shift Model Delta Surface
39 Figure 4-15 Black Scholes Delta Surface
4.4.3 Price Sensitivity to Beta
σ = σ β Assuming Shift Black −Scholes , and so independent of , then:
∂ ∂ d2 = d1 −σ t ∂β ∂β Black −Scholes
Recall the Shift model's price for a European call:
P = [S + S ( 1 −1)]Φ()d − [K + S ( 1 −1)]Φ()d Shift 0 0 β 1 0 β 2
One can differentiate with respect to β :
∂P ∂ ∂ Shift = d1 []()S + S ()1 −1 φ()d − S0 Φ()d − d2 []()K + S ()1 −1 φ()d + S0 Φ()d ∂β ∂β 0 0 β 1 β 2 1 ∂β 0 β 2 β 2 2
∂ = d1 []()+ ()1 − φ()− ()+ ()1 − φ() ∂β S0 S0 β 1 d1 K S0 β 1 d2
− S0 Φ()+σ ()+ ()1 − φ()+ S0 Φ() β 2 d1 Black−Scholes t K S0 β 1 d2 β 2 d2
= σ t ()K + S ()1 −1 φ()d + S0 []Φ()d − Φ()d Black−Scholes 0 β 2 β 2 2 1`
And almost identically for European put options:
∂P Shift = σ t ()K + S ()1 −1 φ()− d + S0 []Φ()− d − Φ()− d ∂β Black−Scholes 0 β 2 β 2 1 2`
σ β These formulae are sensitive to the Shift estimation. Changes in can induce miss pricing of ATM options (see Chapter 3), thus obscuring the rate of price change due to skew.
A corrected version:
σˆ = σ + 0.035()β −1 σ + 0.029() ()β −1 σ 2 Shift Black −Scholes Black −Scholes Black −Scholes
Gives rise to changes in d1 , d 2 and:
40 ∂ ∂ d2 d1 ∂β = ∂β − []0.965 + 0.07β + 0.029σ − 0.116βσ + 0.087β 2σ * Black −Scholes Black −Scholes Black −Scholes σ Black −Scholes t
Thus:
∂ PShift = []+ β + σ − βσ + β 2σ ∂β 0.965 0.07 0.029 Black −Scholes 0.116 Black −Scholes 0.087 Black −Scholes *
σ ()+ ()1 − φ()+ S0 []Φ()− Φ() Black −Scholes t K S0 β 1 d 2 β 2 d 2 d1`
and like wise for European puts options.
Numerical methods can also be used to measure the dependency of price upon β . A price is
calculated for two options with β fractionally smaller and larger, using the accurate σ numerical Shift estimation. The price gradient follows from the ratio of the difference of the prices to difference in β .
The Numerical methods are significantly slower, but seem to be more accurate by giving zero for ATM options as expected. Both methods match to the second decimal place15 for β ∈(0,2] σ ∈[] and Black−Scholes 1%,70% .
4.4.4 Example Options
Each option price has a different dependency on β . Figure 4-16 shows the β hedge surface for European call options. Note how ITM and OTM options change in opposing directions.
15 The zero price gradient for ATM can be used as a control variate for the analytic formulae. Assuming complete correlation between price gradients, a new formula is given by: ∂ ∂ ∂ ∂ ∂ ∂ PShift PShift ()PShift PShift PShift PShift ∂β = ∂β − ∂β − ∂β = ∂β − ∂β CntrlVar Analytic Analytic Numeric ATM Analytic Analytic ATM This requires no slower numerical methods and increases the accuracy to the third decimal place.
41
Figure 4-16 β Hedge Surface (European Calls)
Table 4-2 shows the ratios for holding different options. It becomes clear that ATM options are unaffected by skew. Furthermore holding one Call and selling one Put at the same strike, giving a net portfolio equivalent to a forward, is also unaffected by skew. This is known as Put- Call parity.
β = 0.5 K = 0.75 ATM K = 1.25 Call -0.0165 0.0000 0.0160 Put -0.0165 0.0000 0.0160 β =1.0 Call -0.0168 0.0000 0.0157 Put -0.0168 0.0000 0.0157 β =1.5 Call -0.0171 0.0000 0.0155 Put -0.0171 0.0000 0.0155 Table 4-2 Price Sensitivity to Beta (1Yr, 40% Vol, Spot 1)
4.4.5 Portfolio Sensitivity to Parameter
A portfolio's overall sensitivity to β is linearly additive:
∂ ∂ Portfolio = å Pi ∂β ∂β
There are many reasons for holding a portfolio of options. Clearly a trader will wish to hold and sell many options and must manage risk across any current positions. Other players may wish to purchase a portfolio whose overall claim is limited, there by reducing the initial outlay (see Hull [1997]).
An example is the Bull Spread, purchased by investors who believe the market price of the underlying security will increase. These involve buying a Call option with a certain strike price,
42 K1 , and selling a Call option with a higher strike price, K2 . Both options have the same expiration date. Table 4-3 lists the payoffs.
S Range Payoff from Long Payoff from Short Total Payoff T Call Call ≥ − − − ST K2 ST K1 K2 ST K2 K1 < < − − K1 ST K2 ST K1 0 ST K1 ≤ ST K1 0 0 0 Table 4-3 Bull Spread Payoff
There are three Bull Spreads, distinguished by the positions of the strike prices with respect to
S0 :
Aggressive: Both Calls initially OTM Neutral: Long Call ITM and Short Call OTM Conservative: Both Calls initially ITM Both the aggressive and conservative Bull Spreads will have significant exposure to β , where
as the more Neutral version could initially be made β neutral.
4.4.6 Portfolio Hedging
∂P Certain common option strategies are ∂β neutral when purchased, but the portfolio would
need to be updated continuously to maintain such an effect as the underlying instrument moves.
∂P ∂P If the trader also wishes to Vega ( ∂σ ) hedge this need not effect the ∂β hedge, if the actions
are taken in the following order:
• ∂P Select an additional option trade to gain ∂β neutrality
• ∂P Sell or Purchase ATM options to obtain ∂σ neutrality
2 If the trader wishes to also Gamma ( ∂ P ) hedge a more complex basket of options must be ∂S 2 maintained. Each update will require the trader to solve a series of simultaneous equations to
2 ensure ∂P , ∂ P and ∂P neutrality. ∂β ∂S 2 ∂σ
∂P Any portfolio may then be Delta ( ∂S ) hedged in the usual manner, without effect on the other "Greeks", since the holdings of the underlying instrument and risk free bonds are all neutral
2 with respect to ∂P , ∂ P and ∂P . ∂β ∂S 2 ∂σ
43 4.4.7 Taking a Position on Skew
Skew clearly plays a significant role in certain option markets. A trader may believe a market has wrongly estimated the economic reasons for skew and wish to take a position that is neutral to all movements except their believed up coming "skew correction".
5 Non Linear Models
5.1 Aim
This section develops new option pricing models capable of replicating market prices that display implied volatility smile. The treatment is for a generic underlying instrument, though Foreign Exchange options commonly display these pricing trends. For example see Figure 5-1.
• Figure 5-1 FX Options with Implied Volatility Smile
5.1.1 Smiles: A two parameter problem?
The smile shape may be impossible to replicate with a single analytic function, but if it were, the first two elements of such a function's Taylor expansion would provide a crude estimate. This suggests that models with only two extra parameters could approximate the anomaly.
Alternatively the marginal distribution of ST , as discussed in section 3.3.3, must be controlled up to the 4th moment. See Table 5.1. An implied volatility smile requires thicker tails, a leptokurtic distribution.
Momen Mathematical Financial Effect Parameter t Term 1 Mean Forward FT 2 Standard Deviation Volatility σ
44 3 Skewness Skew Function of α or β 4 Kurtosis Smile To be found… Table 5-1 Moments of underlying asset marginal distribution
5.2 Previous Research
5.2.1 Stochastic Volatility
Empirical evidence shows volatility is volatile. Hobson [1996] surveys four models in which volatility is modelled by a separate SDE. For example a model by Hull and White:
dS = µS dt + σ S dW t t t t t
dσ = ασ dt + γσ dB t t t t
This model requires the additional parameters α,γ and the correlation between the two ρ ρ = Brownian motions, given for example by , where dt dWt dBt . Other models use an σ additional parameter within the t process to ensure volatility mean reversion.
There is strong empirical evidence that ρ ≠ 0 , implying the underlying price process has a
transition density based on a "mixture of normals". If 0 < ρ < 1 the market becomes
incomplete and economic risk preferences must be used to select between multiple replicating portfolios and option prices. This adds significant tractability issues, slows the development of the model for exotic claims and increases the computational expense of solutions.
The framework is popular with risk analysts since it follows market observations and the option prices display implied volatility smile. Unfortunately the parameters are not market observable and must be estimated from historic data. This is not a favoured activity for traders and these models are rarely used to price individual contracts.
5.2.2 GARCH
Volatility is seen to "cluster". Generalised autoregressive conditional heteroskedastic (GARCH) models provide discrete time processes for the volatility and price of underlying instruments. The models ensure the market is still complete by using a single gaussian random process. The volatility is modelled as an autoregressive process ensuring the overall process is still Markov.
45 There is good empirical evidence that GARCH processes fit market prices. Parameters for the models may be statistically generated from historic data. Numerical integration can be used to gain option prices, and these display implied volatility smile.
The GARCH framework is popular. The loss in mathematical tractability is countered by the large volume of published work. The parameters are not market observable and the computation, compared to Black Scholes, requires at least one additional Markov dimension.
5.3 Proposed Model
It seems reasonable that a tractable model could be found by keeping Black Scholes assumptions, but slightly adjusting the underlying instrument's SDE. Numerous models were tested, concentrating on those with two additional parameters. The following sections discuss successful approaches.
5.3.1 Balanced Approach
Adding a quadratic term might significantly increase the volatility. The following "balanced" SDE is designed to minimise the initial effect of the quadratic term:
é µ ù dS = (1− λ − µ)S + λS + S 2 σdW t ê 0 t t ú t ë S0 û
µ λ Normal 0 0 Log-Normal (BS) 1 0 CEV Alpha=2 0 1 Shift Model α 0 Table 5-2 Balanced Quadratic Model Subcases
Table 5-2 details the special sub cases of the model, while Figure 1-1 graphs the increasing effect of the quadratic term upon a log normal model. The shapes are distinctive and potentially useful.
46
Figure 5-2 Adding Quadratic Effect
One can see a clear development of skew and some smile for high Delta options. A mirrored effect is created by adding a negative quadratic term, i.e. decreasing µ below zero.
5.3.2 Intuitive Approach σ () Further insight can be gained from viewing the “local volatility function”, St , as an independent entity:
é µ ù σ ()S = ê(1− λ − µ)S + λS + S 2 úσ t 0 t t Quad [Eqn 5-1] ë S0 û
σ () One can study St since only magnitude is relevant once multiplied by the arbitrarily
signed dWt within an SDE.
σ () The implied volatility shapes above are similar to the shape of St . Smile is induced σ ()= σ () centred at strikes where K 0 , a turning point of St . As the root approaches S0
from either side, the smile becomes symmetric. Unfortunately, when the root is at S0 the SDE
never allows the paths to leave S0 . Furthermore a root implies a null probability set, and thus should be avoided.
By looking at a different parameterisation, one can provide similar local volatility shapes, without roots:
σ ()S = [αS + (S − γS )2 ]σ t 0 t 0 Quad [Eqn 5-2]
47 In Equation 5.2 Gamma, γ , adjusts the turning point of a local volatility smile, while α the distance of the minimum from 0 . Further tuning revealed a parameterisation that includes the Black-Scholes log normal model, see Equation 5-3 and Table 5-3
2 σ ()= [ +α ()St − γ ]σ St St S0 Quad S0 [Eqn 5-3]
2 = µ + ( +α ()St − γ )σ dSt St dt St S0 Quad dWt S0 [Eqn 5-4]
α γ Log Normal 0 -All- Table 5-3 Quadratic Model Subcases
Using Equation 5.3 in an SDE, one gains Equation 5.4, which when used for option pricing
yields consistent implied volatility shapes under varied S0 . A second useful property of this parameterisation is highlighted in Figure 5-3: When γ = 0 the induced smile is symmetric.
A quasi-economical justification could argue that there exists a consensus value for an instrument, and deviation from that value will result in increased volatility. The increased volatility of bull markets is well observed in current technology stocks, and debt leverage arguments are often applied to falling equity.
Figure 5-3 Quadratic Model's Smile (Finite Difference16)
Matching Black Scholes ATM
σ σ Unfortunately Quad within Equation 5-4 is not equal to Black − Scholes for all parameter ranges. Numeric methods can be used to determine the required value17. An analytic estimate is:
16 These and subsequent option prices have been generated by finite difference methods. The motivation and method are outlined in section 5.5 17 Linear interpolation between two tested estimates proved sufficient.
48 − σ = (1− ()1− γ 2 )* ()1+α 0.1 *σ Quad Black −Scholes
Maturity Dependency
The smile effect depends on the maturity of the option. Ideally the same implied volatility would be produced at a given strike for all maturates. This would imply a difference at a given delta since strikes for fixed delta moves away from ATM as maturity increases. This would lead to a steeper smile for longer maturates.
Figure 5-4 Volatility Smile wrt Strike Figure 5-5 Volatility Smile wrt Delta (Alpha=100) (Alpha=100)
Figures 5-4 and 5-5 graph the maturity relationships. The strike values in Figure 5-4 correspond to the Delta range plotted for Maturity = 0.5 in Figure 5-5. The difference in σ smiles with respect to maturity effect is also dependent on Quad , with smiles rapidly σ → converging as Quad 0% .
5.4 Analytical Problems
The quadratic model is not as simple to solve as it may appear. There is no known analytic solution, furthermore the existence of solutions gained numerically must be questioned.
5.4.1 Existence vs. Explosion
Differential equations, stochastic or otherwise, do not always have solutions. The common Lipschitz condition below is clearly not satisfied by the stochastic element of this SDE.
σ ()x −σ ()y
A simple and sufficient test is provided by Khasminskii, see Rogers and Williams [1986], based upon two descriptive functions: scale s and speed m .
49 ì x µ(y) ü Scale: s′(x) = expí− 2 dyý , s(1) = 0 ò σ 2 î 1 (y) þ
1 Speed: m′(x) = , m(1) = 0 σ 2 (x)s′(x)
A sufficient condition for non-explosion is then:
∞ x s′(x) m′(y)dydx = ∞ òò 11
Assuming no drift, µ(x) = 0 , and a simplified volatility function σ (x) = x 2 :
∞ ′ = ′ = −4 1 []+ −2 ≡ ∞ s (x) 1, m (x) x , the test gives 3 x 2x 1
Hence quadratic SDEs without drift will not explode. With a linear drift term, µ(x) = µx , the test integral is not solvable.
5.4.2 Using Girsanov
Since drift free quadratic SDEs do not explode, one might hope those with drift are transformable by Girsanov to the former case. Unfortunately this is not so, since Girsanov's theorem requires significant growth restrictions.
Tighter sufficient conditions are given by Feller's Test for Explosions, see Karatzas and Shreve [1991]. First, one requires non-degeneracy:
σ 2 ()x > 0 , ∀x ∈ℜ
and local integrability:
+ε x µz ∀x∈ℜ,∃ε > 0 such that dz < ∞ . ò σ 2 x−ε (z)
α ∈ ( 1 ] σ ()= 4αγ −1 The degeneracy test fails for 0, 4γ , since min x 4α . However this parameter range is unlikely, since it creates only negligible smile. Local integrability can be investigated by Mathematica:
In[1]:= Integrate[mu*z/((z+alpha*So*(z/So-gamma)^2)*sigma)^2,z]
22
50 Out[1]= (-(mu z So) + 2 alpha gamma mu z So - 2 alpha gamma mu So ) /
2 > ((-1 + 4 alpha gamma) sigma
222 > (alpha z + z So - 2 alpha gamma z So + alpha gamma So )) +
-2 alpha z - So + 2 alpha gamma So 2 (-1 + 2 alpha gamma) mu So ArcTanh[------] 22 Sqrt[So - 4 alpha gamma So ] > ------22 2 (-1 + 4 alpha gamma) sigma Sqrt[So - 4 alpha gamma So ]
x+ε é æ − 2αz − S + 2αγS öù ê ()αγ − µ ç 0 0 ÷ú 2 2 1 S0 ArcTanç ÷ ê ()− µzS + 2αγµzS − 2αγ 2 µS 2 è S 1− 4αγ øú = ê 0 0 0 + 0 ú ()()4αγ −1 σ 2 ()αz 2 + zS − 2αγzS +αγ 2 S 2 ()αγ − σ 2 2 − αγ 2 ê 0 0 0 4 1 S0 4 S0 ú ê ú ë û x−ε
π α = The ArcTan term either side of 2 is infinite. When 0 , the Black Scholes case we have − 2αz − S + 2αγS 0 0 = 1, hence as expected the conditions succeed ∀x ∈ℜ . Testing a simple − αγ S0 1 4
= γ = < α ≤ 1 < scenario: S0 1, 1, one sees for 0 4 the discontinuity occurs for an x 0 , and
α > 1 4 gives rise to complex solutions. Hence, the SDE fails the conditions so one cannot construct the scaling term s(x) required to remove the drift of the process.
α > 1 For 4 one might assume the processes is killed at zero, and then continue with explosion analysis over the half line, for example using Feller's Test, see Karatzas and Shreve [1991]. However a more promising half line cubic model is detailed below.
5.4.3 Alternatives
A linear piecewise SDE produces a similar range of effects:
= µ + ( +α St − γ )σ dSt St dt St S0 dWt S0 [Eqn 5-5]
Stopping times and indicator functions might be used to split the SDE into two linear sub- cases with potential for analytic solutions. A subsequent recombination into a pricing formula is unexpected.
51 An extension of Equation 5-5 leads to a new SDE that can model different angles of smile via a third parameter β , See Equation 5-6. This may prove useful, since traders suggest Foreign Exchange market smiles are not quadratic.
æ β ö = µ + +α St − γ σ dSt St dt ç St S0 ÷ dWt è S0 ø [Eqn 5-6]
Figure 5-6 Angle of Smile
Figure 5-6 graphs the implied volatility shapes for the varied levels of β within Equation 5-6.
Equation 5-5 is clearly a sub-case with β = 1, and Equation 5-4 a sub-case with β = 2 . The intuitive concept of local volatility shapes driving implied volatility shapes continues to hold. It can be said β adjusts the 5th moment of the marginal distribution of the underlying instrument.
The cubic model in Equation 5-7 might tackle the issue of degeneracy:
2 = µ + ( + α()St − γ )σ dSt St dt St 1 dWt S0 [Eqn 5-7]
As above µ(x) = 0 and σ (x) = x 3 satisfy the Khasminskii test. More interestingly Figure 5-7 demonstrates the volatility function in comparison to the quadratic Equation 5-4. The process > σ 2 ()> ∀ ∈ ℜ + is more likely to be confined to the half line St 0 where x 0 , x . This depends
σ → α = 1 in a complex fashion on the speed of (x) 0 . For example CEV 2 is confined to the half line, but has positive probability of reaching zero and becoming stuck, see Shaw [1998].
52
Figure 5-7 Quadratic and Cubic Volatility Functions
Figures 5-8 and 5-9 demonstrate the smile and skew produced by the cubic Equation 5-7. There is very little difference between the shapes produced under the quadratic model Equation 5-4: Skewed smiles are slightly rounder.
Figure 5-8 Cubic Model Smile Figure 5-9 Cubic Model Skew
5.5 Numerical Solutions
5.5.1 Monte Carlo Methods
Expectations and Integrals with solutions that attach high values to outcomes with low probability mass may exhibit slow Monte Carlo convergence. If the solution exists the Law of Large Numbers states the simulation will find it, but does not give a bound on the time.
Short runs may produce stable answers: they are unlikely to hit an extreme value. Longer runs may become unstable, occasionally sampling a value too large for the computer's floating point arithmetic.
Variance reduction methods can be used to reduce such problems. Antithetic variables worked with limited success. Importance sampling is often sufficient but was not tried, due to a robust alternative described next.
53 5.5.2 Finite Difference Methods
Derivative pricing can be modelled as a Partial Differential Equation (PDE) problem18. See Neftci [1996] for a description of PDE option pricing methods. PDEs can be solved numerically by finite difference methods, see Hull [1997] for a clear description with an option pricing example.
One can follow a generic development from an underlying SDE:
dS = a()S ,t dt + σ ()S ,t dW t t t t
The required solution is a derivative price equation, depending solely on St and t : say () F St ,t . Applying Ito's lemma to find dFt :
∂F ∂2 F ∂F dF = dt + 1 σ ()S ,t 2 dt + dS t ∂t 2 ∂S 2 t ∂S t
substituting for dSt :
é∂F ∂2 F ∂F ù ∂F dF = ê a()S ,t + 1 σ ()S ,t 2 + údt + σ ()S ,t dW t ë ∂S t 2 ∂S 2 t ∂t û ∂S t t
() Since F St ,t and St are both driven by the same underlying random perturbations one can =θ ()+θ construct a risk-free portfolio: Pt 1F St ,t 2St , whose derivative is = θ ()+θ dPt 1dF St ,t 2dSt . Substituting for dFt :
é∂F ∂ 2 F ∂F ù dP =θ ê dt + 1 σ ()S ,t 2 dt + dS ú +θ dS t 1 ë ∂t 2 ∂S 2 t ∂S t û 2 t
∂F In addition, selecting portfolio weights θ = 1,θ = , leaves: 1 2 ∂S
∂F ∂ 2 F dP = dt + 1 σ ()S ,t 2 dt t ∂t 2 ∂S 2 t
18 Black and Scholes [1973] use a PDE approach, resolving their model to the Heat Equation.
54 This equation has no random innovation term, so the portfolio value is deterministic and risk free. Arbitrage arguments then tell one such a portfolio must only provide returns at the risk free rate: rPt dt . Thus:
æ ∂F ö ∂F ∂ 2 F rPdt = rç F()S ,t − S ÷dt = dt + 1 σ ()S ,t 2 dt t è t ∂S t ø ∂t 2 ∂S 2 t
Or:
∂F ∂F ∂ 2 F − rF − S + + 1 σ ()S ,t 2 = 0 ∂S t ∂t 2 ∂S 2 t
σ () Now substituting in the quadratic St ,t in Equation 5-3 one gains the PDE:
2 ∂F ∂F ∂ F 2 2 − − + + 1 []()+α ()St − γ σ = rF St St S0 Quad 0 ∂S ∂t 2 ∂S 2 S0 with a boundary conditions for a European call given by:
+ F = []S − K T T
Implicit Finite Difference methodology then enables one to discrete the problem on a grid using linear approximations to derivatives at each point. The following equations are used to iterate the over a grid to solve the quadratic in Equation 5-4:
2 æ æ 2∆ 2 2 ö ö ç ç j∆S +αS ()j S − γ ÷ ÷ 0 S0 1 1 2 ç è ø ÷ F − = ∆trj − ∆tσ i, j 1 2 2 Quad ç ∆S 2 ÷ ç ÷ è ø
æ 2 2 ö ç æ ∆ +α ()j 2∆S 2 − γ ö ÷ ç j S S0 ÷ ç è S0 ø ÷ F = 1+ ∆tr + ∆tσ 2 i, j Quad ç ∆S 2 ÷ ç ÷ è ø
2 æ æ 2∆ 2 2 ö ö ç ç j∆S + αS ()j S − γ ÷ ÷ 0 S0 1 1 2 ç è ø ÷ F + = − ∆trj − ∆tσ i, j 1 2 2 Quad ç ∆S 2 ÷ ç ÷ è ø
55 Some general non-linear models were implemented in C++, motivated by Ødegaard's "Financial Numerical Recipes" using "newmatt09: C++ matrix library" by Davies. See Appendix A.4.
6 Smile Pricing Methodology
As before one requires a framework in which to estimate parameters. This section develops the Quadratic Model given in Equation 5-4, and finds parameter estimates from market observable data.
The work is brief and does no significant results. Future development of quadratic SDEs might find parameterisations that produce stable parameter approximations.
6.1 Measuring Parameter Effect
The smile displayed by the quadratic model can be measured by fitting a LSE model, gaining measures on the smile and skew effects. These in turn can be fitted back to the parameters α and γ .
As before a log model is used, since the effects are invariant with Sigma and Strike magnitudes. This time the implied volatilites and strike prices are first re-scaled by the σ Forward and ATM volatility values, removing concerns of the miss-specification of Quad .
2 æ V ö æ K ö æ K ö lnç i ÷ = b + b lnç i ÷ + b lnç i ÷ ç ÷ 0 1 ç ÷ 2 ç ÷ èVFwd ø è K Fwd ø è K Fwd ø
This format is easily fitted using LSE software, such as LINEST() in Excel. The parameters are then converted to match:
2 æ V ö é æ K ö ù lnç i ÷ = c + c êlnç i ÷ − c ú ç ÷ 0 1 ç ÷ 2 èVFwd ø ë è K Fwd ø û
b b = + 1 = = − 1 by simple algebra: c0 b2 , c1 b0 and c2 . 4b0 2b0
The following relationship can be determined:
c = ln()γ 2
56 σ Unfortunately c1 still depends on Black −Scholes and maturity, but the following holds up to 1 year:
− σ c = 1 αe 0.7 Black −Scholes 1 2
6.2 Measuring Market Parameters
Re-using the above ideas, but fitting the quadratic log model to real data, one gains the following:
bˆ bˆ cˆ = bˆ + 1 cˆ = bˆ cˆ = − 1 0 2 ˆ , 1 0 and 2 ˆ 4b0 2b0
Inverting the quadratic model effect measures gives:
ˆ σ γ = c2 α = 0.7 Black −Scholes ˆ e and ˆ 2cˆ1e
6.3 Examples
6.3.1 JPY Foreign Exchange
Figure 6-1 contains market observed implied volatility for US Dollar Japanese Yen exchange rates, from 17th February 1999.
Figure 6-1 JPY FX Options Implied Volatility Figure 6-2 Quadratic Model for JPY FX Options
Maturity α γ σ Black −Scholes O/n 394.40 1.00 22.48 1w 101.53 1.01 19.00 2w 55.83 1.01 18.30 3w 38.92 1.01 17.99 … 3y 0.63 1.01 18.70
57 Table 6-1 Parameter Term Structure
Parameters in Table 6-1 were derived using the methods described above, and the resulting quadratic model is plotted in Figure 6-2. The fit is pleasingly accurate despite the concerns raised.
6.3.2 USD Fixed Income Caps
Returning to the data discussed in section 4.3.3, see Figure 6-3, one can try to fit the quadratic model and thus the smile exhibited in the short tenures. Figure 6-4 displays the result, and highlights the instability of the fitting process described above.
Figure 6-3 USD Cap Implied Volatility Figure 6-4 Quadratic Model for USD Caps
Clearly more work is required to find a reliable fitting process, which may require changes to the model.
Concluding Remarks
Research on implied volatility and skewed pricing models is a vast and varied field. This project's approach of maximising tractability through minimising change to the Black Scholes framework has proved productive.
The Shift model has now been commercial implemented. The author feels the work in section 5 and the concept of "local volatility functions" is likely, with further research, to yield a suitable model for smile.
58 The new models discussed would all benefit from further analysis to discover weaker sufficient conditions. However all MPhil projects must come to an end.
59
Appendix
The appendix contains a series of sections on numerical, programming and financial implementation issues. These do not effect the flow of ideas in the project, but might be useful to some people doing similar work in the future. See the bibliography for other useful sources.
A tiny fraction of the total code (>10,000 lines) is listed below. No Excel spread sheets (>60) have been included since they are not easy to read as print (showing values, or formulae, not both).
A.1 Random Samples
Uniform U[0,1] Random Samples
The standard random number generation supplied with Microsoft Visual C++ has a maximum value of 32767, and a period no larger. This project used Monte Carlo simulations requiring 106 independent samples (108 for Barrier options). Clearly the standard generator is not applicable. Press et al [1992] provide the following "Minimal Standard" generator with period 109 . The Monte Carlo caching engine implemented a separate shuffle as also recommended.
/*/ * RANDOM U[0,1] Generation * * Functions: * void om_srand ( long lSeed ) // Seed Generator. Must be called. * double om_randu( void ) // Get next random number * * Comments: * From Numerical Recipies in C [1992] * Seed stored in local static long : slSeed /*/ #define IA 16807 #define IM 2147483674 #define IQ 127773 #define IR 2836 static long slSeed = 0;
/*/ * FUNCTION om_srand: Seed Random Generator * ALGORITHM * From Numerical Recipies in C /*/ void om_srand ( long lSeed ) { if ( 0 == lSeed ) { //Supplied Zero as Seed : not allowed : use time slSeed = (unsigned)time( NULL ); } else { slSeed = lSeed; } }
60 /*/ * FUNCTION om_randu: Generate Random Uniform Variable * ALGORITHM * From Numerical Recipies in C [1992] * Returns U[0,1] double * NOTE: for speed assumes seed is not 0, saving XOR in reference /*/ double om_randu( void ) { long lK; lK = slSeed/IQ; slSeed = IA * ( slSeed - lK * IQ ) - IR * lK; if (slSeed<0) slSeed += IM; return (slSeed/(double)IM); }
Normal N[0,1] Random Samples
The following function uses the Box Muller algorithm to generate two normal random samples. Rejection sampling over the unit circle is preferred to trigonometrical implementations for speed and transparency. Two uniform U[0,1] samples are called from the above function. The samples generated are returned through pointers, and for speed considerations no null-pointer check is performed.
/*/ * FUNCTION om_randn: Generate 2 Random Normal Variables * ALGORITHM * From Numerical Recipies in C [1992] * Uses om_randu above * NOTE : ASSUMES TWO VALID POINTERS ARE PASSED!! /*/ void om_randn ( double * dOne, double * dTwo ) { double fac,rsq,v1,v2; do { v1 = 2.0 * om_randu() - 1.0; v2 = 2.0 * om_randu() - 1.0; rsq = v1 * v1 + v2 * v2; } while ( rsq >= 1.0 || rsq == 0.0 );
fac = sqrt( -2.0 * log(rsq) / rsq );
* dOne = v1 * fac; * dTwo = v2 * fac; }
A.2 Implementing Cumulative Normal Distribution
Many of the project's formulas require the evaluation of Φ()d . This is, of course, a non- analytically solvable integral. Where as humans might use "New Cambridge Statistical Tables", computers might find the following approximation algorithm useful.
/*/ * FUNCTION om_phi: Approximate Cumulative Normal Distribution * ALGORITHM * From Nomura Fixed Income Quant Desk * approximation via exp polynomial /*/ double om_phi(double x)
61 { double k,z,value; double a[10];
z= fabs(x/sqrt(2.0)); //Floating Point Absolute Value Fn (Double) k=1.0/(1.0+z/2.0); a[0]=-1.26551223; a[1]=1.00002368; a[2]=0.37409196; a[3]=0.09678418; a[4]=-0.18628806; a[5]=0.27886807; a[6]=-1.13520398; a[7]=1.48851587; a[8]=-0.82215223; a[9]=0.17087277;
value = 0.5*k*exp(-z*z+a[0]+k*(a[1]+k*(a[2]+k*(a[3]+k*(a[4]+k*(a[5]+k*(a[6]+k* (a[7]+k*(a[8]+k*a[9])))))))) );
if (x>=0.0) { return 1.0-value; } else { return value; } }
The central importance of implied volatility skew, and thus the tails of Φ()d , motivated checks on the above approximation. First, one can eye-ball the familiar cumulative density shape in Figure A-1. Shaw [1998] provides tests using Mathematica's arbitrarily close evaluation of error functions. Figure A-2 shows the oscillating nature of the error of the above numerical approximation. The graph also shows the error is extremely small.
Figure A-1 : Approximate Cumulative Normal Figure A-2 : Approximation Error
Another important check is the percentage error. This may show issues with elements far into the tails. This project required accurate results for options at Delta between 5% and 95%, i.e. d ≤ 1.64 , so one would hope there to be minimal percentage error out to ±2. Figure A-2 confirms this, but highlights potential issues with larger negative values of d.
62
st Figure A-3 : Percentage Error Figure A-4 : 1 Derivative Figure A-5 : 2nd Derivative Error Error
There are sometimes issues with numerical derivatives of functions based on the numerical approximation. For instance numerical differencing of option prices to gain Delta, and numerical differencing of Delta to gain Gamma. These were both performed in this project when checking analytic formulas for the Shift model hedge parameters. Figures A-4 and A-5 show the approximation's error does increase for the first and second derivatives. It was felt there was no need for concern on the error even for Gamma on ATM options.
A.3 Implementing Monte Carlo Methods
The project's implementation of Monte Carlo runs to over 1000 lines of code, providing a framework of caching, a choice of SDEs and a choice of vanilla and exotic claims. Rather than list large quantities a few examples are given below.
Walk Step Functions
A generic Monte Carlo algorithm can be built to use different walk steps; each defined it its own isolated function. The address of a function for a given style of walk, say log normal Black Scholes, can then be selected as a parameter for the generic algorithm. This helps re-use code, but more importantly keeps each aspect of the mathematics in one place.
An example is given below of the Black Scholes walk for a Foreign Exchange model. It walks the exchange rate, and thus due to discretisation error may go negative. One often avoids this issue by walking the log-exchange-rate, using Ito Calculus to work out the change in discrete SDE steps. This project found such implementations exhibited faster convergence, but since the project also considers SDEs that analytically can be negative, the issues were ignored.
/*/ * Example Random Walk Stepper Functions * * Purpose: * Calculates change in log underlying price each step, given the Normal * * See:
63 * 1) MonteCarlo_SimpleWalkFunction_BSFX // Black Scholes FX Option *…. /*/ double MonteCarlo_SimpleWalkFunction_BSFX( double dUnderlyingPrice, double dNormal, pMonteCarloEndPrices pWalkParameters ) { if ( NULL != pWalkParameters ) { double dMove = 0; dMove = pow( pWalkParameters->dSigma, 2 ); dMove = (pWalkParameters->dDomIR - pWalkParameters->dForIR) - 0.5 * dDrift; dMove = dDrift/MC_WORKING_DAYS_PA; return ( dUnderlyingPrice + dMove + (pWalkParameters->dSigma) * pow(MC_WORKING_DAYS_PA,-0.5) * dNormal ); } //Have failed, return Error Flag return MC_ERR_WALK_STEP; }
Coding up and compiling "walk step" functions for each SDE of interest would have taken considerable time. This was especially true during the initial investigation stage when many wild and strange SDEs were tried (e.g. some included trigonometrical functions!). A further 1000 lines of code, generated using GNU Bison (a "compiler compiler"), were added to enable one to enter a text version of an SDE into a Excel cell and let the C Add-in calculate the rest. Fortunately a suitable grammar file is shipped with Bison, mfc.y, for an example "Multifunction Calculator" (see www.gnu.org).
Claim Functions
After producing a set of samples of the marginal distribution at strike time, one can cache the results and apply any number of option claims at different strike values. This helps reduce noise when comparing strike dependent aspects of an SDE, e.g. implied volatility skew.
The generic Monte Carlo algorithm is supplied a pointer to one of the Option Evaluator functions, an example of which is given below. A variety of claim functions were coded and again the run time parsing offered.
/*/ * Example Option Evaluators Functions * * Purpose: * Calculates contigent claim given a stock price and option's details * * See: * 1) MonteCarlo_VanillaOptionEvaluator_EuroCall *…. /*/ double MonteCarlo_VanillaOptionEvaluator_EuroCall( double dEndPrice, pMonteCarloEvaluatorContract pEvalContract ) { double dStrike = 0; double dDiscount = 0;
//Type optional argument array into Strike price if ( NULL != pEvalContract ) {
64 dStrike = pEvalContract->dStrike; dDiscount = exp ( - pEvalContract->dDomIR * pEvalContract->dMaturity );
//Calculate difference of Strike and Underlying //use if positive return ( dDiscount * om_pos( dEndPrice - dStrike ) ); } //Have failed, return Error Flag return MC_ERR_OPTION_EVAL; }
A.4 Implementing Finite Difference Methods
The code below prices a European Call option on an asset that follows an SDE:
= + ()2 + + σ dSt rSt dt p1St p2 St p3 dWt
It is adapted from B. A. Ødegaard, "Financial Numerical Recipes", and uses R. Davies, "Newmatt09: C++ matrix library". It was used in the project to develop stable parameterisations of Quadratic SDEs.
/*/ * FD_MAX_GRID_PRICE_MULTIPLE: 2.0 ok for small sigma's * but as Delta -> 95% need much wider range of values /*/ #define FD_MAX_GRID_PRICE_MULTIPLE 2.0
/*/ * FinDiffQuadEuro_PV * * Purpose: * Calculate the Present Value of European Call/Put for Quad Model * using Finite Difference Methods * * Parameters: * bool bCall // True if Call, False if Put * double dSigma // Sigma * double dSo // So Spot * double dStrike // K Strike * double dDrift // Drift * double dMaturity // T Maturity * double dP1 // Quadratic S^2 Coef P1 * double dP2 // Quadratic S Coef P2 * double dP3 // Quadratic constant P3 * int iNo_S_Steps // Width of Grid * int iNo_t_Steps // Length of Grid * * Returns: * double from grid (Present Value) * * Comments: * Adapted from Financial Numerical Recipes * Uses newmat09 matrix library /*/ double FinDiffQuadEuro_PV( bool bCall, double dSigma, double dSo, double dStrike, double dDrift, double dMaturity, double dP1, double dP2, double dP3, int iNo_S_Steps, int iNo_t_Steps)
65 { double dSigma_sqr = dSigma*dSigma; // need iNo_S_Steps to be even: int M; if ((iNo_S_Steps%2)==1) { M=iNo_S_Steps+1; } else { M=iNo_S_Steps; };
//Would like to set Delta_S to ensure the Strike is within range, // but in danger of feeding back strike into pricing calcs... double dDelta_S = FD_MAX_GRID_PRICE_MULTIPLE*dSo/M;
vector
int N = iNo_t_Steps; double dDelta_t = dMaturity/N; double dDelta_S_sqr = dDelta_S * dDelta_S; double dQuad = 0;
BandMatrix A(M+1,1,1); A=0.0; A.element(0,0) = 1.0; for (int j=1;j A.element(M,M)=1.0; ColumnVector B(M+1); if ( true == bCall ) { for (m=0;m<=M;++m){ B.element(m) = max(0.0,S_values[m]-dStrike); }; } else { for (m=0;m<=M;++m){ B.element(m) = max(0.0,dStrike-S_values[m]); }; } ColumnVector F=A.i()*B; for(int t=N-1;t>0;--t) { B=F; F = A.i()*B; }; return F.element(M/2); }; A.5 Some Interesting Functions Financially Useless, Graphically Important The following function perhaps a useful trick when preparing results for plotting. It takes parameters of volatility, maturity, underlying spot, risk free rate and Delta, returning the strike rate for an option to match the other parameters. This is very useful for plotting skews with respect to Delta. /*/ * BlackScholesFXEuro_FindStrikeForCallDelta * * Purpose: * Calculate the strike for a given call delta * * Parameters: * double dSigma * double dFX * double dStrike 66 * double dMaturity * double dDomIR * double dForIR * * Returns: * double x (Strike) /*/ double BlackScholesFXEuro_FindStrikeForCallDelta( double dSigma, double dFX, double dDelta, double dMaturity, double dDomIR, double dForIR ) { //Use bisection method double a,b,c,i; double x1 = 0; double x2 = 0; double x = 0; //Initial ranges x1 = 0; x2 = 10 * dFX; a = BlackScholesFXEuroCall_Delta( dSigma, dFX, x1, dMaturity, dDomIR, dForIR ); b = BlackScholesFXEuroCall_Delta( dSigma, dFX, x2, dMaturity, dDomIR, dForIR ); //Iterate for( i = 0; i < cdMaxIterations; i ++ ) { x = (x2 + x1)/2; c = BlackScholesFXEuroCall_Delta( dSigma, dFX, x, dMaturity, dDomIR, dForIR ); if ( dDelta > c ) { x2 = x; } else { x1 = x; } //Found result to Required accuracy if ( om_dabs( dDelta - c ) < cdErrorEpsilon ) { break; } } //Return last estimate return x; } Barrier Example This is an example of an option with a closed form solution: the Foreign Exchange Knock Out Barrier. This particular option was chosen because of two features: 1) It checks whether it must be a "Down and Out" or "Up and Out" by the relative value of the Barrier to the Spot price. 2) Hull [1997] gives what I believe to be an incorrect formula, yet a method of deriving a correct one. See comment below. This problem was caught by checking the numeric results against an intuitive understanding of Barrier options, then re-affirmed by tests using different closed form and numeric solutions to the same problem. /*/ * BlackScholesFXEuro*_PV_KO * * Purpose: * Calculate the BlackScholes Present Value for FX Euro Call/Put * Barrier Knock Out Option : Taken from Hull * * Parameters: * double dSigma * double dFX * double dStrike * double dMaturity * double dDomIR * double dForIR 67 * double dKnockOut * * Returns: * double dResult (Present Value) /*/ double BlackScholesFXEuroCall_PV_KO( double dSigma, double dFX, double dStrike, double dMaturity, double dDomIR, double dForIR, double dKnockOut) { double dResult = 0; double dHalfSigmaSqrd = 0; double dSigmaRootT = 0; double dLamda = 0; double dy = 0; double dx1 = 0; double dy1 = 0; dHalfSigmaSqrd = 0.5 * dSigma * dSigma; dSigmaRootT = dSigma * sqrt( dMaturity ); dLamda = (dDomIR - dForIR + dHalfSigmaSqrd)/(dSigma*dSigma); dy = ( log( (dKnockOut*dKnockOut) / (dFX*dStrike) ) / dSigmaRootT ) + dLamda * dSigmaRootT; dx1 = ( log( dFX / dKnockOut ) / dSigmaRootT ) + dLamda * dSigmaRootT; dy1 = ( log( dKnockOut / dFX ) / dSigmaRootT ) + dLamda * dSigmaRootT; //Is it a (down and out) or (up and out) ? if ( dKnockOut < dStrike ) { // Down and Out Call : HULL[1997] SEEMS WRONG ?!? /* dResult = dFX * exp( - dForIR * dMaturity ) * om_phi( dx1 ) - dStrike * exp( - dDomIR * dMaturity ) * om_phi( dx1 - dSigmaRootT ) - dFX * exp( - dForIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda ) * om_phi( dy1 ) + dStrike * exp( - dDomIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda - 2 ) * om_phi( dy1 - dSigmaRootT ); */ // Instead gain Call_DownOut via DownIn formula and relationship: c_do = c - c_di // this obeys intuitive notions about barrier prices unlike the above, // and matches Monte Carlo simulation results. dResult = BlackScholesFXEuroCall_PV ( dSigma, dFX, dStrike, dMaturity, dDomIR, dForIR ) -( dFX * exp( - dForIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda ) * om_phi( dy ) - dStrike * exp( - dDomIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda - 2 ) * om_phi( dy - dSigmaRootT ) ); } else { // Up and Out Call : c_uo = c - c_ui dResult = BlackScholesFXEuroCall_PV ( dSigma, dFX, dStrike, dMaturity, dDomIR, dForIR ) -( dFX * exp( - dForIR * dMaturity ) * om_phi( dx1 ) - dStrike * exp( - dDomIR * dMaturity ) * om_phi( dx1 - dSigmaRootT ) - dFX * exp( - dForIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda ) * ( om_phi( - dy ) - om_phi( - dy1 ) ) + dStrike * exp( - dDomIR * dMaturity ) * pow( dKnockOut / dFX, 2 * dLamda - 2 ) * ( om_phi( - dy + dSigmaRootT ) - om_phi( - dy1 + dSigmaRootT ) ) ); } return dResult; } 68 A.6 Excel Add-Ins Excel provides a useful workbench for numeric computation, providing dynamic records of calculations and graphical results. Note that Excel97 first shipped with numerous serious "bugs". Some are fatal to Add-ins and will cause system crashes. This project found Service Pack 2 necessary and sufficient. Building Add-Ins Excel can call ordinary Windows DLLs or Excel Add-ins, XLLs. These are DLLs with additional functions to support Excel function explorer, help system and menus. The Microsoft Excel97 Developer's Kit is a poor reference, but unfortunately vital for software reasons. Example benefits include a function that Excel will call upon loading the Add-in. This might initialise random number generators, set up cache and register each of the functions within the Add-in. The following is an exert of data sent to Excel. It enables Excel to offer the functions as though they were its own, giving descriptions of their parameters, and providing "Wizards". static LPSTR g_rgWorksheetFuncs [g_rgWorksheetFuncsRows][g_rgWorksheetFuncsCols] = { { " FM_ImpliedBSVolFXEuro", // Procedure " RRRRRRRR", // type_text " FM_ImpBSVolFXEuro", // function_text " CallPut,Price,FX,Strike,Maturity,DomIR,ForIR", // argument_text " 1", // macro_type " Financial Models", // category "", // shortcut_text "", // help_topic " Calculates BS Implied Volatility ", // function_help " FX European Call or Put Option" // argument_help1 }, etc… Talking to Excel Excel uses a proprietary system of variables to communicate with Add-ins: known as XLOPERs. These are C structures that act as self-describing data blocks. For instance they might contain a reference to a range of cells that the Add-in must then request separately, or they might contain a double precision number. The following code shows an example of converting an XLOPER into a standard C double precision number. Similar functions were produced for integers and strings. All were heavily used. 69 short int xlOperParse_ToDouble( LPXLOPER * ppxErrorMessage, double * pdDouble, LPXLOPER pxOper ) { XLOPER xMulti; // Argument coerced to xltypeMulti LPXLOPER px; // Pointer into array LPXLOPER pxErrorMessage; // Pointer into array int error = XLOPERPARSE_OK; // XLOPERPARSE_OK if no error; error code otherwise //Check parameters' are not NULL if ( NULL == ppxErrorMessage || NULL == pdDouble || NULL == pxOper ) { error = xlerrValue; } if ( XLOPERPARSE_OK == error ) { //If sent an error message pxErrorMessage = * ppxErrorMessage; //Dereference error pointer if ( NULL == pxErrorMessage ) { error = xlerrValue; //Set local flag to return to caller } } if ( XLOPERPARSE_OK == error ) { switch (pxOper->xltype) { //Check type and Co-erce if can case xltypeNum: (*pdDouble) = pxOper->val.num; break; case xltypeRef: case xltypeSRef: case xltypeMulti: //Use exception handiling here... //MSO97.DLL AV's when array contains mixed string/number data __try { if (xlretUncalced == Excel(xlCoerce, &xMulti, 2, pxOper, TempInt(xltypeMulti))) { // That coerce might have failed due to an // uncalced cell, in which case, we need to // return immediately. Microsoft Excel will // call us again in a moment after that cell // has been calced. // Note return NULL as xErrorMessage; (*ppxErrorMessage) = NULL; return -100; } } __except(0,1) { //Set error flag and leave case error = -100; break; } px = xMulti.val.array.lparray; // If sent array, look at first XLOPER type switch (px->xltype) { case xltypeNum: // if a number take it (*pdDouble) = px->val.num; break; case xltypeErr: // if an error store in error error = px->val.err; break; case xltypeNil: // if missing or default: // if anything else set error error = xlerrValue; break; } // free the returned array // Excel(xlFree, 0, 1, (LPXLOPER) &xMulti); break; case xltypeErr: error = pxErrorMessage->val.err; break; case xltypeMissing: default: error = xlerrValue; break; } } if ( XLOPERPARSE_OK != error ) { 70 pxErrorMessage->xltype = xltypeErr; pxErrorMessage->val.err = error; } return error; } A.7 Caps and Caplets An interest rate cap is a derivative that pays cash upon interest rates exceeding a strike rate. They enable parties to reduce their risk exposure to floating rate loans, while enabling them to take advantage of falling interest rates, see Figure A-6. Caps are core "vanilla" interest rate derivatives, sold by many institutions. Figure A-6 Capped Loan Rate Caps can be seen as a basket of European call options on interest rates (forward forward rates), each of which is called a Caplet, see Hull [1997] or Baxter [1996]. This enables one to price a Cap using European call option formulae, such as Black and Scholes, or as in section 5 of this project: the Shift model. The formulation of the Caplet as a claim on a martingale is shown in section 2. The appendix aim is to show the difference between "Cap Volatility" and "Caplet Volatility". When a trader quotes a Cap price in terms of volatility they mean the price is to be constructed from a series of Caplets each with the same given volatility. Hence this is can be called "flat Cap volatility". Caps of different tenures are often quoted with different flat Cap volatilities. Since a 2Yr Cap contains the 1Yr Cap, there is a contradiction in the quoted Caplet volatilities. Caplet volatilities should reflect the volatility of their underlying instruments, i.e. forward forward rates. One can gain values for the "true" implied volatilities by looking at the change in flat Cap volatility between tenures. A stylised result is shown in Figure A-7 and the calculations for GBP Caps (studied in section 4) in Figure A-8. 71 Figure A-7 : Stylised Comparison (Hull[1997]) Figure A-8 : Stripped GBP Caps The results gained in this project show a high level of noise. This is often the case and traders look at over and under priced Caplets as trading opportunities. However, this level of detail was felt unnecessary for the exposition on skew modelling in section 4. Bibliography Finance and Mathematics Sources D.S. Bates, 1995, "Testing Option Pricing Models", Cambridge MA NBER, Working Paper No 5129 M. Baxter, A. Rennie, 1996, "Financial Calculus", Cambridge University Press S. Beckers, 1980, "The Constant Elasticity of Variance Model and Its Implications For Option Pricing", The Journal of Finance 35, June F. Black, 1976, "The pricing of commodity contracts", Journal of Financial Economics, 3, 167-179 F. Black, M. Scholes, 1973, "The pricing of options and corporate liabilities", Journal of Political Economy, 81, 637-653 K.C. Chan, G.A. Karolyi, F.A. Longstaff, A.B. Sanders, 1992, "An Empirical Comparison of Alternative Models of the Short Term Interest Rate", The Journal of Finance, May J.C. Cox, S.A. Ross, 1976, "The Valuation of Options for Alternative Stochastic Processes", Journal of Financial Economics 3, Jan.-March, 145-166 B. Dumas, R Whaley, J. Flemming, 1996, "Implied Volatility Functions: Empirical Tests", CEPR Discussion Paper No 1369 M.B. Garman, S.W. Kohlhagen, 1983, "Foreign Currency Option Values", The Journal of International Money and Finance 2, 231-237 R. Geske, 1979, "The Valuation of Compound Options", Journal of Financial Economics 7, March, 63-81 E. Ghysels, A.C. Harvey, E. Renault, 1996, "Stochastic Volatility", Handbook of Statistics, Vol 14, Elsevier Science P. Glasserman, M. Broadie, 1997, "A continuity correction for discrete barrier options", Mathematical Finance, 7.4, 325-349 J.C. Hull, 1997, "Options, futures, and other derivatives" 3rd Edition, Prentice Hall I. Karatzas, S.E. Shreve, 1991, "Brownian Motion and Stochastic Calculus", Springer D. Kennedy, 1998, "Advanced Financial Models", Lecture notes, Statslab, University of Cambridge T.A. Marsh, E.R. Rosenfeld, 1983, "Stochastic Processes for Interest Rates and Equilibrium Bond Prices", The Journal of Finance 38, 635-646 S.N. Neftci, 1996, "An introduction to the Mathematics of Financial Derivatives", Academic Press B. Øksendal, 1995, "Stochastic Differential Equations", 5th Edition, Springer-Verlag S. Pitts, 1998, "Monte Carlo Statistics", Lecture notes, Statslab, University of Cambridge D. Revuz, M. Yor, 1994, "Continuous Martingales and Brownian Motion, Springer Verlag J.A. Rice, 1995, "Mathematical Statistics and Data Analysis", Duxbury Press L.C.G. Rogers, D. Williams, 1987, "Diffusions, Markov Processes, and Martingales", Volume 2 Ito Calculus, Wiley R. Rebonato, 1998, "Interest Rate Option Models" 2nd Edition, Wiley 72 M. Rubinstein, 1983, "Displaced Diffusion Option Pricing", The Journal of Finance 38, March, 213-217 W. Shaw, 1998, "Modelling Financial Derivatives with Mathematica", Cambridge University Press Computing Sources R. Davies, "newmatt09: C++ matrix library", Wellington, New Zealand, http://webnz.com/robert/ B. A. Ødegaard, "Financial Numerical Recipes", The Finance Group, Norwegian School of Management, Oslo, http://finance.bi.no/~bernt/gcc_prog/ W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, 1992, "Numerical Recipes in C", Cambridge University Press M.W. Zimmerman, 1997, "Microsoft Excel97 Developer's Kit", Microsoft Press 73