Pure arbitrage cannot encode a drift. It is invariant across an equivalence class of measures, so any equivalent martingale measure annihilates it. Real strategies lose on many paths yet cannot lose on average, a statement about the physical measure rather than the pricing measure . This post makes that statement precise.
#Primitives
Fix under the usual conditions. Prices carry a positive numeraire , the money market , and a semimartingale , with discounted price . A strategy is a predictable, -integrable process ; its discounted gain is the stochastic integral , so . Every expectation, variance, and probability is taken under unless a measure is named.
#Arbitrage belongs to the equivalence class
An arbitrage is a strategy with , almost surely, and .
If , then is an arbitrage under if and only if it is an arbitrage under .
Equivalence preserves the semimartingale property and the stochastic integral up to indistinguishability, so is the same random variable under and . Equivalence also gives identical null sets. The event is -null exactly when it is -null, so holds almost surely under either measure simultaneously, and carries positive mass under one measure exactly when it does under the other. Both clauses of Definition 1 are preserved, and the drift of never appears.
By Lemma 2 arbitrage lives in the equivalence class and is blind to expected return. The construction below exploits this blindness.
#The fundamental theorem, proved
Let be finite with full support for every , and a single trading period spanning the dates and ; the multiperiod case iterates over the filtration. Collect discounted price increments in , where . A portfolio has discounted payoff , and an arbitrage is an with componentwise and . No arbitrage is therefore exactly
(First Fundamental Theorem, finite .) No arbitrage holds if and only if there exists with , , and . The measure is then equivalent to and renders discounted prices martingales, .
Given such , suppose is an arbitrage. Then with one strict component, so , while , a contradiction.
Assume no arbitrage. The range is a linear subspace, hence closed and convex, and the unit simplex is compact and convex. By Equation (1) the two are disjoint, since and . Strict separation yields and with
Since is a subspace, is linear and bounded above on , which forces for every and hence . Evaluating the right inequality of Equation (2) at each vertex gives . Put , so and . Since has full support, for every makes the null sets of and coincide, so . Orthogonality reads for all , that is , whence and [1], [2].
#The definition
A statistical arbitrage is a strategy with whose discounted cumulative profit, indexed by the completed trade count , satisfies [3]
The index runs over the disjoint trade-completion times, so the conditions are limits along that discrete sequence.
Condition (iii) says the variance of the time-averaged profit vanishes. Condition (i) is an expectation under , a real-world drift rather than a -mispricing, and that is the source of the word statistical.
#Sufficiency
Let disjoint trades produce discounted increments i.i.d. with and . Then is a statistical arbitrage.
Write , with mean and variance . Condition (i) holds since , so . For condition (ii), Chebyshev gives
whose right side vanishes. Condition (iii) holds since vanishes. Every clause of Definition 4 is met.
The bound Equation (4) is the entire engine. Any increments with positive mean and finite variance inherit the conclusion of Proposition 5.
#The hierarchy is strict
A repeatable, square-integrable arbitrage run on disjoint windows is a statistical arbitrage, and the converse fails.
A repeatable, square-integrable arbitrage furnishes i.i.d. increments with , , and . Since surely, condition (ii) holds at once; condition (i) holds because ; and condition (iii) holds because vanishes. For the converse take with . Here , so fails the almost-sure nonnegativity of Definition 1 and is no arbitrage, yet Proposition 5 certifies it as a statistical arbitrage.
#The word statistical and the role of the physical measure
Statistical arbitrage, unlike Lemma 2, is not invariant under an equivalent change of measure. Condition (i) demands , and passing to the martingale measure of Theorem 3 alters the drift. Assume is -admissible, so that is a true -martingale rather than a strict local one; then under the discounted profit satisfies , and condition (i) fails. An arbitrage-free market, one carrying an equivalent martingale measure, may therefore still admit statistical arbitrage under . The drift the pricing measure discards is precisely what separates the two notions.
#Numerical illustration
Simulating i.i.d. Gaussian increments with positive mean makes Equation (3) visible. The mean grows linearly, the loss probability collapses inside the Equation (4) envelope, and the averaged variance vanishes.
import numpy as np
from numpy.random import Generator
def loss_probability_envelope(mu: float, sigma: float, n: int) -> np.ndarray:
"""Chebyshev upper bound on the loss probability of cumulative profit.
Args:
mu: Per-trade expected discounted profit, strictly positive.
sigma: Per-trade profit standard deviation.
n: Horizon in number of trades.
Returns:
The bound sigma**2 / (k * mu**2) for k = 1, ..., n.
"""
horizon = np.arange(1, n + 1)
return sigma**2 / (horizon * mu**2)
def simulate_diagnostics(
mu: float, sigma: float, n: int, paths: int, rng: Generator
) -> dict[str, np.ndarray]:
"""Monte Carlo diagnostics for the three limiting conditions.
Args:
mu: Per-trade expected discounted profit, strictly positive.
sigma: Per-trade profit standard deviation.
n: Horizon in number of trades.
paths: Number of independent profit trajectories.
rng: Seeded generator for reproducibility.
Returns:
Mapping of the cumulative-profit mean, empirical loss probability, and
time-averaged variance against the horizon.
"""
increments = rng.normal(mu, sigma, size=(paths, n))
v = np.cumsum(increments, axis=1)
horizon = np.arange(1, n + 1)
return {
"mean": v.mean(axis=0),
"loss_probability": (v < 0).mean(axis=0),
"averaged_variance": v.var(axis=0) / horizon**2,
}
rng = np.random.default_rng(0)
diagnostics = simulate_diagnostics(mu=0.05, sigma=1.0, n=2_000, paths=20_000, rng=rng)
envelope = loss_probability_envelope(mu=0.05, sigma=1.0, n=2_000)
The construction is complete. A market may satisfy the fundamental theorem yet still admit a strategy meeting Definition 4, separated from arbitrage by a drift invisible to every equivalent martingale measure.