svine: Stationary vine distribution models

View source: R/svine.R

svineR Documentation

Stationary vine distribution models

Description

Automated fitting or creation of custom S-vine distribution models

Usage

svine(
  data,
  p,
  var_types,
  margin_families = univariateML::univariateML_models,
  selcrit = "aic",
  ...
)

Arguments

data

a matrix or data.frame of data.

p

the Markov order.

var_types

variable types; a character vector with one entry per variable: "c" for continuous, "d" for discrete. Defaults to all-continuous when missing.

margin_families

either a character vector of univariateML::univariateML_models to select from for every margin, or a list with one entry for every variable. For a discrete variable, the corresponding entry must contain only suitable discrete families. Use "empirical" for empirical CDFs.

selcrit

criterion for family selection, either "loglik", "aic", "bic", "mbicv".

...

arguments passed to svinecop().

Value

Returns the fitted model as an object with classes svine and svine_dist. A list with entries

  • ⁠$margins⁠: list of marginal models from univariateML::univariateML_models,

  • ⁠$copula⁠: an object of svinecop_dist.

References

Nagler, T., Krüger, D., and Min, A. (2022). Stationary vine copula models for multivariate time series. Journal of Econometrics, 227(2), 305–324. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.jeconom.2021.11.015")}.

See Also

svine_dist, svine_loglik, svine_sim, svine_bootstrap_models

Examples

# load data set
data(returns)  

# fit parametric S-vine model with Markov order 1
fit <- svine(returns[1:100, 1:3], p = 1, family_set = "parametric")
fit 
summary(fit)
plot(fit$copula)
contour(fit$copula)
logLik(fit)

pairs(svine_sim(500, rep = 1, fit))

svines documentation built on Sept. 1, 2026, 1:08 a.m.