Recientemente estuve trabajando con un proceso llamado Variance Gamma con Llegada Estocástica (VGSA) e intentando ajustar este proceso a unos datos dados.
Para obtener VGSA, como se explica en Carr et al. [2001], tomamos el proceso VG que es un proceso de Lévy homogéneo y agregamos volatilidad estocástica evaluándolo en un cambio de tiempo continuo dado por la integral de un proceso Cox, Ingersoll y Ross [1985] (CIR). Formalmente definimos el proceso CIR $y(t)$ como la solución a la ecuación diferencial estocástica, $$ d y_t=\kappa\left(\eta-y_t\right) d t+\lambda \sqrt{y_t} d W_t $$ donde $W_t$ es una marcha Browniana, $\eta$ es la tasa a largo plazo de cambio de tiempo, $\kappa$ es la tasa de reversión a la media, y $\lambda$ es la volatilidad del cambio de tiempo. El proceso $y(t)$ es la tasa instantánea de cambio de tiempo y por lo tanto el cambio de tiempo está dado por $Y(t)$ donde $$ Y(t)=\int_0^t y(u) d u $$
La función característica para $Y(t)$ está dada por $$ \begin{aligned} \mathbb{E}\left(e^{i u Y(t)}\right) & =\phi(u, t, y(0), \kappa, \eta, \lambda) \\ & =A(t, u) e^{B(t, u) y(0)} \end{aligned} $$ donde $$ \begin{aligned} A(t, u) & =\frac{\exp \left(\frac{\kappa^2 \eta t}{\lambda^2}\right)}{\left(\cosh (\gamma t / 2)+\frac{\kappa}{\gamma} \sinh (\gamma t / 2)\right)^{2 \kappa \eta / \lambda^2}} \\ B(t, u) & =\frac{2 i u}{\kappa+\gamma \operatorname{coth}(\gamma t / 2)} \end{aligned} $$ con $$ \gamma=\sqrt{\kappa^2-2 \lambda^2 i u} $$
El proceso de Lévy de volatilidad estocástica, denominado proceso VGSA, está definido por $$ \begin{aligned} Z(t) & =X_{V G}(Y(t) ; \sigma, \nu, \theta) \\ & =\theta \gamma(Y(t) ; 1, \nu)+\sigma W(\gamma(Y(t) ; 1, \nu)) \end{aligned} $$
Por lo tanto $\sigma, \nu, \theta, \kappa, \eta$, y $\lambda$ son los seis parámetros que definen el proceso. Su función característica está dada por $$ \mathbb{E}\left(e^{i u Z_{V G S A}(t)}\right)=\phi\left(-i \Psi_{V G}(u), t, \frac{1}{\nu}, \kappa, \eta, \lambda\right) $$ donde $\phi$ es la función característica de $Y(t)$ dada en (6.68) y $\Psi_{V G}$ es la función característica logarítmica del proceso de Variance Gamma en tiempo unitario, es decir, $$ \Psi_{V G}(u)=-\frac{1}{\nu} \log \left(1-i u \theta \nu+\sigma^2 \nu u^2 / 2\right) $$
Definimos el proceso de acción en el tiempo $t$ por la variable aleatoria $$ S(t)=S(0) \frac{e^{(r-q) t+Z(t)}}{\mathbb{E}\left[e^{Z(t)}\right]} $$
Notamos que $$ \mathbb{E}\left[e^{Z(t)}\right]=\phi\left(-i \Psi_{V G}(-i), t, \frac{1}{\nu}, \kappa, \eta, \lambda\right) $$ lo cual es equivalente a $e^{-\omega t}$ en el caso de VG. Por lo tanto la función característica del $\log$ del precio de la acción en el tiempo $t$ está dada por $$ \mathbb{E}\left[e^{i u \log S_t}\right]=\exp \left(i u\left(\log S_0+(r-q) t\right)\right) \times \frac{\phi\left(-i \Psi_{V G}(u), t, \frac{1}{\nu}, \kappa, \eta, \lambda\right)}{\phi\left(-i \Psi_{V G}(-i), t, \frac{1}{\nu}, \kappa, \eta, \lambda\right)^{i u}} $$
Para obtener información adicional, consulte la página 236 del libro titulado "Métodos Computacionales en Finanzas" por Ali Hirsa, específicamente en relación al Proceso Estocástico Variance-Gamma (VGSA).
Mi enfoque implica inicialmente transformar por Fourier inversa la función característica y luego utilizar el método de Máxima Verosimilitud. A pesar de usar una suposición inicial y el método de Nelder–Mead para minimización, los resultados obtenidos suelen ser subóptimos, probablemente debido a la convergencia a mínimos locales.
Busco orientación sobre un método más robusto para ajustar el modelo VGSA a mis datos para estimación de parámetros, ya que el enfoque actual parece quedarse atascado en mínimos locales. Cualquier sugerencia e implementaciones de código en Python, R o MATLAB serían muy apreciadas.