Total return: the published backtest now counts dividends on both sides (2026-10-09)
Public, expurgated summary of internal audit 251. The full audit contains implementation internals (table names, scripts, flags, file paths) and stays internal; every figure below is reproduced from the same runs. No strategy rule, threshold or selection logic changed: this is a correction of how the published backtest is measured.
What was wrong
Two measurement defects were found by the previous internal audit.
- Price return against total return. Since audit 231 the ranking's book has been compared with the STOXX Europe 600 on the same dates. The index leg used an adjusted close, which includes dividends. The stock leg used plain price returns, which do not. The comparison was tilted against the ranking by the dividend yield of the stocks it held.
- Track record of unnamed filers. In the backtest, the past record of an insider was keyed on the raw name printed in the filing. Placeholder names such as "Unknown" pooled unrelated people across unrelated companies. Production never did this. The backtest now uses the same key as production and gives no history to placeholder or anonymous names.
What we did
Each stock return now carries the cash dividends whose ex-date falls inside its own holding window, gross and not reinvested inside the hold. The dividend history was loaded for every symbol of the backtest pools: 2,695 symbols asked, 2,664 answered, 21,855 dividend events from 2016 to 2026. An independent check on 40 rows against a second total-return series gave a median absolute gap of 0.15 point.
Every proof the site and the API publish was then re-run on the same corpus, with the same portfolio accounting as audit 231: a third of the capital per monthly book, entry the day after publication, exit after the holding period, 0.6% round-trip cost.
The numbers, before and after
Served construction, 2022-01 to 2026 Q1.
| Figure | Before | After (total return) |
|---|---|---|
| Annual return of the ranking | 6.1% | 11.2% |
| Sharpe, with 95% confidence interval | 0.42 (-0.49 to 1.46) | 1.04 (0.14 to 2.07) |
| Worst drawdown | -12.9% | -8.7% |
| 10,000 EUR becomes | 13,075 EUR | 16,095 EUR |
| Share of entered picks that gained | 57.5% | 63.3% |
| STOXX Europe 600, same dates | 8.9% a year, Sharpe 0.60 | 8.9% a year, Sharpe 0.59 |
| All eligible insider purchases | -3.0% a year | 0.3% a year |
| Ranking at 1.5% round-trip cost | 3.3% | 8.2% |
| Ranking at 2.5% round-trip cost | 0.2% | 5.0% |
By period, ranking against the index on the same dates:
| Period | Before | After |
|---|---|---|
| 2022 | -2.1% vs -2.1% | 2.3% vs -2.4% |
| 2023 to 2024 | 7.2% vs 10.6% | 11.3% vs 10.5% |
| 2025 to 2026 Q1 | 9.8% vs 13.4% | 15.1% vs 13.6% |
| Last 30 months of the window | 11.1% vs 15.4% | 16.0% vs 15.4% |
Of the 5.1 points gained, the dividends account for about 4 points a year and the track-record key for about 1 point.
How to read it
The ranking is now level with or slightly above the index on the same dates, where it was shown behind it. That is the whole change in the verdict, and it is a modest one:
- The difference between the ranking and the index is +1.9 points a year, with a 95% confidence interval of -4.0 to +7.6. Under a more conservative accounting it is +2.8 points, interval -1.9 to +7.6. Both intervals contain zero.
- The confidence interval of the ranking's Sharpe no longer contains zero, but it still contains the Sharpe of the index.
- Corrected for the 973 configurations tried since the project began, the deflated Sharpe stays negative (-0.71, and -0.96 under the conservative accounting).
So the site says: no demonstrated edge over the index, and no longer behind it. Every "behind the STOXX Europe 600" statement published between audit 231 and this one understated the ranking by about 4 points a year.
Caveats
- Dividends are gross. An investor who holds foreign shares loses part of them to withholding tax. The index figure is gross too.
- Holding windows skip weekends, not exchange holidays. A dividend can be counted one trading day early or late in rare cases.
- 165 of the 14,717 rows of the served pool (1.1%) stay on price return because their symbol is no longer quoted by our price source. This can only understate the ranking.
- The backtest universe is 8 European venues. The served ranking covers more venues than that, and those extra venues have no backtest.
- A backtest is not a live record. The live track record on the performance page started on 27 May 2026 and is still too short to conclude.
What changed on the site
The corrected block on the home page, the performance page and the methodology reads these figures from a single source. Its verdict switched from "trails the index on the same dates" to "does not demonstrably beat the index". The detail line now states that dividends are included for the ranking and the index alike. The method itself is the one described in audit 231.