SERVING THE QUANTITATIVE FINANCE COMMUNITY

 
User avatar
yeahmoon
Topic Author
Posts: 68
Joined: April 22nd, 2008, 1:11 am

Levy measure for Heston (1993) and Bates(1996)?

August 23rd, 2016, 5:21 pm

It is easy to find Levy measure for BS, Merton, NIG, VG, and CGMY in the literatures,
for example, Levy measure for the BS model is zero.

Searching around for Levy measure for Heston and Bate, but no luck.
Would you please refer me to some paper or book which has Levy measure for the two models?
 
User avatar
Alan
Posts: 10321
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Re: Levy measure for Heston (1993) and Bates(1996)?

August 24th, 2016, 3:35 pm

For just about any n-dimensional continuous-time Markov process [$]\{X_t\}[$], you can define a local Levy measure [$]\nu_x(dy)[$] that characterizes the jump possibilities from [$]X_{t-} = x[$] to [$]X_t = x + y[$]. Note that [$](x,y)[$] are both [$]n[$]-vectors, I am assuming a time-homogeneous process (which includes all of your examples), and my notation may be somewhat idiosyncratic (but I think it will be clear by the end of the post).

Since the 2-dimensional Heston model no jumps, its local Levy measure is zero.

For the Bates ('96) model, the 2-dimensional process can jump in only one coordinate direction [$]x_1[$], where [$]x_1[$] is either the stock price or the log-stock price, whatever you like. So, I would say [$]\nu_{x_1,x_2}(dy_1,dy_2) = \nu_{x_1}(dy_1) \delta(dy_2)[$], where the dependence on [$](x_1,y_1)[$] is the same as the Merton jump-diffusion model and [$]\delta[$] is the Dirac measure. For example, with log-stock price as the first coordinate,  [$]\nu_{x_1,x_2}(dy_1,dy_2) = \lambda \frac{e^{-(y_1-\mu_J)^2/2 \sigma_J^2}}{\sqrt{2 \pi \sigma_J^2}} dy_1 \delta(dy_2)[$], where [$]\lambda[$] is the Poisson intensity for the jumps. 

Why? Because, basically, for the Bates model, you want the generator for the jump part to come out as follows:
[$]\mathcal{A} f(t,x,v) = \int \int [f(t,x + \xi_1, v + \xi_2] - f(t,x,v)] \nu_{x,v}(d \xi_1, d \xi_2) = \lambda \int [f(t,x + \xi_1,v] - f(t,x,v)] p_J(\xi_1) d \xi_1[$].
Now all the coordinates are scalars and [$]p_J(\xi_1) = \frac{e^{-(\xi_1-\mu_J)^2/2 \sigma_J^2}}{\sqrt{2 \pi \sigma_J^2}}[$] is exactly the same normal density for the jump sizes as in Merton's jump-diffusion.

There is a general discussion of generators with local Levy measures on pgs 38-39 of "Option Valuation under Stochastic Volatility II", and an example of a 2d jump-diffusion that can only jump in one direction on pg. 84. If there is any interest, I could post pgs 38-39 as an excerpt.
 
User avatar
yeahmoon
Topic Author
Posts: 68
Joined: April 22nd, 2008, 1:11 am

Re: Levy measure for Heston (1993) and Bates(1996)?

September 1st, 2016, 8:56 pm

Thanks, Alan! This Helps.
I am wondering who has code for the Bates (1996) model, so that he will run the code to check my codes is correct or not.
Under risk neutral, the Bates (1996) model is
$$d[ln S] = (r-\frac{1}{2}V)dt +\sqrt{V}dZ+dJ$$
$$dV=\alpha(m-V)dt+\sigma\sqrt{V}dW$$
$$dZdW =\rho dt$$
where [$]J[$] is compounded Poisson with intensity [$]\lambda[$] and normally distributed with mean [$]\mu[$] and volatility [$]\delta[$].
Given the following parameters: exercise = 100, maturity = 0.5 year, [$]S_0 = 100, r = 0.03, \alpha=2,m=0.04, V_0=0.04, \sigma=0.25, \lambda=0.2,\delta=0.04,\mu=-0.5,\rho=-0.5[$], my code gives
EU call price =   6.647043
EU put price =   5.158237
 
User avatar
LocalVolatility
Posts: 128
Joined: May 27th, 2009, 10:07 am
Location: Amsterdam
Contact:

Re: Levy measure for Heston (1993) and Bates(1996)?

September 1st, 2016, 10:30 pm

Sorry, I cannot replicate your results. I get using my COS pricer: call price = 7.15155061, put price = 5.66274457. Are you sure you meant to use a mean jump size of -50% and a jump standard deviation of 4%? Sure you can use any values for testing but these seem unrealistic at least.

Also have a look at this thread for more reference prices: https://forum.wilmott.com/viewtopic.php?f=4&t=98944.
 
User avatar
yeahmoon
Topic Author
Posts: 68
Joined: April 22nd, 2008, 1:11 am

Re: Levy measure for Heston (1993) and Bates(1996)?

September 1st, 2016, 11:25 pm

Sorry, I cannot replicate your results. I get using my COS pricer: call price = 7.15155061, put price = 5.66274457. Are you sure you meant to use a mean jump size of -50% and a jump standard deviation of 4%? Sure you can use any values for testing but these seem unrealistic at least.

Also have a look at this thread for more reference prices: viewtopic.php?f=4&t=98944.
Thanks, LocalVolatility!
I took parameters from the following Paper, the parameters are in Table 1 on page 21 (the 3rd and 4th row),  and there is reference price in Table 5 on page 23. For the parameters above, they said EU put = 6.5899. I used closed-form solution for Bates (1996) model in my code so I changed their equation on Page 4 to the log-price process, then get the characteristic function for closed-form solution.
Since my closed-form solution cannot replicate their reference price, I am debugging my codes. But when I set [$]\lambda=0,\delta=0,\mu=-0[$], the Bate model becomes the Heston model, and my codes can replicate the Heston price to the 6 decimal accuracy. So, my code or my closed-form solution might have problem in the jump part.
@LocalVolatility: your COS pricer does not match their reference price. Would you please look at that paper to see whether their reference price is accurate enough or not? Thanks!
 
User avatar
LocalVolatility
Posts: 128
Joined: May 27th, 2009, 10:07 am
Location: Amsterdam
Contact:

Re: Levy measure for Heston (1993) and Bates(1996)?

September 2nd, 2016, 7:48 am

Sorry - I must have made a typo initially when I entered the parameters. I started from scratch and now get:

call = 8.07652
put = 6.58771

which seems fairly close to the values in the paper you referenced.
 
User avatar
yeahmoon
Topic Author
Posts: 68
Joined: April 22nd, 2008, 1:11 am

Re: Levy measure for Heston (1993) and Bates(1996)?

September 2nd, 2016, 2:35 pm

Sorry - I must have made a typo initially when I entered the parameters. I started from scratch and now get:

call = 8.07652
put = 6.58771

which seems fairly close to the values in the paper you referenced.
Thanks @LocalVolatility!
I got what your got after finding some error in my codes!
closed form EU call price =   8.076517

closed form EU put price =   6.587711
ABOUT WILMOTT

PW by JB

Wilmott.com has been "Serving the Quantitative Finance Community" since 2001. Continued...


Twitter LinkedIn Instagram

JOBS BOARD

JOBS BOARD

Looking for a quant job, risk, algo trading,...? Browse jobs here...


GZIP: On