Skip to content

Comparison with rvinecopulib / vinecopulib

rvinecopulib is the R interface to vinecopulib, a header-only C++ library for vine copula models. It is a mature statistical modeling package with high-performance algorithms, parameter estimation, model selection, simulation, visualization, and support for nonparametric and multi-parameter families.

VineCopulas.jl has a different first goal: provide a native Julia construction and evaluation core that composes pair-copulas from Copulas.jl.

FeatureVineCopulas.jl v0.1rvinecopulib / vinecopulib
LanguageJuliaC++ core, R interface, Python interface
Main scopeExplicit construction, evaluation, simulation, transformsFull statistical modeling workflow
C-vines / D-vinesYesYes
R-vinesPartial/experimentalMature
Density and simulationYesYes
h-functions and inverse h-functionsYes, via Julia APIYes
Automatic pair-copula fittingNot yetYes
Automatic family selectionNot yetYes
Automatic structure selectionNot yetYes
Automatic truncation selectionNot yetYes
Nonparametric pair-copulasNot part of stable v0.1Yes, including tll
Discrete variablesNot part of stable v0.1Supported in rvinecopulib
Extensibility with Copulas.jlMain design goalNot the goal
Bayesian/probabilistic Julia workflowsNatural future directionExternal to the package

The honest positioning is therefore:

  • use rvinecopulib when you need a mature production-ready fitting and selection workflow today;

  • use VineCopulas.jl when you want explicit native Julia vine objects, direct integration with Copulas.jl, transparent conditional primitives, and a research-friendly base for future Julia workflows.

No broad speed superiority is claimed for VineCopulas.jl v0.1. The package now includes local benchmarking scripts under benchmarks/ for comparable explicit C-vine/D-vine operations. These scripts intentionally avoid fitting, family selection and structure selection, because those workflows are not yet implemented in VineCopulas.jl.

The overlapping parametric families targeted by the local benchmark scripts are independence, Gaussian, Student-t, Clayton, Gumbel, Frank, Joe, BB1, BB6, BB7 and BB8. Nonparametric tll is outside the stable v0.1 scope.

Local benchmark results

A reproducible local benchmark summary is available in Benchmarks and numerical validation. The main results are:

  • Gaussian D-vines are currently faster in VineCopulas.jl for vectorized log-density in the tested scenarios.

  • Clayton and Gumbel D-vines are competitive for log-density, especially in larger truncated vines.

  • Frank D-vines are numerically validated but still slightly slower in log-density.

  • Student-t D-vines are numerically validated but substantially slower because the current implementation is dominated by scalar Student-t CDF/quantile evaluations.

The benchmark suite compares explicit operations only: density/log-density, Rosenblatt transforms, inverse Rosenblatt transforms, simulation and numerical CDF evaluation. It does not compare fitting, selection, model search or nonparametric estimation, because those workflows are outside the stable v0.1 scope of VineCopulas.jl.