Learn R Programming

Runuran (version 0.40)

udvg: UNU.RAN object for Variance Gamma distribution

Description

Create UNU.RAN object for a Variance Gamma distribution with shape parameter lambda, shape parameter alpha, asymmetry (shape) parameter beta, and location parameter mu.

[Distribution] -- Variance Gamma.

Usage

udvg(lambda, alpha, beta, mu, lb=-Inf, ub=Inf)

Value

An object of class "unuran.cont".

Arguments

lambda

shape parameter (must be strictly positive).

alpha

shape parameter (must be strictly larger than absolute value of beta).

beta

asymmetry (shape) parameter.

mu

location parameter.

lb

lower bound of (truncated) distribution.

ub

upper bound of (truncated) distribution.

Author

Josef Leydold and Kemal Dingec unuran@statmath.wu.ac.at.

Details

The variance gamma distribution with parameters \(\lambda\), \(\alpha\), \(\beta\), and \(\mu\) has density $$ f(x) = \kappa \; |x-\mu|^{\lambda-1/2} \cdot \exp(\beta(x-\mu)) \cdot K_{\lambda-1/2}\left(\alpha|x-\mu|\right) $$ where the normalization constant is given by $$ \kappa = \frac{\left(\alpha^2 - \beta^2\right)^{\lambda}}{ \sqrt{\pi} \, (2 \alpha)^{\lambda-1/2} \, \Gamma\left(\lambda\right)} $$

\(K_{\lambda}(t)\) is the modified Bessel function of the third kind with index \(\lambda\). \(\Gamma(t)\) is the Gamma function.

Notice that \(\alpha>|\beta|\) and \(\lambda>0\).

The domain of the distribution can be truncated to the interval (lb,ub).

References

Eberlein, E., von Hammerstein, E. A., 2004. Generalized hyperbolic and inverse Gaussian distributions: limiting cases and approximation of processes. In Seminar on Stochastic Analysis, Random Fields and Applications IV, Progress in Probability 58, R. C. Dalang, M. Dozzi, F. Russo (Eds.), Birkhauser Verlag, p. 221--264.

Madan, D. B., Seneta, E., 1990. The variance gamma (V.G.) model for share market returns. Journal of Business, Vol. 63, p. 511--524.

Raible, S., 2000. L\'evy Processes in Finance: Theory, Numerics, and Empirical Facts. Ph.D. thesis, University of Freiburg.

See Also

unuran.cont.

Examples

Run this code
## Create distribution object for variance gamma distribution
distr <- udvg(lambda=2.25, alpha=210.5, beta=-5.14, mu=0.00094)
## Generate generator object; use method PINV (inversion)
gen <- pinvd.new(distr)
## Draw a sample of size 100
x <- ur(gen,100)

Run the code above in your browser using DataLab