Learn R Programming

yuima (version 1.1.6)

CarmaNoise: Estimation for the underlying Levy in a carma model

Description

Retrieve the increment of the underlying Levy for the carma(p,q) process using the approach developed in Brockwell et al.(2011)

Usage

CarmaNoise(yuima, param, data=NULL, NoNeg.Noise=FALSE)

Arguments

yuima
a yuima object or an object of yuima.carma-class.
param
list of parameters for the carma.
data
an object of class yuima.data-class contains the observations available at uniformly spaced time. If data=NULL, the default, the 'CarmaNoise' uses the data in an object of yuima.data-class.
NoNeg.Noise
Estimate a non-negative Levy-Driven Carma process. By default NoNeg.Noise=FALSE.

Value

References

Brockwell, P., Davis, A. R. and Yang. Y. (2011) Estimation for Non-Negative Levy-Driven CARMA Process, Journal of Business And Economic Statistics, 29 - 2, 250-259.

Examples

Run this code
## Not run: 
# #Ex.1: Carma(p=3, q=0) process driven by a brownian motion.
# 
# mod0<-setCarma(p=3,q=0)
# 
# # We fix the autoregressive and moving average parameters
# # to ensure the existence of a second order stationary solution for the process.
# 
# true.parm0 <-list(a1=4,a2=4.75,a3=1.5,b0=1)
# 
# # We simulate a trajectory of the Carma model.
# 
# numb.sim<-1000
# samp0<-setSampling(Terminal=100,n=numb.sim)
# set.seed(100)
# incr.W<-matrix(rnorm(n=numb.sim,mean=0,sd=sqrt(100/numb.sim)),1,numb.sim)
# 
# sim0<-simulate(mod0,
#                true.parameter=true.parm0,
#                sampling=samp0, increment.W=incr.W)
# 
# #Applying the CarmaNoise
# 
# system.time(
#   inc.Levy0<-CarmaNoise(sim0,true.parm0)
# )
# 
# # We compare the orginal with the estimated noise increments 
# 
# par(mfrow=c(1,2))
# plot(t(incr.W)[1:998],type="l", ylab="",xlab="time")
# title(main="True Brownian Motion",font.main="1")
# plot(inc.Levy0,type="l", main="Filtered Brownian Motion",font.main="1",ylab="",xlab="time")
# 
# # Ex.2: carma(2,1) driven  by a compound poisson
# # where jump size is normally distributed and
# # the lambda is equal to 1.
# 
# mod1<-setCarma(p=2,               
#                q=1,
#                measure=list(intensity="Lamb",df=list("dnorm(z, 0, 1)")),
#                measure.type="CP") 
# 
# true.parm1 <-list(a1=1.39631, a2=0.05029,
#                   b0=1,b1=2,
#                   Lamb=1)
# 
# # We generate a sample path.
# 
# samp1<-setSampling(Terminal=100,n=200)
# set.seed(123)
# sim1<-simulate(mod1,
#                true.parameter=true.parm1,
#                sampling=samp1)
# 
# # We estimate the parameter using qmle.
# carmaopt1 <- qmle(sim1, start=true.parm1)
# summary(carmaopt1)
# # Internally qmle uses CarmaNoise. The result is in 
# plot(carmaopt1)
# 
# # Ex.3: Carma(p=2,q=1) with scale and location parameters 
# # driven by a Compound Poisson
# # with jump size normally distributed.
# mod2<-setCarma(p=2,                
#                q=1,
#                loc.par="mu",
#                scale.par="sig",
#                measure=list(intensity="Lamb",df=list("dnorm(z, 0, 1)")),
#                measure.type="CP") 
# 
# true.parm2 <-list(a1=1.39631,
#                   a2=0.05029,
#                   b0=1,
#                   b1=2,
#                   Lamb=1,
#                   mu=0.5,
#                   sig=0.23)
# # We simulate the sample path 
# set.seed(123)
# sim2<-simulate(mod2,
#                true.parameter=true.parm2,
#                sampling=samp1)
# 
# # We estimate the Carma and we plot the underlying noise.
# 
# carmaopt2 <- qmle(sim2, start=true.parm2)
# summary(carmaopt2)
# 
# # Increments estimated by CarmaNoise
# plot(carmaopt2)
# ## End(Not run)

Run the code above in your browser using DataLab