Noon Barbari
Sign up
Backtesting

Probability of Backtest Overfitting (PBO)

An estimate of how likely your best backtest configuration is overfit — lower is better.

PBO, introduced by Bailey, Borwein, López de Prado and Zhu, treats strategy selection itself as the thing to validate. It repeatedly splits the data, picks the configuration that looks best in-sample, then checks how that same configuration ranks out-of-sample. If the in-sample winner routinely lands in the bottom half out-of-sample, your selection process is overfitting.

The output is a probability in [0, 1]. Low PBO means the configuration that wins in testing tends to keep winning on unseen data; high PBO (above ~0.5) means your 'best' settings are likely a product of luck and trying many combinations. It is the natural companion to walk-forward testing.

Example

After scanning 200 parameter sets, the top set shows a PBO of 0.6 — more likely than not curve-fit — so it is rejected despite a great in-sample Sharpe.

How Noon Barbari uses Probability of Backtest Overfitting (PBO)

Every concept here is implemented in the platform. Open the relevant docs or tool to see it in action.

Validate a strategy in noonbarbari

Related terms

Back to glossary