Quant Memo
Core

Truncated and Censored Distributions

Two different ways real data gets cut off — values that were never recorded at all versus values that were recorded only as "at least this much" — and why mixing them up produces confidently wrong estimates.

Prerequisites: Random Variables & Distributions, Maximum Likelihood Estimation (MLE)

A fund database only lists funds still operating today. A risk desk records "loss exceeded the $5 million limit" without logging the exact number, because the position was closed the instant the limit fired. Both are missing data, but they're missing for structurally different reasons — and fitting the wrong model to each gives you a distribution that's confidently wrong in a specific, predictable direction.

The analogy: a security camera with two failure modes

Imagine a security camera recording how tall people are as they walk through a doorway. Truncation is a camera that's physically incapable of seeing anyone under five feet tall — those people don't exist in the footage at all, not even as a blur. Censoring is a camera that records everyone, but for anyone over six feet it can only report "off the top of frame" rather than the exact height — the person is still in the data, just with an incomplete measurement. Truncation deletes observations outright; censoring keeps the observation but blurs its value.

Writing it down

Let XX be the true random variable with density f(x)f(x) and CDF F(x)F(x).

Truncation (say, left-truncated at aa): only values with X>aX > a ever enter the sample, and the density of what you actually observe is rescaled to still integrate to 1:

ftrunc(x)=f(x)1F(a),x>a.f_{\text{trunc}}(x) = \frac{f(x)}{1 - F(a)}, \qquad x > a.

In words: throw away the probability mass at or below aa, then blow the remaining shape back up so the area under it is still exactly 1 — you're not just cutting off a tail, you're renormalizing what's left.

Censoring (say, right-censored at bb): every unit is observed, but any true value above bb is recorded as exactly bb with a flag saying "at least this much." The observed variable is Y=min(X,b)Y = \min(X, b), and the count of censored observations is itself informative — it tells you how much mass sits above bb, which truncation throws away entirely.

Distribution · normal
-2.000.002.00μvalue →
Within ±1σ 68.3%mean μ 0.00std σ 1.00

Picture the bell curve above with everything left of some cutoff simply deleted and the remaining area rescaled to 1 — that's truncation. Now picture the same curve with everything right of a cutoff collapsed into a single spike exactly at the cutoff, but still counted — that's censoring. Same starting shape, two structurally different pictures.

Worked example 1: fund returns, truncated

A database of hedge fund monthly returns only includes funds still reporting, which effectively truncates out anything below a return of 50%-50\% (funds that blow up that badly close and stop reporting). Suppose true returns are N(1%,5%2)\mathcal{N}(1\%, 5\%^2) and you want the observed mean. The truncation point a=50%a = -50\% is (0.500.01)/0.05=10.2(-0.50 - 0.01)/0.05 = -10.2 standard deviations below the mean — so far in the tail that F(a)0F(a) \approx 0, and the observed mean barely differs from 1 percent. Now redo it for a stressed fund with true mean 10%-10\% and standard deviation 15%15\%: the cutoff is (0.50+0.10)/0.15=2.67(-0.50+0.10)/0.15 = -2.67 standard deviations away, so about F(2.67)0.38%F(-2.67) \approx 0.38\% of true outcomes get truncated away — a small fraction, but it's disproportionately the worst outcomes, so the observed average return among surviving funds is measurably higher than the true 10%-10\%. This is survivorship bias, mechanically: truncation deletes the worst tail and any average computed afterward is biased upward.

Worked example 2: risk limit breaches, censored

A trading system halts and locks in a loss the moment it hits a $5 million limit, but it does record that a halt occurred. Out of 200 trading days, suppose 8 days hit the limit (recorded as exactly $5 million, flagged as censored) and the other 192 days have their true, smaller losses recorded exactly. A naive analyst who simply averages the 200 recorded numbers, treating the $5 million entries as real observed losses, systematically underestimates how bad the tail truly is — the true losses on those 8 days could have been $5.2 million or $40 million, and censoring hides which. The correct approach (survival-analysis-style likelihood) uses the exact values for the 192 uncensored days and, for the 8 censored days, only the fact that the loss was at least $5 million — contributing the survival probability 1F(x)1 - F(x), evaluated at that $5 million cutoff, to the likelihood instead of a fabricated exact number. That distinction is exactly what a naive "just average the numbers" analysis throws away.

truncated: deleted, then rescaled censored: piled into a spike at cutoff
Left: truncation simply removes the tail beyond the cutoff and rescales what's left. Right: censoring keeps every observation but stacks anything past the cutoff into a spike exactly at it — still counted, value blurred.

What this means in practice

  • Survivorship bias in fund and strategy databases is a truncation problem — the failures are not just underweighted, they are absent, and no reweighting of the visible data alone can fully undo it without external knowledge of what was truncated.
  • Risk limits and stop-losses generate censored data, not truncated data, since a flagged event ("limit hit") is still logged — losing that information in a naive average is a modeling choice, not a data limitation.
  • Maximum likelihood estimation handles both correctly by writing separate likelihood contributions for observed-exact, truncated, and censored records — mixing them into one plain average is the shortcut that goes wrong.

Truncation removes observations from the data entirely; censoring keeps the observation but caps or floors its recorded value while still counting it. Confusing the two — or ignoring either — biases any average computed afterward, almost always in the direction of looking better (truncation) or worse-hidden (censoring) than reality.

The classic error is applying ordinary sample statistics (mean, standard deviation, a plain histogram) to censored or truncated data as if it were complete. A $5 million "loss" that was actually a cut-off value is not the number $5 million — it is the statement "at least $5 million" — and averaging it in as a hard number silently understates real tail risk every time.

Related concepts

Practice in interviews

Further reading

  • Klein & Moeschberger, Survival Analysis: Techniques for Censored and Truncated Data
  • Greene, Econometric Analysis (ch. 19)
ShareTwitterLinkedIn