QuoteOriginally posted by: AlanUpdate:Working a little more on Soap's question, I'm pretty sure the joint transition density for the SVJ model is a simple modification of my (7.40) in my Vol. II. In fact, the modification is exactly the same as the modification discussed in Gatheral's 'Volatility Surface' book, pg 66, for the characteristic function that prices vanilla options.In other words, suppose we are talking about the risk-neutral Bates (1996) model, where [$]dS_t = b \, S_t \, dt + \sqrt{V_t} S_t \, dW_t + S_t (e^{\alpha + \delta \, \epsilon_t} - 1) dN_t, \quad \epsilon_t \sim \mbox{Normal}(0,1), \quad E[dN_t] = \lambda dt[$],partly using Gatheral's notation. (Throughout '[$]\sim[$]' means 'is distributed as'). The volatility follows the Heston process. Then, you just insert a factor [$]e^{\psi(u) t}[$] inside the integral in the first line of (7.40), where[$] \psi(u) = -\lambda i u \left( e^{\alpha + \delta^2/2} - 1 \right) + \lambda \left( e^{i u \alpha - u^2 \delta^2/2} - 1 \right).[$] Indeed, the modification for any jump distribution [$]\Delta X_t \sim p_J(\cdot)[$], not just a normal one, can beexpressed in terms of the Fourier transform of the density of the jump-size: [$]\hat{p}_J(u) = \int e^{i u x} p_J(x) \, dx[$]. (Notations: [$]X_t = \log S_t[$] and so [$]\Delta X_t[$] is the jump in the log-stock-price). The first term in [$]\psi(u)[$] is the martingale adjustment. If you want the joint pdf of the real-world process (assuming same model structure), you: (i) omit the martingale adjustment,(ii) use [$] \psi(u) = \lambda (\hat{p}_J(u) - 1)[$] for the general SVJ model, and(iii) replace [$]r - q \rightarrow b[$] in (7.40), where [$]b[$] is simply a real-world parameter to be estimated. At some point, I'll double check and prove these assertions in a blog post at my address below. It wouldn't be surprising to find this is a known result, but I couldn't find one by googling. If anyone knows a cite to this result for the SVJ joint transition density, please post it.Thanks for your answer Alan.So if I want the joint density in the log stock price space, does the equation (7.40) become[$]p(t,X_{t},V_{t}|X_{0},V_{0})=\frac{1}{\pi}\int _{0}^{\infty}\Re \left \{ (e^{X_{t}-X_{0}}e^{(q-r)t})^{-iu}G(t;-u,V_{0},V_{t}) \right \}du[$] ?

Last edited by Soap on July 7th, 2016, 10:00 pm, edited 1 time in total.

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

Are there Heston reference values available in the American case as well as discussed here?

viewtopic.php?f=34&t=90957&p=783703&hil ... on#p783703

viewtopic.php?f=34&t=90957&p=783703&hil ... on#p783703

http://www.datasimfinancial.com

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

Not off-hand from me, but -- what type of dividend?Are there Heston reference values available in the American case as well as discussed here?

viewtopic.php?f=34&t=90957&p=783703&hil ... on#p783703

For continuous dividends, if the parameters are not purposely made difficult and T is not too large, you can probably check, say 3-5 digits, with the OptionCity calculator: http://www.optioncity.net/calculator.htm If you are talking only about continuous dividends, there are probably a half-dozen papers with numbers that can be googled

For a single discrete dividends, the American call option under Heston could probably be done to good precision. I have some code somewhere -- would have to look it up. Don't recall coding the put for Heston with a discrete dividend.

You should probably post in that thread what you are looking for -- type of dividend (continuous/discrete), put/call, round number parameters.

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

I have downloaded the calculator and did a few quick tests: So if I have understood correctly I can doNot off-hand from me, but -- what type of dividend?Are there Heston reference values available in the American case as well as discussed here?

viewtopic.php?f=34&t=90957&p=783703&hil ... on#p783703

For continuous dividends, if the parameters are not purposely made difficult and T is not too large, you can probably check, say 3-5 digits, with the OptionCity calculator: http://www.optioncity.net/calculator.htm If you are talking only about continuous dividends, there are probably a half-dozen papers with numbers that can be googled

For a single discrete dividends, the American call option under Heston could probably be done to good precision. I have some code somewhere -- would have to look it up. Don't recall coding the put for Heston with a discrete dividend.

You should probably post in that thread what you are looking for -- type of dividend (continuous/discrete), put/call, round number parameters.

1. Const vol 1 factor plain option (and American choice as well)

2. Stovol plain and American.

(3. 1 and 2 with jumps).

Several (~ 4) of my Birmingham MSc students are working on Heston (using FDM/MOL, stochastic mesh, CVA, time series GARCH) and I have advised them to take reference values from the OC calculator) and to discuss their findings in the Numerics chapter. The code is sequential and parallel (C++ AMP, PPL) C++ to make it even more exciting.

In all probability the theses will be made public domain.

====

edit: We want to analyze Bermudan options, Is that essentially different in the calculator?

http://www.datasimfinancial.com

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

Another issue with stochastic mesh is that OTM calls don't always work. So we (want to )use put and try to use some variant of put-call parity. And then for a factor and Heston.

Is this a feasible workaround?

Is this a feasible workaround?

http://www.datasimfinancial.com

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

It's not set up for Bermudans, but will do the other things you noted. Please tell your students about my caveat of "the parameters are not purposely made difficult and T is not too large". (For example, the calculator can't handle the parameters in a thread I started called something like "Monte Carlo Challenge".)

Put-call parity works for European cases, but not generally for the American-style ones.

Put-call parity works for European cases, but not generally for the American-style ones.

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

For American call

K = 100, T = 0.25, r = 5%, div = 1%, sig = 20%, rho = -0.7, alpha = 3, mu = 0.04, eta = 0.10

We get a bracket like ~ [0.364, 0.404] and crazier while exact OC == 0.558.

K = 100, T = 0.25, r = 5%, div = 1%, sig = 20%, rho = -0.7, alpha = 3, mu = 0.04, eta = 0.10

We get a bracket like ~ [0.364, 0.404] and crazier while exact OC == 0.558.

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

Which Calculator tab are you using and what are the parameters (in Calculator notation), including S?

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

My bad, I typed over the wrong values.. The correct ones (Call) are:Which Calculator tab are you using and what are the parameters (in Calculator notation), including S?

K = 100, T = 0.25, r = 5%, div = 10%, sig = 20%, rho = -0.7, alpha = 3, mu = 0.04, eta = 0.01

S = 90

The stochastic mesh brackets the American price in [L, U] general; in the current case L > U which is not correct. Maybe because it is OTM. to be continued..

// I have also requested the student to write both forms of the SDE (there are more?) I remember discussions before and everyone had his own representation which was very Confucius.

Could the fact that r < d be an issue?

Last edited by Cuchulainn on September 3rd, 2016, 2:33 pm, edited 1 time in total.

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

I assume this is the Heston model. The Euro style case is easily double checked by multiple methods. What does the student get for that? As for the American case with the Calculator, I can't think of why r < d would be a problem. If you look at pg. 12 of the Help tab, you'll see there is a limitation [$]-\sqrt{3/4} < \rho < \sqrt{3/4}[$] for the Leisen lattice method, which is the sole Calculator method for that case. But since [$]-\sqrt{3/4} \approx -0.87[$], you seem to be OK there.

If the parameters are what I think (is [$]\eta = \xi_{calculator}[$]? and long-run vol_{calc} =[$]\sigma_L[$]=20%?), then because [$]\xi[$] is so small, and [$]\sigma_0 = \sigma_L[$], the setup looks to me virtually the same as simple Black-Scholes with [$]\sigma = 20\%[$]. You can confirm this in the Calculator by comparing the Stochastic Volatility and Constant Volatility tab results for this (presumed) set of parameters.

If the parameters are what I think (is [$]\eta = \xi_{calculator}[$]? and long-run vol_{calc} =[$]\sigma_L[$]=20%?), then because [$]\xi[$] is so small, and [$]\sigma_0 = \sigma_L[$], the setup looks to me virtually the same as simple Black-Scholes with [$]\sigma = 20\%[$]. You can confirm this in the Calculator by comparing the Stochastic Volatility and Constant Volatility tab results for this (presumed) set of parameters.

- Cuchulainn
**Posts:**61155**Joined:****Location:**Amsterdam-
**Contact:**

Alan,

good, will do.

BTW is this the Leisen used for Heston?

http://doc.utwente.nl/81504/1/v13n1a1.pdf

I assume you also have a NDSOVE for Heston as well?

good, will do.

BTW is this the Leisen used for Heston?

http://doc.utwente.nl/81504/1/v13n1a1.pdf

I assume you also have a NDSOVE for Heston as well?

http://www.datasim.nl

Every Time We Teach a Child Something, We Keep Him from Inventing It Himself

Jean Piaget

Yes, if you mean the Leisen they cite: (see the ref. in the Help tab for the orig. Leisen paper). Then, I adapted it.

Yes, I have various NDSolve solvers related to Heston.

BTW, I just double-checked the Calculator against Table 2 in the paper you linked, where the authors consider the ZFV results the benchmark. When developing the calculator, I'm pretty sure I tested against those ZFV results, too. Anyway, checking again, using 1000 time steps for the Amer. lattice, I find (Amer. puts):

S0 = 8 10 12

ZFV: 2.0000 0.5202 0.0821

Calc: 2.0000 0.5203 0.0822

Note that to see 4 digits after the decimal, you should use S0 = (80,100,120) with K = 100, and then divided the displayed answer by 10. Probably using 2000 time steps would produce complete agreement, but the Calculator won't let you because there is a hard-coded array size limit. (The Euro-style values also agree with the ones marked Exact in Table 2 to a difference of at most 0.0001).

A good project for somebody would be to produce a similar Calculator (with a similar interface), but expanding the offerings to, say, discrete dividends using the various policies like [$]\mathcal{D}(S) = \min[D,S][$], [$]\mathcal{D}(S) = \rho S[$], and perhaps a general function input for [$]\mathcal{D}(S)[$].

Yes, I have various NDSolve solvers related to Heston.

BTW, I just double-checked the Calculator against Table 2 in the paper you linked, where the authors consider the ZFV results the benchmark. When developing the calculator, I'm pretty sure I tested against those ZFV results, too. Anyway, checking again, using 1000 time steps for the Amer. lattice, I find (Amer. puts):

S0 = 8 10 12

ZFV: 2.0000 0.5202 0.0821

Calc: 2.0000 0.5203 0.0822

Note that to see 4 digits after the decimal, you should use S0 = (80,100,120) with K = 100, and then divided the displayed answer by 10. Probably using 2000 time steps would produce complete agreement, but the Calculator won't let you because there is a hard-coded array size limit. (The Euro-style values also agree with the ones marked Exact in Table 2 to a difference of at most 0.0001).

A good project for somebody would be to produce a similar Calculator (with a similar interface), but expanding the offerings to, say, discrete dividends using the various policies like [$]\mathcal{D}(S) = \min[D,S][$], [$]\mathcal{D}(S) = \rho S[$], and perhaps a general function input for [$]\mathcal{D}(S)[$].

In Europe only Kindle edition is available for now (from Amazon), Hardcover to be released on October 5th. Not sure why there is a lag, something to do with Amazon's recent 30hr working week experiment?

GZIP: On