The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.

Type: Package
Title: Markov Regime Switching Copula Models Estimation and Goodness-of-Fit
Version: 1.1.0
Maintainer: Bruno N Remillard <bruno.remillard@hec.ca>
Description: Estimation procedures and goodness-of-fit test for several Markov regime switching models and mixtures of bivariate copula models. The goodness-of-fit test is based on a Cramer-von Mises statistic and uses Rosenblatt's transform and parametric bootstrap to estimate the p-value. The proposed methodologies are described in Nasri, Remillard and Thioub (2020) <doi:10.1002/cjs.11534>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Encoding: UTF-8
Depends: mvtnorm, foreach, doParallel, copula
RoxygenNote: 7.3.2
NeedsCompilation: no
Packaged: 2024-10-01 11:44:22 UTC; 49009427
Author: Bouchra R. Nasri [aut], Bruno N Remillard [aut, cre, cph], Mamadou Yamar Thioub [aut], Romanic Pieugueu [aut]
Repository: CRAN
Date/Publication: 2024-10-02 16:40:09 UTC

CopulaFamiliesCDF

Description

COPULACDF Cumulative probability function for a copula with linear correlation parameters RHO

Usage

CopulaFamiliesCDF(family, u, ...)

Arguments

family

copula familly= "gaussian" , "t" , "clayton" , "frank" , "gumbel"

u

is an N-by-P matrix of values in [0,1], representing N points in the P-dimensional unit hypercube

...

additionnal parameter like RHO a P-by-P correlation matrix.

Value

Y = COPULACDF('Gaussian',U,RHO) returns the cumulative probability of the Gaussian copula with linear correlation parameters RHO, evaluated at the points in U. U is an N-by-P matrix of values in [0,1], representing N points in the P-dimensional unit hypercube. RHO is a P-by-P correlation matrix. If U is an N-by-2 matrix, RHO may also be a scalar correlation coefficient.

Y = COPULACDF('t',U,RHO,NU) returns the cumulative probability of the t copula with linear correlation parameters RHO and degrees of freedom parameter NU, evaluated at the points in U. U is an N-by-P matrix of values in [0,1]. RHO is a P-by-P correlation matrix. If U is an N-by-2 matrix, RHO may also be a scalar correlation coefficient.

Y = COPULACDF(FAMILY,U,ALPHA) returns the cumulative probability of the bivariate Archimedean copula determined by FAMILY, with scalar parameter ALPHA, evaluated at the points in U. FAMILY is 'Clayton', 'Frank', ort 'Gumbel'. U is an N-by-2 matrix of values in [0,1].

Examples

 u = seq(0,1,0.1);
    U1=matrix(rep(u,length(u)),nrow=length(u),byrow = TRUE); U2=t(U1)
   F = CopulaFamiliesCDF('clayton',cbind(c(U1), c(U2)),1)


Estimation of bivariate Markov regime switching bivariate copula model

Description

Estimation of parameters from a bivariate Markov regime switching bivariate copula model

Usage

EstHMMCop(y, reg, family, max_iter, eps)

Arguments

y

(nx2) data matrix (observations or residuals) that will be transformed to pseudo-observations

reg

number of regimes

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

max_iter

maximum number of iterations of the EM algorithm

eps

precision (stopping criteria); suggestion 0.0001.

Value

theta

(1 x reg) estimated parameter of the copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package)) for each regime (except for degrees of freedom)

dof

estimated degree of freedom, only for the Student copula

Q

(reg x reg) estimated transition matrix

eta

(n x reg) conditional probabilities of being in regime k at time t given observations up to time t

tau

estimated Kendall tau for each regime

U

(n x 2) matrix of Rosenblatt transforms

cvm

Cramer-von-Mises statistic for goodness-of-fit

W

regime probabilities for the conditional distribution given the past Kendall's tau

Author(s)

Mamadou Yamar Thioub and Bruno Remillard, April 12, 2018

References

<doi::10.1002/cjs.11534>

Examples

Q <- matrix(c(0.8, 0.3, 0.2, 0.7),2,2) ; kendallTau <- c(0.3 ,0.7) ;
data <- SimHMMCop(Q, 'clayton', kendallTau, 10)$SimData;
estimations <- EstHMMCop(data,2,'clayton',10000,0.0001)



Sample Kendall's tau Estimation

Description

This function estimates the sample Kendall's tau of a bivariate data matrix

Usage

EstKendallTau(X)

Arguments

X

(n x 2) matrix

Value

KendallTau

estimated sample Kendall's tau of the data


Estimation of bivariate mixture bivariate copula model

Description

Estimation of parameters from a mixture of bivariate copula models

Usage

EstMixtureCop(y, reg, family, max_iter, eps)

Arguments

y

(nx2) data matrix (observations or residuals) that will be transformed to pseudo-observations

reg

number of regimes

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

max_iter

maximum number of iterations of the EM algorithm

eps

precision (stopping criteria); suggestion 0.0001.

Value

theta

(1 x reg) estimated parameter of the copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package)) for each component (except for degrees of freedom)

dof

estimated degree of freedom, only for the Student copula

Q

(1 x reg) estimated weights vector

eta

(n x reg) conditional probabilities of being in regime k at time t given observations up to time t

tau

estimated Kendall tau for each regime

U

(n x 2) matrix of Rosenblatt transforms

cvm

Cramer-von-Mises statistic for goodness-of-fit

Author(s)

Mamadou Yamar Thioub and Bruno Remillard, April 12, 2018

References

<doi::10.1002/cjs.11534>


Goodness-of-fit of Markov regime switching bivariate copula model

Description

Goodness-of-fit test of a Markov regime switching bivariate copula model

Usage

GofHMMCop(R, reg, family, max_iter, eps, n_sample, n_cores)

Arguments

R

(n x 2) data matrix that will be transformed to pseudo-observations

reg

number of regimes

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

max_iter

maxmimum number of iterations of the EM algorithm

eps

precision (stopping criteria); suggestion 0.0001

n_sample

number of bootstrap; suggestion 1000

n_cores

number of cores to use in the parallel computing

Value

pvalue

pvalue (significant when the result is greater than 5)

theta

(1 x reg) estimated parameter of the copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package)) for each regime (except for degrees of freedom)

dof

estimated degree of freedom, only for the Student copula

Q

(reg x reg) estimated transition matrix

eta

(n x reg) conditional probabilities of being in regime k at time t given observations up to time t

tau

estimated Kendall tau for each regime

U

(n x 2) matrix of Rosenblatt transforms

cvm

Cramer-von-Mises statistic for goodness-of-fit

W

regime probabilities for the conditional distribution given the past Kendall's tau

References

<doi::10.1002/cjs.11534>


Goodness-of-fit of mixture bivariate copula model

Description

Goodness-of-fit test of a mixture bivariate copula model

Usage

GofMixtureCop(R, reg, family, max_iter, eps, n_sample, n_cores)

Arguments

R

(nx2) data matrix (observations or residuals) that will be transformed to pseudo-observations

reg

number of regimes

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

max_iter

maxmimum number of iterations of the EM algorithm

eps

precision (stopping criteria); suggestion 0.0001

n_sample

number of bootstrap; suggestion 1000

n_cores

number of cores to use in the parallel computing

Value

pvalue

pvalue (significant when the result is greater than 5)

theta

(1 x reg) estimated parameter of the copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package)) for each component (except for degrees of freedom)

dof

estimated degree of freedom, only for the Student copula

Q

(1 x reg) estimated weights vector

eta

(n x reg) conditional probabilities of being in regime k at time t given observations up to time t

tau

estimated Kendall tau for each regime

U

(n x 2) matrix of Rosenblatt transforms

cvm

Cramer-von-Mises statistic for goodness-of-fit

Author(s)

By Bruno Remillard, Nov 28, 2010

References

<doi::10.1002/cjs.11534>


Kendall's tau of a copula

Description

Computation of Kendall's tau of a copula family with an unconstrainted parameter alpha.

Usage

KendallTau(family, alpha)

Arguments

family

"gaussian" , "t" , "clayton" , "frank" , "gumbel"

alpha

unconstrainted parameters of the copula family

Value

tau

estimated Kendall's tau


Theta estimation

Description

Parameters of a copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package)), corresponding to the unconstrainted parameters alpha.

Usage

ParamCop(family, alpha)

Arguments

family

"gaussian" , "t" , "clayton" , "frank" , "gumbel"

alpha

unconstrainted parameters of the copula family

Value

theta

matlab parameters


Alpha estimation

Description

Unconstrainted parameter for a given Kendall's tau.

Usage

ParamTau(family, tau)

Arguments

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

tau

Kendall's tau of the copula family

Value

alpha

estimated unconstrainted parameter


Rosenblatt transform for Clayton copula

Description

Computation of the Rosenblatt transform fot Clayton's copula

Usage

RosenblattClayton(u, theta)

Arguments

u

(n x d) matrix of pseudos-observations (normalized ranks)

theta

parameter of the Clayton copula

Value

R

Rosenblatt transform


Rosenblatt transform for Frank copula

Description

Computation of the Rosenblatt transform for Frank's copula

Usage

RosenblattFrank(U, theta)

Arguments

U

(n x d) matrix of pseudos-observations (normalized ranks)

theta

parameter of the Frank copula

Value

R

Rosenblatt transform


Rosenblatt transform for Gaussian copula

Description

Computation of the Rosenblatt transform for the Gaussian copula

Usage

RosenblattGaussian(u, rho)

Arguments

u

(n x d) matrix of pseudos-observations (normalized ranks)

rho

(d x d) correlation matrix, or the correlation coefficient (if, d = 2)

Value

R

Rosenblatt transform


Rosenblatt transform for Gumbel copula

Description

Computation of the Rosenblatt transform for Gumbel's copula

Usage

RosenblattGumbel(U, theta)

Arguments

U

(n x d) matrix of pseudos-observations (normalized ranks)

theta

parameter of the Gumbel copula

Value

R

Rosenblatt transform


Rosenblatt transform for Student copula

Description

Computation of the Rosenblatt transform for the Student copula

Usage

RosenblattStudent(u, rho, nu)

Arguments

u

(n x d) matrix of pseudos-observations (normalized ranks)

rho

(d x d) correlation matrix

nu

degrees of freedom

Value

R

Rosenblatt transform


Simulation of bivariate Markov regime switching copula model

Description

Simulaion of values from a bivariate Markov regime switching copula model

Usage

SimHMMCop(Q, family, KendallTau, n, DoF)

Arguments

Q

Transition probality matrix (d x d);

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

KendallTau

Kendall's rank correlation

n

number of simulated vectors

DoF

degree of freedom only for the Student copula

Value

SimData

Simulated Data

MC

Markov chain regimes

alpha

parameters alpha

Examples

Q <- matrix(c(0.8, 0.3, 0.2, 0.7),2,2) ; kendallTau <- c(0.3 ,0.7) ;
simulations <- SimHMMCop(Q, 'gumbel', kendallTau, 300)



Markov chain simulation

Description

Simulation of n consecutive values of a Markov chain with transition matrix Q, starting from a state eta0 or the uniform distribution on the set 1,..., r.

Usage

SimMarkovChain(Q, n, eta0)

Arguments

Q

Transition probability matrix (d x d)

n

number of simulated vectors

eta0

variable eta

Value

x

Simulated Markov chain sequence


Simulation of bivariate mixture copula model

Description

Simulation of observations from a bivariate mixture copula model

Usage

SimMixtureCop(Q, family, KendallTau, n, DoF)

Arguments

Q

Weights vector (1 x component);

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

KendallTau

Kendall's rank correlation

n

number of simulated vectors

DoF

vector of degree of freedom only for the Student copula

Value

SimData

Simulated Data

MC

Markov chain regimes

alpha

parameters alpha

Examples

Q <- matrix(c(0.8, 0.2),1,2) ; kendallTau <- c(0.3 ,0.7) ;
simulations <- SimMixtureCop(Q, 'gaussian', kendallTau, 300)




Cramer-von Mises statistic SnB for GOF based on the Rosenblatt transform

Description

Computation of the Cramer-von Mises statistic SnB for GOF based on the Rosenblatt transform

Usage

SnB(E)

Arguments

E

(n x d) matrix of pseudos-observations (normalized ranks)

Value

Sn

Cramer-von Mises statistic


Spearman's rho

Description

Value of Spearman's rho corresponding to a constrainted (matlab) parameter theta for a copula family.

Usage

Tau2Rho(family, theta)

Arguments

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

theta

parameter of the copula according to CRAN copula package (except for Frank copula, where theta = log(theta_R_Package))

Value

rho

estimated Spearman's rho


Bootstrap function for a bivariate copula models

Description

Bootstrapping function needed for parallel computing

Usage

bootstrapfun(Q, family, tau, n, df, max_iter, eps, HMM)

Arguments

Q

Weights vector (1 x reg or component);

family

'gaussian' , 't' , 'clayton' , 'frank' , 'gumbel'

tau

Kendall's rank correlation

n

number of simulated vectors

df

vector of degree of freedom (d x 1), only for the Student copula.

max_iter

maximum number of iterations for estimation

eps

precision (e.g 0.00001);

HMM

1 (if HMM) , 0 (if mixture);

Value

theta1

Estimated copula parameters

Q1

Estimated transition matrix

eta1

Estimated probabilites for regimes

tau1

Estimated Kendall's tau

dof1

Estimated degrees of freedom for the Student copula

Usim

Estimated pseudo-observations

cvm_sim

Estimated Cramer-von Mises statistic

Author(s)

Mamadou Yamar Thioub and Bruno Remillard, April 12, 2018


COPULAPDF Probability density function for a copula.

Description

COPULAPDF probability density function for a copula with linear correlation parameters RHO and

Usage

copulaFamiliesPDF(family, u, ...)

Arguments

family

copula familly= "gaussian" , "t" , "clayton" , "frank" , "gumbel"

u

is an N-by-P matrix of values in [0,1], representing N points in the P-dimensional unit hypercube

...

additionnal parameter like RHO a P-by-P correlation matrix.

Value

Y = COPULAPDF('Gaussian',U,RHO) returns the probability density of the Gaussian copula with linear correlation parameters RHO, evaluated at the points in U. U is an N-by-P matrix of values in [0,1], representing N points in the P-dimensional unit hypercube. RHO is a P-by-P correlation matrix. If U is an N-by-2 matrix, RHO may also be a scalar correlation coefficient.

Y = COPULAPDF('t',U,RHO,NU) returns the probability density of the t copula with linear correlation parameters RHO and degrees of freedom parameter NU, evaluated at the points in U. U is an N-by-P matrix of values in [0,1]. RHO is a P-by-P correlation matrix. If U is an N-by-2 matrix, RHO may also be a scalar correlation coefficient.

Y = COPULAPDF(FAMILY,U,ALPHA) returns the probability density of the bivariate Archimedean copula determined by FAMILY, with scalar parameter ALPHA, evaluated at the points in U. FAMILY is 'Clayton', 'Frank', or 'Gumbel'. U is an N-by-2 matrix of values in [0,1].

Examples

 u = seq(0,1,0.1);
    U1=matrix(rep(u,length(u)),nrow=length(u),byrow = TRUE); U2=t(U1)
   F = copulaFamiliesPDF('clayton',cbind(c(U1), c(U2)),1)


Dilogarithm function

Description

Computation of the dilogarithm function by nemerical integration.

Usage

dilog(x)

Arguments

x

a real number

Value

out

dilogarithm

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.