QuoteOriginally posted by: SoapHi @Alan, I just received your new book. Very well written and thanks for the great book!Immediately I went to Chapter 3 and 7, as I would like to find the probability transition density for SVJ model or Bates (1996). I wonder is it possible to derive the transition density function for SVJ? Which chapters/sections could help? Thanks.Hi Soap,Welcome to the forum and thanks for the kind remarks about my book.If you bought it at an amazon, I need some reviews so I would much appreciate your posting a few sentences where you bought it.As far as the probability transition density for the Bates (1996) SVJ model goes, there are two of those.First there is the marginal one:[$]p(T,X_T | X_0, V_0)[$], where [$]X_T = \log S_T[$], which is all you need for evaluating terminal payoffs that only depend upon the stock price.Then, there is the joint one:[$]p(T,X_T, V_T | X_0, V_0)[$], which you could use for maximum likelihood parameter estimation if you had a good volatility proxy.The marginal one is relatively easy, since the characteristic function[$]\Phi(T,V_0;z) = E[e^{i z X_T}|X_0=0,V_0] = \int e^{i z X} p(T,X | X_0=0,V_0) \, dX[$] is known in closed-form. So you just do a Fourier integral inversion:[$] p(T,X | X_0=0, V_0) = \int e^{-i z X} \Phi(T,V_0;z) \, \frac{dz}{2 \pi}[$],which is no harder than doing the Fourier integral to get option values.Then, because of the conditional translational invariance (the MAP property discussed in the book on pg. 275 and elsewhere),[$] p(T,X | X_0, V_0) = p(T,X - X_0 | X_0=0, V_0)[$].The joint one I will have to ponder as these are not so straightforward. Of course, in the limit of zero jump intensity, the answer must reduce to the joint density for the pure Heston model I give in the Ch. 7 you mentioned.So that is one clue. Good question -- I will keep thinking about it. Edit: erased some 'thinking out loud distractions'; see my subsequent 'Update' for the answer.

Last edited by Alan on June 24th, 2016, 10:00 pm, edited 1 time in total.

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

QuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnJust received the book in the post. Looks nicely laid out and inviting to read.Thanks! Follow-on Q: Are there other chapters of interest that could be used as input to a 3-month MSc finance thesis using C++?Thanks, Daniel.In the book Index, 'reader projects' gives some page numbers in other chapters for projects. Replicating or extending the time series work in Chapters 3 or 5 would be my favorites.Alan,I am reading through chapters 3 and 5 with view to scoping a 2 month(!) project (BSc Maths/Stats), time-series knowledge and has MSC in Finance.1. Prerequisite knowledge?2. Background research (Gatheril, Heston-Nandi, GARCH, HMM)3. The 'process': input-processing-output. i.e. what are the steps to be executed?4. Essential algorithms selection for C++: MLE?5. Can we call MM code from C++?6. How to get SPX/VIX data.7. Initial 101 test case data for Proof of Concept.Very general at the moment I admit, but got to start somewhere.Thanks

Last edited by Cuchulainn on June 23rd, 2016, 10:00 pm, edited 1 time in total.

My C++ Boost code gives

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

Hi @Alan, thanks for your reply. Let me see if I can do it.I bought it from amazon.co.uk and I have just left a comment.

QuoteOriginally posted by: SoapHi @Alan, thanks for your reply. Let me see if I can do it.I bought it from amazon.co.uk and I have just left a comment.That's beautiful -- thank you so much!

QuoteOriginally posted by: AlanQuoteOriginally posted by: SoapHi @Alan, thanks for your reply. Let me see if I can do it.I bought it from amazon.co.uk and I have just left a comment.That's beautiful -- thank you so much!Thank you, Alan! :)I am a bit confused about the Markov Additive Process (MAP). On P.275 you say "One could also add jumps with jump characteristics dependent upon [$]v_t[$] (but not [$]s_t[$]) and still have a MAP". But in the SVJ model, the jump is on [$]s_t[$]? Is it still a MAP?

Last edited by Soap on June 23rd, 2016, 10:00 pm, edited 1 time in total.

QuoteOriginally posted by: CuchulainnQuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnJust received the book in the post. Looks nicely laid out and inviting to read.Thanks! Follow-on Q: Are there other chapters of interest that could be used as input to a 3-month MSc finance thesis using C++?Thanks, Daniel.In the book Index, 'reader projects' gives some page numbers in other chapters for projects. Replicating or extending the time series work in Chapters 3 or 5 would be my favorites.Alan,I am reading through chapters 3 and 5 with view to scoping a 2 month(!) project (BSc Maths/Stats), time-series knowledge and has MSC in Finance.1. Prerequisite knowledge? The ideal candidate would have experience in both Mathematica and the target language, presumably C/C++. With that, my codes could be downloaded and executed, and then ported to the target system. If the candidate only knows C/C++, they need to study the algorithms thoroughly; probably Ch. 5 is better for that case. I can answer questions like "what does the code do here?", probably best offline/email. 2. Background research (Gatheril, Heston-Nandi, GARCH, HMM) For Ch5., see the two refs on pg. 2423. The 'process': input-processing-output. i.e. what are the steps to be executed? For Ch5, see pgs 258-2604. Essential algorithms selection for C++: MLE? Constrained nonlinear minimization, numerical integration, matrix/vector/sparse_arrays5. Can we call MM code from C++? Perhaps, but I wouldn't add that level of complexity to the project.6. How to get SPX/VIX data. In MM, it is a built-in; see pg 135 (FinancialData)7. Initial 101 test case data for Proof of Concept. For Ch. 5, see pg 293. The n=1 case (light entries). Only requires one year of data.Very general at the moment I admit, but got to start somewhere.ThanksLet me add one comment about trying to port Ch. 3 vs Ch. 5 to some other language.Superficially, Ch. 3 may look simpler because it is a shorter chapter with less Mathematica.However, there are two methods used for a transition density, as explained on pgs 118-119.If you look at the top of pg. 136, you will see an invocation of "TimeConstrained", which isactually giving one method a certain amount of time to finish and, if it doesn't, switching tothe other. Since this is going to be system dependent, it will take some thinking by the candidateabout how to port it; it really needs a clean-up to be a truly deterministic algorithm. I don'tthink any other code in the book uses "TimeConstrained", admittedly a kludge, so the candidate is warned! On the other hand, removing that kludge would be a very useful improvement!

Last edited by Alan on June 23rd, 2016, 10:00 pm, edited 1 time in total.

QuoteOriginally posted by: SoapQuoteOriginally posted by: AlanQuoteOriginally posted by: SoapHi @Alan, thanks for your reply. Let me see if I can do it.I bought it from amazon.co.uk and I have just left a comment.That's beautiful -- thank you so much!Thank you, Alan! :)I am a bit confused about the Markov Additive Process (MAP). On P.275 you say "One could also add jumps with jump characteristics dependent upon [$]v_t[$] (but not [$]s_t[$]) and still have a MAP". But in the SVJ model, the jump is on [$]s_t[$]? Is it still a MAP?Yes. First, [$]s_t[$] is the log-stock-price and the sentence refers to adding jumps to (5.1). Both the [$]s_t[$] and the volatility can jump; but thejump characteristics should not depend upon [$]s_t[$]. The jump characteristics are the Poisson jump intensity and the distribution of the jump size [$]\Delta s_t[$].In the SVJ model the intensity is a constant and the jump size distribution is normal with two constant parameters. So it's a MAP.

QuoteOriginally posted by: AlanQuoteOriginally posted by: SoapQuoteOriginally posted by: AlanQuoteOriginally posted by: SoapHi @Alan, thanks for your reply. Let me see if I can do it.I bought it from amazon.co.uk and I have just left a comment.That's beautiful -- thank you so much!Thank you, Alan! :)I am a bit confused about the Markov Additive Process (MAP). On P.275 you say "One could also add jumps with jump characteristics dependent upon [$]v_t[$] (but not [$]s_t[$]) and still have a MAP". But in the SVJ model, the jump is on [$]s_t[$]? Is it still a MAP?Yes. First, [$]s_t[$] is the log-stock-price and the sentence refers to adding jumps to (5.1). Both the [$]s_t[$] and the volatility can jump; but thejump characteristics should not depend upon [$]s_t[$]. The jump characteristics are the Poisson jump intensity and the distribution of the jump size [$]\Delta s_t[$]. In the SVJ model the intensity is a constant and the jump size distribution is normal with two constant parameters. So it's a MAP.Update: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.

Last edited by Alan on June 24th, 2016, 10:00 pm, edited 1 time in total.

- AnalyticalVega
**Posts:**2260**Joined:**

Did anyone test the stochastic models in the book against historical and realtime tick data to see if they are accurate? I'm thinking statistical analysis of price intervals would give you a more accurate estimate than a stochastic volatility model.Still if you could get a closed form equation to be almost as accurate as the statistical analysis it would be a great savings in computational processing power.

QuoteOriginally posted by: AnalyticalVegaDid anyone test the stochastic models in the book against historical and realtime tick data to see if they are accurate? I'm thinking statistical analysis of price intervals would give you a more accurate estimate than a stochastic volatility model.Still if you could get a closed form equation to be almost as accurate as the statistical analysis it would be a great savings in computational processing power.Can you please to refine price interval notion for a stock and for a sum of stocks.

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

Off-the-cuff question regarding chapter 9, Alan.Would Longstaff-Schwartz regression be a good test case for this problem? An essential question is if weighted Laguerre expansion can be used with piecewise GBM? thus enabling Bermudans. Found this I could try it and test it against the survivor policy output?

Last edited by Cuchulainn on June 28th, 2016, 10:00 pm, edited 1 time in total.

My C++ Boost code gives

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

QuoteOriginally posted by: CuchulainnOff-the-cuff question regarding chapter 9, Alan.Would Longstaff-Schwartz regression be a good test case for this problem? An essential question is if weighted Laguerre expansion can be used with piecewise GBM? thus enabling Bermudans. Found this I could try it and test it against the survivor policy output?I don't know -- haven't really done Longstaff-Schwartz. Ideally, there would be some high-dimensional problem, where you need LS and also where discrete dividendsare important. Maybe somebody on the board can suggest such a case -- some structured product or whatever?

QuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnOff-the-cuff question regarding chapter 9, Alan.Would Longstaff-Schwartz regression be a good test case for this problem? An essential question is if weighted Laguerre expansion can be used with piecewise GBM? thus enabling Bermudans. Found this I could try it and test it against the survivor policy output?I don't know -- haven't really done Longstaff-Schwartz. Ideally, there would be some high-dimensional problem, where you need LS and also where discrete dividendsare important. Maybe somebody on the board can suggest such a case -- some structured product or whatever?Guaranteed Minimum Withdrawal Benefits perhaps.

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

QuoteOriginally posted by: frolloosQuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnOff-the-cuff question regarding chapter 9, Alan.Would Longstaff-Schwartz regression be a good test case for this problem? An essential question is if weighted Laguerre expansion can be used with piecewise GBM? thus enabling Bermudans. Found this I could try it and test it against the survivor policy output?I don't know -- haven't really done Longstaff-Schwartz. Ideally, there would be some high-dimensional problem, where you need LS and also where discrete dividendsare important. Maybe somebody on the board can suggest such a case -- some structured product or whatever?Guaranteed Minimum Withdrawal Benefits perhaps.Any links, Frolloos?

Last edited by Cuchulainn on June 28th, 2016, 10:00 pm, edited 1 time in total.

My C++ Boost code gives

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

262537412640768743.999999999999250072597198185688879353856337336990862707537410378210647910118607313

http://www.datasimfinancial.com

http://www.datasim.nl

QuoteOriginally posted by: CuchulainnQuoteOriginally posted by: frolloosQuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnOff-the-cuff question regarding chapter 9, Alan.Would Longstaff-Schwartz regression be a good test case for this problem? An essential question is if weighted Laguerre expansion can be used with piecewise GBM? thus enabling Bermudans. Found this I could try it and test it against the survivor policy output?I don't know -- haven't really done Longstaff-Schwartz. Ideally, there would be some high-dimensional problem, where you need LS and also where discrete dividendsare important. Maybe somebody on the board can suggest such a case -- some structured product or whatever?Guaranteed Minimum Withdrawal Benefits perhaps.Any links, Frolloos?Hi Cuch, here is one link. With variable annuities it is not only path dependency that makes LSMC interesting, but also the sheer quantity of options to value (e.g. 10,000 or more policyholders).

Last edited by frolloos on June 29th, 2016, 10:00 pm, edited 1 time in total.

GZIP: On