Learn R Programming

VarianceGamma (version 0.1-2)

Variance Gamma Moments 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))

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).

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.

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{Podgorski}, 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