Explicit vine models
Construct C-vines, D-vines and supported R-vines directly from bivariate pair-copulas.
Explicit C-vine, D-vine and R-vine copula constructions built on Copulas.jl.

VineCopulas.jl is a native Julia package for explicit vine copula models built on top of Copulas.jl. It focuses on constructing vine copulas from known bivariate building blocks, evaluating densities, simulating observations, and using conditional distribution transforms.
A vine copula is useful when a single multivariate copula family is too restrictive. Instead of forcing all dependence into one parametric object, a vine decomposes a multivariate copula density into many bivariate pair-copula densities, each placed on an edge of a tree sequence.
stable CVineCopula and DVineCopula model types; experimental RVineCopula support for explicit structures.
pdf, logpdf, rand, numerical cdf and simulate_qmc.
Rosenblatt and inverse Rosenblatt transforms.
Truncated C-vines and D-vines.
Pair-copula conditional primitives: hfunc1, hfunc2, hinv1, hinv2.
Elliptical, Archimedean, BB, survival/rotated and bivariate extreme-value pair-copulas where the required conditional primitives are available. The pair-copula source layout is organized by family to make performance specializations local and auditable.
Lightweight model summaries: loglikelihood, npars, aic, and bic.
VineCopulas.jl v0.1 is not an automatic fitting package. It does not yet provide automatic family selection, parameter estimation, structure selection or truncation selection. These are planned for later versions. See Simulation vs fitting and Limitations.
using VineCopulas
using Distributions: logpdf, pdf
using Random
C12 = GaussianCopula([1.0 0.5; 0.5 1.0])
C23 = ClaytonCopula(2, 2.0)
C13_2 = FrankCopula(2, 3.0)
vine = DVineCopula([1, 2, 3], [[C12, C23], [C13_2]])
u = [0.2, 0.5, 0.7]
(logpdf(vine, u), pdf(vine, u))(-0.3370957517155749, 0.7138404851791286)