Learn · Purged cross-validation

What is purged (combinatorial) cross-validation?

Reviewed against the platform's code on Sep 23, 2026

Purged cross-validation is a way of testing financial models in which training observations whose outcome window overlaps the test period are removed (purged), with an embargo gap; its combinatorial form (CPCV) recombines the test blocks into many complete backtest paths, giving a distribution of results rather than one.

Why it matters

A single backtest path is one draw from many that could have happened. A strategy that looks good on one path may be lucky; a distribution shows how often it would have worked.

How it works

The history is split into blocks; every combination of blocks is used as the test set in turn, with purging and embargo at each boundary, and the test pieces are stitched into full paths whose results are compared.

Combinatorial purged cross-validation
Split 1Split 2Split 3Split 4Split 5Split 6
Six blocks of history; each row is one split. Solid blocks are the test set, pale blocks train, purged at every boundary.

Questions

What does CPCV stand for?
Combinatorial purged cross-validation, introduced by Marcos López de Prado.
Why is a distribution of backtests better than one?
It shows how dependent a result is on one particular path through history, which a single backtest hides.
Why purge on dates rather than rows?
Because in a panel of many stocks, rows are not time. A purge measured in rows can remove far less history than the label horizon requires.

References

  • López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley.

Educational content about research methods. Not investment advice.