Efficient way to perform MLE on Merton Jump Diffusion model parameters?

I understand that under Merton Jump Diffusion Model, if we are going to estimate the parameters $$\alpha, \sigma,\mu_J, \delta, \lambda$$, we can use maximum likelihood estimation on the probability density of log return $$Y_t = ln(\frac{X_t}{X_0})$$

$$P(Y_t) = \sum_{i=0}^{\infty} \frac{e^{-\lambda t}(\lambda t)^i}{i!} N(Y_t; (\alpha - \frac{\sigma^2}{2} - \lambda k)t +i \mu_J, \sigma^2 t + i \delta^2)$$

and we try to maximize the likelihood of

$$L(\theta;Y) = \prod_{t=1}^{T} P(Y_t)$$

Here for each calculation of $$P(Y_t)$$ we have an infinite series to sum. I can only think of a naive way to just truncate $$i$$ at certain large number $$n$$. But still every iteration on the optimizer still need to run $$O(T n)$$ step assuming every other computation being constant time. It seems slow for large $$T$$ and $$n$$, and also inaccurate because depending on the arbitrary choice of $$n$$. Is there any better algorithm to do this?

Thanks

• I think that there is a latent variable to be modeled as well: the actual number of jumps at each time step, no? But even if that’s not the case: in typical applications you can very easily cut of the model at 5 to 10 jumps (daily returns) and cover virtually the whole jump domain by this... – Kermittfrog Dec 31 '20 at 7:21
• You know that the number of jumps per internal is Poisson distributed. Given $\lambda$ and $\Delta t$ you can then compute the upper bound for the sum as the $x$-percent quantile of this distribution, e.g. $x = 99.99$%. This scales well with different underlying assets and you don't need to resort to ad-hoc rules like "not more than 5 per day". – LocalVolatility Jan 1 at 13:57
• @LocalVolatility nice - thanks for the hint from my side as well. – Kermittfrog Jan 1 at 18:18
• @LocalVolatility thanks that would be a great approach – Paul Jan 2 at 14:53