Ranked by percentage gain, highest first, among the funds that received all sixty monthly deposits. That is not the same as the largest gain in dollars. Funds that began trading too late to take the whole schedule are excluded from the ranking and listed separately below, with their figures, rather than left off the page. The worst stretch sits beside the gain deliberately, because a fund can top this table on one exceptional year and the fall it took along the way belongs in the same glance. Both figures describe the account that made those deposits, rather than the fund. Every amount on this page is Canadian dollars.
Tables
| Fund | Deposited | Gain | Worst stretchwithin this window | Ended at | Distributionsalready in Ended at |
|---|---|---|---|---|---|
| HXE.TOreview held, and the page says why | $10,000.00 | +122.24% | -26.21% | $22,223.87 | the structure pays noneby design, not a measurement |
| XEG.TOcomputed, review not written | $10,000.00 | +120.77% | -25.81% | $22,076.76 | $1,459.63 |
| XMA.TOcomputed, review not written | $10,000.00 | +119.84% | -29.50% | $21,983.68 | $297.05 |
| ZEB.TOcomputed, review not written | $10,000.00 | +118.18% | -11.69% | $21,818.26 | $1,336.57 |
| ZMT.TOcomputed, review not written | $10,000.00 | +114.18% | -28.35% | $21,417.72 | $204.39 |
| ZEO.TOcomputed, review not writtenThe year-end consolidation on December 30, 2025 is one half of a two-leg event: BMO reinvested a distribution in units and consolidated the unit count straight back, so a unitholder ended the day with the same units at the same price. Both legs are on file and both are applied. The $154.82 of units received that way is reported separately from the $1,528.53 of cash, because no money changed hands. | $10,000.00 | +102.24% | -20.71% | $20,224.17 | $1,528.53 |
| XFN.TOcomputed, review not written | $10,000.00 | +98.45% | -10.53% | $19,845.28 | $1,074.93 |
| HDIV.TOcomputed, review not written | $10,000.00 | +91.58% | -12.82% | $19,157.57 | $3,960.95 |
| VDY.TOcomputed, review not written | $10,000.00 | +88.56% | -11.05% | $18,855.89 | $1,431.95 |
| TXF.TOcomputed, review not written | $10,000.00 | +86.06% | -24.87% | $18,605.54 | $3,976.39 |
| XDV.TOcomputed, review not written | $10,000.00 | +79.73% | -9.68% | $17,973.10 | $1,430.49 |
| HTA.TOcomputed, review not written | $10,000.00 | +77.08% | -22.20% | $17,707.78 | $3,198.99 |
| ZDV.TOcomputed, review not written | $10,000.00 | +75.92% | -9.43% | $17,591.72 | $1,245.63 |
| XIC.TOreview published | $10,000.00 | +73.20% | -10.98% | $17,319.80 | $898.77 |
| VCN.TOcomputed, review not written | $10,000.00 | +72.35% | -11.02% | $17,235.36 | $910.56 |
| XIU.TOcomputed, review not written | $10,000.00 | +70.50% | -10.79% | $17,049.97 | $927.82 |
| ZIN.TOcomputed, review not written | $10,000.00 | +65.01% | -16.68% | $16,500.69 | $456.62 |
| XEQT.TOcomputed, review not written | $10,000.00 | +62.80% | -12.13% | $16,280.05 | $686.49 |
| XGI.TOcomputed, review not written | $10,000.00 | +59.04% | -13.24% | $15,904.29 | $581.94 |
| XIT.TOcomputed, review not written | $10,000.00 | +46.79% | -28.91% | $14,678.73 | $0.00measured, the fund paid nothing |
| XST.TOcomputed, review not written | $10,000.00 | +44.36% | -7.57% | $14,435.86 | $282.01 |
| XUT.TOcomputed, review not written | $10,000.00 | +35.66% | -13.25% | $13,566.13 | $1,111.06 |
| ZUT.TOcomputed, review not written | $10,000.00 | +35.08% | -13.95% | $13,508.16 | $1,052.02 |
| HUTL.TOcomputed, review not written | $10,000.00 | +34.36% | -11.55% | $13,436.32 | $2,513.01 |
| HHL.TOcomputed, review not written | $10,000.00 | +21.21% | -10.71% | $12,121.42 | $2,757.58 |
| ZRE.TOcomputed, review not written | $10,000.00 | +17.71% | -14.10% | $11,770.76 | $1,342.70 |
| LIFE.TOcomputed, review not written | $10,000.00 | +17.18% | -12.60% | $11,718.11 | $3,161.56 |
| ZCS.TOcomputed, review not written | $10,000.00 | +12.31% | -2.52% | $11,231.08 | $1,033.15 |
| XRE.TOcomputed, review not written | $10,000.00 | +10.73% | -13.89% | $11,072.90 | $1,284.27 |
| ZUH.TOcomputed, review not written | $10,000.00 | +10.19% | -15.41% | $11,019.07 | $146.22 |
| VRE.TOcomputed, review not writtenThe year-end consolidation on December 30, 2025 is one half of a two-leg event: Vanguard reinvested a distribution in units and consolidated the unit count straight back, so a unitholder ended the day with the same units at the same price. Both legs are on file and both are applied. The $62.48 of units received that way is reported separately from the $830.86 of cash, because no money changed hands. | $10,000.00 | +9.08% | -13.83% | $10,907.86 | $830.86 |
| Younger than the windowThese funds began trading after the window opened. Each one runs the same schedule from its own first trading day instead. The $1,000 opening deposit lands on the day it began trading, and $150 follows every month from there to the window close. So every figure on these rows describes a shorter run against a smaller sum, and none of them is comparable with the funds above. That includes the ending value and the distributions, not only the gain and the worst stretch, and the worst stretch is the least comparable of the four because a shorter run has fewer opportunities to fall. | |||||
| HFIN.TOcomputed, review not written | $9,250.0055 of 60 monthly deposits, from January 27, 2022 | +124.83% | -12.21% | $20,796.38 | $1,556.98 |
| HIND.TOcomputed, review not written | $5,200.0028 of 60 monthly deposits, from April 15, 2024 | +27.45% | -11.14% | $6,627.62 | $566.99 |
| Fund | Deposited | Gain | Worst stretchwithin this window | Ended at | Distributionsalready in Ended at |
|---|---|---|---|---|---|
| XLK | $10,000.00 | +105.51% | -34.02% | $20,551.38 | $255.46 |
| VGT | $10,000.00 | +103.59% | -35.46% | $20,358.55 | $215.76 |
| GLD | $10,000.00 | +89.09% | -26.40% | $18,909.05 | $0.00measured, the fund paid nothing |
| XLE | $10,000.00 | +82.75% | -26.86% | $18,275.07 | $1,258.04 |
| QQQM | $10,000.00 | +79.67% | -35.57% | $17,967.23 | $220.84 |
| QQQ | $10,000.00 | +79.29% | -35.62% | $17,928.64 | $206.89 |
| VUG | $10,000.00 | +66.68% | -36.00% | $16,667.73 | $180.85 |
| XLI | $10,000.00 | +64.66% | -22.67% | $16,466.45 | $495.17 |
| IVV | $10,000.00 | +61.74% | -25.40% | $16,173.93 | $461.22 |
| SPYMListed as SPLG until State Street renamed it. Same fund, same series: 1,712 of 1,714 overlapping closes are identical. | $10,000.00 | +61.73% | -25.38% | $16,172.93 | $451.22 |
| VOO | $10,000.00 | +61.65% | -25.41% | $16,165.44 | $458.14 |
| SPY | $10,000.00 | +61.27% | -25.36% | $16,126.96 | $434.18 |
| VTI | $10,000.00 | +59.47% | -26.20% | $15,947.08 | $449.30 |
| VEA | $10,000.00 | +57.11% | -32.27% | $15,711.21 | $969.40 |
| VT | $10,000.00 | +56.51% | -27.98% | $15,650.78 | $633.33 |
| VTV | $10,000.00 | +55.22% | -18.12% | $15,521.57 | $756.87 |
| VXUS | $10,000.00 | +52.66% | -32.16% | $15,266.31 | $950.26 |
| VYM | $10,000.00 | +52.46% | -17.50% | $15,246.15 | $910.77 |
| DGRO | $10,000.00 | +50.42% | -20.67% | $15,041.69 | $725.89 |
| XLF | $10,000.00 | +49.54% | -26.87% | $14,954.03 | $538.85 |
| VIG | $10,000.00 | +46.64% | -21.51% | $14,664.20 | $582.76 |
| SCHD | $10,000.00 | +45.39% | -18.93% | $14,539.33 | $1,112.71 |
| IJR | $10,000.00 | +42.27% | -28.91% | $14,226.74 | $467.92 |
| RSP | $10,000.00 | +42.04% | -22.48% | $14,203.97 | $518.02 |
| VWO | $10,000.00 | +41.78% | -33.77% | $14,178.48 | $913.64 |
| XLU | $10,000.00 | +31.88% | -28.07% | $13,187.74 | $931.15 |
| XLV | $10,000.00 | +28.43% | -18.11% | $12,842.72 | $483.26 |
| XLB | $10,000.00 | +27.12% | -25.70% | $12,712.22 | $570.12 |
| XLP | $10,000.00 | +21.14% | -17.81% | $12,114.27 | $793.31 |
| VNQ | $10,000.00 | +18.13% | -38.76% | $11,813.03 | $1,077.30 |
| AGG | $10,000.00 | +5.56% | -21.16% | $10,555.77 | $984.10 |
| BND | $10,000.00 | +5.49% | -21.44% | $10,549.17 | $979.37 |
| TLT | $10,000.00 | -11.84% | -47.30% | $8,815.54 | $933.60 |
Thirty-three US-listed funds, the same deposit schedule and the same window, in US dollars. Nothing here is converted, so these gains are not comparable with the Canadian table above: a Canadian buying these funds also lives with a currency move this series does not measure.
Pairs that should have matched
Five pairs of near-identical funds were singled out before any of them was walked, with the size of each expected gap written down in advance. Fees were predicted to explain them. For three of the five, fees do not — and for one of the five the prediction of no difference held exactly. What follows is what was predicted, what happened, and how much of the difference anyone can actually account for, including the parts nobody can.
| Pair | Observedpercentage points | Fees explain | Structureceiling | Lending | Reading |
|---|---|---|---|---|---|
| SPYM vs VOO | +0.0749 | 0.0214–0.0236 | — | — | Direction real; the gap is smaller than its own end-date range, so the size is not established. SPYM’s fee was 0.03% until August 2023 and 0.02% after, so the difference this pair should show is smaller than first published — which makes the part fees cannot explain larger, not smaller. Called the weakest claim on this table in advance, and it has got weaker. |
| VOO vs IVV | −0.0849 | 0.0000 | — | 0.0060 | IVV ahead on all 30 end dates tested, on identical fees and the same index. 93% of it is unattributed. Securities lending is real and covers 7%. |
| VOO vs SPY | +0.3848 | 0.1929 | 0.0024–0.0547 | — | SPY is a unit investment trust, from its own filing. That mechanism’s ceiling covers at most 28% of what fees do not explain — 14% of the whole gap. 36% unattributed. |
| QQQM vs QQQ | +0.3859 | 0.1367 | 0.0017–0.0298 | — | QQQ was a unit investment trust until 19 December 2025 and an open-end fund after — inside this window. 57% unattributed. |
| BND vs AGG | no separation | 0.0000 | — | — | RETRACTED. First reported as a separation; it is not one. Measured across 30 window-end dates the sign flips twice, so which fund is “ahead” depends on the day you stop. The prediction of no difference was right. |
The majority of every surviving gap is unexplained, and it stays printed that way. Four explanations were named in advance and tested: a fault in our own arithmetic (ruled out — a second, independent reconstruction agrees to the cent on all thirty-three funds), a difference in fund structure, a difference in the index tracked, and revenue from lending shares out. The last three are each real and each far too small. We do not know what the rest is, and this page does not promise to find out.
That check has now run, and it was declared in advance what each outcome would mean. The distributions our data vendor supplied were compared against the ones the issuers themselves publish. For IVV every one of its thirty payments matches, the largest disagreement being nine millionths of a cent. For VOO the five most recent quarters match exactly. So the gaps above are not a fault in the data, and “we do not know” is the honest final answer rather than a placeholder. Coverage is part of that verdict: the iShares history is complete for this window and the Vanguard one covers five quarters, so VOO before March 2025 has not been checked. A clean check over part of a history is not a clean history.
One figure on the Canadian table above was corrected on 31 August 2026. XST’s worst stretch read −51.91%; the true figure is −10.72%. The fund split two-for-one on 9 August 2024, and a split halves the share price without costing the holder anything — our drawdown measure was reading that halving as a fall. Every other figure on both tables is unchanged, and the same defect is what the US table caught before publication.
4 of these funds changed their fees partway through the window, and our first published predictions used only the current figure for each. Every one of those figures was too low. Their effects ran in opposite directions, because a fee recorded too low on the cheaper fund of a pair widens the difference we expect, while the same mistake on the dearer fund narrows it. For QQQ and AGG the error had made fees look like a worse explanation than they are, so the puzzle looked bigger than it is; for SPYM and BND it had made fees look better, so the puzzle looked smaller. Errors that cancel nobody’s argument are the kind you can trust a correction record to admit. The corrected figures are the ones above, and every earlier version stays on file unedited beside them.
Two more figures on the Canadian table were corrected on 3 September 2026, both because a price bar that was missing from our data provider is now present. HHL.TO had no bar for 6 April 2023 — which is the day that fund pays its distribution, so the reinvestment was priced at the previous day’s close of $8.15 instead of the true $8.18, buying more units than the money actually bought. Its five-year gain moves from +21.22% to +21.21% and its ending value from $12,121.56 to $12,121.42; the dividends it received move by four cents. The whole effect of the wrong price is worth about 32 cents on a lump sum, and this is not a lump sum: only the units held on that day carried the error, and 55% of the final holding was bought after it. ZEB.TO was missing 16 May 2023 and now holds the same 1,255 trading days as every other fund in the window; no distribution falls on that day, so its ending value does not move at all and only its fee-drag figure does, from $165.07 to $165.16. Four other funds are still missing a bar apiece — none of them on a distribution date, and seating each one from a second source on a copy of the database moved no published figure at all. Every earlier version of these figures stays on file unedited.
The fee-drag figures on both tables were recomputed on 3 September 2026, and 29 Canadian funds moved by between 12 cents and $2.34. We estimate a fund’s fee cost by running the same plan against a twin of the fund with its fee added back, and the twin used to add the fee once per trading day we hold a price for. That made the figure depend on how complete our own price history happened to be: when a missing bar was restored for ZEB.TO, its fee cost changed even though nothing about the fund had. Three funds carry gaps we cannot fill from any source we will publish from, so their figures were understated with no way to correct them. A fund does not charge its fee on trading days — it charges by the calendar — so the twin now adds the fee back by calendar day. The total now depends only on the start and end of the window, and no missing, present or restored price can move it. Every figure moved in the same direction, upward, because the old method was always counting too few days. No gain, drawdown, ending value or dividend figure changed on either table, and the US table is unaffected. Every earlier version stays on file unedited.
One more figure was corrected on 4 September 2026, and it is not one this table prints. ZEO.TO’s row above says that both legs of its 30 December 2025 event are applied, and that was true of the fund’s own figures. It was not true of the separate twin we use to estimate what a fund’s fee costs. The twin applied the unit consolidation and left out the reinvested units that came with it, so from that day it held about 1.1% fewer units than it should have held and the gap it measured came out too small. The estimated fee cost for ZEO.TO moves from $125.47 to $346.20, from 0.62% to 1.71% of its ending value. That figure lives in our underlying data file, not in any column above, so a reader looking for it in the table will not find it. Every other fund is unchanged. No gain, drawdown, ending value or dividend figure moves on either table, and the range quoted in the note above still holds: the extremes remain VCN.TO at 12 cents and XEG.TO at $2.34, and ZEO.TO’s own move goes from $1.79 to $1.77, never having been an extreme. Every earlier version of these figures stays on file unedited.
That is the second correction to this one fund in two days, and the two are different faults. The first was the change from counting a fee by trading day to counting it by calendar day, which was right and stands. This one was in the twin, it predates that change, and it was there under either way of counting.
The SPYM correction was predicted before the document was read. The expected direction and rough size were written down first, then the fund’s own filings were consulted, and the computed figures landed inside the range recorded in advance. That ordering is the point: a correction that could have been shaped to fit what it found would tell you nothing.
Two books run through the same test
Pulse’s own Custom Index books, put through the ruler above: $1,000 at the window’s first close, $150 monthly for sixty deposits, distributions reinvested, market close and not NAV. They are not ranked and do not sort into the table above.
| Book | Deposited | Gain | Worst stretchwithin this window | Ended at | Distributionsalready in Ended at |
|---|---|---|---|---|---|
| CI TFSAtoday’s list, run backwards | $10,000.00 | +55.76% | -10.14% | $15,575.77 | $1,562.36plus $44.80 received in kind, reported separately |
| CI RRSPtoday’s list, run backwards | $10,000.00 | +28.03% | -11.68% | $12,803.05 | $715.97 |
Both rows apply the current constituent lists backwards across the full window. A name added last quarter is treated as though it were held in 2021. That is not what these books did — it is what today’s lists would have done, and the gap between the two is not measurable from anything we hold. The tradeable universe is refreshed in place: the screen’s verdicts survive only from May 28, 2026, the last 4.5% of the window, and for the 95.5% before that there is nothing to reconstruct from.
CI TFSA. The two caveats on this figure do not point the same way. Running today’s constituent lists backwards flatters the result. The list being run is the one that survived every decision taken since the window opened, and the names that left it are not in it to be run; what that is worth cannot be bounded from anything we hold. Holding a not-yet-listed seat in cash works the other way, and that one can be bounded. 1.64% of the index sat in cash for 114 trading days and was bought at the next deposit. By the window close that cost $1.24 — 0.01 percentage points of the gain above.
CI RRSP. The two caveats on this figure do not point the same way. Running today’s constituent lists backwards flatters the result. The list being run is the one that survived every decision taken since the window opened, and the names that left it are not in it to be run; what that is worth cannot be bounded from anything we hold.
Distributions are cash received. TC Energy’s 2024 spin-off of South Bow paid 0.2 SOBO per TRP share — held as value, reinvested, and reported separately rather than folded into the cash line.
Fund fee: None — the names are held directly. The ETF rows above carry a fee charged inside the fund; these two do not, which is a real difference in what is being compared.
Every figure here is measured on market price, the raw close. That is what a buyer at market actually got, and it is not the fund's own end-of-day valuation, which is what issuer fact sheets report.
Worst stretch is the deepest fall this account took inside this window, and inside this window only. It reads as a property of the fund and it is not one: run over every five-year window this engine holds data for, the same accounts fall between 2.5% and 69%, because a window that starts before 2020 contains the crash and this one does not. For seven of the funds above, the figure shown is the shallowest of every window available. Three — HDIV, HFIN and HIND — began trading after 2020 and have no crash to be tested against.
A fund name links when there is a page behind it, which is not the same as a published review. One of these links goes to a notice explaining why its review is being held. The names that do not link show what stage they are at, because "no review yet" and "no data yet" are different things and a blank row would say neither. Holding a review is a statement about the review. The figures in this table come from one engine and one price series for every fund on it, including that one.