# momIntegrated: Moments Using Integration In HyperbolicDist: The hyperbolic distribution

## Description

Calculates moments and absolute moments about a given location for the generalized hyperbolic and related distributions.

## Usage

 `1` ```momIntegrated(densFn, order, param = NULL, about = 0, absolute = FALSE) ```

## Arguments

 `densFn` Character. The name of the density function whose moments are to be calculated. See Details. `order` Numeric. The order of the moment or absolute moment to be calculated. `param` Numeric. A vector giving the parameter values for the distribution specified by `densFn`. If no `param` values are specified, then the default parameter values of each distribution are used instead. `about` Numeric. The point about which the moment is to be calculated. `absolute` Logical. Whether absolute moments or ordinary moments are to be calculated. Default is `FALSE`.

## Details

Denote the density function by f. Then if `order`=k and `about`=a, `momIntegrated` calculates

integral_{-infinity}^infinity (x - a)^k f(x) dx

when `absolute = FALSE` and

integral_{-infinity}^infinity |x - a|^k f(x) dx

when `absolute = TRUE`.

Only certain density functions are permitted.

When `densFn="ghyp"` or `"generalized hyperbolic"` the density used is `dghyp`. The default value for `param` is `c(1,1,0,1,0)`.

When `densFn="hyperb"` or `"hyperbolic"` the density used is `dhyperb`. The default value for `param` is `c(0,1,1,0)`.

When `densFn="gig"` or `"generalized inverse gaussian"` the density used is `dgig`. The default value for `param` is `c(1,1,1)`.

When `densFn="gamma"` the density used is `dgamma`. The default value for `param` is `c(1,1)`.

When `densFn="invgamma"` or `"inverse gamma"` the density used is the density of the inverse gamma distribution given by

f(x) = u^alpha exp(-u)/(x Gamma(alpha)), u = theta/x

for x > 0, alpha > 0 and theta > 0. The parameter vector `param = c(shape,rate)` where `shape` =alpha and `rate`=1/theta. The default value for `param` is `c(-1,1)`.

When `densFn="vg"` or `"variance gamma"` the density used is `dvg` from the package VarianceGamma. In this case, the package VarianceGamma must be loaded or an error will result. The default value for `param` is `c(0,1,0,1)`.

## Value

The value of the integral as specified in Details.

## Author(s)

David Scott d.scott@auckland.ac.nz, Christine Yang Dong c.dong@auckland.ac.nz

`dghyp`, `dhyperb`, `dgamma`, `dgig`, `VarianceGamma`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```### Calculate the mean of a generalized hyperbolic distribution ### Compare the use of integration and the formula for the mean m1 <- momIntegrated("ghyp", param = c(1/2,3,1,1,0), order = 1, about = 0) m1 ghypMean(c(1/2,3,1,1,0)) ### The first moment about the mean should be zero momIntegrated("ghyp", order = 1, param = c(1/2,3,1,1,0), about = m1) ### The variance can be calculated from the raw moments m2 <- momIntegrated("ghyp", order = 2, param = c(1/2,3,1,1,0), about = 0) m2 m2 - m1^2 ### Compare with direct calculation using integration momIntegrated("ghyp", order = 2, param = c(1/2,3,1,1,0), about = m1) momIntegrated("generalized hyperbolic", param = c(1/2,3,1,1,0), order = 2, about = m1) ### Compare with use of the formula for the variance ghypVar(c(1/2,3,1,1,0)) ```