Radial Symmetry Test

copulae.gof.rad_sym_test(x, N=1000, ties='average')[source]

Test of Radial Symmetry for a Multivariate Copula.

Test for assessing the radial symmetry of the underlying multivariate copula based on the empirical copula. The test statistic is a multivariate extension of the definition adopted in the first reference. An approximate p-value for the test statistic is obtained by means of a appropriate bootstrap which can take the presence of ties in the component series of the data into account; see the second reference.

A random vector \(X\) is called radially symmetric (for d = 1 simply symmetric) about \(a \in R^d\) if \(X − a = a − X\), that is, if \(X − a\) and \(a − X\) are equal in distribution. In a hand-wavy manner, perhaps the consequence of the radial symmetry test is to verify if an elliptical copula should be used to fit the data as elliptical copulas are radial symmetric.

  • x ({array_like, pandas.DataFrame}) – A matrix like data structure

  • N (int) – Number of bootstrap iterations to be used to simulate realizations of the test statistic under the null hypothesis

  • ties (Literal[‘average’, ‘min’, ‘max’, ‘dense’, ‘ordinal’]) – String specifying how ranks should be computed if there are ties in any of the coordinate samples. Options include ‘average’, ‘min’, ‘max’, ‘dense’, ‘ordinal’.


Test statistics for the radial symmetry test. The null hypothesis assumes that the vectors are radially symmetric. Thus a small p-value will indicate evidence against radial symmetry

Return type



>>> from copulae.datasets import load_danube
>>> from copulae.gof import rad_sym_test
>>> danube = load_danube()
>>> test_stats = rad_sym_test(danube)
>>> print(test_stats.p_value)

A small p-value here indicates strong evidence against radial symmetry.


Genest, C. and G. Nešlehová, J. (2014). On tests of radial symmetry for bivariate copulas. Statistical Papers 55, 1107–1119.

Kojadinovic, I. (2017). Some copula inference procedures adapted to the presence of ties. Computational Statistics and Data Analysis 112, 24–41, http://arxiv.org/abs/1609.05519.