tests/tstVaRsuperadd.R

#### A "fast" and simplified version of demo(VaRsuperadd)
#### see ../demo/VaRsuperadd.R
####     ~~~~~~~~~~~~~~~~~~~~~

require(simsalapar)
source(system.file("xtraR/assertErr-etc.R", package="simsalapar", mustWork=TRUE))

## Must be fast, rather than "interesting":
n.obs  <- 16
n.alpha <- 8
doExtras <- FALSE

demo(VaRsuperadd) # crucial part!

## The only difference to doOne() is the missing t(.) at the very end
do1.wrong <- function(n, d, family, tau, qmargin, alpha)
{
    cop <- switch(family,
                "normal" =
                  ellipCopula("normal", param=iTau(ellipCopula("normal"), tau=tau),
                              dim=d),
                "t" =
                  ellipCopula("t", param=iTau(ellipCopula("t"), tau=tau), dim=d),
                "Clayton" =
                  onacopulaL("Clayton", list(th=iTau(archmCopula("clayton"), tau),
                                             seq_len(d))),
                "Gumbel" =
                  onacopulaL("Gumbel", list(th=iTau(archmCopula("gumbel"), tau),
                                            seq_len(d))),
                stop("unsupported 'family'"))
    U <- rCopula(n, copula=cop)
    sapply(qmargin, function(FUN) ecdf(rowSums(FUN(U)))(d*FUN(alpha)) - alpha)
}

assertError( doCheck(do1.wrong, varList) )

Try the simsalapar package in your browser

Any scripts or data that you put into this service are public.

simsalapar documentation built on April 27, 2023, 9:05 a.m.