← Ground Truth report library

The Truth About Dividend Investing — And the Metric That Decides Nothing

Episode D17 · report format v2 · lab run 2026-08-15, pre-registration locked 2026-08-05 before the run
VERDICT — THE METRIC IS EMPTY AND THE STRATEGY IS FINE — AND THE SECOND HALF IS NOT A SOFTENER

Yield on cost is your current yield multiplied by your price ratio since purchase — one plus your unrealized gain. That is an identity, not a finding, and we rendered it on 184 of 184 fund-months across 2 of 2 funds we have actually measured — worst relative residual 2.2 × 10−16, which is floating-point zero. It cannot license a decision that today's price and today's distribution do not already license. On 2026-06-30, SCHD had one market yield — 2.49% — and 166 different yields on cost, from 2.45% to 8.42%. Same fund, same day, same distribution cheque. Then the question the metric lets you skip. Over its whole 14.7-year life a dollar in SCHD became $5.95 while the same dollar in SPY became $7.68 — the fund is behind the index it is made of. But the counterweight is half the finding, not a caveat: SCHD's price alone, with every dividend excluded, turned a dollar into $3.76 over the same window. That is real compounding, and anyone who leaves here thinking dividend stocks are a trick has been mistaught by us.

What we granted, and what we actually tested

Granted, not measured: that yield on cost is a correctly-computed number about a real past transaction. It is not a lie and it is not a fudge — a holder who bought years ago genuinely does collect that much cash per dollar he originally paid. Our claim is that it is redundant, which is a different word from false. We also grant the whole of the Canadian income-ETF educator's case: his figures are his own and we contradict none of them, his self-imposed sell rule is more discipline than this genre usually carries, and his tax argument — a realized gain at Canadian fifty-percent inclusion with no better opportunity visible to him — is genuinely correct.

Tested: two things, both on funds we measured ourselves from a survivorship-free store, month-end through 2026-06-30. One: whether yield on cost contains anything beyond today's yield and the price ratio — rendered month by month, 184 of 184 fund-months, 2 of 2 funds, in both directions: one fund whose price tripled and one whose price collapsed. Two: whether the two dividend-focused funds on our own reference table kept pace with the index over their whole lives.

What this report does NOT claim, pre-committed before the data: (a) anything about the Canadian income-ETF educator's own fund. It is Canadian, our store is US equities, and we hold no record of it — not its price, not its distributions, not its total return. Every figure about his position on this page is his, or Ben Felix's, or nobody's. (b) that dividend-paying stocks as a cohort underperform — we measured two funds, not a cohort, and the controlled test has never been run. (c) that yield on cost fails as a predictor, as a statistical result; two funds with overlapping windows cannot support that and we do not pretend otherwise. (d) any tax, allocation or should-you-buy-this conclusion. This report prices a metric and reports two fund comparisons. It does not build a portfolio.

§1 · The locked pre-registration

Committed e75442f on 2026-08-05, before the probe was run — the wager you cannot move after seeing the cards.

What was locked, and what was not. Commit e75442f on 2026-08-05 registered this measurement — SCHD rising and ULTY falling — by ticker and by direction, 10 days before the first line of the lab — and registered the jurisdiction wall in the same breath. The same commit wrote down what we expected to find — “YoC and market yield diverge monotonically for any held position, the divergence carries zero information about forward return, and the dividend-focused funds we measured trail the index by roughly their yield-and-selection gap while remaining real equity.” — and this report claims less than that: the information claim is made in its algebraic form only (section 8, criterion 1), never as a statistical result. Our lab repository is private, so the hash is printed here rather than linked; the ordering can be produced on request. The lab that answered it landed on 2026-08-15. What that lock does NOT cover: the identity underneath is algebra; it could not have failed, and no pre-registration would turn it into evidence. It earns its place by making the magnitudes visible, not by having been in doubt. Three of the lab's seven checks were written in the same commit as the code they check. Both facts are in the goalpost tally below, rather than in a footnote.

The falsifiable question

Do the two curves separate in the two directions we registered — yield on cost above market yield on the fund whose price rose, and below it on the fund whose price fell — on the engine we said we would use, without re-declaring a fund spec to get there?

Our stated prior: SCHD rising and ULTY falling — by ticker and by direction, 10 days before the first line of the lab

Both directions arrived exactly as registered. SCHD's yield on cost finished 8.30% against a market yield of 2.49% on a price ratio of ×3.3384; ULTY's finished 37.71% against 108.30% on ×0.3482. What we got wrong was the exhibit. We registered two curves as the payoff. The single strongest thing the lab produced is not a curve at all — it is a count, the 166 simultaneous yields on cost in section 2 — and we had not registered it, asked for it, or thought of it.

The primary configuration (locked)

ParameterLocked value
Market yieldtrailing-twelve-month distributions per share ÷ today's month-end price
Yield on costthe same trailing-twelve-month cash ÷ the month-end price at a chosen purchase month
Warm-up12 months required; the first eleven months of each fund are dropped, never annualized up from a stub
Split handlingprice and distributions are both split-adjusted per share by the store's own cumulative factor, so every split cancels in the ratio
FundsSCHD (price rose) and ULTY (price fell) — both required to be natively addressable in the engine, with no re-declared specs
WindowsSCHD 2012-09-30 → 2026-06-30, 166 month-ends · ULTY 2025-01-31 → 2026-06-30, 18 month-ends
Total-return armmonth-end price plus distributions per share; the gap is the fund's total return minus the index's, over the fund's own window
Dataa survivorship-free US month-end store — the same engine and the same method used for all 24 funds on our reference table
Frictionsnone — this is an ownership metric, not a strategy. No trading, no commission, no tax

Deliberately NOT tested — named in advance

  1. The Canadian income-ETF educator's own fund. It is Canadian and our store is US equities. We hold no price, distribution or total-return record for it, and no number on this page is a measurement of it.
  2. The dividend-payer cohort. Two funds are two funds. The size- and sector-controlled payers-versus-non-payers test on our own survivorship-free store has never been run.
  3. Yield on cost as a forward predictor. The identity makes the question moot for a holder's decision; it does not answer the statistical question, and this report does not run that experiment.
  4. Any fund's distribution ledger. Where a payout was funded from — income versus return of capital — is a different receipt. Return of capital appears here only as a modelled property of a wrapper class, never as a measured quantity of anyone's fund.
  5. The price of the covered-call overlay. That is another episode's method-home, public on the channel; its one receipt is quoted in section 5 as a callback, never as this report's proof.
A wrong-way separation on either fund, or a fund the engine could not address natively, would have sent this lab back before a single frame was drawn; the two directions arriving as registered is what licensed the rendering. Both endings are stated here; only the expected one was written down in the lock commit, and it is quoted in section 1.

The goalposts — all required to proceed

#Pre-registered goalpostMeasuredPass
1Pre-registered goalpost — the fund whose price rose shows yield on cost ABOVE market yieldSCHD 8.30% vs 2.49%, ×3.3384YES
2Pre-registered goalpost — the fund whose price fell shows yield on cost BELOW market yieldULTY 37.71% vs 108.30%, ×0.3482YES
3Pre-registered goalpost (the engine, named in the lock commit; the no-re-declared-spec wording is the lab's) — both funds natively addressable in the engine, with no re-declared spec2 of 2YES
4Lab-time check, NOT registered in advance — this lab stands on the same engine and store as the receipt of record8 of 8 published cells reproduce to ±0.06ppYES
5Pre-registered goalpost (the jurisdiction wall, in the same commit) — no measured claim about the Canadian fund, anywhere in the lab0 series, 0 cells; its only appearance is arithmetic on his own reported numbersHELD

5 of 5 — rows 1, 2 and 5 registered by name in the lock commit, row 3 by the engine it names, row 4 written with the lab — and that tally is worth less than it looks, which is why it is printed with the question it asked. These goalposts asked “did the lab measure what it registered, on the engine it registered, without touching the jurisdiction it cannot see?” They did not ask whether yield on cost is empty — that is an identity and it could not have come out any other way, which section 3 says at length. And three of this lab's seven checks were not registered in advance at all: the 166-purchase-month fan, the anchor re-derivation and the negative control were written in the same commit as the code they check, so version control cannot witness their ordering, and we are not going to imply that it can.

§2 · The headline arithmetic

FigureValueWhat it means
A dollar in SCHD, its whole 14.7-year life$5.95total return, distributions included
The same dollar in SPY, the same window$7.68the fund is behind the index it is made of
A dollar of SCHD's price alone, every dividend excluded$3.76the counterweight, and it is half the finding — this is real compounding
DIVO, 9.5 years, against the same index$3.09 vs $3.87the second independent datapoint, same direction
QYLD against the index it writes calls on, 12.5 years$1.76 vs $9.26what a covered-call fund did over a real cycle — SCHD is not this
SCHD on 2026-06-30: market yield vs yield on cost2.49% vs 8.30%separated by exactly the ×3.3384 the price moved
ULTY on the same day, the same arithmetic running backwards108.30% vs 37.71%×0.3482 — the price collapsed, so yield on cost sits below
One fund, one day, one distribution cheque166 yields on cost, 2.45% to 8.42%median 4.52%, a 3.44× spread against one market yield of 2.49%
The identity, rendered184 of 184 fund-monthsworst relative residual 2.2 × 10−16 — floating-point zero

§3 · Was it the path? The stress tests

The first stress test is the annualization convention, because that is where this corpus has been bitten before. The column our reference table prints as “CAGR” is an annualized arithmetic mean, not a geometric one, and the two are not the same number. Every rate this report could have shipped was recomputed both ways. SCHD's gap against the index moves from −2.08pp to −1.99pp (full precision; the receipt file's cell reads −1.98 because it subtracts a 2-dp intermediate — REINDEX_FIX_2026-09-05.md, rounding note); SCHD's price-only rate moves from 10.48% to 9.46%. The verdict survives both. But DIVO's gap moves by 0.51pp (−3.21 to −2.70 at full precision; the receipt cell's −2.69 would say 0.52, for the same reason), which is enough that its published rate is only true on one convention — so this report does not print that rate, and says about three points a year instead.

That is the whole reason this report's headline is a multiple and not a rate. $5.95 against $7.68 carries no annualization convention at all, so no convention can inflate it. Wherever a figure could be stated either way on this page, it is stated as a multiple.

The second stress test is the negative control, and it is the one that matters. An identity check that has only ever been seen green is not a check. So the lab corrupts a purchase basis on purpose and re-runs, and its results file records the outcome: 166 of 184 fund-months flip to fail and the 18 untouched months stay green — the guard bites exactly the fund it was pointed at, and nothing else. What that proves is less than it sounds: not the arithmetic, which cannot fail, but that the machine is reading the price it was told to read. This page's own generator carries the same kind of control — corrupt one ledger row and it refuses to write.

And the honest limit of all of it. Every figure here is downstream of one store. A store error would reproduce perfectly through every check on this page, and no amount of internal consistency would show it.

§4 · The controls

The index is the control, and it is the same instrument in every comparison. Over SCHD's own 14.7 years a dollar in SPY became $7.68; over DIVO's 9.5 years, $3.87; over QYLD's 12.5 years a dollar in QQQ became $9.26. Each fund is measured against the thing it is actually made of, over that fund's own window, never a shared one.

Is this lab standing on the same engine as the receipt of record? 8 of 8 published cells across 2 of 2 funds reproduce to ±0.06pp, the print precision of the page they came from. Separately, the whole reference table was re-derived for this episode: 96 of 96 master cells across 24 of 24 funds, 21 of 21 gap cells, 0 differences. That check asked whether the engine still produces the number the page prints. It did not ask whether the store's own records are right.

One scar from that re-derivation, recorded rather than buried. 6 of the 24 rows on our reference table had no live engine entry, because the file that declared them is no longer on disk anywhere. Their specs were rebuilt and they reproduce — but a reconstruction is a different evidence class from a measurement, and QYLD, cited on this page, is one of them. The two funds this report's identity work rests on are not: 2 of 2 natively specified, which is why that was goalpost 3 and not a footnote.

§5 · The best objection, pre-registered and answered

“You did not measure his fund, so what exactly are you telling him?” That is the right objection, and the answer is a boundary rather than a dodge. His fund is Canadian. Our store is US equities and we hold no record of Evolve BANK — no price, no distributions, no total return — so we never measured it, and nothing on this page is a measurement of it. Exactly three things transfer, and only these three:

  1. The arithmetic. Yield on cost equals current yield times the price ratio in every currency and every tax code. It is an identity, so jurisdiction is irrelevant to it. That is the only reason this report works at all with a Canadian holder in it.
  2. Covered-call class behaviour, offered as an analogue and labelled as one. Our US evidence is QYLD: a dollar became $1.76 while a dollar in the index it writes calls on became $9.26 over 12.5 years. That is a US fund and a US index. It is an analogue for a class, never a stand-in for his fund. Underneath that class sits a contract, and an earlier episode of ours priced one: a single share of that same index with one call written against it every week, 2020-07 to 2026-06, collected $327 of premium and handed back $429 of capped-away gains — you sold the ceiling, and that is where the gap between the two dollar figures goes. It is that episode’s receipt, quoted here as a callback, never as this report’s proof.
  3. The only on-jurisdiction evidence in this episode — and it is not ours. Ben Felix measured 20 Canadian-listed covered-call ETFs against matched underlyings and found an average drag of −3.25pp a year (median −2.96pp), with only 2 of 20 outperforming; in his withdrawal study the equity investor ends about 26% richer at identical spending, an implied break-even fee of 1.5–2.7% a year. Those are his measurements of Canadian funds, not ours. They are cited here with his name on them, and they may not be blended into a sentence with anything we measured.

The second objection is bigger: two funds is not “dividend investing.” Correct. SCHD and DIVO are two funds with real, cycle-tested histories — on our own reference table only 7 of 24 funds have lived through a bear market at all, and these two are among them — but two is two. The controlled payers-versus-non-payers test on our own survivorship-free store: we own the data and have not run it, and that is reopen criterion 2 rather than a sentence we are hoping you skip.

§6 · Their own terms

The holder in this episode is a Canadian income-ETF educator. He is not named on this page, in the episode, or on the thumbnail. Two reasons, and they are independent: our own framing rule keeps both practitioners in this episode out of the title and the thumbnail; and he is a sincere retail practitioner selling nothing, so this page identifies him by role, jurisdiction and source rather than by name or video ID — an earlier draft of this page carried the ID, and it was removed before publication for exactly that reason. His video is credited, by channel, at the top of the episode’s description, which is where a credit belongs and where you can go and watch the original. His figures below are quoted as he stated them, and the arithmetic does not depend on who he is.

His numbers are his, and we contradict none of them. He reports a yield on cost of 22.6% against a market yield of 15.1% and calls it his secret weapon; he has a self-imposed rule to sell at +20% unrealized, and he breaks it. His numbers, our arithmetic: 22.6 divided by 15.1 is ×1.4967, which says the price is up 49.7% — and the unrealized gain he states separately, in his own video, is about 50%. The two agree to 0.3 of a point. The inputs are his and are marked as his; only the division is ours. His secret weapon returned the number his own profit-and-loss line had already shown him.

And he is right to hold. A realized gain of about $19k, as he reports it, at Canadian fifty-percent inclusion, with no better opportunity visible to him, has to clear its own tax haircut before a switch makes sense. That argument is correct, and it is the one that actually decides his case. We are replacing his reasoning, not his answer. He also says two things on camera we would not improve on: that Canadian banks “acted like tech IPO launches”, and that “what goes up quickly could come down just as quickly”.

The mirror runs the other way too, on a different holder in a different video, and the same arithmetic applies: ULTY (his cost basis) 35% on cost against 62% market = ×0.5645, a price move of −43.5% · WMAX (his cost basis) 28% on cost against 47% market = ×0.5957, a price move of −40.4%. Same vanity metric, opposite direction, and it decides nothing in either. That holder is not named here either.

§7 · The complete ledger — all 184 rows

Every fund-month of both funds — 166 for SCHD and 18 for ULTY, 184 rows, the whole denominator of the identity check. Each row carries the market yield, the yield on cost against that fund's fixed purchase month, and the price ratio. The month-end price and the distributions per share that produce the market yield are NOT published here — they are a licensed vendor series and not ours to hand out, which is a limit we would rather state than quietly exceed. Nothing in the check below depends on them: market yield × price ratio reproduces yield on cost on all 184 of 184 published rows to within 2.8 parts in 10,000, which is the rounding of the columns as printed, not the accuracy of the identity. The residual column is computed at full internal precision, which is why it reads as floating-point zero and the recomputation from the printed columns does not. The last column is the point: it is how far market yield × price ratio lands from the yield on cost printed beside it, and every one of the 184 is at the machine's own rounding floor. This is not a discovery and we are not dressing it as one — it is algebra, rendered on real months of two real funds so the magnitudes are visible and the claim is ours rather than narrated. The CSV's columns, in order: fund, month_end, market_yield_pct, yield_on_cost_pct, purchase_month, price_ratio, identity_rel_residual — the two yields are percentages, the ratio is the month-end price over the purchase-month price, and the residual is |yield on cost − market yield × price ratio| ÷ yield on cost, at full internal precision. Check our arithmetic: every yield, price ratio, residual and purchase-month fan figure on this page is recomputable from the CSV below — a fund’s fan is its last row’s yield on cost divided by each of its rows’ price ratio, to the rounding of the printed columns. The total-return multiples in sections 2, 4 and 5 come from a separate receipt whose per-month series is not published here.
Download the full 184-row ledger (CSV)
#FundMonth endMarket yieldYield on costPrice ratioIdentity residual
1SCHD2012-09-302.343%2.343%×1.00000.0e+00
2SCHD2012-10-312.365%2.343%×0.99060.0e+00
3SCHD2012-11-302.354%2.343%×0.99530.0e+00
4SCHD2012-12-312.858%2.817%×0.98571.6e-16
5SCHD2013-01-312.708%2.817%×1.04041.6e-16
6SCHD2013-02-282.652%2.817%×1.06230.0e+00
7SCHD2013-03-312.741%3.031%×1.10571.5e-16
8SCHD2013-04-302.662%3.031%×1.13881.5e-16
9SCHD2013-05-312.625%3.031%×1.15480.0e+00
10SCHD2013-06-302.722%3.096%×1.13740.0e+00
11SCHD2013-07-312.603%3.096%×1.18960.0e+00
12SCHD2013-08-312.698%3.096%×1.14751.4e-16
13SCHD2013-09-302.713%3.176%×1.17040.0e+00
14SCHD2013-10-312.584%3.176%×1.22890.0e+00
15SCHD2013-11-302.520%3.176%×1.26020.0e+00
16SCHD2013-12-312.465%3.144%×1.27510.0e+00
17SCHD2014-01-312.580%3.144%×1.21840.0e+00
18SCHD2014-02-282.484%3.144%×1.26571.4e-16
19SCHD2014-03-312.584%3.312%×1.28171.3e-16
20SCHD2014-04-302.538%3.312%×1.30511.3e-16
21SCHD2014-05-312.505%3.312%×1.32232.7e-16
22SCHD2014-06-302.604%3.466%×1.33110.0e+00
23SCHD2014-07-312.650%3.466%×1.30820.0e+00
24SCHD2014-08-312.562%3.466%×1.35310.0e+00
25SCHD2014-09-302.646%3.549%×1.34122.5e-16
26SCHD2014-10-312.595%3.549%×1.36772.5e-16
27SCHD2014-11-302.520%3.549%×1.40840.0e+00
28SCHD2014-12-312.627%3.641%×1.38610.0e+00
29SCHD2015-01-312.711%3.641%×1.34301.2e-16
30SCHD2015-02-282.577%3.641%×1.41320.0e+00
31SCHD2015-03-312.712%3.718%×1.37080.0e+00
32SCHD2015-04-302.692%3.718%×1.38121.2e-16
33SCHD2015-05-312.679%3.718%×1.38822.4e-16
34SCHD2015-06-302.889%3.847%×1.33180.0e+00
35SCHD2015-07-312.868%3.847%×1.34120.0e+00
36SCHD2015-08-313.029%3.847%×1.26991.2e-16
37SCHD2015-09-303.200%4.002%×1.25042.2e-16
38SCHD2015-10-312.942%4.002%×1.36002.2e-16
39SCHD2015-11-302.934%4.002%×1.36382.2e-16
40SCHD2015-12-312.974%3.988%×1.34120.0e+00
41SCHD2016-01-313.043%3.988%×1.31062.2e-16
42SCHD2016-02-293.021%3.988%×1.32031.1e-16
43SCHD2016-03-312.930%4.086%×1.39440.0e+00
44SCHD2016-04-302.936%4.086%×1.39200.0e+00
45SCHD2016-05-312.895%4.086%×1.41152.2e-16
46SCHD2016-06-302.862%4.125%×1.44140.0e+00
47SCHD2016-07-312.782%4.125%×1.48242.2e-16
48SCHD2016-08-312.792%4.125%×1.47762.2e-16
49SCHD2016-09-302.673%3.933%×1.47171.1e-16
50SCHD2016-10-312.715%3.933%×1.44870.0e+00
51SCHD2016-11-302.629%3.933%×1.49601.1e-16
52SCHD2016-12-312.887%4.376%×1.51550.0e+00
53SCHD2017-01-312.901%4.376%×1.50820.0e+00
54SCHD2017-02-282.806%4.376%×1.55970.0e+00
55SCHD2017-03-312.884%4.472%×1.55062.0e-16
56SCHD2017-04-302.877%4.472%×1.55440.0e+00
57SCHD2017-05-312.828%4.472%×1.58160.0e+00
58SCHD2017-06-302.881%4.520%×1.56872.0e-16
59SCHD2017-07-312.834%4.520%×1.59480.0e+00
60SCHD2017-08-312.835%4.520%×1.59442.0e-16
61SCHD2017-09-302.991%4.868%×1.62781.8e-16
62SCHD2017-10-312.886%4.868%×1.68660.0e+00
63SCHD2017-11-302.770%4.868%×1.75761.8e-16
64SCHD2017-12-312.630%4.681%×1.77980.0e+00
65SCHD2018-01-312.515%4.681%×1.86090.0e+00
66SCHD2018-02-282.665%4.681%×1.75620.0e+00
67SCHD2018-03-312.613%4.457%×1.70542.0e-16
68SCHD2018-04-302.643%4.457%×1.68630.0e+00
69SCHD2018-05-312.597%4.457%×1.71652.0e-16
70SCHD2018-06-302.751%4.716%×1.71441.9e-16
71SCHD2018-07-312.631%4.716%×1.79240.0e+00
72SCHD2018-08-312.572%4.716%×1.83340.0e+00
73SCHD2018-09-302.601%4.796%×1.84350.0e+00
74SCHD2018-10-312.765%4.796%×1.73460.0e+00
75SCHD2018-11-302.675%4.796%×1.79301.9e-16
76SCHD2018-12-313.064%5.006%×1.63370.0e+00
77SCHD2019-01-312.890%5.006%×1.73251.8e-16
78SCHD2019-02-282.777%5.006%×1.80281.8e-16
79SCHD2019-03-312.926%5.321%×1.81841.7e-16
80SCHD2019-04-302.835%5.321%×1.87691.7e-16
81SCHD2019-05-313.068%5.321%×1.73430.0e+00
82SCHD2019-06-302.911%5.374%×1.84591.7e-16
83SCHD2019-07-312.864%5.374%×1.87650.0e+00
84SCHD2019-08-312.902%5.374%×1.85220.0e+00
85SCHD2019-09-303.037%5.787%×1.90541.5e-16
86SCHD2019-10-312.997%5.787%×1.93111.5e-16
87SCHD2019-11-302.914%5.787%×1.98570.0e+00
88SCHD2019-12-312.977%5.997%×2.01461.5e-16
89SCHD2020-01-313.030%5.997%×1.97910.0e+00
90SCHD2020-02-293.343%5.997%×1.79410.0e+00
91SCHD2020-03-314.033%6.310%×1.56451.4e-16
92SCHD2020-04-303.582%6.310%×1.76171.4e-16
93SCHD2020-05-313.454%6.310%×1.82681.4e-16
94SCHD2020-06-303.546%6.383%×1.80001.4e-16
95SCHD2020-07-313.368%6.383%×1.89532.8e-16
96SCHD2020-08-313.204%6.383%×1.99242.8e-16
97SCHD2020-09-303.423%6.583%×1.92350.0e+00
98SCHD2020-10-313.410%6.583%×1.93080.0e+00
99SCHD2020-11-303.013%6.583%×2.18511.3e-16
100SCHD2020-12-313.162%7.055%×2.23101.3e-16
101SCHD2021-01-313.191%7.055%×2.21081.3e-16
102SCHD2021-02-283.009%7.055%×2.34471.3e-16
103SCHD2021-03-312.865%7.266%×2.53641.2e-16
104SCHD2021-04-302.803%7.266%×2.59240.0e+00
105SCHD2021-05-312.716%7.266%×2.67581.2e-16
106SCHD2021-06-302.892%7.606%×2.63030.0e+00
107SCHD2021-07-312.873%7.606%×2.64731.2e-16
108SCHD2021-08-312.814%7.606%×2.70260.0e+00
109SCHD2021-09-303.005%7.759%×2.58231.1e-16
110SCHD2021-10-312.878%7.759%×2.69601.1e-16
111SCHD2021-11-302.938%7.759%×2.64071.1e-16
112SCHD2021-12-312.782%7.823%×2.81151.1e-16
113SCHD2022-01-312.861%7.823%×2.73461.1e-16
114SCHD2022-02-282.917%7.823%×2.68170.0e+00
115SCHD2022-03-312.870%7.875%×2.74400.0e+00
116SCHD2022-04-302.993%7.875%×2.63100.0e+00
117SCHD2022-05-312.881%7.875%×2.73360.0e+00
118SCHD2022-06-303.390%8.446%×2.49150.0e+00
119SCHD2022-07-313.262%8.446%×2.58890.0e+00
120SCHD2022-08-313.354%8.446%×2.51832.1e-16
121SCHD2022-09-303.730%8.619%×2.31060.0e+00
122SCHD2022-10-313.354%8.619%×2.56982.1e-16
123SCHD2022-11-303.139%8.619%×2.74540.0e+00
124SCHD2022-12-313.391%8.910%×2.62750.0e+00
125SCHD2023-01-313.322%8.910%×2.68210.0e+00
126SCHD2023-02-283.436%8.910%×2.59310.0e+00
127SCHD2023-03-313.609%9.184%×2.54470.0e+00
128SCHD2023-04-303.638%9.184%×2.52420.0e+00
129SCHD2023-05-313.794%9.184%×2.42051.9e-16
130SCHD2023-06-303.582%9.048%×2.52590.0e+00
131SCHD2023-07-313.438%9.048%×2.63170.0e+00
132SCHD2023-08-313.490%9.048%×2.59240.0e+00
133SCHD2023-09-303.701%9.110%×2.46121.9e-16
134SCHD2023-10-313.848%9.110%×2.36730.0e+00
135SCHD2023-11-303.620%9.110%×2.51650.0e+00
136SCHD2023-12-313.491%9.245%×2.64800.0e+00
137SCHD2024-01-313.486%9.245%×2.65180.0e+00
138SCHD2024-02-293.423%9.245%×2.70050.0e+00
139SCHD2024-03-313.315%9.296%×2.80450.0e+00
140SCHD2024-04-303.471%9.296%×2.67791.9e-16
141SCHD2024-05-313.401%9.296%×2.73291.9e-16
142SCHD2024-06-303.642%9.850%×2.70470.0e+00
143SCHD2024-07-313.429%9.850%×2.87241.8e-16
144SCHD2024-08-313.350%9.850%×2.94021.8e-16
145SCHD2024-09-303.468%10.198%×2.94020.0e+00
146SCHD2024-10-313.462%10.198%×2.94570.0e+00
147SCHD2024-11-303.310%10.198%×3.08141.7e-16
148SCHD2024-12-313.640%10.376%×2.85081.7e-16
149SCHD2025-01-313.573%10.376%×2.90401.7e-16
150SCHD2025-02-283.484%10.376%×2.97811.7e-16
151SCHD2025-03-313.718%10.847%×2.91760.0e+00
152SCHD2025-04-304.026%10.847%×2.69431.6e-16
153SCHD2025-05-313.972%10.847%×2.73080.0e+00
154SCHD2025-06-303.868%10.696%×2.76521.7e-16
155SCHD2025-07-313.868%10.696%×2.76521.7e-16
156SCHD2025-08-313.671%10.696%×2.91341.7e-16
157SCHD2025-09-303.787%10.789%×2.84871.6e-16
158SCHD2025-10-313.865%10.789%×2.79130.0e+00
159SCHD2025-11-303.747%10.789%×2.87900.0e+00
160SCHD2025-12-313.819%10.932%×2.86230.0e+00
161SCHD2026-01-313.513%10.932%×3.11170.0e+00
162SCHD2026-02-283.297%10.932%×3.31511.6e-16
163SCHD2026-03-313.441%11.016%×3.20140.0e+00
164SCHD2026-04-303.292%11.016%×3.34640.0e+00
165SCHD2026-05-313.248%11.016%×3.39131.6e-16
166SCHD2026-06-302.486%8.301%×3.33842.1e-16
167ULTY2025-01-31122.012%122.012%×1.00000.0e+00
168ULTY2025-02-28146.222%128.197%×0.87672.2e-16
169ULTY2025-03-31178.947%124.727%×0.69700.0e+00
170ULTY2025-04-30165.285%112.348%×0.67971.3e-16
171ULTY2025-05-31146.089%103.508%×0.70850.0e+00
172ULTY2025-06-30130.478%94.702%×0.72581.5e-16
173ULTY2025-07-31125.793%88.983%×0.70740.0e+00
174ULTY2025-08-31129.439%84.553%×0.65320.0e+00
175ULTY2025-09-30122.929%77.468%×0.63021.8e-16
176ULTY2025-10-31127.925%73.100%×0.57141.9e-16
177ULTY2025-11-30143.395%66.576%×0.46430.0e+00
178ULTY2025-12-31142.994%61.497%×0.43010.0e+00
179ULTY2026-01-31137.986%57.214%×0.41460.0e+00
180ULTY2026-02-28131.437%53.120%×0.40411.3e-16
181ULTY2026-03-31131.078%46.315%×0.35331.5e-16
182ULTY2026-04-30123.619%44.705%×0.36160.0e+00
183ULTY2026-05-31111.320%40.655%×0.36520.0e+00
184ULTY2026-06-30108.305%37.707%×0.34820.0e+00

§8 · What would change our mind

  1. Make yield on cost decide something. Show us a rule that takes yield on cost as an input, is not reducible to current market yield and current price — which is the entire content of the metric — and beats the same rule with yield on cost removed, on a pre-registered out-of-sample test. We will run it here, first. We owe you a warning about this one: the identity makes it a hard bounty by construction, because a transform of two numbers you already have cannot carry information they do not. So the honest version is prove the arithmetic wrong, or show us the rule. We cannot see how, and we would like to be shown.
  2. The two-fund scope limit — the likeliest of the three to move. SCHD and DIVO are two funds, not the dividend-payer cohort. A size- and sector-controlled payers-versus-non-payers total-return test on the survivorship-free store could show the two-fund gap is a selection artifact. We own the data and have not run it. Send a pre-registered cohort specification, or we will run it ourselves; until then the general claim stays scoped to two funds and says so on its face.
  3. A Canadian covered-call ETF record we can measure. The whole jurisdiction section of this report is a boundary we cannot cross with the data we own. A survivorship-free Canadian price-and-distribution source would let us stop citing somebody else's study for the one market the holder in this episode actually lives in — and it would let us test Ben Felix's numbers instead of quoting them, which is a better outcome for everyone, him included.

§9 · What survives

The cash is real, and so is the compounding. Our own reference page said so before this episode existed, and in these words: “Only SCHD and DIVO are genuine equity portfolios … real, cycle-durable NAV growth.” A dollar of SCHD's price alone, with every dividend stripped out, became $3.76 in 14.7 years. That is a real equity portfolio doing a real thing, and it is not the covered-call machine — a dollar in QYLD became $1.76 over 12.5 years while a dollar in its own index became $9.26. Anyone who leaves this page thinking “dividend stocks are a trick” has been mistaught by us, and we would rather spend a paragraph than let that happen.

What does not survive is the metric's authority. Yield on cost is your current yield times your price ratio since purchase — one plus your unrealized gain. Both of those numbers are already on your brokerage screen; the third is what you get when you multiply them. It cannot tell you to hold, because it cannot know anything the other two did not already know — which is why one fund on one day can wear 166 of them at once and every one of them is correct.

And the question it lets you skip is the only one that pays. Not what does this yield against what I paid, but what did the money do. Over 14.7 years the answer for the strongest fund on our own table was $5.95 against the index's $7.68 — a real portfolio, really compounding, behind the thing it is made of. That is a decision you can actually make. Yield on cost never was.

§10 · Want to run a test like this yourself?

Everything we make is free — the reports, the ledgers, all of it. The only thing that costs us real money is the market data.

Where the numbers on this page came from. The month-end prices and the per-share distributions behind every fund figure here are a one-shot pull from Massive.com (formerly Polygon.io) taken 2026-06-22 — survivorship-free, with delisted names present to their delist date — read through the same engine that produced our reference table. The store ends on that pull date and the lab labels each month by its calendar month-end, so every “2026-06-30” cell on this page is the last bar in the pull, not a later print. No options data was used on this page; the one covered-call contract in section 5 is quoted from an earlier episode. The vendor does not pay us, has no say in a verdict, and is not the link below. The holder’s own figures and Ben Felix’s study are not market data, and are credited where they appear.
Buying market data? Going through here supports Ground Truth (affiliate)
The firewall: going through that link pays us a small commission at no extra cost to you. It is a way to support the channel, not a description of our pipeline — the vendor that produced our numbers is named directly above, and we would rather say so plainly than let a commission blur the two. That is the only money this channel takes. Never from anyone whose claims we test — and never for anything inside a category we review.

Get every report + the 7 Questions one-pager (free)