The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
All types of copula process can be combined with a v-transform to model volatile time series.
VT-ARMA processes are created by adding a v-transform to an
armacopula process using the command vtscopula
. The generic
commands sim
, fit
and plot
also
work for these processes.
This example uses a ARMA(1,1) copula and an off-centre linear v-transform. We set up the model and generate some data.
vtarma11 <- vtscopula(armacopula(list(ar = 0.95, ma = -0.85)),
Vtransform = Vlinear(delta = 0.6))
vtarma11
#> object class: vtscopula
#> ____________
#> Base copula:
#> object class: armacopula
#> name: ARMA(1,1)
#> parameters:
#> ar1 ma1
#> 0.95 -0.85
#> ____________
#> V-transform:
#> name: Vlinear
#> parameters:
#> delta
#> 0.6
set.seed(19)
data <- sim(vtarma11, 2000)
ts.plot(data)
We now fit the model with a fixed value for the fulcrum parameter \(\delta\) and plot the results. (More on fulcrum choice next.)
vtarma11spec <- vtscopula(armacopula(list(ar = 0, ma = 0)), Vtransform = Vlinear(delta = 0.6))
vtarma11fit <- fit(vtarma11spec, data)
vtarma11fit
#> object class: vtscopula
#> ____________
#> Base copula:
#> object class: armacopula
#> name: ARMA(1,1)
#> parameters:
#> ar1 ma1
#> 0.9539846 -0.8525973
#> ____________
#> V-transform:
#> name: Vlinear
#> parameters:
#> delta
#> 0.6
#> _____________________
#> Summary of estimates:
#> ar.ar1 ma.ma1
#> 0.9539846 -0.8525973
#> convergence status: 0, log-likelihood: 104.0813
plot(vtarma11fit)
plot(vtarma11fit, plottype = "vtransform")
plot(vtarma11fit, plottype = "kendall" )
Optimization over the fulcrum parameter \(\delta\) does not take place. To identify a reasonable value for \(\delta\) we can carry a profile likelihood analysis using different fixed values for the fulcrum parameter.
VT-D-Vine processes are created by adding a v-transform to an
dvinecopula2
object using the command
vtscopula
. The generic commands sim
,
fit
and plot
also work for these
processes.
We add a 2-parameter V-transform.
copmod <- dvinecopula2(family = "joe",
kpacf = "kpacf_arma",
pars = list(ar = 0.9, ma = -0.85),
maxlag = 20)
vcopmod <- vtscopula(copmod,
Vtransform = V2p(delta = 0.6, kappa = 0.8)
)
vcopmod
#> object class: vtscopula
#> ____________
#> Base copula:
#> object class: dvinecopula2
#> name: type2-d-vine
#> copula family: joe
#> KPACF: kpacf_arma with max lag 20
#> parameters:
#> [1] 0.90 -0.85
#> ____________
#> V-transform:
#> name: V2p
#> parameters:
#> delta kappa
#> 0.6 0.8
copspec_Joe <- dvinecopula2(family = "joe",
pars = list(ar = 0, ma = 0),
maxlag = 30)
vcopspec <- vtscopula(copspec_Joe, V2p(delta = 0.6))
vcopfit <- fit(vcopspec, data2,
tsoptions = list(hessian = TRUE),
control = list(maxit = 1000))
vcopfit
#> object class: vtscopula
#> ____________
#> Base copula:
#> object class: dvinecopula2
#> name: type2-d-vine
#> copula family: joe
#> KPACF: kpacf_arma with max lag 30
#> parameters:
#> [1] 0.8973846 -0.8434568
#> ____________
#> V-transform:
#> name: V2p
#> parameters:
#> delta kappa
#> 0.6000000 0.7743815
#> _____________________
#> Summary of estimates:
#> ar ma vt.kappa
#> par 0.89738462 -0.8434568 0.77438147
#> se 0.01948553 0.0253182 0.06339235
#> convergence status: 0, log-likelihood: 48.57659
coef(vcopfit)
#> delta kappa
#> 0.8973846 -0.8434568 0.6000000 0.7743815
coef(vcopmod)
#> delta kappa
#> 0.90 -0.85 0.60 0.80
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.