---
title: "Jump Processes"
book: "Quantitative Methods"
subject: quant
language: en
chapter: 6
exercises: 8
source: https://one-course.com/books/quant/4/en/chapter/6-jump-processes
---

# Chapter 6 — Jump Processes

On 19 October 1987 the Dow Jones Industrial Average fell 22.6% in one session. Measured in the standard deviation of the S&P 500’s daily returns over six decades, 0.98%, the index’s fall that day was a 21-standard-deviation move. A Gaussian model with that volatility gives such a day a probability of about $10^{-97}$: waiting for it would take longer than the universe has existed, many times over. No amount of re-estimating the volatility repairs this; what fails is the continuity of the paths. A process that moves continuously except at random times, when it jumps, can give the same day a probability of once in fifty years while keeping the ordinary days ordinary. This chapter builds the jump processes the series uses: Poisson and compound Poisson processes, Itô’s formula with jumps, and the Lévy processes, characterised by one formula, the Lévy–Khintchine formula, that later books use to price with (One Quant Book 5, chapter 13) and to transform (chapter 28 of this book).

## 6.1 Poisson and compound Poisson processes

**Definition 6.1 (Poisson process, compound Poisson process).**

A *Poisson process* with rate $\lambda > 0$ is a counting process $N_t$ with $N_0 =
0$, independent increments and $N_t - N_s \sim \mathrm{Poisson}(\lambda(t - s))$. A *compound Poisson process* is $J_t = \sum_{i=1}^{N_t}Y_i$, with the jump sizes $Y_i$ independent, identically distributed and independent of $N$.

The times between events are independent exponentials with mean $1/\lambda$, and the first event time $\tau_1$ has $\P(\tau_1 > t) = e^{-\lambda t}$: the survival probability of One Quant Book 2, chapter 23, where the rate is a hazard rate. A [Poisson process](#def-qm-jump-processes-poisson) is not a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale), but it becomes one when its expected growth is removed.

**Definition 6.2 (Compensated Poisson process).**

The *compensated Poisson process* is $\tilde N_t = N_t - \lambda
t$; for a [compound Poisson process](#def-qm-jump-processes-poisson), $J_t - \lambda\E[Y]t$.

Both are [martingales](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale), with $\E[\tilde N_t^2] = \lambda t$; the increments are independent and centred, and the variance of a Poisson variable is its mean. The compensated process is the jump analogue of [Brownian motion](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-bm): a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) with [quadratic variation](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-qv) $[\tilde N]_t = N_t$, the number of jumps ([Figure 6.1](#fig-qm-jump-processes-paths), left). Chapter 7 generalises the compensator to rates that depend on the past.

## 6.2 Itô’s formula with jumps

**Definition 6.3 (Jump-diffusion, semimartingale).**

A *jump-diffusion* is $X_t = X_0 + \int_0^t\mu_s\,ds + \int_0^t\sigma_s\,dW_s + J_t$, with $J$ a [compound Poisson process](#def-qm-jump-processes-poisson) (finitely many jumps on bounded intervals). A *semimartingale* is a process that is a [local martingale](https://one-course.com/books/quant/4/en/chapter/3-ito-calculus#def-qm-ito-calculus-local) plus an [adapted process](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-filtration) of finite variation, both càdlàg: the widest class of integrators for which stochastic integrals and Itô’s formula work.

**Theorem 6.4 (Itô’s formula with jumps).**

For a [jump-diffusion](#def-qm-jump-processes-jd) $X$ and $f \in C^2$,

$$
f(X_t) = f(X_0) + \int_0^tf'(X_{s-})(\mu_s\,ds + \sigma_s\,dW_s) + \tfrac12\int_0^tf^{\prime\prime}(X_{s-})\sigma_s^2\,ds +
\sum_{s \le t}\bigl(f(X_s) - f(X_{s-})\bigr).
$$

**Proof.** Between two jump times the process is an [Itô process](https://one-course.com/books/quant/4/en/chapter/3-ito-calculus#def-qm-ito-calculus-process) and [Theorem 3.7](https://one-course.com/books/quant/4/en/chapter/3-ito-calculus#thm-qm-ito-calculus-ito) applies; at a jump time $\tau_i$ the change of $f(X)$ is $f(X_{\tau_i}) - f(X_{\tau_i -})$. There are finitely many jumps on $[0, t]$, so summing the pieces gives the formula. ∎

The jump term is the exact change, not a Taylor expansion: jumps are not small. With $f = \exp$ and $S = e^X$, $dS_t/S_{t-} = (\mu_t + \tfrac12\sigma_t^2)\,dt + \sigma_t\,dW_t + (e^{\Delta X_t} - 1)$; compensating the last term, $S$ is a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) if and only if $\mu + \tfrac12\sigma^2 + \lambda(\E[e^Y] - 1) = 0$, the drift correction that every jump model of One Quant Book 5 carries.

![Left: a Poisson process with rate 5 a year and its compensated martingale N_t - 5t. Right: ten years of the chapter’s calibrated jump-diffusion (daily steps; jumps at rate 0.5 a year with mean -11.1\%, marked), with the drift that makes the mean daily return zero. Data: the chapter’s tutorial, seeded.](https://one-course.com/images/onecourse/chapters/quant-4/qm-jump-processes/fig-98e3fc0babe1.svg)

***Figure 6.1.** Left: a [Poisson process](#def-qm-jump-processes-poisson) with rate 5 a year and its compensated [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) $N_t - 5t$. Right: ten years of the chapter’s calibrated [jump-diffusion](#def-qm-jump-processes-jd) (daily steps; jumps at rate 0.5 a year with mean $-11.1\%$, marked), with the drift that makes the mean daily return zero. Data: the chapter’s tutorial, seeded.*

## 6.3 Lévy processes and the Lévy–Khintchine formula

**Definition 6.5 (Lévy process, infinitely divisible distribution).**

A *Lévy process* is a càdlàg process with $X_0 = 0$ and independent, stationary increments. A law $\mu$ is an *infinitely divisible distribution* if for every $n$ it is the law of a sum of $n$ independent, identically distributed variables.

The law of $X_1$ of a [Lévy process](#def-qm-jump-processes-levy) is infinitely divisible ($X_1$ is the sum of $n$ increments of length $1/n$), and conversely every infinitely divisible law is the law of $X_1$ for some [Lévy process](#def-qm-jump-processes-levy). [Brownian motion with drift](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-drift), the Poisson and compound Poisson processes, and their sums are Lévy processes; the general one adds infinitely many small jumps.

**Definition 6.6 (Lévy measure, Lévy triplet, characteristic exponent).**

The *Lévy measure* of a [Lévy process](#def-qm-jump-processes-levy) is $\nu(A) = \E[\#\{s \le 1 : \Delta X_s \in A\}]$, the expected number of jumps per unit time with size in $A$ ($0 \notin \bar A$); it satisfies $\int\min(1, x^2)\,\nu(dx) < \infty$. The *Lévy triplet* is $(\sigma^2, \nu, \gamma)$: Gaussian variance, Lévy measure and drift. The *characteristic exponent* is the function $\psi$ with $\varphi_{X_t}(u) = e^{t\psi(u)}$.

**Theorem 6.7 (Lévy–Khintchine).**

The [characteristic exponent](#def-qm-jump-processes-triplet) of a [Lévy process](#def-qm-jump-processes-levy) with triplet $(\sigma^2, \nu, \gamma)$ is

$$
\psi(u) = \iu\gamma u - \tfrac12\sigma^2u^2 + \int_{\R}\bigl(e^{\iu ux} - 1 - \iu ux\mathbf 1_{\{|x|<1\}}\bigr)\,\nu(dx),
$$

and every triplet with $\sigma^2 \ge 0$ and $\int\min(1, x^2)\,\nu(dx) < \infty$ defines a [Lévy process](#def-qm-jump-processes-levy). Moreover $X$ decomposes into a [Brownian motion with drift](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-drift), a [compound Poisson process](#def-qm-jump-processes-poisson) of the jumps larger than one, and a square-integrable [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) of the compensated small jumps (Lévy–Itô).

**Proof.** *Admitted here.* ∎

For a [compound Poisson process](#def-qm-jump-processes-poisson) with rate $\lambda$ and jump law $F$, $\nu = \lambda F$ and the integral is $\lambda(\varphi_Y(u) - 1)$, up to a drift: the computation is one line of conditioning on $N_t$. The chapter’s [jump-diffusion](#def-qm-jump-processes-jd), with Gaussian jumps, has $\psi(u) = \iu\mu u - \tfrac12\sigma^2u^2 + \lambda(e^{\iu u\mu_J - \sigma_J^2u^2/2} -
1)$. Every model of the running project is specified by its exponent (the tutorial’s first listing), and [Figure 6.2](#fig-qm-jump-processes-densities) compares four of them at one day.

**Definition 6.8 (Subordinator).**

A *subordinator* is a [Lévy process](#def-qm-jump-processes-levy) with nondecreasing paths; running a [Brownian motion](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-bm) on it as a clock, $X_t = \theta G_t + \sigma W_{G_t}$, gives a [Lévy process](#def-qm-jump-processes-levy) whose exponent is the subordinator’s Laplace exponent evaluated at $\iu u\theta - \sigma^2u^2/2$.

The gamma [subordinator](#def-qm-jump-processes-subordinator) gives the variance gamma process and the inverse Gaussian one the normal inverse [Gaussian process](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-bm): trading time that runs fast on busy days and slow on quiet ones. One Quant Book 5, chapter 13, defines the pricing models built on them. With the same annual variance as the chapter’s [jump-diffusion](#def-qm-jump-processes-jd), they spread their tail differently: the [jump-diffusion](#def-qm-jump-processes-jd) keeps a Gaussian body and adds a distant bump of crash days, the subordinated models fatten the whole tail smoothly ([Figure 6.2](#fig-qm-jump-processes-densities)).

![Densities of one day’s log return, on a log scale, for four Lévy models with the same variance (a daily standard deviation of 0.98%): the Gaussian, the chapter’s calibrated jump-diffusion, variance gamma (= -0.1, = 0.013) and normal inverse Gaussian (= 58, = -11.6), the last two with one-day excess kurtoses of 8.5 and 12.5. Histograms of 2 million simulated days each, with bins of 0.5 point. Data: the chapter’s tutorial, seeded.](https://one-course.com/images/onecourse/chapters/quant-4/qm-jump-processes/fig-7187246f3e8a.svg)

***Figure 6.2.** Densities of one day’s log return, on a log scale, for four Lévy models with the same variance (a daily standard deviation of 0.98%): the Gaussian, the chapter’s calibrated [jump-diffusion](#def-qm-jump-processes-jd), variance gamma ($\theta = -0.1$, $\nu = 0.013$) and normal inverse Gaussian ($\alpha = 58$, $\beta = -11.6$), the last two with one-day excess kurtoses of 8.5 and 12.5. Histograms of 2 million simulated days each, with bins of 0.5 point. Data: the chapter’s tutorial, seeded.*

## 6.4 Cumulants and the term structure of kurtosis

**Definition 6.9 (Cumulant).**

The $n$-th *cumulant* $\kappa_n$ of a random variable is the $n$-th derivative at zero of its cumulant generating function $\ln\E[e^{sX}]$; $\kappa_1$ is the mean, $\kappa_2$ the variance, $\kappa_3/\kappa_2^{3/2}$ the skewness and $\kappa_4/\kappa_2^2$ the excess kurtosis.

**Proposition 6.10 (Cumulants of a Lévy process scale with time).**

For a [Lévy process](#def-qm-jump-processes-levy), $\kappa_n(X_t) = t\,\kappa_n(X_1)$. Hence the skewness of $X_t$ decays like $t^{-1/2}$ and its excess kurtosis like $t^{-1}$. For Gaussian jumps, $\kappa_n(X_1)$ is the Gaussian part plus $\lambda\E[Y^n]$.

**Proof.** $\ln\E[e^{sX_t}] = t\psi(-\iu s)$ is linear in $t$, and so are its derivatives. For the compound Poisson part the [cumulant](#def-qm-jump-processes-cumulant) generating function is $\lambda(\E[e^{sY}] - 1)$, whose $n$-th derivative at zero is $\lambda\E[Y^n]$. ∎

A jump model that explains one-day crashes is close to Gaussian at a month: the kurtosis it needs at one day is diluted by averaging. For the chapter’s calibration the excess kurtosis is 76 at one day and 3.6 at a month ([Figure 6.3](#fig-qm-jump-processes-kurtosis)). Returns measured in markets keep more kurtosis at a month than this $1/t$ law allows, because their volatility itself clusters: the independence of increments, not the jumps, is what fails at longer horizons (chapter 18).

![Left: probability that one day’s return falls by at least x, on a _10 scale, for a Gaussian with the market’s daily standard deviation (0.98%) and for the chapter’s jump-diffusion with the same variance; at 20% (dashed) they differ by 88 orders of magnitude. Right: the jump-diffusion’s excess kurtosis over horizons of 1 to 252 days, from its cumulants and from 400 000 simulated returns per horizon. Data: the chapter’s tutorial, seeded.](https://one-course.com/images/onecourse/chapters/quant-4/qm-jump-processes/fig-a51d44cd55f5.svg)

***Figure 6.3.** Left: probability that one day’s return falls by at least $x$, on a $\log_{10}$ scale, for a Gaussian with the market’s daily standard deviation (0.98%) and for the chapter’s [jump-diffusion](#def-qm-jump-processes-jd) with the same variance; at 20% (dashed) they differ by 88 orders of magnitude. Right: the [jump-diffusion](#def-qm-jump-processes-jd)’s excess kurtosis over horizons of 1 to 252 days, from its [cumulants](#def-qm-jump-processes-cumulant) and from 400 000 simulated returns per horizon. Data: the chapter’s tutorial, seeded.*

## 6.5 Tutorial: a characteristic function you can check

**Goal.** Specify the chapter’s [jump-diffusion](#def-qm-jump-processes-jd) by its [characteristic exponent](#def-qm-jump-processes-triplet), simulate it, and check the exponent, the [cumulants](#def-qm-jump-processes-cumulant) and the kurtosis term structure against the paths. **End state:** Figures [6.1](#fig-qm-jump-processes-paths), [6.3](#fig-qm-jump-processes-kurtosis) and [6.4](#fig-qm-jump-processes-charfn) and the calibration of the weekend problem.

1. **The exponents** of the running project’s Lévy models. `def psi_bm (u, mu: float , sigma: float ): u = np.asarray(u, dtype=complex ) return 1 j * mu * u - 0.5 * sigma**2 * u**2 def psi_merton (u, mu: float , sigma: float , lam: float , mu_j: float , sigma_j: float ): u = np.asarray(u, dtype=complex ) return psi_bm(u, mu, sigma) + lam * (np.exp(1 j * u * mu_j - 0.5 * sigma_j**2 * u**2 ) - 1 ) def psi_kou (u, mu: float , sigma: float , lam: float , p: float , eta1: float , eta2: float ): u = np.asarray(u, dtype=complex ) return psi_bm(u, mu, sigma) + lam * (p * eta1 / (eta1 - 1 j * u) + (1 - p) * eta2 / (eta2 + 1 j * u) - 1 ) def psi_vg (u, theta: float , sigma: float , nu: float ): u = np.asarray(u, dtype=complex ) return -np.log(1 - 1 j * u * theta * nu + 0.5 * sigma**2 * nu * u**2 ) / nu def psi_nig (u, alpha: float , beta: float , delta: float ): u = np.asarray(u, dtype=complex ) return delta * (np.sqrt(alpha**2 - beta**2 ) - np.sqrt(alpha**2 - (beta + 1 j * u) ** 2 ))` **Listing 6.1.** Characteristic exponents: Brownian motion, Gaussian and double-exponential jumps, variance gamma, normal inverse Gaussian. code/firm/levy/firm_levy.py
2. **The calibration**: bisect on the mean jump size until a fall of 20% is a once-in-fifty-years event, holding the daily variance at $0.98\%^2$. `def calibrate (target_per_day: float = 1 / (EVERY * YEAR)) -> dict : """Find the mean jump size mu_j (negative) such that P(day <= -20%) hits the target, with the diffusion volatility adjusted so that the daily variance stays SD_DAY^2.""" def sig_c (mu_j): v = SD_DAY**2 - LAM / YEAR * (mu_j**2 + SIG_J**2 ) return math.sqrt(v * YEAR) if v > 0 else float (" nan " ) lo, hi = -0.20 , 0.0 for _ in range (80 ): mid = 0.5 * (lo + hi) sc = sig_c(mid) if math.isnan(sc) or day_tail(DROP, mid, sc) > target_per_day: lo = mid else : hi = mid mu_j = 0.5 * (lo + hi) return {" mu_j " : mu_j, " sig_c " : sig_c(mu_j), " tail " : day_tail(DROP, mu_j, sig_c(mu_j))}` **Listing 6.2.** Calibrating the jump size to a tail frequency at fixed variance. code/methods/06-jump-processes/python/qm_jumps.py
3. **Run** `problem()` , `charfn_check()` and `fig_jumps.py` ; the numerical [cumulants](#def-qm-jump-processes-cumulant) of `firm_levy.cumulants` agree with the closed forms to $10^{-7}$ .

**What to change next.** Replace the Gaussian jumps by double-exponential ones with the same mean and variance and compare the two tails at 20%; simulate variance gamma by subordination and check its kurtosis against $3\nu$ at unit time.

![Characteristic function of the calibrated jump-diffusion’s one-month return: the Lévy–Khintchine formula (lines) against the empirical average of e uX_t over 200 000 simulated returns (dots). Data: the chapter’s tutorial, seeded.](https://one-course.com/images/onecourse/chapters/quant-4/qm-jump-processes/fig-ce93a912821d.svg)

***Figure 6.4.** [Characteristic function](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-charfn) of the calibrated [jump-diffusion](#def-qm-jump-processes-jd)’s one-month return: the Lévy–Khintchine formula (lines) against the empirical average of $e^{\iu uX_t}$ over 200 000 simulated returns (dots). Data: the chapter’s tutorial, seeded.*

## 6.6 Build: the Lévy toolkit

**Purpose.** Every jump model of the miniature firm is specified once, by its [characteristic exponent](#def-qm-jump-processes-triplet), and used three ways: to simulate, to compute moments, and to price by transform (chapter 28).

**Interface.** `psi_bm`, `psi_merton`, `psi_kou`, `psi_vg`, `psi_nig`; `cumulants(psi, n_max)`; `merton_cumulants(…)`; `exp_martingale_drift(psi)`; `simulate_merton`, `simulate_vg`, `simulate_nig`.

**Rules.** Exponents take complex arguments and follow the series’ convention $\varphi_{X_t}(u) =
e^{t\psi(u)}$; simulations are exact on their grid; the [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) drift is computed from the exponent, never typed.

**Acceptance tests.** `code/firm/levy/tests/`: numerical [cumulants](#def-qm-jump-processes-cumulant) equal the closed forms; empirical [characteristic functions](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-charfn) of simulated paths match $e^{t\psi(u)}$; variance gamma and normal inverse Gaussian paths have the moments their exponents give; $e^X$ with the computed drift has constant mean.

**Stretch.** CGMY and stable exponents; exact simulation of [first-passage times](https://one-course.com/books/quant/4/en/chapter/2-brownian-motion#def-qm-brownian-motion-passage) for spectrally negative processes.

Sources and further reading

- Federal Reserve History, “Stock Market Crash of 1987”.
- CFA Institute, Enterprising Investor, “Fact file: S&P 500 sigma events”, 2012.
- R. C. Merton, “Option pricing when underlying stock returns are discontinuous”, *Journal of Financial Economics* 3, 1976.
- S. G. Kou, “A jump-diffusion model for option pricing”, *Management Science* 48, 2002.
- R. Cont and P. Tankov, *Financial Modelling with Jump Processes* , Chapman & Hall/CRC, 2004.

## 6.7 Exercises

**Exercise 6.1 ★.**

Events arrive as a [Poisson process](#def-qm-jump-processes-poisson) at 5 a year. What is the probability of none in a month, and the expected wait for the next one?

**Solution of Exercise 6.1.**

$e^{-5/12} = 65.9\%$; by memorylessness the expected wait is $1/5$ of a year, whatever has happened.

**Exercise 6.2 ★.**

Jumps arrive at 3 a year with sizes $\mathcal N(-2\%, 4\%^2)$. What are the mean and standard deviation of their sum over a year?

**Solution of Exercise 6.2.**

Mean $3 \times (-2\%) = -6\%$; variance $3(0.02^2 + 0.04^2) = 0.006$, a standard deviation of 7.75%.

**Exercise 6.3 ★.**

Show that $N_t - \lambda t$ is a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) and that $\E[(N_t - \lambda t)^2] = \lambda t$.

**Solution of Exercise 6.3.**

For $s < t$, $N_t - N_s$ is independent of $\mathcal F_s$ with mean $\lambda(t - s)$, so $\E_s[N_t - \lambda t] = N_s - \lambda s$; and $\E[(N_t - \lambda t)^2] = \Var(N_t) = \lambda t$.

**Exercise 6.4 ★★.**

For $X = \sigma W + J$ with $J$ compound Poisson, write $d(e^{X_t})$ with [Theorem 6.4](#thm-qm-jump-processes-ito), and find the drift to add to $X$ so that $e^X$ is a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale).

**Solution of Exercise 6.4.**

$d(e^{X_t}) = e^{X_{t-}}(\sigma\,dW_t + \tfrac12\sigma^2dt) + e^{X_{t-}}(e^{\Delta X_t} - 1)$. The jump term has compensator $e^{X_{t-}}\lambda(\E[e^Y] - 1)\,dt$, so the drift $b = -\tfrac12\sigma^2 - \lambda(\E[e^Y] - 1)$ added to $X$ makes $e^X$ a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale).

**Exercise 6.5 ★★.**

Jumps arrive at rate 2 with exponential sizes of mean $1/50$. Write the [characteristic exponent](#def-qm-jump-processes-triplet) of the [compound Poisson process](#def-qm-jump-processes-poisson) and its mean and variance at $t = 1$.

**Solution of Exercise 6.5.**

$\psi(u) = 2(50/(50 - \iu u) - 1)$; mean $\lambda\E[Y] = 2/50 = 0.04$, variance $\lambda\E[Y^2] = 2 \times 2/50^2 = 0.0016$.

**Exercise 6.6 ★★.**

A Lévy model has an excess kurtosis of 76.4 at one day. What does it have at a week of five days and at a year of 252?

**Solution of Exercise 6.6.**

$76.4/5 = 15.3$ at a week and $76.4/252 = 0.30$ at a year.

**Exercise 6.7 ★★★.**

*Coding.* With `cumulants`, compute the first four [cumulants](#def-qm-jump-processes-cumulant) of the variance gamma process with $\theta = -0.1$, $\sigma = 0.2$, $\nu = 0.3$ at unit time, and check them against $\kappa_1 = \theta$, $\kappa_2 = \sigma^2 +
\nu\theta^2$, $\kappa_3 = 2\theta^3\nu^2 + 3\sigma^2\theta\nu$, $\kappa_4 = 3\sigma^4\nu + 6\theta^4\nu^3 + 12\sigma^2\theta^2\nu^2$.

**Solution of Exercise 6.7.**

$(-0.1,\ 0.043,\ -0.00378,\ 0.001888)$ both ways: the finite differences of the [cumulant](#def-qm-jump-processes-cumulant) generating function agree with the formulas to about $10^{-7}$.

**Exercise 6.8 ★★★.**

*Find the flaw.* “Monthly returns of our index have an excess kurtosis of 1.2, close to Gaussian, so jumps do not matter for our one-day risk.”

**Solution of Exercise 6.8.**

In a Lévy model the excess kurtosis falls like $1/t$: 1.2 at 21 days corresponds to about 25 at one day. Monthly returns average away exactly the jumps that matter for one-day risk; measure the tail at the horizon of the risk.

## 6.8 Problem: Twenty Standard Deviations

**Problem 6.1.**

Weekend problem — a crash that a diffusion cannot produce

Daily returns of an index have a standard deviation of 0.98%. A risk manager wants a model in which a one-day fall of 20% or more happens once in fifty years of 252 days, and ordinary days keep that variance. The model is a [jump-diffusion](#def-qm-jump-processes-jd): jumps at rate $\lambda = 0.5$ a year with sizes $\mathcal N(\mu_J,
0.05^2)$, and a diffusion whose volatility makes up the rest of the variance.

**Part I — The day.**

1. How large a fall is 20.98 standard deviations?
2. What probability does a Gaussian with that standard deviation give it? (Give $\log_{10}$ .)
3. And a fall of exactly 20%?
4. What annual volatility does 0.98% a day make?
5. Why can re-estimating the volatility not rescue the Gaussian model?

**Part II — The [jump-diffusion](#def-qm-jump-processes-jd).**

6. What mean jump size $\mu_J$ makes a 20% fall a once-in-fifty-years event?
7. What diffusion volatility keeps the daily variance at $0.98\%^2$ ?
8. What share of the variance do the jumps carry?
9. What is the probability of a jump on a given day?
10. How often does the model produce a fall of 10% or more?

**Part III — [Cumulants](#def-qm-jump-processes-cumulant).**

11. What are the one-day skewness and excess kurtosis?
12. What is the excess kurtosis at a month of 21 days?
13. Why does it fall like $1/t$ ?
14. What drift correction makes $e^X$ a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale) ?
15. Check the kurtosis at five days against simulation.

**Part IV — Judgement.**

16. Is “once in fifty years” an estimate or a choice?
17. What would the model miss that the data show at a month?
18. Which options does the calibration matter most for?
19. State the *named result* : the size of the 1987 day under a diffusion, and the jump that makes it rare but possible.
20. In one sentence: what does a jump process change that a volatility cannot?

**Solution of Problem 6.1.**

**1.** $20.98 \times 0.98\% = 20.6\%$. **2.** $\log_{10}\Phi(-20.98) = -97.3$. **3.** $20\%/0.98\% = 20.4$ standard deviations: $\log_{10}$ probability $-92.2$. **4.** $0.98\%\sqrt{252} = 15.6\%$. **5.** A Gaussian volatility high enough to make the day plausible would make ordinary days several times more volatile than they are; the tail and the body cannot both fit. **6.** $\mu_J = -11.1\%$. **7.** 13.0% a year (12.96%). **8.** 31%: $0.5/252 \times (0.111^2 + 0.05^2)$ out of $0.0098^2$. **9.** $1 - e^{-0.5/252} = 0.20\%$. **10.** With probability 0.116% a day: once every 3.4 years. **11.** Skewness $-4.64$, excess kurtosis 76.4. **12.** $76.4/21 = 3.64$. **13.** [Cumulants](#def-qm-jump-processes-cumulant) of a [Lévy process](#def-qm-jump-processes-levy) are linear in $t$, so $\kappa_4/\kappa_2^2 \propto t/t^2$. **14.** $-\lambda(\E[e^Y] - 1) = -0.5(e^{-0.111 + 0.00125} - 1) = +5.2\%$ a year, on top of $-\tfrac12\sigma_c^2$. **15.** 15.3 in theory, 15.6 in 400 000 simulated five-day returns. **16.** A choice: one such day in the record cannot estimate a frequency; the model encodes a judgement about how often it should be allowed to happen. **17.** Volatility clustering: in the data the kurtosis decays more slowly than $1/t$ (chapter 18). **18.** Short-dated, far out-of-the-money puts, whose value is almost all jump probability (One Quant Book 5, chapter 13). **19.** Named result: *twenty standard deviations*: the 1987 day was a 21-standard-deviation fall, with Gaussian probability $10^{-97}$; jumps at rate 0.5 a year with mean $-11.1\%$ and standard deviation 5%, carrying 31% of the variance, make a fall of 20% a once-in-fifty-years event, at the cost of a one-day excess kurtosis of 76 (3.6 at a month). **20.** It changes the shape of the one-day law, putting mass in the tail without raising the variance of ordinary days.

## 6.9 Interview questions

**Interview question 6.1 ★ trader, risk.**

A model says yesterday’s move was a 20-standard-deviation event. What do you conclude?

**Solution of Interview question 6.1.**

That the model, not the market, is wrong: under it the move should never have happened. Check the data first (a bad print, a corporate action), then the model’s assumptions (continuous paths, constant volatility, Gaussian shocks) and the risk numbers that depend on them.

*What the interviewer is looking for: model failure, not bad luck.*

**Interview question 6.2 ★ researcher.**

Trades arrive as a [Poisson process](#def-qm-jump-processes-poisson) at 2 a second. What is the probability of at least two in a second, and the expected time to the next one?

**Solution of Interview question 6.2.**

$1 - e^{-2}(1 + 2) = 59.4\%$; half a second, whatever the time since the last trade.

*What the interviewer is looking for: Poisson probabilities and memorylessness.*

**Interview question 6.3 ★★ bank, trader.**

Why can a delta hedge not remove the risk of a jump?

**Solution of Interview question 6.3.**

A delta hedge offsets small moves to first order; a jump is a large move, and the option’s value changes by the full difference $V(S + \Delta S) - V(S)$, not $\Delta\cdot\Delta S$. With random jump sizes there is one more source of risk than the stock can hedge: the market is incomplete.

*What the interviewer is looking for: nonlinearity plus incompleteness.*

**Interview question 6.4 ★★ researcher.**

State the Lévy–Khintchine formula and say what each part of the triplet means.

**Solution of Interview question 6.4.**

$\psi(u) = \iu\gamma u - \tfrac12\sigma^2u^2 + \int(e^{\iu ux} - 1 - \iu ux\mathbf 1_{|x|<1})\,\nu(dx)$: $\gamma$ a drift, $\sigma^2$ the Brownian variance, $\nu$ the expected number of jumps per unit time by size.

*What the interviewer is looking for: the three parts and the role of $\nu$.*

**Interview question 6.5 ★★ researcher, risk.**

How does the kurtosis of returns change with the horizon in a Lévy model, and in the data?

**Solution of Interview question 6.5.**

[Cumulants](#def-qm-jump-processes-cumulant) scale with $t$, so the excess kurtosis falls like $1/t$ and a monthly return is nearly Gaussian. In the data it falls more slowly, because volatility clusters and increments are not independent.

*What the interviewer is looking for: $\kappa_n(t) = t\kappa_n(1)$ and what breaks it.*

**Interview question 6.6 ★★★ bank, researcher.**

In a [jump-diffusion](#def-qm-jump-processes-jd) for a stock under the [risk-neutral measure](https://one-course.com/books/quant/4/en/chapter/5-girsanov-and-changes-of-numeraire#def-qm-girsanov-and-changes-of-numeraire-emm), what must the drift be, and why?

**Solution of Interview question 6.6.**

The discounted price must be a [martingale](https://one-course.com/books/quant/4/en/chapter/1-probability-at-speed#def-qm-probability-at-speed-martingale): for $S = S_0e^X$ with $X = bt + \sigma W + J$, $b = r - \tfrac12\sigma^2 -
\lambda(\E[e^Y] - 1)$, the jump compensator removing the jumps’ average contribution. Otherwise the model admits arbitrage against the [money-market account](https://one-course.com/books/quant/4/en/chapter/5-girsanov-and-changes-of-numeraire#def-qm-girsanov-and-changes-of-numeraire-numeraire).

*What the interviewer is looking for: the compensator in the drift.*
