Choosing and Fitting a Distribution Family
A practical workflow for picking which parametric distribution (normal, Student's t, lognormal, and so on) best describes a dataset, and estimating its parameters, instead of defaulting to the normal distribution out of habit.
Prerequisites: Maximum Likelihood Estimation (MLE), Common Distributions
You need a probability model for a stock's daily returns so you can price a barrier option, size a position with Value-at-Risk, or simulate scenarios for stress testing. The normal distribution is the default choice everyone reaches for because it's simple and well understood, but real returns are more sharply peaked and fatter-tailed than a normal predicts, and a VaR model built on the wrong tail shape can badly underestimate the odds of a large loss. Choosing a distribution family isn't a formality before the "real" analysis — it's a modeling decision with direct consequences for how much risk you think you're carrying.
An analogy: choosing a container for a liquid
Picking a distribution family is like picking a container shape before you know how much liquid you have or how it behaves. A cylinder (the normal distribution) is easy to reason about and works fine for a liquid that settles evenly. But if your liquid tends to pool heavily at the edges — more mass out at the extremes than a cylinder would predict — you need a container with a different profile, wider at the rim, that can actually hold that shape without spilling over. Choosing the wrong container doesn't change the liquid; it just means your model of "how much is near the edge" is wrong, and in finance the edge is exactly where the money is lost.
The workflow, one symbol at a time
Let denote the parameters of a candidate distribution family (for the normal, ; for Student's t, where is the degrees of freedom controlling tail fatness — smaller means fatter tails). Given data , maximum likelihood estimation picks the parameter values that make the observed data most probable under that family:
where is the family's probability density. In plain English: try out different parameter settings and, for each, ask "how likely would my actual data have been under this setting?" — then pick the setting that makes the data look least surprising, using the sum of log-probabilities as the score to maximize (logs turn a product of many small probabilities into a manageable sum).
Once you have a fitted candidate, you need to judge whether it's actually a good fit, not just the best-fitting member of one family. Two complementary checks: a Q-Q plot of the data against the fitted distribution (see Q-Q plots and distributional comparison) to see where it fits well or badly, and an information criterion like
where is the number of parameters and is the maximized likelihood. In plain English: AIC rewards a distribution for fitting the data well (high ) but penalizes it for using more parameters () to do so — it's a formal way of asking "is the extra flexibility of this richer distribution actually earning its keep, or just overfitting noise?" Lower AIC is better; the penalty stops you from always picking whichever family has the most free parameters to twist into shape.
Worked example 1: fitting a normal by hand
Five daily returns (%): . For a normal distribution, the maximum likelihood estimates of and are simply the sample mean and the (population, divide-by-) sample variance:
Deviations from the mean: . Squared: . Sum , so
The fitted model is "returns ." This is the entire fitting procedure for a normal — it's just the sample mean and sample standard deviation — which is part of why it's so tempting as a default: no optimization needed. The catch is that this simplicity comes at the cost of forcing a specific tail shape onto the data regardless of whether that shape is actually right, which is why the next step (checking the fit) matters.
Worked example 2: comparing normal versus Student's t by AIC
Suppose fitting the same larger dataset ( daily returns) under two families gives:
| Family | Parameters | Log-likelihood | AIC |
|---|---|---|---|
| Normal | 2 | ||
| Student's t | 3 |
The Student's t has one extra parameter (, degrees of freedom) but achieves a substantially higher log-likelihood ( vs — less negative means the data was more probable under this model). Even after the AIC penalty for the extra parameter, the t-distribution's AIC (1203.0) is well below the normal's (1244.0), so it's preferred: the improvement in fit is large enough to justify the added flexibility, not just noise-chasing from one more free parameter. Fitting the t-distribution's degrees of freedom might, for instance, land around , quantitatively confirming what a Q-Q plot would show visually — fatter tails than a normal, but not so extreme as to be pathological.
What this means in practice
Distribution choice feeds directly into VaR and expected shortfall calculations, option pricing model selection, and Monte Carlo scenario generation — using a normal when the true tails are fatter systematically understates the probability of large moves, which is precisely the mistake that made several well-known risk models fail during market stress. Common alternatives to reach for beyond the normal: Student's t for fatter symmetric tails, a skewed-t or a mixture of two normals (a calm regime and a stressed regime) for asymmetric fat tails, and a lognormal when the quantity itself (like a price level, not a return) can't go negative. The workflow is always the same: fit candidate families by maximum likelihood, compare them with an information criterion and a Q-Q plot, and pick the simplest family that isn't visibly failing the fit checks — not the family that's easiest to remember.
Fitting a distribution means choosing parameter values that maximize the likelihood of your observed data under a candidate family, and choosing among families means balancing fit quality against complexity (via AIC or a similar penalty) and checking the fit visually with a Q-Q plot. The normal distribution should be a starting hypothesis to test, not a default assumption to skip past.
The classic mistake is picking a distribution family for its mathematical convenience (the normal is easy to work with in closed-form formulas) rather than for how well it actually fits the data, and then treating tail probabilities computed from that convenient-but-wrong model as if they were real. A 1-in-1000-day loss estimated under a normal can be a 1-in-50-day event under the true fatter-tailed distribution — always validate a chosen family against the data's actual tail behavior before using it to size risk, not just against its central bulk where most distributions look similar anyway.
Related concepts
Practice in interviews
Further reading
- Casella & Berger, Statistical Inference, ch. 7
- McNeil, Frey & Embrechts, Quantitative Risk Management, ch. 3