# zzz-mvt: Multivariate Student-t Distribution In fMultivar: Rmetrics - Analysing and Modeling Multivariate Financial Return Distributions

## Description

Alternative density, distribution function, and random generation for the multivariate Student-t distribution.

## Details

The functions to compute densities `dmvt`, probabilities `pmvt`, and to generate random numbers `rmvt` are available from the contributed R package `mvtnorm`. The function `qmvt` computes the equicoordinate quantile function of the multivariate normal distribution for arbitrary correlation matrices based on inversion of `pmvt`.

`dmvt(x, delta, sigma, df, <<...>>)`
`pmvt(<<...>>) `
`rmvt(n, sigma, df, delta, <<...>>`

NOTE: The function are not builtin in the package `fMultivar`. Fur details we refer to the help page of `mvnorm`.

## Author(s)

Alan Genz, Frank Bretz, Tetsuhisa Miwa, Xuefei Mi, Friedrich Leisch, Fabian Scheipl, Bjoern Bornkamp, Torsten Hothorn.

## References

McNeil, A. J., Frey, R., and Embrechts, P. (2005), Quantitative Risk Management: Concepts, Techniques, Tools, Princeton University Press.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46``` ```## Not run: ## Load Libray: require(mvtnorm) ## dmvt - # basic evaluation dmvt(x = c(0,0), sigma = diag(2)) ## dmvt | dmvnorm - # check behavior for df=0 and df=Inf x <- c(1.23, 4.56) mu <- 1:2 Sigma <- diag(2) x0 <- dmvt(x, delta = mu, sigma = Sigma, df = 0) # default log = TRUE! x8 <- dmvt(x, delta = mu, sigma = Sigma, df = Inf) # default log = TRUE! xn <- dmvnorm(x, mean = mu, sigma = Sigma, log = TRUE) stopifnot(identical(x0, x8), identical(x0, xn)) ## rmvt - # X ~ t_3(0, diag(2)) x <- rmvt(100, sigma = diag(2), df = 3) # t_3(0, diag(2)) sample plot(x) ## rmvt - # X ~ t_3(mu, Sigma) n <- 1000 mu <- 1:2 Sigma <- matrix(c(4, 2, 2, 3), ncol=2) set.seed(271) x <- rep(mu, each=n) + rmvt(n, sigma=Sigma, df=3) plot(x) ## rmvt - # Note that the call rmvt(n, mean=mu, sigma=Sigma, df=3) does *not* # give a valid sample from t_3(mu, Sigma)! [and thus throws an error] try(rmvt(n, mean=mu, sigma=Sigma, df=3)) ## rmvnorm - # df=Inf correctly samples from a multivariate normal distribution set.seed(271) x <- rep(mu, each=n) + rmvt(n, sigma=Sigma, df=Inf) set.seed(271) x. <- rmvnorm(n, mean=mu, sigma=Sigma) stopifnot(identical(x, x.)) ## End(Not run) ```

fMultivar documentation built on May 31, 2017, 1:42 a.m.