The Analyst's Path

Portfolio turnover

Portfolio turnover is the fraction of a portfolio that has to be bought or sold to move from one period's holdings to the next. A turnover of 0 means an unchanged portfolio; a turnover of 1.0 means every single name changed. It matters because every trade has a cost, so a signal that needs heavy trading can lose its edge to those costs.

2 min readPart of Signal & Factor Construction and EvaluationOpen in course mode

Advertisement

Define a top-quintile portfolio: each period, the top 20% of names by factor score. Turnover measures how much that membership changes from one period to the next, specifically, the fraction of the portfolio that must be bought or sold to move from last period's top quintile to this period's:

turnover = (entries + exits) / (2 × portfolio size)

where entries is the count of names newly in the top quintile this period that were not there last period, and exits is the count that dropped out. A turnover of 0 means an unchanged portfolio; a turnover of 1.0 means every single name changed.

What turnover do the four factors show?

Here is this module's second honest, measured-not-assumed result. Averaged across all 48 months of the bundled panel, every one of the four factors shows a top-quintile turnover clustering right around 0.80 (value 0.809, momentum 0.824, quality 0.784, low-volatility 0.798), essentially indistinguishable from each other. Work out what a fully random monthly reshuffle of a 12-of-60 top quintile would produce: two independent random 12-name subsets of 60 overlap by 12 × 12 / 60 = 2.4 names in expectation, giving entries = exits = 12 − 2.4 = 9.6, and turnover = (9.6 + 9.6) / (2 × 12) = exactly 0.80. The bundled panel's factor scores are drawn independently each month by construction (this is a design property of an evaluation dataset built to isolate a clean, recoverable score-to-forward-return relationship, not to mimic realistic month-to-month persistence in the scores themselves), so top-quintile turnover here sits at its theoretical random-reshuffle ceiling for every factor alike, regardless of how strong that factor's IC is. This is a genuine, useful thing to know about this specific evaluation panel, and a genuine trap if you generalized it to real markets without checking: a real price- or fundamentals-derived momentum signal (like the one you built by hand in the momentum section) is highly autocorrelated month to month (this month's 12-month lookback and next month's overlap in all but one data point), so a real momentum portfolio's turnover is nothing like a random reshuffle. Always ask what a dataset was built to demonstrate before generalizing a measurement made on it.

QD1.02-e09 grades portfolio_turnover(rankings_by_period, top_frac) against a real 5-month, 20-name slice of the bundled momentum scores (expected turnover 0.8125, close to, and for the reason just given, not required to exactly equal, the theoretical 0.80 ceiling on this particular short slice).

Advertisement

Part of the course

This page is part of Signal & Factor Construction and Evaluation (QD1.02), in Phase 12: Finance Plus, AI and the quant-code track. The module's flashcards and its quiz are in the app.