JBtest: Remove jumps and calculate the Gaussian quasi-likelihood...

View source: R/JBtest.R

JBtestR Documentation

Remove jumps and calculate the Gaussian quasi-likelihood estimator based on the Jarque-Bera normality test

Description

Remove jumps and calculate the Gaussian quasi-likelihood estimator based on the Jarque-Bera normality test

Usage

JBtest(yuima,start,lower,upper,alpha,skewness=TRUE,kurtosis=TRUE,withdrift=FALSE)

Arguments

yuima

a yuima object (diffusion with compound Poisson jumps).

lower

a named list for specifying lower bounds of parameters.

upper

a named list for specifying upper bounds of parameters.

alpha

Insert Description Here.

start

initial values to be passed to the optimizer.

skewness

use third moment information ? by default, skewness=TRUE

kurtosis

use fourth moment information ? by default, kurtosis=TRUE

withdrift

use drift information for constructing self-normalized residuals or not? by default, withdrift = FALSE

Details

This function removes large increments which are regarded as jumps based on the iterative Jarque-Bera normality test, and after that, calculates the Gaussian quasi maximum likelihood estimator.

Value

Removed

Removed jumps and jump times

OGQMLE

Gaussian quasi maximum likelihood estimator before jump removal

JRGQMLE

Gaussian quasi maximum likelihood estimator after jump removal

Figures

For visualization, the jump points are presented. In addition, the histgram of the jump removed self-normalized residuals, transition of the estimators and the logarithm of Jarque-Bera statistics are given as figures

Author(s)

The YUIMA Project Team

Contacts: Yuma Uehara y-uehara@ism.ac.jp

References

Masuda, H. (2013). Asymptotics for functionals of self-normalized residuals of discretely observed stochastic processes. Stochastic Processes and their Applications 123 (2013), 2752–2778

Masuda, H and Uehara, Y. (2018) Estimating Diffusion With Compound Poisson Jumps Based On Self-normalized Residuals, arXiv:1802.03945

Examples

## Not run: 
set.seed(123)
mod <- setModel(drift="10-3*x",
                diffusion="theta*(2+x^2)/(1+x^2)",
               jump.coeff="1",
               measure=list(intensity="1",df=list("dunif(z, 3, 5)")),
               measure.type="CP")

T <- 10 ## Terminal
n <- 5000 ## generation size
samp <- setSampling(Terminal=T, n=n) ## define sampling scheme
yuima <- setYuima(model = mod, sampling = samp)

yuima <- simulate(yuima, xinit=1,true.parameter=list(theta=sqrt(2)), sampling = samp)

JBtest(yuima,start=list(theta=0.5),upper=c(theta=100)
,lower=c(theta=0),alpha=0.01)

## End(Not run)

yuima documentation built on Dec. 28, 2022, 2:01 a.m.