QuanterLab produced this study: it wasn’t written up afterwards. Registered hypothesis and search record in Appendix A2.
As seen on Quantocracy
All research
QuanterLab · Research

Dividend capture loses, the week before the ex-date pays, and holding the same stocks beats both

Universe · S&P 500 (point-in-time constituents)
Method · Comparative: Selected by past drop ratio vs Every name of the cut
Manipulated variable ·
Two arms open each January with the same point-in-time S&P 500 membership cut to the same dividend book (high yield: the top fifth of the prior year's payers), and trade every cash dividend event of their names inside the one-year window the same way (trade D: run-up). Arm B holds every name of the … (full sealed statement)Two arms open each January with the same point-in-time S&P 500 membership cut to the same dividend book (high yield: the top fifth of the prior year's payers), and trade every cash dividend event of their names inside the one-year window the same way (trade D: run-up). Arm B holds every name of the book. Arm A holds only the third of the book whose dividend-weighted drop ratio over the three calendar years before the anchor was lowest, the names where the price gave back the least of the payment, chosen from events strictly before the anchor. So the arms differ in one registered field, the selection by past drop ratio. Each open position runs at a constant tenth of book equity, dividends are credited from the payment record, every position pays its liquidity tier one way at entry and at exit (1.5, 3 or 6 basis points by 63-day dollar volume before the ex-date), specials are left out and counted, and fewer than fifteen names with an event excludes the window.
Step size · 1 year per forward window
In-sample · 3 years before each anchor
Out-of-sample span · 2008-01-02 → 2025-12-31
Compiled · September 11, 2026
Search family · declared family (N = 12, every member reported)
Abstract

Dividend capture is sold as income on a calendar: buy the stock at the close before the ex-date, the payment is yours, sell the next day. On the ex-date the price falls, and the trader keeps only the part of the payment the price did not take back, minus the spread both ways.

Elton and Gruber measured the fall at about four fifths of the payment in 1970. We expected the fall to match the payment for the large, liquid payers and to fall short for the thinner ones, and the days after the ex-date to carry an earnings pattern, since many companies set it a fixed number of weeks after results. Hartzmark and Solomon (2013) gave a reason to look before the date too: stocks earn more in the months a dividend is due, which they read as buying by investors who want the payment.

We measured the fall on every cash dividend of every company that sat in the S&P 500 since 2005. Each January we picked two lists of payers from the year before, the highest yields and the longest runs of rising payments. We traded their dividends four ways: collect the payment overnight (A), buy after the drop and hold a week (B), collect and hold a week (C), or buy a week before the ex-date and sell the day before, never receiving the payment (D). Each trade was walked forward a year at a time from 2008 with the spread charged, once on every name of the list and once on the third whose price gave back least over the past three years. Both were set against holding the same stocks, and the trade that held up against the funds that hold them.

Capture loses. The high-yield names give back 0.97 of the payment on the ex-date, so the trade earns nothing before costs and loses the spread; the fall matches the payment for the most liquid names and falls short for the thinnest, 0.96 against 0.75 of it. Ranking names by how much they kept in the past finds the ones that keep a little more, never enough to pay the spread, and those same names rise least before the date. The week before the ex-date returns 0.32 percent per event on the high-yield list against 0.18 for an average week of the same stocks, and the week after less than an average week and fading with the distance from results, the shape Hartzmark and Solomon describe. After their paper appeared the premium shrank on the high-yield list and showed up on the long-record list; it beat an average week in 10 of 18 windows on each. Split at three weeks from the last earnings announcement, the high-yield premium sits in the events further from results, 0.15 percent against the market and clear of zero, so it is the dividend premium and not post-earnings drift; on the long-record list it is positive in every cut and clear of zero in none. A portfolio that trades only those weeks on the long-record list earned 6.75 percent a year against 10.45 for holding the same stocks, because it is in the market less than half the time; from 2016 it kept up with the Dividend Aristocrats fund only because of 2020, and from 2014 the fund is ahead.

The four ways to stand around a dividend

A dividend has one date that matters, the ex-date. Whoever owns the stock at the close before it receives the payment; whoever buys on the ex-date or after does not. The payment was fixed weeks earlier, at the declaration, so nothing is learned on the day. What happens on the day is that the price opens lower, by the amount paid if the market is doing its arithmetic, by less if buyers are keen, by more if they are not. The drop ratio in this paper is that fall divided by the payment: 1.00 means the price gave the whole payment back, 0.50 means half of it stayed with the holder.

Everything else is a choice of where to stand around that date, and the four trades here are the four choices. They use the same names and the same dates and differ in one thing only, what they do with the payment.

A, collect overnight. Buy at the close the day before the ex-date, sell at the close of the ex-date. One night. You receive the payment and you take the drop. If the drop equals the payment you have made nothing and paid the spread twice. This is the dividend game as people play it, and the drop ratio decides it: the trade pays only if the price falls by less than the payment.

B, the week after. Buy at the close of the ex-date, after the drop, and sell five trading days later. No payment. It pays only if the price climbs back after the drop, which is what anyone who calls the drop an overreaction is claiming.

C, collect and hold. Buy the close before the ex-date, hold through the date, sell five trading days later. This is A followed by B with one trip of the spread fewer, and it equals A then B by construction: the dividend investor who holds a week. It pays if either of the two above pays.

D, the week before. Buy six trading days before the ex-date and sell at the close the day before it, the last close at which the stock still carries the payment. Five days. It never receives a dividend and never takes the drop; it holds the stock only while the people who want the payment are buying it. It pays only if the price rises into the date. Figure 1 below draws the price path around the date and shades what each trade holds; Table 1 lists the four side by side.

Two ways of counting sit on top of these. Every event once: each trade is run on every dividend event of a list's names inside a window, one position per event, so the result is the trade's own record. The rotation: a fixed pot of ten equal slots, each slot taking the next upcoming ex-date of the list's names with the chosen trade and sitting in Treasury bills in between, which is what a person with one account would actually run. Holding the same names, buying every name of the list equal weight at the start of a window and holding through it with the dividends credited, is the passive version of the same names and the reference every trade is set against; the dividend funds are its buyable version. The registered records call each list a cut, as in a cut of the payers; it has nothing to do with a company cutting its payment.

High-yield events, six sessions before the ex-date to five after, against the close the day before: the price, the price with the payment added back, and an average day of the same names. Below, what each trade holds and where the payment is received; per-event returns before the spread.
Figure 1. High-yield events, six sessions before the ex-date to five after, against the close the day before: the price, the price with the payment added back, and an average day of the same names. Below, what each trade holds and where the payment is received; per-event returns before the spread.

Table 1. The four ways to stand around a dividend, and what each one needs to pay

tradebuy at the close ofsell at the close ofholdscollects the dividendpays only if
A, collect overnightthe day before the ex-datethe ex-date1 nightyesprice falls by less than the payment
B, the week afterthe ex-datethe fifth trading day after5 daysnothe price recovers after the drop
C, collect and holdthe day before the ex-datethe fifth trading day after6 daysyesA or B pays
D, the week beforethe sixth trading day beforethe day before the ex-date5 daysnothe price rises into the date

1  Methodology

Universe. Every company that was a member of the S&P 500 at some point from 2004, with membership at each January first rebuilt from the index's change-log, so a year's payers are the names that were in the index that January. Names that left the index and the vendor no longer prices are counted in the limitations; nothing is filled in for them.

Events. A cash dividend is one event; its ex-date is day zero. The amount is the vendor's split-adjusted payment, the closes are split-adjusted and not dividend-adjusted, the price a holder saw fall. Events over three times the company's usual payment (specials), windows with a bar-to-bar move over 25 percent (a split the vendor did not carry through), and payments over ten percent of the price are left out and counted.

The two lists, decided each January from the year before: high yield, the top fifth of the year's payers by prior-year dividends over the first close of the year; long record, the top fifth by the run of consecutive years in which the annual payment rose, ties by yield. The lists overlap in 14 names a year out of about 70.

The census. For every event: the drop ratio, the fall from the close before to the ex-date close over the payment; the same ratio with the market's move that day (SPY) credited to the ex-date; the calendar days from the last earnings announcement known before the ex-date, after-close announcements counting from the next morning, grouped 0 to 7, 8 to 14, 15 to 21, 22 to 35, 36 to 56, 57 and more days, and the days from the ex-date to the next announcement; the mean price path from six days before to five after against the close before; and the run-up over trade D's own span, the close six sessions before to the close before, plain and with SPY's move over the same bars taken out.

Checks and definitions. A then B with A's proceeds reinvested at the ex-date close equals C by construction, and the engine's identity check is part of the record; the data check that matters is bar continuity, printed as the count of rolled ex-dates (7) and of windows dropped for a broken bar. The per-event return in the tables is the simple return of one position from entry close to exit close with any dividend received, before the spread; the average week it is set against is the same names' holding return over the window taken to five trading days, also before costs. The platform's paired-window tables at the end pair the two arms of the paper's own walk bar by bar and start one bar after the window's first close, so their window means differ from Table 4 in the second decimal.

The walks. For each list and each trade, one registered study with eighteen one-year windows anchored each January from 2008 to 2025. Two arms in every window: every name of the list, and the third of the list whose dividend-weighted drop ratio over the three calendar years before the anchor was lowest, computed from events strictly before the anchor, at least four events with a payment of at least 0.3 percent of price. Every event of the arm's names inside the window is traded; each open position runs at a constant tenth of book equity (equal split past ten), dividends are credited from the payment record, one position per name at a time, and every position pays its liquidity tier one way at entry and at exit: 1.5, 3 or 6 basis points by 63-day dollar volume before the ex-date. Returns are reported gross and net. A window with fewer than fifteen names with an event would be excluded; none was. The paper's own walk is high yield, trade D, the ranked third against every name, the record that carries the paper's claim about the ranking; trade C on the same list was registered first, as the trade people run, and stays a member of the family.

The rotation's mechanics. When more events arrive than free slots, the names ranked best in the training window go first; an idle slot earns the three-month bill; the two references are holding every name of the list equal weight through the window with dividends credited, and holding bills. The rotation was registered on trade C first, the trade people actually run, and again on trade D, the trade that held up in the walks (net positive in a majority of the eighteen windows for both lists).

The index layer, continuous from 2005 to 2026 and before costs: the two lists as equal-weight indices rebalanced on the first trading day of each quarter, daily equal weight over the names held. The shifted calendar holds a leaving name to the bar after its ex-date when that ex-date falls inside the week after the sale, and takes an entering name in at the bar before its ex-date when that falls inside the week before the purchase; one week, set once. At each pick the yield shown (the trailing year's payments over the pick price) is set against the yield collected in the quarter after, name by name, with the next payment classed against the last one before the pick. This layer has no registration record: its trades sit at the boundaries of any one-year window, so a registered window cannot hold them.

The fund layer, a measurement of the same kind: five dividend funds, each as total return with its distributions reinvested at the ex-date close from the payment record, set against the index of the list it resembles from the fund's first January (CAGR of each, the gap, the correlation of daily returns), and on the walks' own windows from that January against the rotation on trade D, holding the same names and bills.

2  Results

2.1  Headline

Selected by past drop ratio, Sharpe
0.22
own daily series, stitched across the windows
Every name of the cut, Sharpe
0.44
own daily series, stitched across the windows
The statistic this paper stands on
On the ex-date the high-yield names give back 0.97 of the payment, so capture earns nothing before costs. The week before the ex-date returns 0.32 percent per event against 0.18 for an average week of the same names, and 0.10 more than the market over the same five days, 0.15 and clear of zero for the events more than three weeks from the last results. The week after returns 0.11.

This paper answers for a declared family of 12 sealed studies. 12 member walks are drawn as 20 lines (a comparative walk contributes one line per arm), each chained across its own out-of-sample windows, on one calendar axis, all rebased to 1× on the first session they share. 7 of them are shown to start, the ones the paper reads by; the others are switched off until their name is clicked. The paper’s own walk is the heavy line.

Every member walk chained across its out-of-sample windows, growth of 10.32x1.76x3.20x200920112013201520172019202120232025high yield · rotation on trade D (run-up)high yield · trade A (capture) · Every name of the cuthigh yield · trade C (capture and hold) · Every name of the cutlong record · rotation on trade D (run-up)long record · trade D (run-up) · Every name of the cuthigh yield · trade D (run-up) · Selected by past drop ratiohigh yield · trade D (run-up) · Every name of the cut
Figure 2. The declared family: 20 lines, one per walk and one per arm of a comparative walk, 7 shown to start. Growth of 1 on the left axis, every line rebased to 1× on 2008-01-02, the first session all of them share. The family table prints each walk over its own windows. Click a name to show or hide its line.
Run-up trades against the dividend funds from 2014, every line 1.00x on the first session of 2016; growth of 1 net of the spread, funds as total return, both growths in the legend. Since 2016 the long-record rotation 2.85x against NOBL 2.65x; since 2014 the fund is ahead, 3.05x against 2.76x.
Figure 3. Run-up trades against the dividend funds from 2014, every line 1.00x on the first session of 2016; growth of 1 net of the spread, funds as total return, both growths in the legend. Since 2016 the long-record rotation 2.85x against NOBL 2.65x; since 2014 the fund is ahead, 3.05x against 2.76x.

Table 2. The drop ratio on the ex-date (the census, every event once, 2005 to 2026), by list and by liquidity tier

list or liquidity tiereventsnamesmedian ratiotrimmed meanmarket-adjusted medianrun-up t-6 to t-1, %after ex to t+5, %
all payers289645470.810.820.950.230.18
high yield59642640.970.971.040.330.13
long record59331650.870.860.990.290.08
tier 1, over 500 million a day42132140.960.861.090.410.16
tier 2, 100 to 500 million173724950.810.860.950.200.20
tier 3, under 100 million73773420.750.670.860.180.17

Table 3. By days from the last earnings announcement to the ex-date (all payers)

dayseventsmedian ratiomarket-adjusted medianrun-up, %after, %
0 to 719070.940.920.270.30
8 to 1438140.850.950.370.28
15 to 2135640.941.010.290.14
22 to 3557080.780.900.130.13
36 to 5673710.800.970.150.10
57 and more63650.780.920.260.26
unknown2350.450.860.270.24

Table 4. The four trades walked: eighteen registered one-year windows, 2008 to 2025, mean window return of the book

listtradeevery name, net %every name, gross %windows positive of 18per event, gross %ranked third, net %ranked third, gross %windows positive of 18per event, gross %p ranked third beats every name, %
high yieldA (capture)-1.880.156-0.004-0.220.5080.03696.9
high yieldB (after)1.243.2470.1121.612.34110.26149.0
high yieldC (capture and hold)1.523.4590.1132.142.87110.30352.7
high yieldD (run-up)6.378.47110.3221.312.0390.2602.2
long recordA (capture)-1.420.4390.011-0.490.1190.01989.8
long recordB (after)0.612.3590.1231.922.52130.30067.3
long recordC (capture and hold)1.042.69120.1362.002.61120.31758.3
long recordD (run-up)5.757.58140.2891.952.56110.2391.7

Table 5. The rotation: ten equal slots, the next upcoming ex-date, bills in between; mean over the eighteen windows

listtrade in the slotsnet %gross %windows positive of 18time in trades, %trades a yearspread paid, % a yearholding the same names, %holding bills, %
high yieldC2.253.981153.12271.6710.881.37
high yieldD6.178.061247.32391.7610.881.37
long recordC2.213.711350.52161.4510.451.37
long recordD6.758.391545.32281.5310.451.37

Table 6. The week before the ex-date against an average week of the same names, and against the market, per event

listrun-up, gross %average week, gross %week after, gross %windows run-up above average, of 182008 to 2013, of 62014 to 2025, of 12census run-up, %minus SPY, %events positive minus SPY, %minus avg week, 0 to 21 / 22+ days after resultsminus SPY, 0 to 21 / 22+ days after results
high yield0.3220.1820.112103 (0.45 vs 0.18)7 (0.26 vs 0.18)0.3270.104510.03 0.190.00 0.15
long record0.2890.1820.123102 (0.13 vs 0.15)8 (0.37 vs 0.20)0.2940.052500.14 0.130.04 0.06

Table 7. The index layer, continuous 2005 to 2026, quarterly rebalances, before costs; the yield gap split name by name

listcalendartotal return %CAGR %dividends, % of NAV a yearentering inside the week before an ex-dateshown at the pick, %collected next quarter, %paid nothing that quarter, share %cut the payment, share %
high yieldfixed990.411.604.62985.274.753.75.2
high yieldshifted1041.711.834.8198
long recordfixed728.810.202.67142.642.701.80.9
long recordshifted729.310.202.6914

Table 8. The dividend funds against the paper's index layer, and the rotation on trade D over each fund's own years

fundresemblesfromfund CAGR %index CAGR %gap, % a yeardaily correlationwindowsrotation on D, net %holding the fund, %holding the same names, %rotation beat the fund
NOBLlong record20149.9310.96-1.030.9822014 to 20259.2710.6510.845 of 12
SDYlong record20068.6110.43-1.820.968
SCHDlong record201213.0712.470.610.950
SPYDhigh yield20169.7813.98-4.200.9682016 to 20257.759.8810.764 of 10
VYMhigh yield20079.2311.95-2.720.887

2.2  Per-step results

Table 9. One row per step, raw out-of-sample results. A short window can pair a negative return with a positive annualised Sharpe: at high daily volatility the arithmetic mean of daily returns sits above the compounded window return, and the Sharpe reads the former. Volatility drag, printed rather than smoothed.
#Out-of-sample window Selected by past drop ratio SR Every name of the cut SR
1 2008-01-02 → 2008-12-31 0.10 -0.34
2 2009-01-02 → 2009-12-31 0.94 1.49
3 2010-01-04 → 2010-12-31 0.69 0.30
4 2011-01-03 → 2011-12-30 -0.63 0.05
5 2012-01-03 → 2012-12-31 -0.25 0.71
6 2013-01-02 → 2013-12-31 0.62 1.88
7 2014-01-02 → 2014-12-31 -0.23 0.32
8 2015-01-02 → 2015-12-31 -0.40 -2.06
9 2016-01-04 → 2016-12-30 0.87 0.89
10 2017-01-03 → 2017-12-29 1.42 1.24
11 2018-01-02 → 2018-12-31 -1.06 -0.36
12 2019-01-02 → 2019-12-31 -0.10 0.99
13 2020-01-02 → 2020-12-31 0.64 0.33
14 2021-01-04 → 2021-12-31 1.79 3.32
15 2022-01-03 → 2022-12-30 -0.68 -0.04
16 2023-01-03 → 2023-12-29 -0.84 -0.05
17 2024-01-02 → 2024-12-31 1.38 1.36
18 2025-01-02 → 2025-12-31 -0.22 -0.25
Out-of-sample equity: normalised growth (1.00x = break even)0.86x0.99x1.13xbars into the window →
Figure 4. Selected by past drop ratio: every step's out-of-sample curve overlaid, each rebased to 1× at its own start. Read alongside the per-step table: consistent shape across steps is the walk-forward's evidence; a single lucky leg is not.
Out-of-sample equity: normalised growth (1.00x = break even)0.63x1.09x1.55xbars into the window →
Figure 5. Every name of the cut: the same windows, the other arm. Compare shape-for-shape with the previous figure: the two arms trade the identical out-of-sample legs.

2.2b  The family, walk by walk

Figure 2 draws these walks; here is every one of them in numbers, the paper’s own walk first and the study’s benchmark last.

WalkWindowsSpanGrowth CAGRWorst drawdownPooled Sharpe
high yield · trade D (run-up) · Selected by past drop ratio (this paper) 18 2008-01-02 → 2025-12-31 +23.7% +1.2% -18.9% 0.22
high yield · trade D (run-up) · Every name of the cut (this paper) 18 2008-01-02 → 2025-12-31 +155.0% +5.3% -33.1% 0.44
high yield · rotation 18 2008-01-02 → 2025-12-31 +25.5% +1.3% -52.9% 0.16
high yield · rotation on trade D (run-up) 18 2008-01-02 → 2025-12-31 +153.6% +5.3% -30.3% 0.46
high yield · trade A (capture) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 -4.3% -0.2% -12.1% -0.09
high yield · trade A (capture) · Every name of the cut 18 2008-01-02 → 2025-12-31 -30.3% -2.0% -40.6% -0.38
high yield · trade B (after) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 +27.5% +1.4% -26.1% 0.23
high yield · trade B (after) · Every name of the cut 18 2008-01-02 → 2025-12-31 +7.7% +0.4% -48.1% 0.11
high yield · trade C (capture and hold) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 +37.8% +1.8% -30.2% 0.27
high yield · trade C (capture and hold) · Every name of the cut 18 2008-01-02 → 2025-12-31 +8.2% +0.4% -53.4% 0.11
long record · rotation 18 2008-01-02 → 2025-12-31 +41.1% +1.9% -32.3% 0.22
long record · rotation on trade D (run-up) 18 2008-01-02 → 2025-12-31 +200.1% +6.3% -31.7% 0.64
long record · trade A (capture) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 -9.3% -0.5% -16.5% -0.23
long record · trade A (capture) · Every name of the cut 18 2008-01-02 → 2025-12-31 -26.1% -1.7% -31.8% -0.36
long record · trade B (after) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 +39.5% +1.9% -12.8% 0.37
long record · trade B (after) · Every name of the cut 18 2008-01-02 → 2025-12-31 +5.8% +0.3% -36.0% 0.09
long record · trade C (capture and hold) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 +40.0% +1.9% -19.8% 0.33
long record · trade C (capture and hold) · Every name of the cut 18 2008-01-02 → 2025-12-31 +12.2% +0.6% -39.7% 0.12
long record · trade D (run-up) · Selected by past drop ratio 18 2008-01-02 → 2025-12-31 +38.2% +1.8% -17.3% 0.39
long record · trade D (run-up) · Every name of the cut 18 2008-01-02 → 2025-12-31 +152.6% +5.3% -33.1% 0.50

2.3  Search accounting

This paper's search is a declared family: a declared family, counted at N = 12 evaluated books. Every member is either a registered walk with its own sealed hypothesis and frozen record, or a derived average computed from those frozen records; every member is reported, in the family matrix table and the robustness figure, and none was selected away. The count is declared by the author rather than derived from one project's ledger, because the members are sibling registered studies; the declaration names them and is frozen in this artifact. What the source strategy's author searched before publishing is not knowable from here and is not counted. The registered per-step record below still guarantees each window's hypothesis was hashed and registered before that window was scored.

2.4  The comparison

Both arms trade the same registered windows, so their returns can be PAIRED: inside each window the two return series are inner-joined date by date and the difference rSelected by past drop ratio − rEvery name of the cut is the object under test. Because this is ONE pre-declared contrast, frozen at registration before any window was scored, the paired statistic needs no multiple-testing deflation; the arm-level records carry the declared family count of §2.3 as their search accounting, and this contrast, sealed per window before scoring, is not multiplied by it.

In the table: Arm A = Selected by past drop ratio · Arm B = Every name of the cut.

Table 10. Window-by-window paired comparison. Δ is the growth gap (Arm A − Arm B) over the window's paired dates.
#WindowPaired bars Arm AArm B ΔLeader
1 2008-01-03 → 2008-12-31 252 +0.5% -10.0% +10.5 pp Arm A
2 2009-01-05 → 2009-12-31 251 +10.6% +38.7% -28.1 pp Arm B
3 2010-01-05 → 2010-12-31 251 +2.5% +2.4% +0.1 pp Arm A
4 2011-01-04 → 2011-12-30 251 -2.8% -0.0% -2.7 pp Arm B
5 2012-01-04 → 2012-12-31 249 -0.9% +4.6% -5.6 pp Arm B
6 2013-01-03 → 2013-12-31 251 +2.1% +13.3% -11.2 pp Arm B
7 2014-01-03 → 2014-12-31 251 -0.7% +1.8% -2.5 pp Arm B
8 2015-01-05 → 2015-12-31 251 -2.0% -19.9% +17.9 pp Arm A
9 2016-01-05 → 2016-12-30 251 +4.4% +10.7% -6.3 pp Arm B
10 2017-01-04 → 2017-12-29 250 +6.0% +6.8% -0.8 pp Arm B
11 2018-01-03 → 2018-12-31 250 -6.1% -4.2% -1.9 pp Arm B
12 2019-01-03 → 2019-12-31 251 -0.6% +10.3% -10.9 pp Arm B
13 2020-01-03 → 2020-12-31 252 +7.3% +5.6% +1.8 pp Arm A
14 2021-01-05 → 2021-12-31 251 +9.9% +48.8% -38.9 pp Arm B
15 2022-01-04 → 2022-12-30 250 -4.8% -1.6% -3.2 pp Arm B
16 2023-01-04 → 2023-12-29 249 -6.6% -1.7% -4.8 pp Arm B
17 2024-01-03 → 2024-12-31 251 +5.9% +12.5% -6.6 pp Arm B
18 2025-01-03 → 2025-12-31 249 -1.2% -3.3% +2.1 pp Arm A

Paired Sharpe of the difference track: -0.49 · block bootstrap (2000 paths, block 10, seed 1234): P(Selected by past drop ratio beats Every name of the cut) = 2.2%.

Window win-rate. Selected by past drop ratio led 5 of 18 windows (27.8%), Every name of the cut led 13, and the mean window gap of -5.07 pp points the same way. Widest single window: 2021 at -38.9 pp.

Table 11. The same comparison split at 2014. Pooling the whole walk into one row hides which side of the split the difference came from.
PeriodWindows Selected by past drop ratioEvery name of the cut Mean gapSelected by past drop ratio led
All windows 18 +1.31% +6.38% -5.07 pp 5/18
Before 2014 6 +2.00% +8.17% -6.17 pp 2/6
2014 onward 12 +0.96% +5.48% -4.52 pp 3/12
All windowsn=18 · Selected by past drop ratio led 5 · Every name of the cut led 13 · ties 0+1.3%+6.4%-5.07 ppBefore 2014n=6 · Selected by past drop ratio led 2 · Every name of the cut led 4 · ties 0+2.0%+8.2%-6.17 pp2014 onwardn=12 · Selected by past drop ratio led 3 · Every name of the cut led 9 · ties 0+1.0%+5.5%-4.52 ppgap
Figure 6. Mean window return per period. Selected by past drop ratio above, Every name of the cut below, with the gap at right. The pooled bar and the post-2014 bar are the same comparison over different periods.

3  The circuit

The strategy is a circuit of platform primitives, frozen when the study is registered. Below is the circuit as wired on the canvas, the objective it encodes and how the search runs through it, followed by the mathematics each primitive actually computes, the same formulas the execution engine runs. The complete parameterisation is preserved in the study ledger (Appendix A).

The hypothesis under test

The sentence below is the registration record, generated when the circuit was sealed and printed verbatim; the authored description of the design is Section 1.

A COMPARATIVE study: Selected by past drop ratio vs Every name of the cut, walked on the same registered out-of-sample windows. Selected by past drop ratio: S&P 500, evaluated, and run out-of-sample from the anchor: anything the design estimates from history, where it estimates at all, is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. Every name of the cut: S&P 500, evaluated, and run out-of-sample from the anchor: anything the design estimates from history, where it estimates at all, is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The arms differ in: Dividend cut (PIT), group: selected → all. The contrast under test: whether Selected by past drop ratio generates better risk-adjusted returns than Every name of the cut over the identical out-of-sample windows.

The two blocks this study runs on, the dividend list and the ex-date trade (with the rotation as a third), were written for it as custom primitives on the engine, the same way a user writes one on the desktop. They read a frozen event table built from the vendor's payment record and closes, and they run on any universe such a table is built for. Universe and Autopsy are the platform's own.

The frozen circuit, data flows left to rightuniverse: click for detailsuniversecustom dividend cut: click for detailscustom dividend cutcustom dividend trade: click for detailscustom dividend tradeportfolio forward autopsy: click for detailsportfolio forward autopsyuniverse: click for detailsuniversecustom dividend cut: click for detailscustom dividend cutcustom dividend trade: click for detailscustom dividend tradeportfolio forward autopsy: click for detailsportfolio forward autopsySelected by past drop ratioEvery name of the cutshared
Figure 7. The frozen circuit, every node a primitive, every wire a typed data-flow; the two arms are colour-coded (Selected by past drop ratio green, Every name of the cut blue, shared feeds neutral). Each box is one step of the strategy; data flows along the wires left to right, and no box can see data dated later than the box feeding it. The whole diagram was frozen when the hypothesis was registered. Click any node to open what that step ran with and what it produced.

Envelopes show counts, ratios, dates, and the parameters the author chose. Full price and per-name data series are not republished: the underlying market data is licensed to QuanterLab. Point figures quoted in the prose, a named holding's return over a stated span, are summary facts derived from public market prices, not redistributed series.

What each part does
Universe, The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.
Portfolio Forward Autopsy, The post-mortem, where the forward test’s return actually came from.

The objective and the search

Selected by past drop ratio

UniverseS&P 500 index constituents.
Validation & out-of-sampleex-date forward test (trade D: a week before to the close before, no dividend; every cash dividend event of the wired names inside the one-year window from the anchor, one open position per name at a constant tenth of book equity, dividends credited from the payment record, the liquidity tier paid one way at entry and at exit).
Other componentsStudy: Dividend cut (PIT), Dividend ex-date trade.

Every name of the cut

The specification is identical to Selected by past drop ratio's table above, row for row; the one sealed difference between the arms is itemized below.

What differs between the arms, one difference; the comparison is clean:

  • paramDividend cut (PIT), group: selected → all

Everything else is held identical, so an out-of-sample gap between the arms is attributable to this one change.

Cost elements are wired into the circuit, the realised drag is reported per step in Appendix B.

Show the mathematics, 2 primitives, formulas and parity notes

3.1  Universe

The starting set of tickers, resolved point-in-time from the index change-log, so names delisted or removed later still compete on the dates they traded.

Before any math, you need a list of stocks. An index preset (S&P 500, Nasdaq-100, Dow 30) is reconstructed as it stood ON your anchor date by replaying the historical add/drop change-log backwards, so a 2018 backtest sees the 2018 membership, not today's winners.

Point-in-time membership

Start from today's constituents and un-apply every membership change after the anchor t:

\mathcal{U}(t) = \mathcal{U}_{\text{now}} \;\ominus\; \{\text{adds after } t\} \;\oplus\; \{\text{drops after } t\}
Constituents resolved from the index change-log; the same point-in-time set the factor + screening modules use.

3.2  Portfolio Forward Autopsy

The post-mortem, where the forward test’s return actually came from.

Runs after the Portfolio Forward Test and dissects its realized path: per-rebalance contributions, winners and losers, exposure and cash periods, and how the realized route compares to what the risk cones projected. It computes nothing new about the future, it explains the past the book just lived.

Reading it

Depth I–IV: headline attribution, per-segment breakdown, per-name contributions, and the calibration ledger (projected cone vs realized, segment by segment). In a study, this is the node that fills the appendices.

4  Discussion

4.1  Findings

The drop. All payers gave back a median 0.81 of the payment on the ex-date; with the market's move that day credited, 0.95. The high-yield list gave back 0.97 plain and 1.04 adjusted, the long-record list 0.87 and 0.99. By year the plain median runs from 0.60 to 1.24 with no trend; the adjusted one stays between 0.73 and 1.19. Across the 503 companies with eight or more events, the middle half of company-level ratios sits between 0.32 and 1.16; the extremes belong to payments of a few basis points of price, and the size-weighted ratio behind the ranking is the one to read. By liquidity tier the fall matches the payment for the most liquid names on the plain measure and exceeds it market-adjusted, a median 0.96 and 1.09 for names trading over 500 million dollars a day, and falls short for the thinnest, 0.75 and 0.86 under 100 million; 2 census events have no volume record and no tier.

The earnings calendar. The median event comes 35 days after the last announcement, half of them between 18 and 54 days, and 55 percent of companies keep a fixed calendar, their gaps within three days of their own median. By distance from the last announcement, the week after the ex-date fades from 0.30 percent inside a week of it to 0.10 at five to eight weeks, the shape of a post-earnings drift, and comes back to 0.26 past eight weeks. The first five groups fade the way an earnings pattern would. The last does not, and the next announcement is not the reason: it lands inside the week after for 18.2 percent of that group's events, and without them the group's week after is 0.27, no lower.

The four ways to stand around the date, net of the spread, mean book return over the eighteen windows, every name of the list. Collecting overnight, trade A: -1.88 percent a year for the high-yield names (6 of 18 windows positive) and -1.42 for the long-record names; gross it is 0.15 and 0.43, a wash, so the payment bought nothing and the spread took the rest. The week after without the payment, trade B: 1.24 and 0.61, under an average week per event (0.11 and 0.12 against 0.18 on either list), so the drop is not made back. Collecting and holding a week, trade C: 1.52 and 1.04, A plus B. The week before, leaving the day before the payment, trade D: 6.37 and 5.75, positive in 11 and 14 of 18 windows. Collecting the payment added nothing on either list, and the week before earned 2.9 times per event what the week after earned on the high-yield list and 2.3 times on the long-record list, 0.32 against 0.11 and 0.29 against 0.12, before the spread. The rule used to pick the trade for the second rotation: net positive in at least ten of the eighteen windows with a positive mean, for every name of the list. The trades that pass: D in high yield, C in long record, D in long record.

Ranking by past drop ratio. The third of each list with the lowest past drop ratio kept more of the payment in the capture trade: 97 percent probability of beating the whole list for high yield and 90 for long record, per event 0.036 against -0.004 percent. It did not pay the spread: -0.22 and -0.49 percent a year net. And the same ranking loses the run-up: every name beats the ranked third on trade D with 97.8 and 98.3 percent probability, a paired Sharpe of -0.49 on the paper's own walk. The names whose price gives back least on the ex-date are the names that run up least before it.

The week before, checked. The run-up week beat an average week of the same names in 10 of 18 windows on the high-yield list and 10 on the long-record list, 0.32 against 0.18 percent per event and 0.29 against 0.18, before the spread. On the census events the same five days returned 0.33 percent for the high-yield list, 0.10 more than SPY over the same bars, positive against the market in 51 percent of events; long record 0.29 and 0.05. Split after 2013, the year Hartzmark and Solomon published (Table 6): the high-yield premium shrank, 0.45 against 0.18 for an average week through 2013 and 0.26 against 0.18 from 2014, and the long-record one showed up, 0.13 against 0.15 and then 0.37 against 0.20. Event by event, with the ex-date week as the unit so that events sharing a week count once (10,000 draws): against SPY over the same five bars, on the whole census, the high-yield run-up is 0.10 percent with a 95 percent interval of -0.02 to 0.23, the long-record 0.05, -0.04 to 0.15. Against the year's average week, on the census events of the walk years 2008 to 2025 with every event weighted once (Table 6's figures are window means, hence 0.11 there and 0.13 here for long record), 0.14 for high yield, -0.05 to 0.33, and 0.13 for long record, -0.03 to 0.30; 1.4 and 1.6 standard errors from zero. Split at three weeks from the last earnings announcement (Table 6, last two columns), the high-yield premium is not post-earnings drift: inside 21 days the run-up is 0.03 against an average week and 0.00 against SPY, nothing, and from 22 days on it is 0.19 against an average week and 0.15 against SPY, 0.01 to 0.29, clear of zero, and 0.16 against SPY with the next announcement kept more than ten days away. On the long-record list the split changes nothing, 0.14 against an average week inside 21 days and 0.13 beyond, neither clear of zero. The premium is the dividend one; on the long-record list it is positive in every cut and settled in none.

The rotation. On trade C the high-yield rotation earns 2.25 percent a year net (gross 3.98), in trades 53 percent of the time, 227 trades a year, 1.67 percent a year paid in spread, against 10.88 for holding the same names and 1.37 for bills; long record 2.21 net against 10.45 holding. On trade D the rotation earns 6.17 and 6.75 percent net, still under holding at 10.88 and 10.45, because it is in trades less than half the time, and 1.8 and 1.6 times an average week over less than half the year is less than a full year of average weeks.

The funds. The long-record index built here and the Dividend Aristocrats fund (NOBL) move together at 0.98 daily correlation from 2014, the fund 1.03 percent a year behind the index before costs; the high-yield index and the S&P 500 High Dividend fund (SPYD) at 0.97, the fund 4.20 behind. On the walks' own windows from each fund's first full year, the long-record rotation on trade D earned 9.27 percent a year net against 10.65 for holding NOBL and 10.84 for holding the same names, with the rotation's money in bills 55 percent of the time; it beat the fund in 5 of 12 windows. Against SPYD the high-yield rotation earned 7.75 against 9.88. Chained from 2016, the first January both funds exist (Figure 3), the long-record rotation grew 2.85x against 2.65x for NOBL; from 2014, NOBL's first January, the fund is ahead, 3.05x against 2.76x.

The 2020 window. The long-record list had 324 ex-dates in 2020 against 308 a year on average over 2016 to 2019, so suspensions did not empty the rotation. Its 34.7 percent that year came in the rebound months: March, April, June, August and November together made 31.4 percent, with the book in bills between its trades while the fund held through the fall and the recovery, 1.35x against 1.08x over the year.

The index layer. The high-yield index shows 5.27 percent yield at its picks and collects 4.75 in the quarter after, per name and pick, and 3.7 percent of the picks paid nothing in that quarter (Table 7). Of that half point, 0.28 is the 2.4 percent that paid nothing for two quarters (suspensions), 0.07 the 1.3 percent whose ex-date slipped past the quarter end, and 0.16 the 5.2 percent that cut the payment; the long-record index shows 2.64 and collects 2.70. Holding the high-yield names on the shifted calendar instead of the fixed one is worth 4.7 percent of final value over the span, 4.81 against 4.62 percent a year in dividends collected; the long-record index gains 0.06 percent, nothing. The difference is turnover: 98 names entered the high-yield index inside the week before an ex-date over the span against 14 for the long-record index.

4.2  Interpretation

Of the four trades, the one that only collects the payment, A, earns less than the spread, and collecting and holding a week, C, is positive by the week after alone; the payment part earns nothing. On the ex-date the price gives the payment back: for the names people actually pick, the high-yield list, 0.97 of it on the plain measure and 1.04 with the market's move credited, so capture's gross return is the noise of one day and its net return is the spread. For all payers a fifth of the payment stays with the holder on the plain measure, and most of that is the market's own drift on those days.

What persists is smaller than the trade needs. Companies whose price gave back less in the past give back less again, with 97 percent probability of the ranked third beating the whole high-yield list, and the effect is worth 0.039 percent per event, under a round trip of the spread for all but the most liquid names. The week before the ex-date returns 0.32 percent per event on the high-yield list against 0.18 for an average week, and it belongs to the names that give back most on the day.

This is the dividend month premium of Hartzmark and Solomon (2013): abnormal returns in the months a dividend is predicted, tied to buying by investors who want the payment, larger before the ex-day and reversed after it. Harris, Hartzmark and Solomon (2015) name the buyers, funds that hold names through their ex-dates to raise the yield they report. After their paper appeared the premium shrank on the high-yield list and showed up on the long-record list; it beat an average week in 10 of 18 windows on each, and against the market over the same five days it is 0.10 percent per event for the high-yield list, positive in 51 percent of events. Split at three weeks from the last earnings announcement, the high-yield premium is absent inside and 0.15 percent against the market beyond, clear of zero, so it is not post-earnings drift.

A book that holds only those weeks earned 6.75 percent a year against 10.45 for holding the same stocks over the eighteen years, because it is in trades less than half the time. It moves with the Dividend Aristocrats fund (Figure 3) and kept up with it only from 2016, 2.85x against 2.65x, with 2020 supplying the margin, 1.35x against 1.08x in that year, made in the rebound months with the book in bills between them. From 2014 the fund is ahead, 3.05x against 2.76x.

For an index builder the shifted calendar is a small gain on the high-yield side and nothing on the long-record side. The high-yield index gains because its names change often, 98 entries inside the week before an ex-date over the span against 14 for the long-record index, which barely changes its names. The number that matters more to a dividend investor is the gap between the yield shown at the picks and the yield collected in the quarter after, 5.27 against 4.75 percent, and over half of that half point is names that paid nothing for two quarters after they were picked.

What would change the conclusion: quoted spreads instead of tiers, which would lower every net number, not raise it; a longer hold after the ex-date, which becomes a different question; or a list of names with payments large relative to price, where the census's tails live and where the ratio is far from one for reasons of liquidity rather than of the dividend.

This study is one member of a declared search family: the same design walked at several sealed settings across sibling registered projects, every member either a registered walk with its own frozen record or a derived average of those records, and every member reported. The family size is declared by the author and named in the lineage; it is the search-accounting count for this paper. What was searched before the source strategy was published is not knowable from here and is not counted.

4.3  Limitations

The vendor prices none of the 117 names that left the index between 2004 and 2026, and 116 of them have no dividend record with it either, so none entered a list; the hole is 560 member-years out of about eleven thousand. If payers that went bust are among them, holding, which keeps a name through its fall, loses more than a five-day trade does, so the gap between the trades and holding is narrower than shown, and the fund comparison is made against an index that could not hold those names. The spread is charged by a three-tier proxy from dollar volume, not from quoted spreads, so the net numbers are a floor on the cost for thin names. Each yearly window drops the events whose entry falls before its first bar or whose exit falls after its last, counted per window. Taxes are not modelled; a holding of a day or a week does not qualify for the reduced US dividend rate, so the after-tax gap to holding is wider than shown. The index layer is a measurement without a registration record and before costs. The fund layer runs from each fund's first January, 12 of the 18 windows for the Aristocrats fund and 10 for the high-dividend one, and sets a fund net of its own fee against an index before costs.

References

QuanterLab reference architecture
  1. Gelman, A., & Loken, E. (2013). The garden of forking paths: Why multiple comparisons can be a problem, even when there is no “fishing expedition.” Working paper, Columbia University.
  2. Harvey, C. R., Liu, Y., & Zhu, H. (2016). … and the Cross-Section of Expected Returns. Review of Financial Studies, 29(1), 5–68. doi:10.1093/rfs/hhv059
  3. Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52. doi:10.2469/faj.v58.n4.2453
Author’s references?
  1. Elton and Gruber (1970), Marginal stockholder tax rates and the clientele effect, Review of Economics and Statistics: the ex-date drop as a fraction of the dividend, measured at 0.78 for NYSE stocks 1966 to 1967.
  2. Kalay (1982), The ex-dividend day behavior of stock prices, Journal of Finance: the drop ratio read as a bound set by transaction costs rather than as a tax clientele.
  3. Boyd and Jagannathan (1994), Ex-dividend price behavior of common stocks, Review of Financial Studies: dividend capture by taxable investors and the role of costs.
  4. Hartzmark and Solomon (2013), The dividend month premium, Journal of Financial Economics: abnormal returns in the months a dividend is predicted, larger before the ex-day and reversed after it, read as price pressure from investors who want dividends.
  5. Harris, Hartzmark and Solomon (2015), Juicing the dividend yield: mutual funds and the demand for dividends, Journal of Financial Economics: funds that buy names ahead of their ex-dates to raise the yield they report.

Appendix A  Reproducibility in QuanterLab

Each step is backed by a frozen run report. The study is re-derivable from the ledger below.

#CommitReportAnchorOOS window
1 8251ddab6e97 8894 2008-01-01 2008-01-02 → 2008-12-31
2 bedc3a1dd747 8896 2009-01-01 2009-01-02 → 2009-12-31
3 080b00d23216 8898 2010-01-01 2010-01-04 → 2010-12-31
4 989a5cc2efc0 8900 2011-01-01 2011-01-03 → 2011-12-30
5 007486131151 8902 2012-01-01 2012-01-03 → 2012-12-31
6 e7b90e151d99 8904 2013-01-01 2013-01-02 → 2013-12-31
7 2ed3afdd4795 8906 2014-01-01 2014-01-02 → 2014-12-31
8 45a8f4cd9cdb 8908 2015-01-01 2015-01-02 → 2015-12-31
9 577b7b013a68 8910 2016-01-01 2016-01-04 → 2016-12-30
10 be80711c28f0 8912 2017-01-01 2017-01-03 → 2017-12-29
11 956d0d4859a5 8914 2018-01-01 2018-01-02 → 2018-12-31
12 74e78763b40c 8916 2019-01-01 2019-01-02 → 2019-12-31
13 80892a53f05a 8918 2020-01-01 2020-01-02 → 2020-12-31
14 18b07cc3c349 8920 2021-01-01 2021-01-04 → 2021-12-31
15 6d66d4599d68 8922 2022-01-01 2022-01-03 → 2022-12-30
16 7c80fecf392e 8924 2023-01-01 2023-01-03 → 2023-12-29
17 05267e784906 8926 2024-01-01 2024-01-02 → 2024-12-31
18 8c9df2e14649 8928 2025-01-01 2025-01-02 → 2025-12-31

Appendix A2  Registration record

What this record does and does not establish. Every window in this study is historical: the data existed before the study began, so this is sequential sealing on past windows, not pre-registration in the clinical-trial sense, and no procedure could make it so. What the platform does enforce is order, each step's specification was frozen and hashed before that step was scored, and the walk cannot advance past a step that was never run or close one with a result registered for a different window. The two timestamp columns below are the evidence: read them together and each seal precedes its own run, and each run precedes the next seal. A study whose seals all post-date its runs would show it here. Wall-clock spacing between seals varies with the author's schedule and queue latency; the ordering, not the tempo, is the claim.

“A COMPARATIVE study: Selected by past drop ratio vs Every name of the cut, walked on the same registered out-of-sample windows. Selected by past drop ratio: S&P 500, evaluated, and run out-of-sample from the anchor: anything the design estimates from history, where it estimates at all, is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. Every name of the cut: S&P 500, evaluated, and run out-of-sample from the anchor: anything the design estimates from history, where it estimates at all, is re-estimated at each anchor from pre-anchor data only, and the walk advances through registered out-of-sample windows; its disposition is the realized forward path versus the benchmark. The arms differ in: Dividend cut (PIT), group: selected → all. The contrast under test: whether Selected by past drop ratio generates better risk-adjusted returns than Every name of the cut over the identical out-of-sample windows.”

The same hypothesis was registered independently at every step, hashed before each step's out-of-sample window was scored:

Table 12. Registration audit, one row per registered step, with the time each specification was frozen and the time its window was scored. The hypothesis is identical on every row by design: it was registered once and re-registered unchanged at each anchor. Rows that differ would mean the specification moved mid-walk, which is the thing this record exists to rule out. The timestamps are the separate claim: each seal precedes its own run, and each run precedes the next seal.
#AnchorRegistered at (UTC)Run completed (UTC)
1 2008-01-012026-09-10 20:40:33 2026-09-10 20:40:45
2 2009-01-012026-09-10 20:40:45 2026-09-10 20:40:58
3 2010-01-012026-09-10 20:40:58 2026-09-10 20:41:10
4 2011-01-012026-09-10 20:41:10 2026-09-10 20:41:22
5 2012-01-012026-09-10 20:41:22 2026-09-10 20:41:34
6 2013-01-012026-09-10 20:41:34 2026-09-10 20:41:46
7 2014-01-012026-09-10 20:41:46 2026-09-10 20:41:58
8 2015-01-012026-09-10 20:41:58 2026-09-10 20:42:10
9 2016-01-012026-09-10 20:42:10 2026-09-10 20:42:22
10 2017-01-012026-09-10 20:42:22 2026-09-10 20:42:35
11 2018-01-012026-09-10 20:42:35 2026-09-10 20:42:47
12 2019-01-012026-09-10 20:42:47 2026-09-10 20:42:59
13 2020-01-012026-09-10 20:42:59 2026-09-10 20:43:11
14 2021-01-012026-09-10 20:43:11 2026-09-10 20:43:23
15 2022-01-012026-09-10 20:43:23 2026-09-10 20:43:35
16 2023-01-012026-09-10 20:43:35 2026-09-10 20:43:47
17 2024-01-012026-09-10 20:43:47 2026-09-10 20:43:59
18 2025-01-012026-09-10 20:43:59 2026-09-10 20:44:11

Appendix B  Per-step diagnostics

Realized in the projection tables below is the risk engine scoring its own forecast: the buy-and-hold return of the segment that followed each rebalance, on the same gross basis the cone was projected on. It is deliberately not the charged, calendar-window total return the study’s tables print, so the two will not reconcile line by line; the cone and its outcome share one basis, which is what a calibration test requires. Each row names its segment’s span so a boundary session is visible.

Names held is the union across the window: the count of distinct instruments the book touched between the window’s first and last session, not the number it held at one time. A book that rotates monthly touches more names than it holds.

What each step's run actually did beyond its return: capital allocation across lanes and regimes, the portfolio book's rebalancing and cost drag, and how positions were sized. Harvested from the frozen run reports, present where the circuit produced them.

Open the full per-step grid (18 steps: every rebalance, capital routing and sizing, per window)

Step 1 · 2008-01-02 → 2008-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 16 names held · selection: ex-date · 87.1% in cash · cost drag 0.48%

Every name of the cut

Portfolio book, rebalanced event · 52 names held · selection: ex-date · 61.5% in cash · cost drag 1.49% · 1 name dropped at load (53 selected, 52 held across the window), weights renormalised onto the rest

Step 2 · 2009-01-02 → 2009-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 16 names held · selection: ex-date · 87.5% in cash · cost drag 0.52%

Every name of the cut

Portfolio book, rebalanced event · 51 names held · selection: ex-date · 61.2% in cash · cost drag 1.67%

Step 3 · 2010-01-04 → 2010-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 17 names held · selection: ex-date · 86.5% in cash · cost drag 0.63%

Every name of the cut

Portfolio book, rebalanced event · 56 names held · selection: ex-date · 56.9% in cash · cost drag 1.87%

Step 4 · 2011-01-03 → 2011-12-30

Selected by past drop ratio

Portfolio book, rebalanced event · 19 names held · selection: ex-date · 84.5% in cash · cost drag 0.64%

Every name of the cut

Portfolio book, rebalanced event · 59 names held · selection: ex-date · 54.1% in cash · cost drag 1.9%

Step 5 · 2012-01-03 → 2012-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 21 names held · selection: ex-date · 83.3% in cash · cost drag 0.71%

Every name of the cut

Portfolio book, rebalanced event · 62 names held · selection: ex-date · 50.9% in cash · cost drag 2.06%

Step 6 · 2013-01-02 → 2013-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 21 names held · selection: ex-date · 82.9% in cash · cost drag 0.7%

Every name of the cut

Portfolio book, rebalanced event · 64 names held · selection: ex-date · 51.2% in cash · cost drag 2.01%

Step 7 · 2014-01-02 → 2014-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 23 names held · selection: ex-date · 81.3% in cash · cost drag 0.72%

Every name of the cut

Portfolio book, rebalanced event · 67 names held · selection: ex-date · 48.6% in cash · cost drag 2.0%

Step 8 · 2015-01-02 → 2015-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 21 names held · selection: ex-date · 82.1% in cash · cost drag 0.71% · 1 name dropped at load (22 selected, 21 held across the window), weights renormalised onto the rest

Every name of the cut

Portfolio book, rebalanced event · 69 names held · selection: ex-date · 47.5% in cash · cost drag 1.92% · 1 name dropped at load (70 selected, 69 held across the window), weights renormalised onto the rest

Step 9 · 2016-01-04 → 2016-12-30

Selected by past drop ratio

Portfolio book, rebalanced event · 24 names held · selection: ex-date · 80.7% in cash · cost drag 0.77%

Every name of the cut

Portfolio book, rebalanced event · 71 names held · selection: ex-date · 46.5% in cash · cost drag 1.88%

Step 10 · 2017-01-03 → 2017-12-29

Selected by past drop ratio

Portfolio book, rebalanced event · 24 names held · selection: ex-date · 81.0% in cash · cost drag 0.78%

Every name of the cut

Portfolio book, rebalanced event · 75 names held · selection: ex-date · 44.9% in cash · cost drag 1.98%

Step 11 · 2018-01-02 → 2018-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 25 names held · selection: ex-date · 79.8% in cash · cost drag 0.76%

Every name of the cut

Portfolio book, rebalanced event · 75 names held · selection: ex-date · 44.3% in cash · cost drag 1.99%

Step 12 · 2019-01-02 → 2019-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 27 names held · selection: ex-date · 78.5% in cash · cost drag 0.91%

Every name of the cut

Portfolio book, rebalanced event · 80 names held · selection: ex-date · 37.9% in cash · cost drag 2.29%

Step 13 · 2020-01-02 → 2020-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 27 names held · selection: ex-date · 78.6% in cash · cost drag 0.88%

Every name of the cut

Portfolio book, rebalanced event · 81 names held · selection: ex-date · 44.5% in cash · cost drag 2.03%

Step 14 · 2021-01-04 → 2021-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 27 names held · selection: ex-date · 77.5% in cash · cost drag 0.88%

Every name of the cut

Portfolio book, rebalanced event · 81 names held · selection: ex-date · 37.6% in cash · cost drag 2.23%

Step 15 · 2022-01-03 → 2022-12-30

Selected by past drop ratio

Portfolio book, rebalanced event · 26 names held · selection: ex-date · 80.4% in cash · cost drag 0.65%

Every name of the cut

Portfolio book, rebalanced event · 78 names held · selection: ex-date · 40.9% in cash · cost drag 1.86%

Step 16 · 2023-01-03 → 2023-12-29

Selected by past drop ratio

Portfolio book, rebalanced event · 25 names held · selection: ex-date · 80.3% in cash · cost drag 0.62%

Every name of the cut

Portfolio book, rebalanced event · 77 names held · selection: ex-date · 40.2% in cash · cost drag 2.04%

Step 17 · 2024-01-02 → 2024-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 26 names held · selection: ex-date · 80.7% in cash · cost drag 0.68%

Every name of the cut

Portfolio book, rebalanced event · 80 names held · selection: ex-date · 40.3% in cash · cost drag 1.91%

Step 18 · 2025-01-02 → 2025-12-31

Selected by past drop ratio

Portfolio book, rebalanced event · 27 names held · selection: ex-date · 77.1% in cash · cost drag 0.72%

Every name of the cut

Portfolio book, rebalanced event · 80 names held · selection: ex-date · 38.6% in cash · cost drag 1.85%

QuanterLab · Study fc57ae7d3c74 · compiled September 11, 2026. Point-in-time constituents and hypothesis-registration timestamps are enforced by the platform. This report is generated from the frozen study artifact and is reproducible from the ledger above. Educational research, not investment advice: every result on this page is simulated, and nothing here is a recommendation to buy or sell any security.

Run a study like this one

Everything above was produced inside QuanterLab, the registration, the walk, the statistics and the paper itself. Build the circuit on a canvas, register the hypothesis before you score it, and the platform enforces the rest.

The lab is in private beta and opens in September 2026. Reading the research needs no account, follow it and we'll tell you when the next study publishes.

As seen on Quantocracy

A note on AI. QuanterLab is a quantitative finance research platform, and every number in this study comes from a run on the platform. The hypothesis, the parameter choices, the validation design and the conclusions belong to the author. Runs execute on point-in-time data with walk-forward validation, and each study ships with its methodology and logs, so a reader can reconstruct the result instead of trusting it. I use AI to edit and structure the prose; it does not generate results, produce numbers, or decide what a study concludes.