Learn R Programming

VarianceGamma (version 0.4-2)

Variance Gamma Mean, Variance, Skewness, Kurtosis and Mode: Moments and Mode of the Variance Gamma Distribution

Description

Functions to calculate the mean, variance, skewness, kurtosis and mode of a specific variance gamma distribution.

Usage

vgMean(vgC = 0, sigma = 1, theta = 0, nu = 1, param = c(vgC,sigma,theta,nu))
vgVar(vgC = 0, sigma = 1, theta = 0, nu = 1, param = c(vgC,sigma,theta,nu))
vgSkew(vgC = 0, sigma = 1, theta = 0, nu = 1, param = c(vgC,sigma,theta,nu))
vgKurt(vgC = 0, sigma = 1, theta = 0, nu = 1, param = c(vgC,sigma,theta,nu))
vgMode(vgC = 0, sigma = 1, theta = 0, nu = 1, param = c(vgC,sigma,theta,nu))

Value

vgMean gives the mean of the variance gamma distribution,

vgVar the variance, vgSkew the skewness, vgKurt the kurtosis, and vgMode the mode. The formulae used for the mean and variance are as given in Seneta (2004). If \(\nu\) is greater than or equal to 2, the mode is equal to the value of the parameter \(c\). Otherwise, it is found by a numerical optimisation using optim.

The parameterisation of the variance gamma distribution used for these functions is the \((c,\sigma,\theta,\nu)\)

one. See vgChangePars to transfer between parameterisations.

Arguments

vgC

The location parameter \(c\), default is equal to 0.

sigma

The spread parameter \(\sigma\), default is equal to 1, must be positive.

theta

The asymmetry parameter \(\theta\), default is equal to 0.

nu

The shape parameter \(\nu\), default is equal to 1, must be positive.

param

Specifying the parameters as a vector which takes the form c(vgC,sigma,theta,nu).

Author

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

References

Seneta, E. (2004). Fitting the variance-gamma model to financial data. J. Appl. Prob., 41A:177--187. Kotz, S, Kozubowski, T. J., and Podgórski, K. (2001). The Laplace Distribution and Generalizations. Birkhauser, Boston, 349 p.

See Also

dvg, vgChangePars,vgCalcRange, besselK.

Examples

Run this code
param <- c(2,2,2,0.5)
vgMean(param = param)
## Or to specify parameter values individually, use:
vgMean (2,2,2,0.5)
  
vgVar(param = param)
vgSkew(param = param)
vgKurt(param = param)
vgMode(param = param)
maxDens <- dvg(vgMode(param = param), param = param)
vgRange <- vgCalcRange(param = param, tol = 10^(-2)*maxDens)
curve(dvg(x, param = param), vgRange[1], vgRange[2])
abline(v = vgMode(param = param), col = "blue")
abline(v = vgMean(param = param), col = "red")

Run the code above in your browser using DataLab