Quantitative Finance · Book 4 · Methods

Quantitative Methods

Quantitative Methods · Methods

6Jump 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−9710^{-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 λ>0\lambda > 0 is a counting process NtN_t with N0=0N_0 = 0, independent increments and Nt−Ns∼Poisson(λ(t−s))N_t - N_s \sim \mathrm{Poisson}(\lambda(t - s)). A compound Poisson process is Jt=∑i=1NtYiJ_t = \sum_{i=1}^{N_t}Y_i, with the jump sizes YiY_i independent, identically distributed and independent of NN.

The times between events are independent exponentials with mean 1/λ1/\lambda, and the first event time τ1\tau_1 has P(τ1>t)=e−λt\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 is not a martingale, but it becomes one when its expected growth is removed.

Definition 6.2 (Compensated Poisson process)

The compensated Poisson process is N~t=Nt−λt\tilde N_t = N_t - \lambda t; for a compound Poisson process, Jt−λE[Y]tJ_t - \lambda\E[Y]t.

Both are martingales, with E[N~t2]=λt\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: a martingale with quadratic variation [N~]t=Nt[\tilde N]_t = N_t, the number of jumps (Figure 6.1, 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 Xt=X0+∫0tμs ds+∫0tσs dWs+JtX_t = X_0 + \int_0^t\mu_s\,ds + \int_0^t\sigma_s\,dW_s + J_t, with JJ a compound Poisson process (finitely many jumps on bounded intervals). A semimartingale is a process that is a local martingale plus an adapted process 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 XX and f∈C2f \in C^2,

f(Xt)=f(X0)+∫0tf′(Xs−)(μs ds+σs dWs)+12∫0tf′′(Xs−)σs2 ds+∑s≤t(f(Xs)−f(Xs−)).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 and Theorem 3.7 applies; at a jump time τi\tau_i the change of f(X)f(X) is f(Xτi)−f(Xτi−)f(X_{\tau_i}) - f(X_{\tau_i -}). There are finitely many jumps on [0,t][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⁡f = \exp and S=eXS = e^X, dSt/St−=(μt+12σt2) dt+σt dWt+(eΔXt−1)dS_t/S_{t-} = (\mu_t + \tfrac12\sigma_t^2)\,dt + \sigma_t\,dW_t + (e^{\Delta X_t} - 1); compensating the last term, SS is a martingale if and only if μ+12σ2+λ(E[eY]−1)=0\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.
Figure 6.1. Left: a Poisson process with rate 5 a year and its compensated martingale Nt−5tN_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%-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 X0=0X_0 = 0 and independent, stationary increments. A law μ\mu is an infinitely divisible distribution if for every nn it is the law of a sum of nn independent, identically distributed variables.

The law of X1X_1 of a Lévy process is infinitely divisible (X1X_1 is the sum of nn increments of length 1/n1/n), and conversely every infinitely divisible law is the law of X1X_1 for some Lévy process. Brownian motion with 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 is ν(A)=E[#{s≤1:ΔXs∈A}]\nu(A) = \E[\#\{s \le 1 : \Delta X_s \in A\}], the expected number of jumps per unit time with size in AA (0∉Aˉ0 \notin \bar A); it satisfies ∫min⁡(1,x2) ν(dx)<∞\int\min(1, x^2)\,\nu(dx) < \infty. The Lévy triplet is (σ2,ν,γ)(\sigma^2, \nu, \gamma): Gaussian variance, Lévy measure and drift. The characteristic exponent is the function ψ\psi with φXt(u)=etψ(u)\varphi_{X_t}(u) = e^{t\psi(u)}.

Theorem 6.7 (Lévy–Khintchine)

The characteristic exponent of a Lévy process with triplet (σ2,ν,γ)(\sigma^2, \nu, \gamma) is

ψ(u)=iγu−12σ2u2+∫R(eiux−1−iux1{∣x∣<1}) ν(dx),\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 σ2≥0\sigma^2 \ge 0 and ∫min⁡(1,x2) ν(dx)<∞\int\min(1, x^2)\,\nu(dx) < \infty defines a Lévy process. Moreover XX decomposes into a Brownian motion with drift, a compound Poisson process of the jumps larger than one, and a square-integrable martingale of the compensated small jumps (Lévy–Itô).

Proof. Admitted here. ∎

For a compound Poisson process with rate λ\lambda and jump law FF, ν=λF\nu = \lambda F and the integral is λ(φY(u)−1)\lambda(\varphi_Y(u) - 1), up to a drift: the computation is one line of conditioning on NtN_t. The chapter’s jump-diffusion, with Gaussian jumps, has ψ(u)=iμu−12σ2u2+λ(eiuμJ−σJ2u2/2−1)\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 compares four of them at one day.

Definition 6.8 (Subordinator)

A subordinator is a Lévy process with nondecreasing paths; running a Brownian motion on it as a clock, Xt=θGt+σWGtX_t = \theta G_t + \sigma W_{G_t}, gives a Lévy process whose exponent is the subordinator’s Laplace exponent evaluated at iuθ−σ2u2/2\iu u\theta - \sigma^2u^2/2.

The gamma subordinator gives the variance gamma process and the inverse Gaussian one the normal inverse Gaussian process: 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, they spread their tail differently: the jump-diffusion keeps a Gaussian body and adds a distant bump of crash days, the subordinated models fatten the whole tail smoothly (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, 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.
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, variance gamma (θ=−0.1\theta = -0.1, ν=0.013\nu = 0.013) and normal inverse Gaussian (α=58\alpha = 58, β=−11.6\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 nn-th cumulant κn\kappa_n of a random variable is the nn-th derivative at zero of its cumulant generating function ln⁡E[esX]\ln\E[e^{sX}]; κ1\kappa_1 is the mean, κ2\kappa_2 the variance, κ3/κ23/2\kappa_3/\kappa_2^{3/2} the skewness and κ4/κ22\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, κn(Xt)=t κn(X1)\kappa_n(X_t) = t\,\kappa_n(X_1). Hence the skewness of XtX_t decays like t−1/2t^{-1/2} and its excess kurtosis like t−1t^{-1}. For Gaussian jumps, κn(X1)\kappa_n(X_1) is the Gaussian part plus λE[Yn]\lambda\E[Y^n].

Proof. ln⁡E[esXt]=tψ(−is)\ln\E[e^{sX_t}] = t\psi(-\iu s) is linear in tt, and so are its derivatives. For the compound Poisson part the cumulant generating function is λ(E[esY]−1)\lambda(\E[e^{sY}] - 1), whose nn-th derivative at zero is λE[Yn]\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). Returns measured in markets keep more kurtosis at a month than this 1/t1/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.
Figure 6.3. Left: probability that one day’s return falls by at least xx, on a log⁡10\log_{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.

6.5 Tutorial: a characteristic function you can check

Goal. Specify the chapter’s jump-diffusion by its characteristic exponent, simulate it, and check the exponent, the cumulants and the kurtosis term structure against the paths. End state: Figures 6.1, 6.3 and 6.4 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 1j * 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(1j * 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 - 1j * u) + (1 - p) * eta2 / (eta2 + 1j * u) - 1)
    
    
    def psi_vg(u, theta: float, sigma: float, nu: float):
        u = np.asarray(u, dtype=complex)
        return -np.log(1 - 1j * 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 + 1j * 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%20.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 of firm_levy.cumulants agree with the closed forms to 10−710^{-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ν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.
Figure 6.4. Characteristic function of the calibrated jump-diffusion’s one-month return: the Lévy–Khintchine formula (lines) against the empirical average of eiuXte^{\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, 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 φXt(u)=etψ(u)\varphi_{X_t}(u) = e^{t\psi(u)}; simulations are exact on their grid; the martingale drift is computed from the exponent, never typed.

Acceptance tests. code/firm/levy/tests/: numerical cumulants equal the closed forms; empirical characteristic functions of simulated paths match etψ(u)e^{t\psi(u)}; variance gamma and normal inverse Gaussian paths have the moments their exponents give; eXe^X with the computed drift has constant mean.

Stretch. CGMY and stable exponents; exact simulation of first-passage times 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 at 5 a year. What is the probability of none in a month, and the expected wait for the next one?

Solution

Solution of Exercise 6.1.

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

Exercise 6.2 ★

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

Solution

Solution of Exercise 6.2.

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

Exercise 6.3 ★

Show that Nt−λtN_t - \lambda t is a martingale and that E[(Nt−λt)2]=λt\E[(N_t - \lambda t)^2] = \lambda t.

Solution

Solution of Exercise 6.3.

For s<ts < t, Nt−NsN_t - N_s is independent of Fs\mathcal F_s with mean λ(t−s)\lambda(t - s), so Es[Nt−λt]=Ns−λs\E_s[N_t - \lambda t] = N_s - \lambda s; and E[(Nt−λt)2]=Var⁡(Nt)=λt\E[(N_t - \lambda t)^2] = \Var(N_t) = \lambda t.

Exercise 6.4 ★★

For X=σW+JX = \sigma W + J with JJ compound Poisson, write d(eXt)d(e^{X_t}) with Theorem 6.4, and find the drift to add to XX so that eXe^X is a martingale.

Solution

Solution of Exercise 6.4.

d(eXt)=eXt−(σ dWt+12σ2dt)+eXt−(eΔXt−1)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 eXt−λ(E[eY]−1) dte^{X_{t-}}\lambda(\E[e^Y] - 1)\,dt, so the drift b=−12σ2−λ(E[eY]−1)b = -\tfrac12\sigma^2 - \lambda(\E[e^Y] - 1) added to XX makes eXe^X a martingale.

Exercise 6.5 ★★

Jumps arrive at rate 2 with exponential sizes of mean 1/501/50. Write the characteristic exponent of the compound Poisson process and its mean and variance at t=1t = 1.

Solution

Solution of Exercise 6.5.

ψ(u)=2(50/(50−iu)−1)\psi(u) = 2(50/(50 - \iu u) - 1); mean λE[Y]=2/50=0.04\lambda\E[Y] = 2/50 = 0.04, variance λE[Y2]=2×2/502=0.0016\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

Solution of Exercise 6.6.

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

Exercise 6.7 ★★★

Coding. With cumulants, compute the first four cumulants of the variance gamma process with θ=−0.1\theta = -0.1, σ=0.2\sigma = 0.2, ν=0.3\nu = 0.3 at unit time, and check them against κ1=θ\kappa_1 = \theta, κ2=σ2+νθ2\kappa_2 = \sigma^2 + \nu\theta^2, κ3=2θ3ν2+3σ2θν\kappa_3 = 2\theta^3\nu^2 + 3\sigma^2\theta\nu, κ4=3σ4ν+6θ4ν3+12σ2θ2ν2\kappa_4 = 3\sigma^4\nu + 6\theta^4\nu^3 + 12\sigma^2\theta^2\nu^2.

Solution

Solution of Exercise 6.7.

(−0.1, 0.043, −0.00378, 0.001888)(-0.1,\ 0.043,\ -0.00378,\ 0.001888) both ways: the finite differences of the cumulant generating function agree with the formulas to about 10−710^{-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

Solution of Exercise 6.8.

In a Lévy model the excess kurtosis falls like 1/t1/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: jumps at rate λ=0.5\lambda = 0.5 a year with sizes N(μJ,0.052)\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\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.

  1. What mean jump size μJ\mu_J makes a 20% fall a once-in-fifty-years event?
  2. What diffusion volatility keeps the daily variance at 0.98%20.98\%^2?
  3. What share of the variance do the jumps carry?
  4. What is the probability of a jump on a given day?
  5. How often does the model produce a fall of 10% or more?

Part III — Cumulants.

  1. What are the one-day skewness and excess kurtosis?
  2. What is the excess kurtosis at a month of 21 days?
  3. Why does it fall like 1/t1/t?
  4. What drift correction makes eXe^X a martingale?
  5. Check the kurtosis at five days against simulation.

Part IV — Judgement.

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

Solution of Problem 6.1.

1. 20.98×0.98%=20.6%20.98 \times 0.98\% = 20.6\%. 2. log⁡10Φ(−20.98)=−97.3\log_{10}\Phi(-20.98) = -97.3. 3. 20%/0.98%=20.420\%/0.98\% = 20.4 standard deviations: log⁡10\log_{10} probability −92.2-92.2. 4. 0.98%252=15.6%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. μJ=−11.1%\mu_J = -11.1\%. 7. 13.0% a year (12.96%). 8. 31%: 0.5/252×(0.1112+0.052)0.5/252 \times (0.111^2 + 0.05^2) out of 0.009820.0098^2. 9. 1−e−0.5/252=0.20%1 - e^{-0.5/252} = 0.20\%. 10. With probability 0.116% a day: once every 3.4 years. 11. Skewness −4.64-4.64, excess kurtosis 76.4. 12. 76.4/21=3.6476.4/21 = 3.64. 13. Cumulants of a Lévy process are linear in tt, so κ4/κ22∝t/t2\kappa_4/\kappa_2^2 \propto t/t^2. 14. −λ(E[eY]−1)=−0.5(e−0.111+0.00125−1)=+5.2%-\lambda(\E[e^Y] - 1) = -0.5(e^{-0.111 + 0.00125} - 1) = +5.2\% a year, on top of −12σc2-\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/t1/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−9710^{-97}; jumps at rate 0.5 a year with mean −11.1%-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

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 at 2 a second. What is the probability of at least two in a second, and the expected time to the next one?

Solution

Solution of Interview question 6.2.

1−e−2(1+2)=59.4%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

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+ΔS)−V(S)V(S + \Delta S) - V(S), not Δ⋅ΔS\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

Solution of Interview question 6.4.

ψ(u)=iγu−12σ2u2+∫(eiux−1−iux1∣x∣<1) ν(dx)\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, σ2\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

Solution of Interview question 6.5.

Cumulants scale with tt, so the excess kurtosis falls like 1/t1/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: κn(t)=tκn(1)\kappa_n(t) = t\kappa_n(1) and what breaks it.

Interview question 6.6 ★★★ bank, researcher

In a jump-diffusion for a stock under the risk-neutral measure, what must the drift be, and why?

Solution

Solution of Interview question 6.6.

The discounted price must be a martingale: for S=S0eXS = S_0e^X with X=bt+σW+JX = bt + \sigma W + J, b=r−12σ2−λ(E[eY]−1)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.

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

Terms defined in this chapter

See all 2333 terms in the glossary