Skip to contents

Maximises the log-likelihood of the Merton (1976) model using L-BFGS-B optimisation. Returns a JDFitResult object containing parameter estimates, standard errors, and convergence info.

Usage

fitMerton(
  log_returns,
  start = c(mu = 0.05, sigma = 0.2, lambda = 1, mu_j = -0.1, sigma_j = 0.15),
  dt = 1/252,
  N_max = 50L,
  verbose = FALSE
)

Arguments

log_returns

Numeric vector of observed log asset returns.

start

Named numeric vector of starting values. Defaults to c(mu=0.05, sigma=0.20, lambda=1, mu_j=-0.10, sigma_j=0.15).

dt

Numeric. Time step length (default 1/252).

N_max

Integer. Mixture truncation (default 50).

verbose

Logical. Print progress? (default FALSE).

Value

A JDFitResult object.

Examples

# \donttest{
ret <- jdSampleData("merton", n = 500, seed = 42)
fit <- fitMerton(ret, verbose = TRUE)
#> Converged.
print(fit)
#> Merton MLE Fit Result
#> ---------------------
#>   Converged : TRUE
#>   Log-lik   : 1464.8117
#>   Estimates (SE):
#>     mu       :   0.0889  (     NaN)
#>     sigma    :   0.2022  (     NaN)
#>     lambda   :   0.5040  (     NaN)
#>     mu_j     :   0.0801  (     NaN)
#>     sigma_j  :   0.0000  (     NaN)
confint(fit)
#>         2.5 % 97.5 %
#> mu        NaN    NaN
#> sigma     NaN    NaN
#> lambda    NaN    NaN
#> mu_j      NaN    NaN
#> sigma_j   NaN    NaN
# }