Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

How Variance-Gamma Algorithms Price Pure-Jump Returns: Gamma Time Change, Characteristic Functions, Martingale Correction, Exact Increments and Calibration Failure

Three students in school uniforms work through open books at a classroom table, with textbooks and stationery nearby and study notes on the whiteboard behind them.

Reader question: What if financial returns have more skewness and kurtosis than a Gaussian diffusion can produce, but we do not want to say that prices jump only at rare Poisson event times?

The Variance-Gamma, or VG, model answers by randomising the clock. Begin with Brownian motion with drift, then let it run on a gamma-distributed operational time instead of calendar time. The resulting process is a Lévy process with independent stationary increments, skewness and excess kurtosis, and—in its Lévy representation—pure-jump dynamics rather than a continuous diffusion component.

This article owns the Variance-Gamma return-generation and pricing problem: VG parameters + risk-neutral martingale correction + maturity/random increments → return distributions, exact simulation increments, characteristic functions and option-pricing inputs.

It does not own generic FFT machinery, stochastic-volatility calibration, rare finite-activity jump diffusion or portfolio tail measurement. Those have separate roles in the Bukit Timah Tutor finance-and-banking-algorithms lane. The purpose here is to understand one model deeply enough that its formulas become testable algorithms rather than decorative notation.

This is public mathematical education. It is not financial advice, a trading model recommendation or a claim that VG is the correct data-generating process for any asset.

1. Randomise time before randomising price

Let Gt be a gamma process parameterised so that:

E[Gt] = t

and:

Var(Gt) = νt.

The parameter ν > 0 controls variability in the random clock.

Now define:

Xt = θGt + σWGt,

where W is Brownian motion independent of the gamma process.

Conditional on Gt = g:

Xt | Gt=g ~ Normal(θg, σ²g).

This gives the core algorithmic interpretation:

draw random business time → draw a Gaussian move over that amount of time.

Mixing normals over a gamma-distributed clock produces the Variance-Gamma distribution.

2. What the three parameters do

A common three-parameter VG representation uses:

  • σ > 0: diffusive scale inside the subordinated Brownian motion;
  • θ: directional skew parameter inside business time;
  • ν > 0: variability of the gamma clock and a major control on kurtosis/jump activity.

These parameters interact. It is therefore unsafe to read one parameter as a pure observable quantity without reference to the others.

As ν becomes small, the gamma clock becomes increasingly close to deterministic calendar time. Under the risk-neutral martingale correction, the model approaches the familiar lognormal diffusion limit.

3. The characteristic function is the computational shortcut

For the parameterisation above, the VG characteristic function is:

φXt(u) = E[eiuXt] = (1 − iθνu + ½σ²νu²)−t/ν.

This compact formula is enormously useful. It lets numerical pricing algorithms work in Fourier space without integrating the complicated return density directly.

The characteristic function also gives a simple implementation invariant:

φ(0) = 1.

If the code fails this, the characteristic function is wrong before any option is priced.

4. Risk-neutral stock dynamics need a martingale correction

If we naively write:

St = S0 exp[(r−q)t + Xt],

then the forward level is generally wrong because:

E[eXt] ≠ 1.

Under the standard VG parameterisation:

E[eXt] = (1 − θν − ½σ²ν)−t/ν,

provided the exponential moment exists.

Define:

ω = (1/ν) ln(1 − θν − ½σ²ν).

Then write:

St = S0 exp[(r−q+ω)t + Xt].

Now:

E[St] = S0e(r−q)t.

This correction is not optional bookkeeping. It is the no-arbitrage drift condition for this parameterisation.

5. The admissibility condition is an algorithmic gate

The logarithm in ω requires:

1 − θν − ½σ²ν > 0.

If calibration proposes parameters violating this condition, the standard exponential stock-price specification does not have the required first exponential moment and the martingale correction is not defined.

A robust optimiser must therefore treat the condition as a hard admissibility constraint rather than allow invalid parameters to flow into a pricing routine and create NaNs later.

6. Exact increment simulation is unusually simple

For a time increment Δ, the gamma-process increment is independent of the past and can be sampled directly.

Under the mean-Δ, variance-νΔ parameterisation, draw:

ΔG ~ Gamma(shape = Δ/ν, scale = ν).

Then draw:

Z ~ N(0,1)

and set:

ΔX = θΔG + σ√(ΔG)Z.

The log stock increment is:

ΔlnS = (r−q+ω)Δ + ΔX.

Unlike an Euler approximation to a diffusion, this samples the VG increment distribution exactly for the chosen time interval. There is no time-discretisation bias in the increment law itself.

Path-dependent payoffs can still suffer monitoring or event-grid error because the contract may depend on what happened between simulated dates. Exact increments do not solve every path problem.

7. Why VG is called a pure-jump process

The time-change representation contains Brownian motion, which can make the phrase “pure jump” sound contradictory.

The resolution is that the subordinated process has a Lévy representation with no continuous Brownian diffusion component. Its randomness can be represented through infinitely many jumps over finite time.

Standard VG has infinite activity: infinitely many small jumps in every interval in the mathematical idealisation. Yet it has finite variation under its usual Lévy representation.

This distinguishes it from Merton’s jump-diffusion model, where a continuous Brownian diffusion is supplemented by a finite-activity Poisson sequence of jumps.

8. Why infinite activity changes the modelling picture

In a Merton model, one can often ask “how many jumps occurred this year?” because jump count is a finite Poisson random variable.

In VG, there is no analogous finite count of all jumps. The process contains arbitrarily small movements at arbitrarily high frequency.

So the model does not treat every non-Gaussian feature as a rare shock. It changes the texture of the entire return process.

9. The normal-variance mixture explains skew and kurtosis

Conditional on gamma time, returns are normal. Unconditionally, the random clock stretches and compresses the variance of that normal distribution.

Some periods receive unusually large operational time, producing unusually dispersed moves. That creates heavier tails than a fixed-clock Gaussian.

The θ term shifts the conditional mean in proportion to gamma time, allowing asymmetry. Therefore the same random clock that creates excess kurtosis can also amplify skew.

This mechanism is more informative than saying only that “VG has fat tails.” It explains where the shape comes from.

10. Inputs and outputs

Inputs can include:

  • spot price;
  • rate and dividend curves;
  • VG parameters σ, θ and ν;
  • maturity;
  • strike grid;
  • pricing method: Fourier, closed-form equivalent, Monte Carlo or PIDE;
  • integration/truncation settings for transform methods;
  • path dates for simulation;
  • calibration objective and parameter bounds.

Outputs can include:

  • risk-neutral characteristic function;
  • martingale correction ω;
  • European option prices;
  • implied volatilities;
  • simulated return paths;
  • calibration residuals;
  • parameter admissibility flags;
  • Fourier truncation diagnostics;
  • out-of-sample smile errors.

11. Fourier pricing uses the characteristic function, not magic

European option prices can be written as expectations of payoffs under the risk-neutral distribution. Since VG supplies the characteristic function analytically, transform methods can evaluate those expectations efficiently.

The numerical route can be:

VG parameters → characteristic function → Fourier inversion → option prices.

Different transform algorithms organise the inversion differently. Carr–Madan applies damping and an FFT. The COS method expands the density/payoff on a truncated interval using cosine terms.

The model and the numerical inversion should be tested separately. A poor option price can come from wrong VG parameters or from a bad Fourier grid.

12. Calibration is an inverse problem

Given observed option prices or implied volatilities, calibration chooses σ, θ and ν so model prices approximate market prices.

A typical objective is:

minσ,θ,ν Σi wi[PVG,i − Pmkt,i]²

or an analogous implied-volatility error.

The weights wi matter. Equal price errors overweight expensive options; equal implied-volatility errors change the geometry of the fit; vega-weighting changes it again.

Calibration therefore does not produce “the parameters” independently of the objective function and quote set.

13. Identifiability can be weak

Several parameter combinations can create similar smile shapes over a limited strike/maturity region.

For example, larger ν can increase kurtosis while σ and θ adjust to preserve local smile features. A single maturity slice may not contain enough information to identify a stable global parameter set.

Diagnostic: restart the optimiser from many initial points and inspect whether very different parameters achieve nearly identical objective values.

If they do, report parameter uncertainty instead of pretending the optimiser discovered a unique economic truth.

14. Evidence polarity

Evidence for confidence includes exact recovery of the characteristic-function identity at u=0, correct martingale forward levels, Monte Carlo increments matching analytical moments, transform prices agreeing with Monte Carlo within sampling error, stable calibration across nearby quote sets, residuals without obvious strike/maturity structure, and convergence when Fourier integration ranges or grid sizes are refined.

Evidence against confidence includes violation of the exponential-moment condition, systematic forward-price bias, calibration parameters pinned to artificial bounds, transform prices changing materially with truncation settings, smile residuals that remain patterned, unstable parameters across adjacent days, or model fit that is excellent for vanillas but fails strongly on path-dependent products sensitive to temporal dynamics.

15. Counterexample: forgetting ω breaks no-arbitrage before calibration begins

Suppose a programmer simulates:

ST = S0e(r−q)T+XT

without the martingale correction.

The average simulated forward will be wrong whenever θ, σ or ν make E[eX] differ from one.

Falsifier: estimate the discounted expected terminal asset from a very large simulation. If it does not return the initial prepaid-forward level within Monte Carlo error, the risk-neutral specification is wrong.

16. Counterexample: a good one-maturity smile can hide a bad term structure

VG has a compact parameterisation. A single global parameter set may fit one option maturity well and struggle across many maturities because real implied-volatility surfaces have richer dynamics.

Falsifier: fit on one subset of maturities and test on held-out maturities. Persistent term-structure residuals show that the model is too rigid for that use.

17. Counterexample: exact increments do not imply exact barrier pricing

Suppose a continuously monitored barrier option is simulated only at daily dates. Each VG daily increment can be sampled exactly, but a barrier can be crossed between dates and return before the next observation.

The path monitor is still discretised.

Falsifier: refine the monitoring grid. If the price moves materially, the main error is contract monitoring rather than the VG increment generator.

18. Counterexample: pure-jump models can fit smiles but miss volatility persistence

VG has independent stationary increments. Real volatility can cluster through time.

A model may fit today’s marginal option distribution yet fail products whose value depends on persistent future volatility states.

Falsifier: compare conditional or forward-start option behaviour with data. If residuals reveal persistent state dependence absent from the model, consider stochastic-volatility or time-changed extensions.

19. Counterexample: Fourier numerics can masquerade as model failure

A characteristic function can be correct while an FFT produces oscillatory prices because damping, integration spacing or truncation range is poor.

Falsifier: reprice the same parameter set with an independent COS or direct quadrature implementation. If the model prices disagree, diagnose numerics before recalibrating the stochastic process.

20. Alternatives

Black–Scholes keeps continuous Gaussian diffusion and is the simplest limiting benchmark.

Merton jump diffusion combines diffusion with finite-activity Poisson jumps.

Heston keeps continuous paths but makes variance stochastic and persistent.

CGMY/tempered-stable models provide a broader Lévy family with more explicit control over jump activity and tail shape.

Stochastic-volatility-with-jumps models combine persistent variance states with discontinuities at the price of more parameters and calibration complexity.

A richer model is not automatically better. It must earn its extra degrees of freedom out of sample.

21. Verification ladder

  1. Characteristic-function identity: verify φ(0)=1 exactly.
  2. Martingale gate: verify 1−θν−½σ²ν > 0 and forward consistency.
  3. Increment moment test: compare simulated means, variances, skewness and kurtosis with analytical moments where used.
  4. Independent pricer: compare FFT, COS or quadrature prices.
  5. Black–Scholes limit: take ν toward zero and verify sensible convergence to the diffusion limit.
  6. Strike-grid test: inspect call monotonicity/convexity and put–call parity.
  7. Fourier-grid test: refine integration bounds and spacing.
  8. Calibration restart test: use multiple initial guesses.
  9. Out-of-sample test: hold out strikes or maturities.
  10. Path-grid test: separately refine event/monitoring dates for path-dependent claims.

22. Connections to the surrounding Bukit Timah Tutor knowledge estate

VG’s characteristic function feeds directly into Carr–Madan FFT option-pricing algorithms and Fourier COS option-pricing algorithms. Those pages own the transform engines; this page owns the stochastic process supplied to them.

The model contrasts naturally with Merton jump-diffusion algorithms: Merton adds a finite number of jumps to diffusion, whereas VG has a pure-jump infinite-activity representation.

It also contrasts with Heston calibration, where non-Gaussian option smiles come from stochastic variance rather than a Lévy time change.

The generic path machinery is covered by Monte Carlo pricing algorithms.

The full lane is indexed at Finance & Banking Algorithms | Applied Mathematics in Real Financial Systems.

23. What would falsify confidence?

Confidence should be withdrawn if the parameter set violates the exponential-moment gate; simulated forwards fail the martingale test; characteristic-function and Monte Carlo prices disagree beyond numerical error; Fourier prices fail convergence tests; calibrated parameters are non-identifiable; residuals show strong term-structure or strike patterns; or out-of-sample path-dependent prices reveal dynamics that independent stationary increments cannot represent.

24. Verification and update triggers

Preserve the VG parameter convention, martingale-correction formula, characteristic-function implementation, quote set, objective weights, optimiser settings, transform grid, simulation seed and independent benchmark prices. Parameterisation conventions differ across software libraries, so unit conversion and sign conventions must be explicit.

Revalidate after changes in characteristic-function code, FFT/COS libraries, calibration weights, quote filtering, parameter bounds or product scope. Trigger review when the admissibility margin approaches zero, calibration becomes unstable, forward errors appear, residual patterns persist, or the model is extended from European options to path-dependent claims.

25. Primary and high-quality references

Educational boundary: Variance-Gamma is a compact probabilistic model for non-Gaussian returns. A good fit to a marginal option smile does not prove its independent-increment dynamics describe future markets or make it suitable for a particular risk decision.