edgekit

The distribution zoo

Every named distribution is a story about how randomness gets generated — coin flips accumulated, waiting times elapsed, rare events counted, errors averaged. Good problems test the stories, not just the formulas. This chapter walks the whole zoo — sixteen distributions — deriving the non-obvious moments, proving the two memorylessness results, and tying each animal to where it appears on a trading desk.

Intuition — a distribution is a mechanism, not a formula

Nobody memorises sixteen pmfs cold. What you memorise is sixteen mechanisms: a Binomial is “count successes in independent tries”, a Geometric is “wait for the first success”, a Poisson is “count rare events at a constant rate”. Name the mechanism and the formulas, moments, and limit theorems reconstruct themselves — story first, algebra second.

A grid of small plots showing the pmf or pdf of the major named distributions: Bernoulli, Binomial, Geometric, Poisson, Uniform, Exponential, Gamma, Beta, Normal, Lognormal, Student-t, and Pareto
The zoo at a glance. Discrete pmfs on top, continuous pdfs below. Every one of these is the answer to a ‘which distribution models X?’ question for some mechanism X.

Discrete distributions#

Bernoulli and Binomial#

A Bernoulli variable is a single yes/no experiment: , . Its moments are immediate — and, since , . A Binomial counts successes in independent trials:

Writing as a sum of indicators — the workhorse trick from Random variables & moments — linearity gives with no combinatorics, independence gives , and the MGF factorises to . In finance the Binomial is the win/loss record of trades and the lattice of the binomial option-pricing tree.

Geometric#

The Geometric waits for the first success: . Its tail is clean — , the probability of straight failures — and the tail-sum formula gives the mean instantly:

Proof — the Geometric is memoryless

Claim: . Proof: using ,

Past failures tell you nothing about the remaining wait — the process restarts fresh at every step. It is the only discrete distribution on with this property (the tail must satisfy , forcing ) — the rigorous gambler’s-fallacy rebuttal from Axioms, conditioning & Bayes: a fair game owes you nothing.

Negative binomial#

Wait for the -th success and you get the Negative binomial: the last trial is a success, the preceding hold exactly successes,

Since is a sum of independent Geometrics (wait, restart, repeat), linearity gives and — no new derivation needed. With variance exceeding its mean, it is the standard model for overdispersed counts (trade arrivals that cluster more than Poisson allows).

Hypergeometric#

Sample items without replacement from containing successes; the successes drawn are Hypergeometric:

The mean follows from indicators — each draw is marginally a success with probability by symmetry, despite the dependence. The variance carries the finite-population correction : sampling without replacement shrinks variance, and as it converges to the Binomial. It prices card counting and any “pick from a finite universe” setup — selecting stocks from an index containing eventual winners.

Poisson#

The Poisson counts rare events at a constant rate:

Proof sketch — Poisson as the limit of Binomials (law of rare events)

Let : many trials, tiny success probability, mean fixed at . For fixed ,

The Poisson therefore approximates any “many chances, each unlikely” count — bond defaults, limit-order arrivals, birthday collisions — with error , excellent whenever .

Worked example.200 bonds each default independently with probability 1.5% per year. The count is Binomial(200, 0.015) ≈ Poisson(); at most one default:

versus the exact Binomial answer 0.1963. Poisson counts also add: independent rates sum to a Poisson with rate (multiply the MGFs) — the superposition property of Poisson processes.

Continuous distributions#

Uniform#

The Uniform has constant density , with and (the 12 is worth memorising). Its real importance is as the source of all randomness: for any CDF , has distribution — the inverse-transform method behind every Monte-Carlo engine and the probability integral transform behind p-values (Order statistics & extremes).

Exponential#

The Exponentialis the continuous waiting time — the Geometric’s limit as steps shrink:

Proof — memorylessness, and why the Exponential is the only one

Memoryless: Uniqueness: write ; memorylessness says . Then for all rationals by induction, and right-continuity of survival functions extends this to all reals: with . The functional equation has no other monotone solution — memorylessness is the exponential.

Two facts do heavy duty in problems. Minimum: for independent , — the minimum is Exponential with the summed rate. Race: . Both are solved below.

Gamma#

Sum independent Exponential waits and you get the Gamma (the Erlang when is an integer):

with moments read off the sum-of-exponentials story by linearity — no integration required. The Gamma is the arrival time of the -th Poisson event, and the conjugate prior for a Poisson rate in Bayesian inference.

Beta#

The Beta lives on :

Two stories generate it. As an order statistic: the -th smallest of uniforms is Beta (derived in Order statistics). As a conjugate prior: a Beta prior on a win probability updated with Binomial data stays Beta — the machinery of Bayesian methods and Thompson sampling in bandits & allocation. Beta(1,1) is the Uniform.

Normal#

The Normal is what averaging manufactures — by the CLT, the universal attractor of sums:

Derivation — the Normal MGF by completing the square

For :

since and the shifted normal density integrates to 1. For , ; differentiate at zero to recover , . Stability falls out too: MGFs of independent normals multiply into — again a normal MGF, so the family is closed under addition, and stability with finite variance essentially characterises the normal.

Worked example. Daily returns modelled as : what fraction of days lose more than 2%? Standardise: , so — about five days a year. Keep , , (68–95–99.7) in working memory.

Lognormal#

If then is Lognormal — positive, right-skewed, the terminal law of GBM in Stochastic processes. Its moments come free from the normal MGF: , so

The mean sits above the median by the factor : a thin tail of huge outcomes drags the average up while the typical outcome lags. That wedge is volatility drag in distributional form — Problem 5 below.

Student-t#

The Student-t with degrees of freedom is born as a ratio:

Dividing by a scale estimate that is occasionally small fattens the tails: the density decays polynomially, like , not exponentially. Moments exist only up to order : the variance is for and infinite at ; at (the Cauchy) even the mean fails. As the t becomes the normal. Daily equity returns fit a t with far better than a normal — the fact driving the fat-tail warnings throughout the applied course.

A normal density overlaid with a fat-tailed Student-t density on a log scale, showing the t's tails sitting far above the normal's
Normal vs Student-t tails. On the log scale the normal plunges quadratically while the t decays polynomially: events the Gaussian calls once-in-a-universe are routine under the t. Return data votes for the t.

Chi-square and F#

The Chi-square (squared standard normals) is Gamma, with (each ) and (each square contributes ); it is the sampling distribution of the sample variance under normality. The F distribution compares variances — the testing distribution of Hypothesis tests and Regression & Gauss-Markov; note .

Pareto and power laws#

The Pareto has survival function , a pure power law. The -th moment:

Moments simply stop existing above the tail index: gives a mean but infinite variance — sample averages converge, sample variances never settle, and the CLT fails (see LLN & CLT). Tail indices around 3–4 for equity returns and near 1 for wealth are why extreme value theory exists: the largest observation in a power-law sample is the same order as the sum.

The relationship map#

The zoo is a family tree, and the classic problems ask you to walk its edges. Bernoulli trials aggregate into the Binomial; waiting inside the same trials gives the Geometric and Negative binomial; removing replacement gives the Hypergeometric. Push with fixed and the Binomial becomes the Poisson; let time flow continuously and the Geometric becomes the Exponential, whose sums are Gamma, whose event counts are Poisson — the two faces of the Poisson process. Every finite-variance sum drifts to the Normal; exponentiating gives the Lognormal; squared normals sum to the Chi-square; a normal over a chi-square’s root is the Student-t; two chi-squares in ratio give the F. Uniform order statistics are Betas, and Beta(1,1) closes the loop.

A directed graph connecting the named distributions: Bernoulli to Binomial to Poisson and Normal, Geometric to Exponential to Gamma, normals to Chi-square, Student-t and F, uniforms to Beta
The family tree. Arrows are limits (Binomial to Poisson, everything to Normal), sums (Exponential to Gamma, squared normals to Chi-square), and transformations (Normal to Lognormal, ratios to t and F). Knowing the edges means never re-deriving from scratch.

The zoo at a glance#

DistributionSupportMeanVarianceShows up as
Bernoulli(p){0, 1}one trade: win or lose
Binomial(n, p)0..nwins in n trades; binomial tree
Geometric(p)1, 2, ...trades until first win; streaks
Neg. binomial(r, p)r, r+1, ...overdispersed counts
Hypergeometric0..nbinomial × FPCsampling w/o replacement
Poisson(λ)0, 1, ...order arrivals, jumps, defaults
Uniform(a, b)[a, b]source of all simulation
Exponential(λ)[0, ∞)time to next order / jump
Gamma(k, λ)[0, ∞)time to k-th arrival
Beta(α, β)[0, 1]see textwin-rate posterior; order stats
Normal(μ, σ²)CLT limit of everything
Lognormal(μ, σ²)(0, ∞)see textprices under GBM
Student-t(ν)daily returns (ν ≈ 3–5)
Chi-square(k)[0, ∞)sample variance under normality
F(d₁, d₂)[0, ∞)see textvariance ratios, regression F-tests
Pareto(α)[xₘ, ∞)∞ if α ≤ 2tail risk, wealth, drawdowns

A seeded simulation confirms three headline claims — the Poisson limit, the summed-rate minimum of exponentials, and the Lognormal mean/median split:

zoo_checks.py
import numpy as np

rng = np.random.default_rng(11)
n_sims = 200_000

# 1) Binomial(200, 0.015) vs Poisson(3): P(X <= 1)
binom = rng.binomial(200, 0.015, n_sims)
pois = rng.poisson(3.0, n_sims)
print((binom <= 1).mean(), (pois <= 1).mean())   # 0.1961  0.1990  (exact: 0.1963, 0.1991)

# 2) min of Exp(1), Exp(2), Exp(3)  ~  Exp(6); P(the Exp(3) clock wins) = 3/6
e = rng.exponential(1.0 / np.array([1.0, 2.0, 3.0]), size=(n_sims, 3))
print(e.min(axis=1).mean(), (e.argmin(axis=1) == 2).mean())   # ~0.1667 (=1/6), ~0.500

# 3) Lognormal mu=0, sigma=0.8: mean e^{0.32}=1.377 vs median e^0=1
s = rng.lognormal(0.0, 0.8, n_sims)
print(s.mean(), np.median(s))   # ~1.377, ~1.000 — the mean/median wedge is real
Quant lens — the zoo is a menu of nulls
Every distribution here is a null hypothesis a desk actually uses. Trade wins: Binomial — a 7-loss streak in 100 trades at a 55% win rate is expected, not a broken strategy. Order arrivals and jumps: Poisson — clustering beyond Poisson variance is signal, not noise. Prices: Lognormal — the median path lags the mean by . Returns: Student-t — a “6-sigma” day is a parameter error, not a market miracle. Choosing the wrong animal is the most common silent modelling error in backtesting; the gauntlet exists to catch it.

Practice problems#

Problem 1 — Minimum of exponentials

Three servers fail after independent Exponential times with rates 1, 2, and 3 per year. What is the law of the time to first failure, and the probability the rate-3 server fails first?

Solution. Survival functions multiply for a minimum of independent variables:

For the race, each clock wins in proportion to its rate: , from with clocks 1 and 2 grouped into one Exp(3) competitor. The encore: after the first failure, memorylessness restarts the survivors fresh.

Problem 2 — Sum and conditional of Poissons

Buy orders arrive Poisson(2) per second and sell orders Poisson(3), independently. What is the distribution of total orders per second? Given exactly 10 orders arrived, how many were buys?

Solution. MGFs multiply: , so the total is Poisson(5). For the conditional, compute directly with , :

Binomial(10, 2/5) — given the total, each arrival is independently a buy with probability : the splitting/thinning duality, the workhorse of Poisson processes.

Problem 3 — Normal conditional probability

A stock’s annual return is . Given the year is positive, what is the probability it exceeds 20%?

Solution. Standardise: , . Since ,

The trap is reaching for a joint density — nested events need only a ratio. A common follow-up is the truncated mean via the inverse Mills ratio: with .

Problem 4 — Which distribution models it?

Rapid-fire: (a) days until your strategy’s first losing day; (b) defaults this year in a book of 500 loans; (c) a stock price in one year under constant vol; (d) the largest of 20 independent uniform bids; (e) daily P&L of a strategy with occasional violent losses.

Solution.(a) Geometric — memorylessness says a winning streak does not make a loss “due”. (b) Binomial(500, ), collapsing to Poisson() — the law of rare events. (c) Lognormal — GBM exponentiates a normal. (d) Beta: the max of 20 uniforms is Beta(20, 1) with . (e) Student-t with low — polynomial tails, finite mean. The grading key is the mechanism: trials, rare counts, multiplicative growth, order statistics, fat tails.

Problem 5 — Lognormal mean vs median (the vol-drag trap)

Log returns are , so the price relative is with — up 38%. Should a holder expect to make money?

Solution. No — the median outcome is : half of all paths finish flat or down, despite a +38% mean. The wedge is Jensen’s inequality on the convex map :

using that the median commutes with monotone maps while the mean does not: a few explosive paths carry the entire mean. This is volatility drag in distributional form — the median compound outcome grows at in GBM terms, so headline expected returns on high-variance assets overstate what the median holder gets. The inequality machinery arrives in Inequalities & tail bounds.

Next: portfolios live and die by how variables move together — joint densities, correlation, the bivariate normal, and conditional expectation as the best predictor. Joint distributions & correlation.