Quant Memo
Core

False Discovery Rate (FDR)

When you run many tests, some "wins" are flukes. The false discovery rate is the expected fraction of your declared discoveries that are false, and the Benjamini–Hochberg rule keeps that fraction under a budget you choose.

Prerequisites: Hypothesis Testing, p-values and Multiple Testing

Run one test and a small p-value is reassuring. Run ten thousand, screening every factor, feature, and parameter you can dream up, and a pile of small p-values is guaranteed even if nothing works, because at 5%5\% you expect one false alarm in twenty. The false discovery rate reframes the problem in the only way that scales: instead of asking "am I certain none of my winners is fake?", it asks "of the winners I declare, what fraction should I expect to be junk?" and lets you cap that fraction at a level you can live with.

What FDR is

Sort your tests into the ones you rejected (called discoveries) and the rest. Among the discoveries, some are real and some are false. Write RR for the total number you rejected and VV for how many of those were actually null (false discoveries). The false discovery rate is the expected share of false ones:

FDR=E ⁣[VR].\text{FDR} = \mathbb{E}\!\left[\frac{V}{R}\right] .

Controlling FDR at, say, 10%10\% is a statement of research budget: "I accept that about one in ten of the signals I greenlight will turn out to be noise." That is a very different, and usually more useful, promise than the family-wise error rate (FWER), which controls the chance of even one false discovery and is punishingly strict when you test thousands of things.

FDR is the expected fraction of your discoveries that are false, E[V/R]\mathbb{E}[V/R]. Controlling it at 10%10\% says "about one in ten of my declared winners will be junk", a sane budget when you screen thousands of candidates, and far less brutal than demanding zero false positives.

The Benjamini–Hochberg procedure

The recipe that controls FDR is simple enough to do by hand. Take your mm p-values and sort them ascending: p(1)p(2)p(m)p_{(1)} \le p_{(2)} \le \dots \le p_{(m)}. Pick your budget α\alpha. Find the largest rank kk for which

p(k)kmα,p_{(k)} \le \frac{k}{m}\,\alpha ,

then reject every hypothesis from rank 11 through kk. The genius is that the threshold adapts: when many effects are real, lots of small p-values pile up and the bar kmα\tfrac{k}{m}\alpha climbs, letting more through; when nothing is real, the bar stays tiny and BH collapses to roughly the strict Bonferroni rule. Under independence (and many kinds of positive dependence) this holds FDR at α\alpha.

Worked example

You test m=10m = 10 strategies at a budget of α=0.10\alpha = 0.10. Sort the p-values and compute each threshold kmα=k×0.01\tfrac{k}{m}\alpha = k \times 0.01:

Rank kkp(k)p_{(k)}Threshold k10(0.10)\tfrac{k}{10}(0.10)Pass?
10.0010.010yes
20.0080.020yes
30.0120.030yes
40.0210.040yes
50.0300.050yes
60.1100.060no
70.2400.070no
80.3500.080no
90.6000.090no
100.8100.100no

The largest rank that passes is k=5k = 5 (0.0300.0500.030 \le 0.050), so you reject the smallest five, and you may reject rank 5 even though a later individual p-value would have failed on its own line. Of those five discoveries, you expect about 0.10×5=0.50.10 \times 5 = 0.5 to be false, i.e. probably all five are real. Compare with Bonferroni, which uses a flat cutoff of 0.10/10=0.0100.10/10 = 0.010 and would keep only the top two. BH is more powerful precisely because its threshold rises with rank.

The q-value of a test is the smallest FDR at which it would still be called a discovery, the FDR analogue of a p-value. Reporting q-values lets a reader pick their own budget after the fact instead of forcing your α\alpha on them.

Where it bites in quant research

  • The denominator is everything you tried. The mm that matters is the number of attempts, including the parameters you swept, the universes you sliced, and the ideas you quietly abandoned. Reported mm is almost always an undercount, so even BH under-corrects. This is the same hidden-multiplicity trap behind Backtest Overfitting.
  • Correlated tests. Strategy tests share market beta and overlapping signals, violating independence. Plain BH may need the more conservative Benjamini–Yekutieli variant when dependence is strong and negative.
  • FDR is not FWER. A 10%10\% FDR expects false discoveries, that is the deal. If a single false positive is catastrophic (deploying real capital on a fake edge), you may want the stricter FWER control despite its loss of power.

FDR control assumes you count every test you ran. In backtesting the real number of attempts is usually far larger than the number you report, so the honest defense is genuine out-of-sample data, not just a bigger denominator. See Backtest Overfitting.

FDR is the practical successor to the FWER story told in p-values and multiple testing; it underpins how careful shops screen experiments and factors, and it is the same spirit as the deflated Sharpe ratio, which discounts a backtest's headline number for the number of trials behind it.

Related concepts

Practice in interviews

Further reading

  • Benjamini & Hochberg (1995), Controlling the False Discovery Rate
  • Storey (2003), The Positive False Discovery Rate and q-values
  • Harvey, Liu & Zhu (2016), …and the Cross-Section of Expected Returns
ShareTwitterLinkedIn