How to simulate stock prices using variance gamma process?

I want to simulate stock prices with the variance gamma process. The model is given by:

$S_T=S_0 e^{ {[}(r-1)T + \omega + z{]}}$

where

$S_0=$ starting value

$T=$ Time

$\omega=\frac{T}{\nu}ln(1-\theta \nu - \sigma^2 \frac{\nu }{2})$

$r=$ interest rate

$z=$ normally distributed variable with mean $\theta g$ and standard deviation $\sigma \sqrt{g}$

I know, that I have to simulate first the g values by a random generator (using gamma function with parameters), then generate random numbers z using the g's. But my problem is, how does I specify the three parameters $\nu$ and $\theta$ and r? The T means years, so if I have e.g. 10 trading days, this would be 10 divided by 365. I had a another simulation with the geometric brownian motion before, there I used the sample mean, sample standard deviation, 22 trading days, and starting value 20. So I thought to make it comparable:

$T=22/365$

$S_0=20$

Nut what about $\theta$, $\nu$ and r? Is r just the sample mean?

• Hi, welcome to Quant.SE. Please don't hesitate to register in order to help the site grow and make it out of beta. – SRKX Nov 22 '12 at 14:42

This paper seems to outline what you are looking for. You want to be careful about mean/variance/kurtosis to make sure you are working in the correct measure.

• Any chance you could summarize the contents of that paper here? – chrisaycock Dec 26 '12 at 17:12
• It's a basic survey/study of a variance gamma model vs black-scholes, using calibrations to both historical as well as implied data. – experquisite Dec 27 '12 at 4:12

Since the variance gamma process can actually be expressed as the difference of two gamma processes, the parameters are quite easy to estimate.

Taking the mean (rate) and variance (rate) of the positive values and negatives will give you the variables necessary to estimate the total variance gamma process parameters.

They are described in a more recent paper on the subject as:

$$\frac{\mu^2_p}{\nu_p}=\frac{\mu^2_n}{\nu_n}=\frac{1}{\nu},$$ $$\frac{\nu_p\nu_n}{\mu_p\mu_n}=\frac{\sigma^2\nu}{2},$$ $$\frac{\nu_p}{\mu_p}-\frac{\nu_n}{\mu_n}=\theta\nu$$

Shortcut & special cases

$\theta$ is the expected value of all samples.

If $\nu=0$ then $\sigma$ is the variance of all samples.

If $\theta=\sigma=1$ then the skewness of all samples is equal to $2\nu^2+3\nu$.

If you say stock prices are following GBM then you can say

$dS_t = \mu S_tdt + \sigma S_t dW_t$

solving which it brings where $\sigma$ is volatility and $r$ is risk free rate .

**EDITED

For a Variance Gamma process theta is the deterministic drift in subordinated Brownian motion and sigma standard deviation in subordinated Brownian motion. I choose mu in (0.1,0.3) and volatility estimate by GARCH or around 15% lower to 30% upper for a typical simulation

HTH

• @ Ashwani Roy no, this is not an appropriate answer to my question, I did a GBM simulation already, now I want to do it with VG – user1690846 Nov 22 '12 at 9:54
• Sorry , totally misunderstood . Edited based on what i know about Levy's process models – ash Nov 22 '12 at 10:32
• Why are these equations presented as images? You can enter $\LaTeX$ code and it will be converted into text appropriate for a browser. – chrisaycock Nov 22 '12 at 13:44
• @chrisaycock Sorry I am new to answering here. Will try this in future. Apologies if it caused any problems – ash Nov 22 '12 at 13:55
• @AshwaniRoy I edited the answer and convereted the first equation to $\LaTeX$ for you so you can use it as an example to convert the other and future. Thanks for taking the time to answer! – Louis Marascio Nov 22 '12 at 15:54

The parameters θ, ν and r need to be estimated from the sample with some technique, but unfortunately there is no easy way to do that for a VG process.

There is, for example, "maximum likelihood estimation" that gives you the parameters that are "most likely" to have generated your sample, assuming your sample comes from a VG process. But MLE involves computing the likelihood function of a VG process which is extremely complex by itself (check its pdf on the VG process wikipedia page).