Skip to content

Common Probability Distributions

Certain probability patterns appear over and over in finance. The normal, lognormal, binomial, Poisson, and exponential distributions each model different real-world phenomena.

2 of 5 ~5 min

Why Distributions Matter in Finance

Every quantitative model starts with an assumption about which distribution a random variable follows. Choose the wrong distribution and your Value at Risk (VaR) estimate, option price, or portfolio optimization will be systematically wrong. The distributions in this article appear so frequently in finance that familiarity with them is essential.

The Normal Distribution

The normal distribution (also called the Gaussian distribution) is the most important distribution in all of statistics. Its bell-shaped curve appears everywhere: measurement errors, heights, IQ scores, and, in finance, the assumption underlying most classical models.

A normal random variable XX with mean μ\mu and variance σ2\sigma^2 is written:

X∼N(μ,σ2)X \sim N(\mu, \sigma^2)

Its PDF is:

f(x)=1σ2πe−(x−μ)22σ2f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}

The 68-95-99.7 rule tells us that for any normal distribution:

  • About 68% of values fall within one standard deviation of the mean.
  • About 95% fall within two standard deviations.
  • About 99.7% fall within three standard deviations.

In finance, daily stock returns are often modeled as normal. This is convenient mathematically and was historically defensible for large portfolios. However, as we will see, real financial returns have “fat tails”, extreme events happen more often than the normal distribution predicts.

The Lognormal Distribution

Stock prices cannot be negative. This is a hard constraint, a company cannot be worth less than zero. But stock prices can and do drop to near zero during bankruptcies. This asymmetry means we cannot model stock prices directly with a normal distribution, since a normal distribution assigns non-zero probability to all real numbers, including negative ones.

The solution is to model log returns as normal. If the log return rt=ln⁡(St/St−1)r_t = \ln(S_t / S_{t-1}) is normally distributed, then the stock price StS_t follows a lognormal distribution:

St=S0ertS_t = S_0 e^{r_t}

Why does this matter? When log returns are normal with arithmetic mean μ\mu per period and variance σ2\sigma^2 (where μ\mu is the historical mean of log returns, not a risk-neutral drift), the actual (simple) return Rt=ert−1R_t = e^{r_t} - 1 has a different distribution. More importantly, the expected stock price E[St]=S0e(μ+12σ2)tE[S_t] = S_0 e^{(\mu + \frac{1}{2}\sigma^2)t} grows exponentially, which matches the long-run behavior of equity markets. The extra 12σ2\frac{1}{2}\sigma^2 term arises from Jensen’s inequality because erte^{r_t} is convex: variance in log returns compounds into a positive bias in the level of StS_t.

The Binomial Distribution

The binomial distribution counts the number of successes in nn independent trials, each with probability pp of success. It is written:

X∼Binomial(n,p)X \sim \text{Binomial}(n, p)

The PMF is:

P(X=k)=(nk)pk(1−p)n−kP(X = k) = \binom{n}{k} p^k (1-p)^{n-k}

where (nk)=n!k!(n−k)!\binom{n}{k} = \frac{n!}{k!(n-k)!} is the binomial coefficient.

The binomial distribution is foundational for discrete-time option pricing. The famous Cox-Ross-Rubinstein (CRR) model builds a binomial tree to approximate the evolution of a stock price. At each time step, the stock either moves up by a factor uu or down by a factor dd, with risk-neutral probability pp. The option’s fair price is the discounted expected payoff under this risk-neutral probability.

Example: counting how many days a stock closes higher than the previous day out of 20 trading days, with each day having a 55% chance of being an “up day.” That count follows a binomial distribution with n=20n = 20 and p=0.55p = 0.55.

The Poisson Distribution

The Poisson distribution counts the number of events that occur in a fixed interval of time or space, assuming events happen at a constant rate λ\lambda and independently of each other:

P(X=k)=λke−λk!P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}

where λ>0\lambda > 0 is the rate parameter (the average number of events per interval).

In finance, the Poisson distribution models count data: the number of trades in a given minute, the number of jumps in a stock price in a year, or the number of defaults in a bond portfolio in a given quarter.

The Poisson distribution has the property that its variance equals its mean: Var(X)=λ\text{Var}(X) = \lambda. When the variance exceeds the mean (overdispersion), you might need a negative binomial model instead.

The Exponential Distribution

The exponential distribution models the time between consecutive events in a Poisson process, the waiting time until the next event occurs. If events follow a Poisson distribution with rate λ\lambda, the waiting time follows an exponential distribution with the same rate:

f(x)=λe−λx,x≥0f(x) = \lambda e^{-\lambda x}, \quad x \geq 0

The exponential distribution is memoryless: P(X>s+t∣X>s)=P(X>t)P(X > s + t | X > s) = P(X > t) for any s,t≥0s, t \geq 0. This means that whether you have already waited 10 minutes for a trade or haven’t waited at all, the probability of waiting another 5 minutes is the same.

In credit risk, the exponential distribution with its memoryless property is sometimes used to model time to default.

The T-Distribution

The t-distribution looks like a normal distribution but has heavier tails, it assigns more probability to extreme values. It arises when estimating the mean of a normally distributed population with a small sample size and unknown variance.

As the degrees of freedom dfdf increase, the t-distribution approaches the normal distribution. With df=30df = 30, the t-distribution is nearly indistinguishable from a normal for most practical purposes. With df=5df = 5, the tails are noticeably fatter.

In finance, the t-distribution is sometimes used to model asset returns because real returns exhibit more extreme events than a normal distribution predicts. A normal model understates the probability of a 4-sigma move.

The Cauchy Distribution

The Cauchy distribution is a pathological case worth knowing. Its PDF is:

f(x)=1π(1+x2)f(x) = \frac{1}{\pi(1 + x^2)}

The Cauchy has no defined mean or variance, its tails are so heavy that the integrals defining these moments diverge. Yet it is perfectly valid as a probability distribution. The Cauchy is infinitely divisible (meaning you can sum nn independent Cauchy variables and get another Cauchy), which connects it to Lévy processes used in advanced quantitative finance.

Python: Visualizing Distributions

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

x = np.linspace(-5, 5, 1000)

fig, axes = plt.subplots(2, 3, figsize=(14, 8))


axes[0, 0].plot(x, stats.norm.pdf(x, 0, 1), 'b-', lw=2)
axes[0, 0].set_title('Normal N(0, 1)')
axes[0, 0].grid(alpha=0.3)

# Lognormal (plot of exp(x) where x ~ N(0,1))
y = np.linspace(0, 8, 1000)
axes[0, 1].plot(y, stats.lognorm.pdf(y, 1), 'g-', lw=2)
axes[0, 1].set_title('Lognormal')
axes[0, 1].set_xlim(0, 8)
axes[0, 1].grid(alpha=0.3)

# Binomial (PMF)
n, p = 20, 0.5
k = np.arange(0, n + 1)
axes[0, 2].stem(k, stats.binom.pmf(k, n, p), basefmt=" ")
axes[0, 2].set_title(f'Binomial(n=20, p=0.5)')
axes[0, 2].grid(alpha=0.3)

# Poisson (PMF)
k = np.arange(0, 20)
axes[1, 0].stem(k, stats.poisson.pmf(k, mu=5), basefmt=" ")
axes[1, 0].set_title('Poisson(λ=5)')
axes[1, 0].grid(alpha=0.3)

# Exponential
axes[1, 1].plot(x, stats.expon.pdf(x, scale=1), 'r-', lw=2)
axes[1, 1].set_title('Exponential(scale=1)')
axes[1, 1].set_xlim(0, 5)
axes[1, 1].grid(alpha=0.3)

# T-distribution vs Normal (showing fat tails)
axes[1, 2].plot(x, stats.norm.pdf(x, 0, 1), 'b-', lw=2, label='Normal')
axes[1, 2].plot(x, stats.t.pdf(x, df=3), 'r--', lw=2, label='t (df=3)')
axes[1, 2].plot(x, stats.t.pdf(x, df=10), 'g:', lw=2, label='t (df=10)')
axes[1, 2].set_title('T-Distribution vs Normal (Fat Tails)')
axes[1, 2].legend()
axes[1, 2].grid(alpha=0.3)

plt.tight_layout()
plt.show()

# Demonstrate fat tails: probability of extreme values
print("P(|X| > 3) under Normal:", 2 * (1 - stats.norm.cdf(3)))
print("P(|X| > 3) under t(df=3):", 2 * (1 - stats.t.cdf(3, df=3)))
print("P(|X| > 3) under t(df=5):", 2 * (1 - stats.t.cdf(3, df=5)))

PROMPT

Use numpy, matplotlib, and scipy.stats to plot a grid of common probability distributions and compare tail probabilities.

The printout reveals the key insight: the normal distribution says P(∣X∣>3)≈0.0027P(|X| > 3) \approx 0.0027, meaning a 3-sigma event should happen less than 0.3% of the time. But in real financial markets, 3-sigma and even 4-sigma events happen far more often, the t-distribution with low degrees of freedom captures this excess kurtosis much better.

References

Ross, S. M. A First Course in Probability, Chapters 4–5. Pearson. Hull, J. C. Options, Futures, and Other Derivatives, Chapter 12. Pearson.