Smile

Peter Nowak∗ and Patrick Sibetz†

∗ covering SABR Model †covering Heston Model

April 24, 2012

Abstract

This document is analysing two famous stochastic volatily models, namely SABR and Heston. It introduces the problems of the Black Scholes model, the two stochastic models and in a final step calibrates volatilty smiles/- surfaces for given FX data.

Key words: smiles, skew, implied volatilities, stochastic volatilities, SABR, Heston

1 Contents

1 Introduction 3

2 Black’s model with implied volatilities 4 2.1 FX Black Scholes Framework ...... 4 2.2 FX Implied ...... 4

3 models 7 3.1 The Heston model ...... 7 3.1.1 Heston Option Price ...... 10 3.1.2 Characteristic Functions ...... 12 3.1.3 Heston FX Option Extension ...... 15 3.1.4 Summary for Heston Option Pricing ...... 17 3.2 The SABR model ...... 19 3.2.1 Definition ...... 19 3.2.2 SABR ...... 20 3.2.3 Model dynamics ...... 21 3.2.4 Parameter Estimation ...... 22 3.2.5 SABR Refinements ...... 24 3.3 Calibration and Simulation ...... 26 3.3.1 The Heston Model ...... 26 3.3.2 The SABR model ...... 30

4 Conclusio 37

5 Appendix 39 5.1 Heston Riccati differential equation ...... 39 5.2 Analysis of the the SABR model ...... 40 5.3 Implementation in R ...... 46 5.3.1 FX Black Scholes Framework ...... 46 5.3.2 Heston Framework ...... 47 5.3.3 SABR Framework ...... 48

2 1 Introduction

According to the Black-Scholes model, we should expect options that expire on the same date to have the same implied volatility regardless of the strikes. Thus, Black erroneously assumed that the volatility of the underlying is con- stant. However, implied volatilities vary among the different strike prices. This discrepancy is known as the volatility skew or smile. In general, at-the-money options tend to have lower volatilities that in- or out-of-the-money options, see figure 1.

For estimating and fitting such volatility smiles, in terms to accuaratly price op- tions, several frameworks have been introduced. Merton [10] suggested to make the volatility a deterministic function of time. This would indeed explain the different volatility for different tenors, but would not explain the smile effect for different strikes. Other models introduced by Dupire [4], or the one from Derman and Kani [3], including a state dependent volatility coefficient yields still a complete market model, but it cannot explain the persistent smile shape which does not vanish over time with longer maturities.

Thus the next step would be to allow the volatility to move stochastically over time, where we will chose models to fit a certain market implied volatility sur- face. This processes were pioneered by Hull and White [8], Heston [7] and later by Patrick Hagan through the widely used SABR model [6].

3 2 Black’s model with implied volatilities

The implied volatility of a european option in the Black Scholes framework is an alternative of quoting the options price, as every other parameter are observable in the market. If the market price of the option is quoted one find σimp that the Black Scholes option model price CBS equals the option’s market price.

BS ∗ C (S, K, σimp, rd, rf , t, T ) = C (1)

As the option price is monotonically increasing in the volatility it can be uniquely determined. However, as the BSM formula cannot be solved for the volatility analytically, a numerical algorithm has to optimise this approach.

For our examples we will analyse the FX option implied volatility surface, as currencies tend to provide the so called volatility smile in general. Therefore we need also to introduce the differences to the normal Black Scholes framework.

2.1 FX Black Scholes Framework

For the FX smile we will consider a model for the FX spot rates to be strictly positive and evolve stochastically over time. In our model framework we will adapt the Black Scholes model [1] with the model of Garman and Kohlhagen [5] which is also based onto Black Scholes as an application to foreign currency options. The following analysis is based on risk neutral valuation, which means that a risk free portfolio will always yield the risk free interest rate in the re- spective currency. Otherwise there would be an arbitrage opportunity leading to a risk free profit.

The important point of risk neutral valuation is, that the underlying asset itself is a risky investment and therefore also derivatives based on it are risky too. However, it is possible to costruct an instantaneously risk free portfolio consist- ing of the two securities. The proportions of the two securities however, are not static, but need constantly be adapted over time. This process is thus often referred to as dynamic hedging.

2.2 FX Implied Volatility Smile

Perhaps due to that American options are almost not traded in FX markets, the market uses the Black Scholes formula for price quotation. These quotes are in Black Scholes implied volatilities rather than the prices directly. What is also a peculiarity of the FX market is that quotes are provided at a fixed Black

4 Scholes delta not at fixed strike levels as it is usual for options in other markets. In particular the options are quoted implicitly for five different levels of delta for different tenor points. These standard levels are at the money level, 25 delta out of the money level and 25 delta in the money level (75 delta) and the same for 10 delta.

FX Volatility Smile

RR10

● BF10 ● Implied Volatility ●

ATM

10C 25C ATM 25P 10P

Delta

Figure 1: FX Smile including the three point market convention quotation

Since out of the money levels are liquid moneyness levels in the options market, market quotes these levels as 25 delta call and 25 delta put. If a trader has the right model, he can build the whole volatility smile for any time to expiry by using the three points in the volatility surface. The additional two points of 10 delta options yields a better calibration as far out of the money options can have even higher than extrapolated implied volatility. In the options market 25 delta call and 25 delta put points are not quoted as volatility. They are quoted according to their positions to at the money volatilty level. These parameters are 25 delta butterfly and 25 delta risk reversal.

Risk Reversal:

Risk reversal is the difference between the volatility of the call price and the put price with the same moneyness levels. 25 delta risk reversal is the difference between the volatility of 25 delta out of the money Call and 25 delta out of the money Put.

5 RR25 = σ25C − σ25P

Butterfly:

Butterfly is the difference between the avarage volatility of the call price and put price with the same moneyness level and at the money volatility level. In other words for example for 25 delta level, butterfly defines how far the average volatil- ity of 25 delta call and 25 delta put is away from the at the money volatiltiy level.

BF25 = (σ25C + σ25P )/2 − σAT M

A real world example shall motivate the necessity to apply option pricing mod- els that are richer than the classical model of Black and Scholes (1973, [1]). It shows that the Black-Scholes implied volatilities for EUR/JPY FX options for different deltas and maturities.

Figure 2: Bloomberg market data for the USDJPY implied volatility surface

The volatility surface of this dataset then looks the following

6 USDJPY FX Option Volatility Smile 0.15 0.14 0.13 0.12 Implied Volatility 0.11 0.10 0.09

10C 25C ATM 25P 10P

Delta

Figure 3: USDJPY implied volatility surface

3 Stochastic volatility models

3.1 The Heston model

A well established model to price equity options including a volatility smile or skew in practice is the Heston Model. Here the underlying follows a diffusion stochastic process, like in the Black Scholes model, but the process’ stochastic variance ν follows a Cox Ingersoll Ross (CIR) process.

√ S dSt = µStdt + νtStdWt √ ν dνt = κ(θ − νt)dt + σ νtdWt S ν dWt dWt = ρdt

In this model the positive volatility of the underlyings volatility σ generates a smile, and a nonzero correlation ρ generates a skew of the volatility curve with slope of the same sign.

The parameters in this model are:

ˆ µ the drift of the underlying process

ˆ κ the speed of mean reversion for the variance

ˆ θ the long term mean level for the variance

7 ˆ σ the volatility of the variance

ˆ ν0 the initial variance at t = 0

ˆ ρ the correlation between the two Brownian motions

To derive the semianalytic solution for the FX Option we will first begin with the classical Heston model for equity options and then show the extension to the two currency world model. We begin with a portfolio consisting of one asset more than in the Black Scholes replication approach, as we have also one more Brownian motion driving the underlying’s volatility. Thus we have a portfolio consisting of one option V (S, ν, t) a portion of the underlying ∆St and a third to the volatility φU(S, ν, t). The portfolio has then the value

Πt = V (S, ν, t) + ∆St + φU(S, ν, t).

The next assumption we make is that the portfolio is selffinancing which brings us to the following equation which describes the change in value of the portfolio:

dΠ = dV + ∆dS + φdU

For the two Options U and V we apply the Ito-formula to expand dU(S, ν, t): 1 1 dU = U dt + U dS + U dν + U (dS)2 + U (dSdν) + U (dν)2 t S ν 2 SS Sν 2 νν With the quadratic variation and covariation terms expanded we get

(dS)2 = d hSi = νS2d W S = νS2dt, (dSdν) = d hS, νi = νSσd W S,W ν = νSσρdt, and (dν)2 = d hνi = σ2νd hW ν i = σ2νdt.

The other terms including d hti , d ht, W ν i , d t, W S are left out, as the quadratic variation of a finite variation term is always zero and thus the terms vanish. Thus

1 1 dU = U dt + U dS + U dν + U νSdt + U νSσρdt + U σ2νdt t S ν 2 SS Sν 2 νν  1 1  = U + U νS + U νSσρ + U σ2ν dt + U dS + U dν t 2 SS Sν 2 νν S ν | {z } =:AU We analogously define the term AU for the derivative V as AV . We then get the two siplified equations for the developments of the two derivatives as

U dU = A dt + USdS + Uν dν V dV = A dt + VSdS + Vν dν

8 Thus the portfolio evolution is described by the following PDE

U V  dΠ = φA + A dt + (VS + φUS + ∆) dS + (Vν + φUν ) dν | {z } | {z } =0! =0! including a constant hedge by adapting the positions φ and ∆ like in the BSM model that the stochastic terms dS and dν vanish. We herewith get a unique solution for the two positions with: V φ = − ν Uν Vν US ∆ = −VS − φUS = −VS + Uν We further know as we have introduced before in our risk neutral valuation assumptions, that under the risk neutral pricing measure the expected portfolio return must equal the risk free interest rate r.

dΠ = rΠdt = r(V + ∆S + φU)dt

Thus changes in the riskless protfolio are described by

dΠ = φAU + AV dt = r(V + ∆S + φU)dt ⇔ φAU + AV = r(V + ∆S + φU)

If we now plug in the solution for ∆ and φ derived above, we get

  Vν U V Vν US Vν − A + A = rV − rS VS + − r U Uν Uν Uν U V −Vν A + A Uν = rV Uν − rSVSUν + rSVν US − rVν U AV − rV + rSV AU − rU + rSU S = S Vν Uν So both sides only dependend on the respective derivative U or V , which we according to Heston assume to be representable by a deterministic function f(t, ν, S)

f(t, ν, S) = −κ(θ − νt) + λ(t, ν, S)

The term λ(t, ν, S) is called the market price of volatility risk. Heston assumed it to be linear in the instantaneous variance νt, i.e. λ(t, ν, S) = λ0νt, in order to retain the form of the equation under the transformation from the statistical measure to the risk-neutral measure.

9 Resubstituting then yields

U A − rU + rSUS = −κ(θ − νt) + λ(t, ν, S) Uν 1 1 U + U νS2 + U νSσρ + U σ2ν − rU + rSU = −κ(θ − ν ) + λ(t, ν, S)U t 2 SS Sν 2 νν S t ν We now have derived exactly the same equation as Heston in his paper.

3.1.1 Heston Option Price

To derive the price of a option we begin by stating a general risk neutral pricing approach where we assume the price to be the discounted expected future payoff under the pricing measure. As we know the payoff of a European plain vanilla to be + CT = (ST − K) we can generally write the price of the option to be at any time point t ∈ [0,T ]:

−r(T −t)  +  Ct = e E (ST − K) Ft −r(T −t)   = e E (ST − K)1(ST >K) Ft −r(T −t)   −r(T −t)   = e E ST 1(ST >K) Ft − e KE 1(ST >K) Ft | {z } | {z } =:(∗) =:(∗∗)

With constant interest rates the stochastic discount factor using the bank ac- R t − rsds −rt count Bt then becomes 1/Bt = e 0 = e . To be able to calculate the probabilities above in the first term, we now need to perform a Radon-Nikodym change of measure. dQ St BT Zt = Ft = dP Bt ST Thus the first term (∗) gets

−r(T −t) P   (∗) = e E ST 1(ST >K) Ft B t P   = E ST 1(ST >K) Ft BT B t Q   = E ZtST 1(ST >K) Ft BT B  S B  t Q t T = E ST 1(ST >K) Ft BT Bt ST Q   = E St1(ST >K) Ft Q   = StE 1(ST >K) Ft

= StQ (ST > K|Ft)

= StP1(St, νt, τ)

10 The second term can be calculated analogously even without the change of measure.

−r(T −t)   (∗∗) = e KE 1(ST >K) Ft −r(T −t) = e KP (ST > K|Ft) −r(T −t) = e KP2(St, νt, τ)

Thus we get a pricing formula

−r(T −t) Ct = StP1(St, νt, τ) − e KP2(St, νt, τ) (2) which is comparable to the Black Scholes equation, however the two probabilities are different as we have stochastic volatility and thus a different distribution as the normally distributed returns in the Black Scholes world. So what we now need to determine is the probability distribution of S under the two measures.

P (ST > K) = P (ln ST > ln K)

= 1 − P (ln ST ≤ ln K)

= 1 − Fln S(K)

For the second term P2 the evolution is under the real probability measure P whereas the dynamics of P1 are under the new measure Q which we also need to determine the new distribution. To get a nicer form of the PDE we then perform a change of variable X := ln S, which means we also need to adapt our PDE from above due to changes of the derivatives with respect to S: 1 U = U S X S 1 1 U = U − U SS XX S2 X S2 1 U = U Sν Xν S If we plug this in our PDE the form gets much nicer as due to the substitution of the variables all the S terms cancel and we get the Heston PDE for the log price X = ln S. 1 1 νS2U + ρσνSU + σ2νU + rSU + κ(θ − ν ) − λ ν U − rU + U = 0 2 SS Sν 2 νν S t 0 t ν t 1  1 1  1 1 νS2 U − U + ρσνSU + σ2νU + 2 XX S2 X S2 Xν S 2 νν 1 + rSU + κ(θ − ν ) − λ ν U − rU + U = 0 X S t 0 t ν t 1 1  1  νU + ρσνU + σ2νU + r − ν U + κ(θ − ν ) − λ ν U − rU + U = 0 2 XX Xν 2 νν 2 X t 0 t ν t

11 3.1.2 Characteristic Functions

The next step to finally reach an option price formula is to get the two proba- bilities in the pricing formulas, which is being done by using the characterisitc functions. As we face two different probability measures we also need to find two characteristic functions of the two probabilities P1 and P2:

Q Q  iuX  ϕ1(u) := ϕX (u|St, νt, τ) = E e Ft P P  iuX  ϕ2(u) := ϕX (u|St, νt, τ) = E e Ft

Heston assumed the form of the characteristic functions to be

Ci(τ,u)+Di(τ,u)ν+iux ϕi(u) = e (3) which we of course apply also for our approach. To get now the probabilities and their cumulative distribution function needed, we apply the Fourier Inversion Formula on the characteristic function

1 Z T eiux − 1 FX (x) − FX (0) = lim ϕX (u)du T →∞ 2π −T −iu and apply the solution of Gil-Pelaez to get the nicer real valued solution of the transformed characteristic function: 1 1 Z ∞ e−iux  P(X > x) = 1 − FX (x) = + < ϕX (u) du 2 π 0 iu which is the seeked solution for P1 and P2

Z ∞  −iux  1 1 e j Pj = + < ϕX (u) du (4) 2 π 0 iu

Note that the function Pj is a cumulative distribution function (in the variable x = ln K) of the log-spot price. after time τ := T − t starting at X = ln St for some drift µ.

P2 = P (ln ST > ln K|Ft)

The same applies for P1 under the risk neutral measure Q. However, it only does depend on the last value of St and vt and is thus Markov which is quite useful as a property. To find now the two characteristic functions and their factors which generate them, we make use of the pricing formula (2), where we determine the derivatives with respect to t, X and ν and plug it into the PDE

12 of the log price. ∂C = C = eX P 1 − Kre−r(T −t)P 2 − Ke−r(T −t)P 2 ∂t t t t X 1 −r(T −t) 2 2 = e Pt − Ke rP + Pt ∂C = C = eX P 1 + eX P 1 − e−r(T −t)KP 2 ∂X X X X X 1 1  −r(T −t) 2 = e P + PX − Ke PX X 1 X 1 X 1 X 1 −r(T −t) 2 CXX = e PX + e P + e PX + e PXX − e KPXX X 1 1 1  −r(T −t) 2 = e P + 2PX + PXX − e KPXX X 1 X 1 −r(T −t) 2 CXν = e Pν + e PXν − e KPXν X 1 1  −r(T −t) 2 = e Pν + PXν − e KPXν X 1 −r(T −t) 2 Cν = e Pν − Ke Pν X 1 −r(T −t) 2 Cνν = e Pνν − Ke Pνν

As we now have a dependence on τ rather than the current valuation date t we ∂f ∂f ∂t ∂f need to substitute this term, which brings ∂τ = ∂t ∂τ = − ∂τ , thus our PDE looks the following: 1 1  1  νC +ρσνC + σ2νC + r − ν C +κ(θ−ν )−λ ν C −rC−C = 0 2 XX Xν 2 νν 2 X t 0 t ν τ (5) Before we plug the entire terms from above in the equation we will differentiate between two special cases, as the pricing PDE is always fulfilled irrespective of the terms in the call contract.

ˆ S = 1,K = 0, r = 0 ⇒ Ct = P1

ˆ S = 0,K = 1, r = 0 ⇒ Ct = −P2

Since −P2 follows the PDE so does P2, so we have got two simplifications for the pricing PDE which for we will now plug in the derivatives determined above. 1 1 ν P 1 + 2P 1 + P 1  + ρσν P 1 + P 1  + σ2νP 1 + 2 X XX ν Xν 2 νν  1  + r − ν P 1 + P 1  + κ(θ − ν ) − λ ν P 1 − rP − P = 0 2 X t 0 t ν 1 τ

If we now rearrange these terms we see that the P1 term cancels out: 1 1  1  νP 1 +ρσνP 1 + σ2νP 1 + r + ν P 1 +ρσν+κ(θ−ν )−λ ν P 1−P 1 = 0 2 XX Xν 2 νν 2 X t 0 t ν τ (6) Now we perform the same steps for the second scenario including S = 0 and

K = −1 so that only P2 remains in the option price. 1 1  1  νP 2 +ρσνP 2 + σ2νP 2 + r − ν P 2 +κ(θ−ν )−λ ν P 2−rP 2+rP 2 − P 2 = 0 2 XX Xν 2 νν 2 X t 0 t ν τ

13 Also here the P2 term cancels out and the equation gets: 1 1  1  νP 2 +ρσνP 2 + σ2νP 2 + r − ν P 2 +κ(θ−ν )−λ ν P 2−P 2 = 0 (7) 2 XX Xν 2 νν 2 X t 0 t ν τ

For convenience we define a new variable ζi which has the two values ζ1 = 1 and ζ2 = −1, thus we can write a general formula for the two PDEs (6) and (7).

1 1  ζ  1 + ζ  νP i +ρσνP i + σ2νP i + r + ν P i + ρσν + κ(θ − ν ) − λ ν P i−P i = 0 2 XX Xν 2 νν 2 X 2 t 0 t ν τ (8) Applying the results of the Feynman-Kac theorem, the characteristic function will then also follow the Heston PDE. 1 1  ζ  1 + ζ  νϕi +ρσνϕi + σ2νϕi + r + ν ϕi + ρσν + κ(θ − ν ) − λ ν ϕi −ϕi = 0 2 XX Xν 2 νν 2 X 2 t 0 t ν τ (9) The respective derivatives we determine by the given structure of the charac- teristic function in (3). ∂ϕ ∂C ∂D  i = − i + i ν ϕ ∂τ ∂τ ∂τ i ∂ϕ i = iuϕ ∂X i ∂2ϕ i = −u2ϕ ∂X2 i ∂ϕ i = D ϕ ∂ν i i ∂2ϕ i = D2ϕ ∂ν2 i i ∂2ϕ i = iuD ϕ ∂X∂ν i i So if we plug in the derivatives of the assumed structure of the characteristic function the PDE gets

1 1  ζ  − νu2ϕ + ρσνiuD ϕ + σ2νD2ϕ + r + ν iuϕ + (10) 2 i i i 2 i i 2 i 1 + ζ  ∂C ∂D  + ρσν + κ(θ − ν ) − λ ν D ϕ + i + i ν ϕ = 0 2 t 0 t i i ∂τ ∂τ i The derivation of the solution for the PDE can be looked up in the appendix

(5.1). The solution for Di looks as follows:

diτ  (b + di) 1 − e Di = 2 d τ σ (1 − gie i ) where b + di gi = b − di

14 and p 2 2 2 di = b − σ (ζiu − u ) The second equation can then easily be determined by simply integrating out ∂C i = −riu − κθD ∂τ i   diτ  κθ 1 − gie Ci = riuτ + 2 (b + di)τ − 2 ln σ 1 − gi Thus we have derived all components of the semi-analytic pricing equation for Heston options.

3.1.3 Heston FX Option Extension

Before we go now directly to the FX Heston model we will first derive the framework extension of Black Scholes for FX markets by Garman and Kohlhagen [5]. For the two currency framework we make use of the work of Musiela and Rutkowski [12].

FX Black Scholes Model d f We henceforth denote Bt and Bt for t ∈ [0,T ] as the price of the domestic and foreign saving account each denominated in units of their respective currency.

The exchange rate process Qt is the price of units of domestic currency for 1 unit of the foreign currency and is described under the actual probability measure P by

dQt = µQtdt + σQtdWt The solution of this SDE is cleary

 σ2  µ− 2 t+σWt Qt = Q0 · Q .

∗ f d Let us now consider an auxiliary process Qt := QtBt /Bt which then of course satisfies f ∗ QtBt Qt = d Bt  σ2  µ− 2 t+σWt (rf −rd)t = Q0e e  σ2  µ+rf −rd− 2 t+σWt = Q0e or putting back in SDE form we have

∗ ∗ ∗ dQt = (µ + rf − rd) Qt dt + σQt dWt

∗ Thus we can clearly see that Qt is a martingale under the original measure P iff µ = rd − rf .

15 Under the domestic martingale measure Qd, which is equivalent to P, the process ∗ Qt is a Qd-martingale. Thus the domestic martingale measure is a risk neutral measure for the domestic investor. Applying Girsanov’s theorem and having all parameter constant over time we get for the change of measure

d 1 2 Qd θWT − kθk T FT = e 2 dP with

µ + rf − rd + σθ = 0 r − r − µ θ = d f σ In addition, the process

d Wt = Wt − θt, ∀t ∈ [0,T ] follows a Brownian motion under Qd. Thus the dynamics of Qt under Qd are described by d dQt = (rd − rf )Qtdt + σQtdWt

If we now assume that the underlying process (Qt) is now the exchange rate we still have the final payoff for a Call option of the form

FXCT = max(QT − K, 0) and following the Garman-Kohlhagen model we know that the price of the FX option gets

−rf (T −t) FX −rd(T −t) FX FXCt = e QtP1 (Qt, νt, τ) − e KP2 (Qt, νt, τ) (11)

Heston FX Option Price This is only a slight change in our pricing formula to our derived results using the Heston model. We will nevertheless also start by replicating a derivative U with the underlying Q, the bank account and a second derivative V now linked to the exchange rate as underlying.

dU = ∆dQ + φdV + µU Udt + µV φV dt + µQ∆Qdt

Under the risk neutral pricing measure Qd the evolution is

dU = ∆dQ + φdV + rdUdt + rdφV dt + (rd − rf )∆Qdt   = rd(U + φV ) + (rd − rf )∆Q dt + ∆dQ + φdV

The PDE of the FX Option is thus

16 1 1 νQ2U +ρσνQU + U σ2ν+(r −r )QU +κ(θ−ν )−λ ν U −r U+U = 0 2 QQ Qν 2 νν d f Q t 0 t ν d t Transformation to the logspot and the change of derivative with respect to τ rather than t and the change of variable of the log spot X := ln Q brings us a PDE without Q terms and of the following form

1 1  1  νU +ρσνU + σ2νU + r − r − ν U +κ(θ−ν )−λ ν U −r U−U = 0 2 XX Xν 2 νν d f 2 X t 0 t ν d τ (12) So the calculation of the FX option is not completely different to the normal Heston model if the interest rates are considered fixed. Using the boundary Conditions for the PDE solution, brings us also to a general pricing formula for C(t, ν, Q) with an exchange rate as underlying.

C(T, ν, Q) = max(QT − K, 0) C(t, ∞,Q) = Qe−rf (T −t) ∂C (t, ν, ∞) = e−rf (T −t) ∂Q C(t, ν, 0) = 0  ∂C ∂C ∂C  r C(t, 0,Q) = (r − r )Q + κθ + (t, 0,Q) d d f ∂Q ∂ν ∂t

FX The pricing formula (11) also has different probabilities Pi (Qt, νt, τ) with parameters for the characteristic function:

  diτ  κθ 1 − gie Ci = (rd − rf )iuτ + 2 (b + di)τ − 2 ln σ 1 − gi The remaining parameters being the same as in the general Heston model.

3.1.4 Summary for Heston Option Pricing

European Call Option Recall from equation (2) that we have a pricing formula of the form

−r(T −t) Ct = StP1(St, νt, τ) − e KP2(St, νt, τ) where the two probabilities Pj are as in (4) derived

Z ∞  −iux  1 1 e j Pj = + < ϕX (u) du 2 π 0 iu with the characteric function being of the form

Cj (τ,u)+Dj (τ,u)ν+iux ϕj(u) = e .

17 To determine the call price we now just have to calculate the expressions Cj and

Dj from section 3.1.2 and plug them into the characteristic function. Then we have to evaluate the two probabilities a using numerical integration algorithm as Gauß-Lobatto, to finally evaluate the option price using the pricing function.

European FX Call Option Here we only have a different pricing function

−rf (T −t) −rd(T −t) Ct = e StP1(St, νt, τ) − e KP2(St, νt, τ) and the parameters for the characteristic functions change slightly as described in section 3.1.3.

18 3.2 The SABR model

The stochastic αβρ or SABR model is typically used to model forward Libor rates, forward rates, forward index prices or any other forward rate. It is an extension to Black’s model and of the CEV model. Unlike other stochstic volatility models e.g Heston, the model does not itself derives option prices. It rather produces estimations of the implied volatility curve, which are used as inputs in Black’s model to price especially interest rate derivatives.

3.2.1 Definition

The SABR model by Hagan et al. [6] is thus given by the system of stochastic differential equations

β dFˆ =α ˆFˆ dW1, (13)

dαˆ = ναdWˆ 2, (14) under the forward measure with the initial conditions

Fˆ(0) = f, (15) αˆ(0) = α. (16)

The movements in the underlying forward rate are correlated with the move- ments in the underlying volatility

dW1dW2 = ρdt (17) whereas the Brownian motions are correlated. The parameters are

ˆ α the initial variance,

ˆ ν the volatility of variance,

ˆ β the exponent for the forward rate,

ˆ ρ the correlation between the two Brownian motions.

The case β = 0 produces the stochastic normal model, β = 1 produces the 1 stochastic lognormal model, and β = 2 produces the stochastic Cox-Ingersoll- Ross model (or CIR model).

Compared to other stochastic volatility models the SABR model has the virtue of being one of the simplest models which is homogeneous in ft and αt and has

19 an approximating direct formula for the price of a European option. It can be used to accurately fit the implied volatility curves observed in the marketplace for any single T . This makes the SABR model an effective means to manage the smile risk in markets where each asset only has a single date, including and caplet/floorlet markets. As a consequence the SABR may or may not be able to fit the volatility surface of an asset which has European options at several maturities, such as FX options and most equity options. Hagan et al. [6], thus introduced a dynamic SABR model, as it has not been derived completely it will not be covered in this paper. Still, there is a chance to derive the volatility surface by using interpolation methods. Nevertheless, we will observe this problem in the calibration beginning in the next sections.

3.2.2 SABR Implied Volatility

To obtain the implied volatility (surface) of an underlying European option the SABR dynamics offers analytical formulas, which have to be calibrated against observed volatilities on the market. These market volatilities may either be extracted by the price of an option or directly from market streams as Bloomberg or Thomson Reuters (see figure 2). This analytical framework can be seen as one of the major selling points of SABR compared to other stochastical volatility models. As we have seen for the Heston model, it first has to obtain the price to extract the implied volatilities in the a second step. The SABR on the contrary just uses a compliant volatility formula to Black’s model to calibrate it’s the parameters for the implied volatilities. To receive the formulas singular perturbation techniques are used to obtain the prices of European options. From these prices, the option’s implied volatility

σB is obtained. An extensive analysis of the SABR model and the derivation of the SABR implied volatility can be found in the appendix. The starting point for the analysis is thus the pricing formulas of Black:

BS −rT C (f, K, σB,T ) = e (fN(d1) − KN(d2)) (18) with log f ± 1 σ2 T K 2 B d1,2 = √ (19) σB T where the implied volatility σB (f, K) is given by α  z  σ (K, f) = · · B n 2 4 o (1−β)/2 (1−β) 2 f (1−β) 4 f x(z) (fK) 1 + 24 log K + 1920 log K  (1 − β)2 α2 1 ρβνα 2 − 3ρ2   1 + + + ν2 T . (20) 24 (fK)1−β 4 (fK)(1−β)/2 24

20 Where z is defined by ν f z = (fK)(1−β)/2 log (21) α K and x(z) is given by ( ) p1 − 2ρz + z2 + z − ρ x(z) = log . (22) 1 − ρ

For at-the-money options (K = f) the formula reduces to σB (f, f) = σATM such that

2 n h (1−β) α2 1 ρβνα 2−3ρ2 2i o α 1 + 24 f 2−2β + 4 f (1−β) + 24 ν T σ = . (23) ATM f (1−β)

Once the parameters α, β, ρ and ν are estimated, the implied volatility σB is a function only of the f and the strike K. This is the result of the fact that SABR only produces implied volatilites for single maturities, the dependence of σB on T is not reflected in the notation σB(K, f). Equipped with these formula’s one can obtain the parameters by estimation of plain vanilla options, swaptions and FX options as the theoretical framework can compromise the these prodcuts (see Hagan et al. [6]).

3.2.3 Model dynamics

Before the estimation of parameters, however, we observe the qualitative behav- ior of the SABR model. To reveal the dynamics of the model we can approximate the formula (20) of σB (K, f) as α  1 K σ (K, f) = 1 − (1 − β − ρλ) log (24) B f 1−β 2 f 1 K  + (1 − β)2 + (2 − 3ρ2)λ2 log2 , (25) 12 f with strike K being not too far from the current forward f. The ratio ν λ = f 1−β (26) α measures the strenght of ν, the “volvol”, compared to the local volatility αf β−1 at the current forward. Please be aware that these equations should not be used for pricing. In the section calibration we will be looking in more detail of the influence of each factor with concrete values. This section, however, should serve as a general explanaiton of the framework.

As f varies during trading, the curve that the ATM volatility σB (f, f) traces is know as the backbone, while the smile and skew refer to the implied volatility

21 σB (K, f) as a function of strike K for a fixed f. That is, the market smile/skew gives a snapshot of the market prices for differnet strikes K at a given instance, when the forward f has a specific price. α Consider now the implied volatility σB (K, f). The first term f 1−β in equation (25) is the implied volatility for ATM options. So the backbone is essentially α σB (f, f) = f 1−β and entirely determined by the exponent β. With β = 1 it is downward sloping and β = 0 almost flat. 1 K The second term − 2 (1 − β − ρλ) log f in equation (25) represents the skew, which is the slope of the implied volatility with respect to the strike K. The first 1 K part − 2 (1 − β) log f is also know as the beta skew, which is downward sloping β−1 1 K as 0 ≤ β ≤ 1. It arises because αf is decreasing. The second part 2 ρλ log f is known as the vanna skew, the skew caused by the correlation between the volatility and the asset price. Typically the volatility and the asset price are negatively correlated, so on average, the volatility α decreases (increases) when the forward f increases (decrease). Thus the vanna skew is too downward slop- ing. 1 2 2 K The last term in equation (25) constist of two parts. The first 12 (1 − β) log f appears to be the smile (quadratic) term, but it is dominated by the beta skew 1 2 2 K and just modifies this skew. The second part 12 (2 − 3ρ ) log f is the smile induced by the volga (volatility-gamma) effect. Physically this smile arises be- caus of “adverse selection”: large movements of the forward f happen mor often when the volatility α increases, and less often when α decreases.

3.2.4 Parameter Estimation

First β has to be estimated, although the choice does not greatly affect the shape of the volatility curve. With β estimated, there are two possible choices for estimating the remaining parameters:

2. Estimate α, ρ and ν directly, or

3. Estimate ρ and ν directly, and infer α from ρ, ν and the at-the-money

volatility, σAT M

In general, it is more convenient to use the ATM volatility σATM , β, ρ and ν as the SABR parameters (2.) instead of the original parameters α, β, ρ and ν.

1. Estimation of β

For estimation of β the at-the money volatility σATM from equation (23) is used as a starting point. Taking the logs produces

22 log σATM = log α − (1 − β) log f +  (1 − β)2 α2 1 ρβνα 2 − 3ρ2   log 1 + + + ν2 T + ··· (27). 24 f 2−2β 4 f (1−β) 24

Hence, β can be estimated by a linear regression on a time series of logs of ATM volatilities and logs of forward rates. Since both f and α are stochastic variables, this fitting procedure can be quite noisy, and as the [··· ]ttex term is typically less than one or two per cent, it is usuallly ignored in fitting β and the approximation

log σATM ≈ log α − (1 − β) log f (28) is used. Alternatively, β can be chosen from prior beliefs about which model - stochastic 1 normal (β = 0), lognormal (β = 1) or CIR (β = 2 ) is appopriate:

ˆ Proponents of β= 1 cite log normal models as being “more natural” or

believe that the horizontal backbone - the curve that ATM volatility σATM traces - best represents their market. These proponents often include desks trading foreign exchange options.

ˆ Proponents of β= 0 usually believe that a normal model, with its sym- metric break-even points, is more effective tool for managing risks, and would claim that β = 0 is essential for trading markets where forwards f can be negative or zero.

ˆ 1 Proponents of β= 2 are usually interest rate desks that have developed trust in CIR models.

In practice, as already mentioned, the choice of β has little effect on the resulting shape of the volatility curve produced by the SABR model. However, β may have an affect on the sensitivities.

2. Estimation of α, ρ and ν Once the estimator of β, βˆ is set, it remains to estimat α,ρ and ν. This can be accomplished by minimizing the errors between the model and the market mkt volatilities, σi with identical maturity T . Hence, we can use the sum of squared errors (SSE), which produces:

X mkt 2 (ˆα, ρ,ˆ νˆ) = arg min σi − σB (fi,Ki; α, ρ, ν) . (29) α,ρ,ν i

23 3. Estimation of ρ and ν

The number of parameters to be estimated can be reduced by using σATM to receiveα ˆ via equation (23), instead of directly estimating α. Thus, only two parameters, namely ρ and µ need to be estimated andα ˆ is obtain by simply inverting equation (23), noting that α is the root of the cubic equation

  (1 − β)2 α2 1 ρβνα 2 − 3ρ2   σ f (1−β) − α 1 + + + ν2 T = 0 (30) ATM 24 f 2−2β 4 f (1−β) 24  (1 − β)2T   1 ρβνT   2 − 3ρ2  α3 + α2 + 1 + ν2T α − σ f (1−β) = 0 (31) 24f 2−2β 4 f (1−β) 24 ATM It is possible for this cubic equation to have more than a single real root. It is suggested selecting the smallest positive root in such a case. As a result for parametrization first the cubic equation for α has to be solved namely α(ρ, ν) and the SSE from equation (29) has to be minimized such that

X mkt 2 (ˆα, ρ,ˆ νˆ) = arg min σi − σB (fi,Ki; α(ρ, ν), ρ, ν) . (32) α,ρ,ν i

3.2.5 SABR Refinements

The SABR implied volatility analytical formula of Hagan et al. [6] has shown to be wrong in regions of small strikes but large maturities. In these regions it assigns negative price to a structure with a positive payoff. Therefore, Obj´on[?] derived a formula that refined the SABR model to either completely solve the f problem or improves it for lower strikes. Given the log-moneyness x = log K with maturity T, the implied volatility σB(x) can be approximated as

0 1 σB(x) ≈ IH (x) = IH (x)(1 + IH (x)T ). (33)

1 Where 1 + IH (x)T is similarly defined as the second line in equation (20) with (1 − β)2 α2 1 ρβνα 2 − 3ρ2 I1 (x) = + + ν2. (34) H 24 (fK)1−β 4 (fK)(1−β)/2 24

0 For IB(x), however, Berestycki at al distinguishes between four different cases as:

1. Case, if x = 0 then I0(0) = αKβ−1 (35)

2. Case, if ν = 0 then xα(1 − β) I0(x) = (36) f β−1 − Kβ−1

24 3. Case, if β = 1 then

0 νx I (x) = √  (37) 1−2ρz+z2+z−ρ ln 1−ρ

with νx z = (38) α 4. Case, if β < 1 then

0 νx I (x) = √  (39) 1−2ρz+z2+z−ρ ln 1−ρ

with νf β−1 − Kβ−1 z = (40) α(1 − β)

Obviously, Hagan et al. [6] and Obj´onare only differing in case 4 as for Hagan et al. [6] the fourth case is defined as

ζ 0 νx z I (x) = √  for β < 1 (41) 1−2ρζ+ζ2+z−ρ ln 1−ρ with νf β−1 − Kβ−1 ν f − K z = and ζ = . (42) α(1 − β) α (fK)β/2 Nevertheless, parameters can be obtained by estimation and prices by plugging into Black’s formula as before.

25 3.3 Calibration and Simulation

Now we will discuss the calibration of the two models, including the method of calibration, the different effects of changing parameters and its strengths and of course weaknesses. In general we will not go into the very detail of numerical iterations and efficiency in coding, but will introduce which method can be used for.

3.3.1 The Heston Model

We will now try to calibrate the Heston model according to the data of the FX option implied volatility surface of a USD/JPY and a EUR/JPY dataset. But first we will analyse the parameters to calibrate.

Parameter Analysis − nu0 Parameter Analysis − theta

nu0 = 0.01 theta = 0.03 0.18 nu0 = 0.02 theta = 0.05 nu0 = 0.03 theta = 0.07 0.16 0.16 0.14 0.14 0.12 Implied Volatility Implied Volatility 0.12 0.10 0.10 0.08

10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 4: The effects of changing the Heston input parameters on the shape of the volatility smile.

It clearly can be seen that the first two parameters, the initial volatility ν0 and θ work both as a shift of the volatility curve, thus we can fix one of the two already before the calibration at an appropriate level. We used the same √ approac as suggested by Janek et. al [9] by setting the initial volatility ν0 equal to the implied at the money (ATM) volatility in the market. The variance’s volatility σ and the level of mean reversion κ also both have the same effect on the volatility surface. Both can change the curvature of the smile in the same way which is why we will also here set the parameter κ prior to the calibration to a fixed level. The only parameter which changes the slope of the surface is the parameter rho what is why this one is definetely essential and

26 Parameter Analysis − sigma Parameter Analysis − kappa

sigma = 0.20 kappa = 0.5 0.15 0.15 sigma = 0.30 kappa = 1.5 sigma = 0.40 kappa = 3.0 0.14 0.14 0.13 0.13 0.12 0.12 Implied Volatility Implied Volatility 0.11 0.11 0.10 0.10 0.09

10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 5: The effects of changing the Heston input parameters on the shape of the volatility smile. thus should not be fixed prior to optimisation.

As we now have fixed already two parameters and only let the remaining three vary within the calibration process we need to be careful, that a special con- dition is still fulfilled. As it turns out the CIR process, responsible for the variance process, might degegenerate to a deterministic process and stays at zero. However, the process stays strictly positive if σ2 κθ ≥ 2 which is often referred to as the so called Feller condition.

Sum of squared error approach.

For this optimisation approach we compare the market implied volatilityσ ˆ with the volatility returned by the Heston model σ(κ, θ, σ, ν0, ρ). Explicitly we sum up the squared differences and this will be minimised by changing the three parameters θ, σ and ρ.   X 2 min  σˆ − σ(κ, θ, σ, ν0, ρ)  θ,σ,ρ i,j The two volatility surfaces of the USD/JPY and a EUR/JPY dataset are two typical characteristics. We have once a volatility skew for the EUR/JPY dataset which includes a higher volatility of the out of the money puts, including a po- tential higher risk for the Euro to depreciate against the Japanese Yen. The

27 Parameter Analysis − rho

rho = −0.25 rho = 0.05 rho = 0.30 0.14 0.12 Implied Volatility 0.10 0.08

10C 25C ATM 25P 10P

Delta

Figure 6: The effects of changing the correlation in the Heston model. second currency pair USD/JPY shows the classical volatility smile where the potential depreciations are to both sides of nearly the same grade.

USDJPY FX Option Volatility Smile EURJPY FX Option Volatility Smile 0.15 0.22 0.14 0.20 0.13 0.18 0.12 0.16 Implied Volatility Implied Volatility 0.11 0.14 0.10 0.12 0.09

10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 7: USD/JPY and EUR/JPY volatility surfaces

We now perform for both volatility surfaces a self implemented Heston calibra- tion in the statistic software R. Therefore we fix prior to calibration the initial variance to the ATM implied one, and also the mean reversion level κ to differ- ent levels, and look where we get the best fits.

28 USDJPY FX Option Volatility Smile EURJPY FX Option Volatility Smile 0.15 0.22 0.14 0.20 0.13 0.18 0.16 0.12 Implied Volatility Implied Volatility 0.14 0.11 0.12 0.10 0.10 0.09 10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 8: USD/JPY and EUR/JPY Heston volatility surface fits

We can see for that examples that the Heston model in both cases can be suc- cessfully applied to appropriately modeling the volatility surface for FX options, especially for the mid and long term maturities. But the model has weaknesses in the short term. If a fit for short tenors is desired we can add a weighting vector in the SSE approach, that the minimisation of the shorter volatilities is prioritised, but we will then of course get away from the real values in the long run.

Simulation of option pricing

Now we have everything complete to price European options analytically with the market adjusted Heston model for any maturity or strike level. Further- fore, we are also able to price any using the Monte Carlo ap- poach. Therefore we need to discretise our PDEs for example via finite difference method.

√ p S St = St−1 + µSt−1∆t + νt−1St−1 ∆tWt √ p ν νt = νt−1 + κ(θ − νt−1)∆t + σ νt−1 ∆tWt S 1 Wt = Bt ν 1 p 2 2 Wt = ρBt + 1 − ρ Bt

1 2 with Bt ,Bt being two independent normally distributed random variables, which we get using the Cholesky decomposition for two correlated random vari-

29 ables. We now will for simplicity just compare an analytically calculated Heston call option with an MC priced call option using finite difference path simulation with the same parameters.

> paths <- replicate( 100000, + heston.pather(S0=2,T=2,delta=1/365,rd=0.03,rf=0.01, + kappa=2,theta=0.1,vol=0.3,nu0=0.04,rho=0.1) ) > mc.call <- mc.option(paths=paths, K=2,rd=0.03, T=2, type=1) > mc.call

[1] 0.2715734

> ana.call <- heston( S=2,K=2, kappa=2,theta=0.1,sigma=0.3,rho=0.1, + lambda=0,nu0=0.04,rd=0.03,rf=0.01,t=0,T=2, type=1 ) > ana.call

[1] 0.2715323

We see that the two prices hardly differentiate. This approach can be used to price exotic options based on the information of plain vanilla options on the market.

3.3.2 The SABR model

Using following fictional data set

Maturity/Tenor (T ) 1 in years: Forward (f) 7.3 in cents: Strike (K): 4.3 4.8 5.3 5.8 6.3 6.8 7.3 7.8 in cents: 8.3 8.8 9.3 9.8 10.3 10.8 11.3

Implied Volatility (σmkt) 20.8 19.8 18.1 16.1 15.1 14.5 14.0 14.3 in %: 15.0 15.9 16.2 16.4 16.6 17.3 19.1

Table 1: Fictional data set to analyse SABR model we will look at the difference of the two ways of estimation and the properties of each estimated parameter. In a second step we will look at the FX option data set and observe if and how good the SABR model can approximate to the implied volatilities of a Bloomberg data stream.

30 Market Implied Volatilities Difference by Parametrization 0.0030 0.22 0.22

● 0.0025 ● 0.20 0.20

● 0.0020

● 0.18 0.18

● Error 0.0015 ●

Implied Volatility Implied Volatility ● ● ● ● 0.16 0.16

● 0.0010 ●

● ● ● 0.14 0.14 0.0005

0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.05 0.06 0.07 0.08 0.09 0.10 0.11

Strike Strike

Figure 9: Implied volatitility of the market given fictional data set and two-way SABR estimation

Comparison of parametrization

Let’s repeat, the SABR model can be calibrated using two different ways of parametrization. The first way calibrates the SABR model by estimatingα ˆ,ρ ˆ andν ˆ directly via sum of squared errors of the market implied volatilites (see equation (29)). The second possibility is two extractα ˆ directly from the ATM market volatilities via a cubic equation, review equation (23). Having estimated αˆ, as previously one only has to obtain the remaining parametersρ ˆ andν ˆ via the SSE method, as stated in equation (32). Given the market implied volatilities from table 1, the market volatility smile looks as in figure 9 on the right side. Doing a computational estimation via R for both types of estimation we receive following parameters:

1.Parametrization 2.Parametrization α 0.13926953 0.13606879 ρ -0.06867152 -0.06366734 ν 0.57781612 0.60382596 SSE 2.456405 · 10−4 2.860274 · 10−4

Table 2: Value of parameters by type of estimation

We see that the figures are gernerally close to each other. Probably the largest difference can be found in ν with a difference of approx. 0.02. We will see that ν has a large impact on the skew and sort of influences the height of the smile, this will however be analysed in greater detail on the next paragraph. What

31 is more, given the figures we see that the second parametrization does a better fitting having a smaller SSE than the first parametrization. Looking at figure 9 we see the fits of both parametrization and its difference. The second parametrization does clearly better on values close to the ATM volatility, whereas for the tails data points are typically the same. Certainly, this is due to the fact that the second parametrization obtainsα ˆ directly from the ATM implied volatility and does not estimate it again. The differences of the two estimations is also shown in the graph. This underpins previous argument as errors are typically large close to the ATM volatility. So additionally to saving time by optimizing one parameter less, the second parametrization delivers better and more accurate values.

Dynamics of the parameters

Having observed the types of parametrization let’s move forward and look at the impact of the values of the parameters itself. Regarding the section 3.2.3 we should already have an intuition of the effects of changes in ther parameters, still let’s have a look if this holds true. Taking the order of parametrization, we start with the observation of β. In the literature there is a general sentiment that market smiles can be fit equally well with any specific value of β. In the figure below we have set β to be 0 1 (normal), 2 (CIR) and 1 (log-normal) and plotted the results against each other. Thus, by looking at the right side of figure 10 the sentiment can be understood, as the smile is clearly not strongly influenced by the choice of β. Thus, β may not be determined by fitting the market smile as this would amount to “fitting the noise” and instead using general beliefs of the market is a safer approach. However, we can see that β in general has influence on the skew of the smile, the so called beta skew, but in general not a large one. Further let’s observe the parameter α, the volatility, in figure 10 on the right side. α is responsible for the horizontal positioning of the smile. So for an increasing and decreasing α, the smile shifts either upwards or downwards. As 1−β α is only prominent in α/f and not any other section of the formula σB (f, K) the shift is related to the value of the forward and the size of β. The correlation ρ in figure 11 on the right side has a main influence on the skew of the volatility curve. In the general dynamics it is also explained as the vanna skew, caused by the correlation between asset price and volatility. The figure underlines this as a higher correlation turns the curve to the right and a lower to the left. As the axis of the skewness can the ATM volatility σB (f, f) obsevered.

The final parameter is the “volvol” ν. As we already discussed the skewness in ρ

32 Dynamics of β Dynamics of α

0.22 0.22 α β=1 α+5% α−5% 1 β= 2

0.20 β=0 0.20 0.18 0.18 Implied Volatility Implied Volatility 0.16 0.16 0.14 0.14

0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.05 0.06 0.07 0.08 0.09 0.10 0.11

Strike Strike

Figure 10: Implied volatitility of the market given fictional data set and two-way SABR estimation

Dynamics of ν Dynamics of ρ

ν ρ −

0.22 0.22 = 0.06 ν+15% ρ=0.25 ν−15% ρ=− 0.25 0.20 0.20 0.18 0.18 Implied Volatility Implied Volatility 0.16 0.16 0.14 0.14

0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.05 0.06 0.07 0.08 0.09 0.10 0.11

Strike Strike

Figure 11: Implied volatitility of the market given fictional data set and two-way SABR estimation

33 and β and the shift in α, it is obvious that ν must be some kind responsible for the curvature in the smile. As a matter of fact figure 11 on the left side shows that an increasing ν makes the curve sharper whereas a decreasing ν makes the curve flatter - called the volga gamma effect.

SABR model on FX options

In the introduction of the SABR model its weakness on FX options and equity options has already been announced. The reason for this, as already mentioned, is that it can not estimated time dependend volatility surfaces, due to the fact that there is no time dependend parameter. However, in the FX option literature it is often explained to bypass this problem by using interpolation. Thus, this chapter will compare the outcomes of SABR using one single set of parameters and one where the last tenor and the first tenors are used to estimate parameters and interpolate implied volatilites. First, we will look at the EUR/JPY volatility surface. For the estimation the strikes have been extracted from the Bloomberg data stream explained in the introduction. From this data the ATM money forwards have been extracted and for some tenors the paramaters for the SABR volatility surface have been estimated via multiple SSE for multiple inputs (see figure 12 on the right). As a second step the SABR has been estimated for each tenor seperately to see if SABR is able to estimation at all (see left side).

EURJPY FX Option Volatility Smile EURJPY FX Option Volatility Smile 0.20 0.20 0.18 0.18 0.16 0.16 Implied Volatility Implied Volatility 0.14 0.14 0.12 0.12

10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 12: On the left EUR/JPY volatility surface for multiple tenors and on the right the interpolated EUR/JPY surface.

In general, the SABR estimation of the volatility surface is not doing too bad. The first two volatility curves of the small tenors is not working too well but for

34 the last three ones the fit is quite surprising. Especially for higher strikes SABR seems to have fitted the curvature quite will. The weakness, however, lies in the lower strikes where for the last tenor the fit is quite strongly off the market volatilites. Let’s continue on the interpolated surface. For the interpolation we take the lowest tenor and the largest tenor and fit the parameters for them. Thus, we have to sets of parameters. This can be observed in precision of the

fit for the first and last skew, for t1 and t2, respectivelly. Then via “flat forward volatility interpolation”,

2 ∗ 1 2 ∗ 2 ∗  σ (t ) = ∗ σX (t2)t2(t − t1)σX (t1)t1(t2 − t ) t (t2 − t1) ∗ the implied volatility for any t inbetween of t1 and t2 can be approximated. For the skew and the curvature this approximation seems to be pretty good however we observed problems with the shift of the smile.

USDJPY FX Option Volatility Smile EURJPY FX Option Volatility Smile 0.13 0.13 0.12 0.12 0.11 0.11 Implied Volatility Implied Volatility 0.10 0.10

10C 25C ATM 25P 10P 10C 25C ATM 25P 10P

Delta Delta

Figure 13: On the left USD/JPY volatility surface for multiple tenors and on the right the interpolated USD/JPY surfac.

As a second comparison we looked as well at same fitting processes for USDJPY, see figure 13. On the left hand sided again the surface approach on the right hand side the single smile curve approach. Comparing to the results of the Heston models, where the fit is for later tenors almost perfect, SABR’s performance is weak, to speak friendly. For the lower tenors the curvature could not be adapted at all, being almost flat and for the later tenors it is too sharp. It is interesting, however, to see that for the later tenors the implied volatilities that are way off from ATM are fitted quite well. Still, the ATM volatilies can not be reproduced again. For the interpolated volatility smile, the situation for SABR is as previously very good in terms of curvature and skew, however the shift we

35 have observed is way to high. Overall, the performance of SABR for USDJPY FX options is worse then the EURJPY estimation. Probably this is due to fact that the EURJPY are much flatter than the USDJPY surfaces and thus the time independence is increasing the fitting error.

36 4 Conclusio

After a thorough analysis of the Heston stochastic volatility model we can say that the attractive features definitely are:

ˆ its volatility updating structure permits analytical solutions to be gener- ated for European options

ˆ the form of the Heston stochastic process used to model price dynamics allows for non-lognormal probability distributions

ˆ the model also describes the important mean-reverting property of volatil- ity which is prevailing in the market

ˆ empirically the model often gives a very good fit to the observed Black Scholes implied volatility surfaces

Clearly, that the Heston’s model is a real player in the competition to be a successor of the Black and Scholes model. This model is very popular among practitioners now. On the other hand there remain some disadvantages and open questions:

ˆ for certain parameter constellations there might be negative option prices or at least prices which were lying below the usual arbitrage bounds (this means the Black Scholes implied volatility determination is impossible)

ˆ the model consistently performs well for medium to long maturities, but has strong deficits for short maturity fits

ˆ Heston’s model implicitly takes systematic volatility risk λ into account

by means of a linear specification for the volatility risk premium (λ0νt)

Furthermore it is worthwile mentioning that parameters of the Heston model after calibration to market data turn out to be non-constant. This means that at best we can deduce from the prices of derivatives, so called fitting. But this is far from adequate, the fitting will only work if those who set the prices of derivatives are using the same model and they are consistent in that the fitted parameters do not change when the model is refitted a few days later. Whether we have a deterministic volatility surface or a stochastic volatility model with prescribed or fitted parameters, we will always be faced with how to interpret refitting.

The SABR model on the other hand has shown us to have following features:

37 ˆ The asymptotic solution with the SABR implied volatility gives an easy- to-use framework which allows to derive the implied volatility directly without deriving prices first.

ˆ Parameter fitting turned out to be easy to implement and fast to estimate. The fitting through SSE also turned out to be in some points more accurate than the Heston model.

ˆ Great fitting with only using three parameters.

This is probably the reason why the SABR is one of the leading model for pricing European options and interest rate products. However, throughout our analysis in typical the work with FX options has pointed out the main flaws of the model:

ˆ No additional parameter which can be used for time dependent volatility surface estimation. Thus, estimation is best for single maturity instru- ments.

ˆ Derive volatility surface through interpolation, instructed by [2], yielded high errors and thus performance of Heston was much more competable.

ˆ Although refinements of the SABR model have been undertaken the SABR faces still problems with small strikes and long maturities.

Overall, both models are worthwhile with all their pros and cons.

38 5 Appendix

5.1 Heston Riccati differential equation

We have the structure of the characteristic function of the following form:

1 1  ζ  − νu2ϕ + ρσνiuD ϕ + σ2νD2ϕ + r + ν iuϕ + (43) 2 i i i 2 i i 2 i

1 + ζ  ∂C ∂D  + ρσν + κ(θ − ν ) − λ ν D ϕ + i + i ν ϕ = 0 2 t 0 t i i ∂τ ∂τ i

We now can divide both sides by ϕi to cancel this term, and rearrange the equation to

∂D 1 1 ζ 1 + ζ   ⇔ ν i + ρσiuD − νu2 + σ2D2 + iu + ρσ − κ − λ D + ∂τ i 2 2 i 2 2 0 i

∂C + i + riu + κθD = 0 ∂τ i so that both the term in the brackets and the second has to be zero. The first term is the following equation

∂D 1 1 ζ 1 + ζ  i = −ρσiuD + u2 − σ2D2 − iu − ρσ − κ − λ D ∂τ i 2 2 i 2 2 0 i 1 ζ 1 + ζ   1  = u2 − iu + ρσ − κ − λ − ρσiu D + − σ2 D2 2 2 2 0 i 2 i | {z } | {z } | {z } a b c We can see that this equation is of the form of a Riccati differential equation

∂D(t) = k(t) + h(t)D(t) + g(t)D(t)2 ∂t which there exists no general solution for it. However, if we add a special solution D = ϕ(t) = 0 to our equation we get a Bernoulli differential equation for which we get a solution.

∂D(t) = g(t) + 2ϕ(t)h(t)D(t) + h(t)D(t)2 ∂t = g(t)D(t) + h(t)D(t)2

The solution of the Bernoulli differential equation we get by performing a change of variable y(t) = D(t)−1

∂y(t) ∂D(t) = −D−2 = −g(t)D(t)−1 − h(t) ∂t ∂t = −g(t)y(t) − h(t)

39 This ODE can now be solved by first finding a solution for the homogeneous differential equation. ∂y (t) h = −g(t)y (t) ∂t h Z 1 Z = − g(t)dt yh(t)dy

ln|yh| = −G(t) + c −G(t) yh(t) = c · e

To find the non-homogeneous solution yn(t) of the Bernoulli differential equation we now need to perform a variation of constants.

−G(t) yn(t) = c(t)e ∂y (t) ∂c(t) n = e−G(t) − g(t)c(t)e−G(t) ∂t ∂t ∂c(t) −g(t)c(t)e−G(t) − h(t) = e−G(t) − g(t)c(t)e−G(t) ∂t ∂c(t) −h(t) = e−G(t) ∂t Z c(t) = − h(t)eG(t)dt

Thus we now have the general solution of the equation if we resubstitute our variable.

Z D(t)−1 = −e−G(t) h(t)eG(t)dt

eG(t) D(t) = − R h(t)eG(t)dt These calculations have been performed and simplified using the computer soft- ware Maple. The solutions for Di are then again shown in the paper.

5.2 Analysis of the the SABR model

To analyse the SABR model on terms of an European options, a singular pertur- bation techniques is used. The analysis is based on small volatility expansions, αˆ and ν, re-written toα ˆ → αˆ and ν → ν such that

dFˆ = αCˆ (Fˆ)dW1, (44)

dαˆ = ναdWˆ 2 (45) with dhW1,W2i = ρdt in the distinguished limit   1 and C(Fˆ) generalized, instead of the power law Fˆβ.

40 Suppose the economy is in state Fˆ(t) = f andα ˆ(t) = α at date t. There is a probability density for time T , asset A and forward F by n o p(t, f, α; T,F,A)dF dA = P rob F < Fˆ(T ) < F + dF, A < αˆ(T ) < A + dA | Fˆ(t) = f, αˆ(t) = α .

The density satisifies the forward Kolmogorov equation 1 ∂2 ∂2 1 ∂2 p = 2A2 C2(F )p + 2ρν A2C2(F )p + 2ν2 A2p (46) T 2 ∂F 2 ∂F ∂A 2 ∂A2 for T > t with p = δ(F − f)δ(A − α), at T = t (47) is well known and the density at maturity T is defined as

Z T

p(t, f, α; T,F,A) = δ(F − f)δ(A − α) + pT (t, f, α; T,F,A)dT. (48) t Let V (t, f, α) then be the value of an European call option at t at above de- fined state of economy. For maturity T and strike K by substition and twice integration by parts the value is

 +  V (t, f, α) = E [Fˆ(T ) − K] | Fˆ(t) = f, αˆ(t) = α Z ∞ Z ∞ = (F − K)p(t, f, α; T,F,A)dF dA (49) −∞ K Z T Z ∞ Z ∞ + = [f − K] + (F − K)pT (t, f, α; T,F,A)dT (50) t −∞ K 2 Z T Z ∞ Z ∞ 2 +  2 ∂ 2 = [f − K] + A (F − K) 2 C (F )p dF dAdT 2 t −∞ K ∂F (51) 2C2(K) Z T Z ∞ = [f − K]+ + A2p(t, f, α; T,K,A)dAdT (52) 2 t −∞ received. This problem can be simplified further by defining Z ∞ P (t, f, α; T,K) = A2p(t, f, α; T,K,A)dA. (53) −∞ As t does not appear explicitly in the equation, P depends only on the combini- ation T − t, and not seperately. Thus defining τ = T − t leeds to the pricing formula 2C2(K) Z τ V (t, f, α) = [f − K]+ + P (τ, f, α; K)dτ (54) 2 t where P (τ, f, α; K) is the solution of

1 ∂2P ∂2P 1 ∂2P P = 2α2C2(f) + 2ρνα2C(f) + 2ν2α2 , for τ > 0, (55) τ 2 ∂f 2 ∂f∂α 2 ∂α2 P = α2δ(f − K), for τ = 0. (56)

41 Given these results one could obtain the option formula directly. However, more useful formulas can be derived when re-computing the option price under the ˆ normal model dF = σN dW and equate which normal volatility σN need to be used to reproduce the options’s price under SABR. As a result the “implied normal volatility” under SABR is found. As a second step the option price is compared under the , dFˆ =

σB dW , and the normal model, at the log-normal volatility is thus received. This means, the option is priced via SABR in terms of the option’s implied volatility.

Singular perturbation expansion A straightforward perturbation expansion would yield a Gaussian density to leading order of the form

(f−K)2 α − 2 2 2 P = p e 2 α C (K)τ {1 + ···}. (57) 2π2C2)K)τ | {z } :=A However, this expansion would become inaccurate in the parts of A as soon as C0(K) (f − K) C(K) becomes a significant fraction of 1, that is, when strike C(K) and forward C(f) are significantly different. It is better to re-cast the series as

2 α − (f−K) {1+··· } P = e 22α2C2(K)τ . (58) p2π2C2)K)τ and expand the exponents, as it is believed that only small changes to the expo- nent will be needed to effect the much larger changes in the density. This expan- sion also describes the basic physics better, because P is essentially a Gaussian probability density which tails off faster or slower depending on whether the C(f) decreases or increases. In this article we will only look at the results of the perturbation expansion, for a more detailed view please use the initial paper of Hagan et al. [6]. Thus, the perturbation expansion yields an European Call option value by

| f − K | Z ∞ e−q V (t, f, α) = [f − K]2 + √ dq (59) 3/2 4 π x2 2 q 2τ − θ with

42 ! 1 p1 − 2ρνz + 2ν2z2 − ρ + νz x = log (60) ν 1 − ρ  αz  xI1/2(νz) 1 2θ = log pB(0)B(αz) + log + 2ρναb z2 f − K z 4 1 (61) p I(ζ) = 1 − 2ρζ + ζ2, (62) 0 B (αz0) b1 = , (63) B(αz0) B(αz) = C(f), (64) 1 Z f df 0 z = 0 (65) α K C(f ) through O(2).

Equivalent normal volatility The above formula is for the dollar price of a call option under SABR model. However, to obtain a more convinient formula, we convert it - as mentioned previously - into the equivalent implied volatilitiy. First normal and afterwards log-normal. Suppose the above analysis is repeated under the normal model ˆ ˆ dF = σN dW, F (0) = f. (66)

with σN constant, not stochastic. The option value would then be | f − K | Z ∞ e−q V (t, f) = [f − K]+ + √ dq (67) 4 π (f−K)2 q3/2 2σ2 τ N for C(f) = 1, α = σN and ν = 0. Integration yields then f − K  √ f − K  V (t, f) = (f − K)Φ √ + σN τG √ (68) σN τ σN τ with the Gaussian density G

1 2 G(q) = √ e−q /2 (69) 2π The option price under the normal model, (67), matches the option price under the SABR model (59), iff σN is chosen the way that

x2  θ  σ−2 = 1 − 22 τ (70) N (f − K)2 x2 f − K  θ  σ = 1 + 2 τ + ··· (71) N x x2

43 through O(2). The result can be simplified such that it is correct through O(2) - see Hagan et al. [6] - and the implied normal volatility is provided as

α(f − K)  ζ  σ (K) = (72) N R f df 0 xˆ(ζ) K C(f 0)  2γ − γ2 1 2 − 3ρ2   · 1 + 2 1 α2C2(f ) + ρναγ C(f ) + ν2 2τ + ··· . 24 av 4 1 av 24

With

0 00 p C (fav) C (fav) fav = fK, γ1 = , γ2 = (73) C(fav) C(fav) ! ν(f − K) p1 − 2ρζ + ζ2 − ρ + ζ ζ = , xˆ(ζ) = log . (74) αC(fav) 1 − ρ

The first two factors provide the dominant behaviour, with the remaining factor 1 + [··· ]τ usually providing corrections around 1%.

Equivalent Black volatility Usually, Black volatilities are prefered over normal volatilies in Business. To derive the implied volatility consider again Black’s model

ˆ ˆ ˆ dF = σB F dW, F (0) = f (75)

with σB for consistency of the analysis. The implied normal volatility for Black’s model for SABR can be obtained by setting C(f) = f and ν = 0 in equations (72)-(74) such that

σ (f − K) 1 σ (K) = B {1 − 2σ2 τ + ···}. (76) N f 24 B log K

2 through O( ). Solving the equation (76) for σB with equation (72) through O(2) yields

α log f  ζ  σ (K) = K (77) B R f df 0 xˆ(ζ) K C(f 0) ( " 2 1 2 # ) 2γ2 − γ1 + f 2 1 2 − 3ρ · 1 + av α2C2(f ) + ρναγ C(f ) + ν2 2τ + ··· . 24 av 4 1 av 24

The formula can be simply re-cast in terms of original variables by simply setting  = 1.

44 Stochastic β model Finally, we look at the original state, where the SABR consist of C(f) = f β. Thus the model

β dFˆ = αˆFˆ dW1, Fˆ(0) = f (78)

dαˆ = ναdWˆ 2, αˆ(0) = α (79) with dhW1,W2i = ρdt is used. Making the substition in equations (72) - (74) the implied normal volatility is

α(1 − β)(f − K)  ζ  σ (K) = (80) N f 1−β − K1−β xˆ(ζ)   2 2   −β(2 − β)α ρανβ 2 − 3ρ 2 2 · 1 + 2−2β + 1−β + ν  τ + ··· . 24fav 4fav 24

2 through O( ), with fav andx ˆ(ζ) as defined previously and

ν(f − K) ζ = β (81) αfav Via approximation of

1 1 f − K = pfK log f/K{1 + log2 f/K + log4 f/K + ···}, 24 1920 (82) (1 − β)2 (1 − β)4 f 1−β − K1−β = (1 − β)(fK)(1−β)/2 log f/K{1 + log2 f/K + log4 f/K + ···}, 24 1920 (83) the implied normal volatility can be reduced to

1 + 1 log2 f/K + 1 log4 f/K + ···  ζ  σ (K) = α(fK)β/2 24 1920 N (1−β)2 2 (1−β)4 4 xˆ(ζ) 1 + 24 log f/K + 1920 log f/K + ··· (84)  −β(2 − β)α2 ρανβ 2 − 3ρ2   · 1 + + + ν2 2τ + ··· 24(fK)1−β 4(fK)(1−β)/2 24 withx ˆ(ζ) as defined previously and ν ζ = (fK)(1−β)/2 log f/K (85) α Redoing this substitutions for the implied Black volatility as in equation (78) yields

45 α 1  ζ  σ (K) = B (fK)(1−β)/2 (1−β)2 2 (1−β)4 4 xˆ(ζ) 1 + 24 log f/K + 1920 log f/K + ··· (86)   (1 − β2)α2 ρανβ 2 − 3ρ2   · 1 + + + ν2 2τ + ··· 24(fK)1−β 4(fK)(1−β)/2 24 through O(2), where ζ andx ˆ(ζ) are given as before. Apart from setting  = 1 to recover the original units, this is the formula quoted in section 3.2.2.

5.3 Implementation in R 5.3.1 FX Black Scholes Framework

########################################### ## Implied BSM Vola ###########################################

BSMFX <- function(S,K,vol,rd,rf,t=0,T,type=1){ d1 <- (log(S/K) + (rd - rf + vol^2/2)*(T-t))/(vol*sqrt(T-t)) d2 <- d1 - vol*sqrt(T-t) type * (exp(-rf*(T-t))*S*pnorm(type*d1)-exp(-rd*(T-t))*K*pnorm(type*d2)) }

BSMFXsolve <- function(vol, price,S,K,rd,rf,t=0,T,type=1){ d1 <- (log(S/K) + (rd - rf + vol^2/2)*(T-t))/(vol*sqrt(T-t)) d2 <- d1 - vol*sqrt(T-t) (type * (exp(-rf*(T-t))*S*pnorm(type*d1)-exp(-rd*(T-t))*K*pnorm(type*d2)) - price)^2 } impVol <- function(data, t0,t,S,K,rd,rf){ if(length(data)==1){ nlminb(0.4, BSMFXsolve, price=data, S=S,K=K[1],rd=rd[1],rf=rf[1],t=t0 ,T=t[1],type=1, lower=0)$par }else{ IV <- matrix(0,length(t),length(K)) for(i in 1:length(t)){ for(j in 1:length(K)){ IV[i,j] <- nlminb(0.4, BSMFXsolve, price=data[i,j], S=S,K=K[j],rd=rd[i],rf=rf[i],t=t0,T=t[i] ,type=1, lower=0)$par #IV[i,j] <- optim(0.4, fn=BSMFXsolve, price=data[i,j], S=S,K=K[j],rd=rd[i],rf=rf[i],t=t0,T=t[i] ,type=1)$par } } IV } }

########################################### ## Implied BSM Delta Strike ###########################################

BSMDeltasolve <- function(K, vol,S,rd,rf,t=0,T,Delta,type=1){ Kfwd <- K*exp((rd-rf)*(T-t)) # FWD Delta d1 <- (log(S/Kfwd) + (rd - rf + vol^2/2)*(T-t))/(vol*sqrt(T-t)) ( (type*exp(-rf*(T-t))*pnorm(type*d1)) - Delta )^2 } impStrike <- function(data, t0,t,S,rd,rf, Deltafix=""){ if(length(data)==1){ nlminb(S, BSMDeltasolve, vol=data, S=2,rd=rd[1],rf=rf[1],t=t0,T=t[1],Deltafix, type=1, lower=0)$par }else{ if(dim(data)[2] != 5) stop("Data format is not correct!") Delta <- c(0.1,0.25,0.5,0.75,0.9) K <- matrix(0,length(t),5) for(i in 1:length(t)){

46 for(j in 1:5){ #K[i,j] <- nlminb(S, BSMDeltasolve, vol=data[i,j], S=S,rd=rd[i],rf=rf[i],t=t0,T=t[i],Delta=Delta[j], type=1, lower=0,control = list( eval.max=400,iter.max =300 ))$par #K[i,j] <- optim(method="Brent",lower=S/3,upper=S*2, S, fn=BSMDeltasolve, vol=data[i,j], S=S, rd=rd[i],rf=rf[i], t=t0,T=t[i],Delta=Delta[j],type=1)$par options(warn=-1) K[i,j] <- optim(S, fn=BSMDeltasolve, vol=data[i,j], S=S,rd=rd[i],rf=rf[i],t=t0,T=t[i],Delta=Delta[j], type=1)$par options(warn=0) } } K } }

5.3.2 Heston Framework

########################################### ## Characteristic Function ###########################################

CF <- function(u, S,kappa,theta,sigma,rho,lambda,nu0,rd,rf,t,T,type="both"){ if(type=="both") zeta <- c(1,-1) else{ if(type==1) zeta <- 1 if(type==2) zeta <- -1 } i <- complex(real=0,imaginary=1) X <- log(S) b <- kappa + lambda - (1+zeta)/2*rho*sigma d <- sqrt( (rho*sigma*i*u-b)^2 - sigma^2*(zeta*i*u-u^2) ) g <- (b-rho*sigma*u*i+d)/(b-rho*sigma*u*i-d) if(Re(g[1])==Inf){ C <- (rd-rf)*u*i*(T-t) + kappa*theta/sigma^2* (b-rho*u*i+d)*(T-t) }else{ C <- (rd-rf)*u*i*(T-t) + kappa*theta/sigma^2*( (b-rho*u*i+d)*(T-t) - 2*log((1-g*exp(d*(T-t)))/(1-g)) ) } D <- (b-rho*sigma*u*i+d)/sigma^2 *( (1-exp(d*(T-t)))/(1-g*exp(d*(T-t))) )

exp(C+D*nu0+i*u*X) }

########################################### ## Heston Option Pricer ########################################### heston <- function( S,K, kappa,theta,sigma,rho,lambda,nu0,rd,rf,t,T, type=1 ){ # type = 1 => Call # type = -1 => Put

i <- complex(real=0,imaginary=1) Y <- log(K) P1 <- 1/2 + 1/pi* integrate(function(u) Re(exp(-i*u*Y)/(i*u)*CF(u, S=S,kappa=kappa,theta=theta, sigma=sigma,rho=rho,lambda=lambda,nu0=nu0,rd=rd,rf=rf,t=t,T=T,type=1)), 1e-16,100)$value P2 <- 1/2 + 1/pi* integrate(function(u) Re(exp(-i*u*Y)/(i*u)*CF(u, S=S,kappa=kappa,theta=theta, sigma=sigma,rho=rho,lambda=lambda,nu0=nu0,rd=rd,rf=rf,t=t,T=T,type=2)), 1e-16,100)$value p1 <- (1-type)/2 + type*P1 p2 <- (1-type)/2 + type*P2

type * ( exp(-rf*(T-t))*S*p1 - exp(-rd*(T-t))*K*p2 ) }

########################################### ## Calibration ###########################################

## Sum of Squared Errors Vol

SSE <- function(params, data,S,kappa,lambda,nu0,rd,rf,t,T, w){ theta <- params[1] sigma <- params[2]

47 rho <- params[3] n <- length(T) price <- matrix(0,n,5) vol <- matrix(0,n,5) K <- impStrike(data=data,t0=0,t=T,S=S,rd=rd,rf=rf) for(i in 1:n){ for(j in 1:5){ price[i,j] <- heston(S=S,K=K[i,j], kappa=kappa,theta=theta,sigma=sigma,rho=rho,lambda=0, nu0=nu0,rd=rd[i],rf=rf[i],t=0,T=T[i] ) vol[i,j] <- impVol(data=price[i,j],t0=0,t=T[i],S=S,K=K[i,j],rd=rd[i],rf=rf[i]) } } sqrt( sum( (vol - data)^2 ) ) }

## Fitting of the volatility surface fitsmile <- function(params, S,data, kappa,lambda,nu0,rd,rf,t,T){ theta <- params[1] sigma <- params[2] rho <- params[3]

price <- matrix(0,length(T),5) vol <- matrix(0,length(T),5) K <- impStrike(data=data,t0=0,t=T,S=S,rd=rd,rf=rf) for(i in 1:length(T)){ for(j in 1:5){ price[i,j] <- heston(S=S,K=K[i,j], kappa=kappa,theta=theta,sigma=sigma,rho=rho, lambda=0,nu0=nu0,rd=rd[i],rf=rf[i],t=0,T=T[i] ) vol[i,j] <- impVol(data=price[i,j],t0=0,t=T[i],S=S,K=K[i,j],rd=rd[i],rf=rf[i]) } } vol }

########################################### ## MC - PRICING ########################################### heston.pather <- function(S0,T,delta,rd,rf, kappa,theta,vol,nu0,rho){ # Feller Condition if(vol^2 >= 2*kappa*theta) stop("Variance can get zero!")

n <- T/delta+1 S <- numeric(n) v <- numeric(n) S[1] <- S0 v[1] <- nu0

X1 <- rnorm(n) X2 <- rnorm(n) W1 <- X1 W2 <- rho*X1 + sqrt(1-rho^2)*X2

for( i in 2:n){ S[i] <- S[i-1] + (rd-rf)*S[i-1]*delta + sqrt(abs(v[i-1]))*S[i-1]*delta*W1[i] v[i] <- v[i-1] + kappa*(theta-v[i-1])*delta + vol*sqrt(abs(v[i-1]))*sqrt(delta)*W2[i] } S }

5.3.3 SABR Framework

########################################### ## SABR Implied Volatility ########################################### sigma.B <- function(f,K,T,beta,alpha,rho,nu,ref = FALSE){ if(ref){ x <- log(f/K) if(x == 0) I.B <- alpha*K^(beta-1)

48 else if(nu == 0) I.B <- (x*alpha*(1-beta))/(f^(1-beta)-K^(1-beta)) else if(beta == 1){ z <- nu*x/alpha I.B <- (nu*x)/log((sqrt(1-2*rho*z+z^2)+z-rho)/(1-rho)) } else if(beta < 1){ z <- (nu*(f^(1-beta)-K^(1-beta)))/(alpha*(1-beta)) I.B <- (nu*x)/log((sqrt(1-2*rho*z+z^2)+z-rho)/(1-rho)) } else{}

I.H <- 1 + ((1-beta)^2/24*alpha^2/(f*K)^(1-beta) + 1/4 * (rho * beta * nu * alpha)/(f*K) ^((1-beta)/2) + (2-3*rho^2)/24*nu^2)*T

sigma.B <- I.B * I.H } else{ if(abs(f-K) >= 0.0001){ z <- nu/alpha*(f*K)^((1-beta)/2)*log(f/K) x <- log((sqrt(1-2*rho*z+z^2)+ z - rho)/(1-rho))

A <- alpha/((f*K)^((1-beta)/2)*1+(1-beta)^2/24*log(f/K)^2 + (1-beta)^4/1920*log(f/K)) B <- z/x C <- 1 + ((1-beta)^2/24*alpha^2/(f*K)^(1-beta) + 1/4 * (rho * beta * nu * alpha)/(f*K) ^((1-beta)/2) + (2-3*rho^2)/24*nu^2)*T } else{ A <- alpha/((f)^(1-beta)) B <- 1 C <- 1 + ((1-beta)^2/24*alpha^2/(f)^(2-2*beta) + 1/4 * (rho * beta * nu * alpha)/(f) ^(1-beta) + (2-3*rho^2)/24*nu^2)*T }

sigma.B <- A*B*C } return(sigma.B) }

########################################### ## Alpha Estimator ########################################### getAlpha <- function(f,K,T,sigma.ATM,beta,rho,nu){ C0 <- -sigma.ATM * f^(1-beta) C1 <- 1 + 1/24 * (2-3*rho^2) * nu^2 * T C2 <- 1/4 * rho * beta * nu * f^{beta-1} * T C3 <- 1/24 * (1-beta)^2 * f^(2*(beta-1)) * T alpha.vec <- solve(as.polynomial(c(C0,C1,C2,C3))) index <- which(Im(alpha.vec) == 0 & Re(alpha.vec) > 0) alpha <- alpha.vec[index] if(length(alpha) == 0) alpha <- 0 return(min(Re(alpha))) }

########################################### ## Volatility Fitter ########################################### fit.vol <- function(f,K,T,beta,alpha,rho,nu,ref=FALSE){ if(is.null(dim(K))){ vol <- numeric(length(K))

for (i in seq_along(K)){ vol[i] <- sigma.B(f=f,K=K[i],T=T,beta=beta,alpha=alpha,rho=rho,nu=nu,ref) } } else{ vol <- numeric(dim(K)[2]*length(T)) dim(vol) <- c(length(T),dim(K)[2]) for(i in seq_along(T)){ for(j in 1:dim(K)[2]){

49 vol[i,j] <- sigma.B(f[i],K[i,j],T[i],beta,alpha,rho,nu,ref) } } }

return(vol) }

########################################### ## Sum of Sqared Errors (SSE) ########################################### SSE <- function(params,sigma.Mkt,f,K,T,beta,ref=FALSE){ atm <- FALSE if(length(params) > 2){ alpha <- params[1] rho <- params[2] nu <- params[3] } else{ atm <- TRUE rho <- params[1] nu <- params[2] } if(is.null(dim(K))){ error <- numeric(length(K))

if(atm){ sigma.ATM <- sigma.Mkt[which(K == f)] alpha <- getAlpha(f,f,T,sigma.ATM,beta,rho,nu) } for (i in seq_along(K)){ error[i] <- sigma.Mkt[i] - sigma.B(f=f,K=K[i],T=T,beta=beta,alpha=alpha,rho=rho,nu=nu,ref) } } else{ error <- numeric(dim(K)[2]*length(T)) dim(error) <- c(length(T),dim(K)[2])

for(i in seq_along(T)){ if(atm){ sigma.ATM <- sigma.Mkt[which(K == f[i])] alpha <- getAlpha(f[i],f[i],T[i],sigma.ATM,beta,rho,nu) } for (j in 1:dim(K)[2]){ error[i,j] <- sigma.Mkt[i,j] - sigma.B(f=f[i],K=K[i,j],T=T[i],beta=beta,alpha=alpha,rho=rho,nu=nu,ref) } } }

SSE <- sum(error^2,na.rm=TRUE) cat(SSE,"\n") if(abs(rho) > 1) SSE <- Inf return(SSE) }

50 References

[1] Black, F., R. Merton and M. Scholes: The pricing of options and corporate liabilities, Journal of Political Economy, 81, (1973), 637-654.

[2] Clark, I.J.: Pricing, Wiley Finance, 2011. [3] Derman, E. and I. Kani: Riding on a Smile, RISK 7(2), (1994), 32-39. [4] Dupire, B.: Pricing with a Smile, RISK 7(1), (1994), 18-20. [5] Garman, M. and S.W. Kohlhagen: Foreign currency option values, Journal of International Money and Finance, 2, (1983), 231-237.

[6] Hagan, P., et.al.: Managing Smile Risk, Wilmott magazine, (2002), 84- 108.

[7] Heston, S.L.: A Closed-Form Solution for Options with Stochastic Volatil- ity with Applications to Bond and Currency Options, The Review of Finan- cial Studies, Volume 6, number 2, (1993), 327-343.

[8] Hull, J. and A. White: The Pricing of Options with Stochastic Volatili- ties, Journal of Finance 42, (1987), 281-300.

[9] Janek, A., et.al.: FX Smile in the Heston Model, TSFB 649 Discussion Paper 2010-047, Economic Risk Berlin, (2010).

[10] Merton, R.: The Theory of Rational Option Pricing, Bell Journal of Economics and Management Science 4, (1973), 141-183.

[11] Mikhailov, S. and U. Nogel¨ : Heston’s Stochastic Volatility Model Im- plementation, Calibration and Some Extensions, Wilmott Magazine, 74-79.

[12] Musiela, M. and M. Rutkowski: Stochastic Modelling and Applied Probability, 2nd Edition, Springer, (2004).

[13] Objoj,´ J.: Fine-Tune Your Smile: Correction to Hagan et al., Working Paper, Imperial College London, 2008.

[14] Shreve, S.E.: Stochastic Calculus for Finance II: Continuous-Time Mod- els, Springer Finance, (2004).

51