Ground Truth · Report Library

Should you trust Meb Faber’s Ivy Portfolio rule? His table, checked on the 5 of its 40 years we could reach, and the 13 years after: the full report

A published rule, re-run · his table checked on 5 of its 40 years · the 13 years after he published · every figure our video says, with its source
WHAT WE FOUND: ON THE 5 OF HIS 40 YEARS WE COULD CHECK, HIS TABLE CHECKED OUT; AFTER HE PUBLISHED, THE PROMISE HELD ON LOSSES AND NOT ON RETURNS

His table prints 40 yearly rows, 1973-2012. Our data could reach 5 of them, 2008-2012, and in all 5, in both of his columns (the rule and holding), our figures landed inside limits we wrote down before our first recorded run, on the one attempt on record. The other 35 rows are outside the check: 2007 is only part of a year for us, and the 34 years before it need index data we do not hold.

Then we ran the 13 years after his last update, 2013-2025, on the same five funds, with 5 basis points (0.05%) charged on every switch into or out of a fund. The rule’s worst fall was -5.63%, against -20.66% for holding the five funds, and it earned 5.05% a year, against 5.90% for holding and 1.67% for Treasury bills. It met all three conditions we wrote down before our first recorded run; none of them asked it to out-earn holding, and it did not.

Not advice. “We ran it, it passed our pre-registered test, and we still did not put our money in it.” That was a call about our money, not a finding against the rule.

The question this report answers is the viewer’s own: Should I trust my portfolio to a famous published rule, Meb Faber's once-a-month moving-average switch, when the only proof is the author's own table?

The paper we checked: Mebane T. Faber, A Quantitative Approach to Tactical Asset Allocation (free on SSRN; first a May 2006 working paper, updated in February 2013, the version we tested). He is named here as the author of the rule. This report tests his published rule and its published table, not a person, and it is not advice.

The rule, as Faber published it

Split the money into five equal slices, one for each kind of investment: US stocks, foreign stocks, 10-year US Treasury bonds, real estate and commodities. Once a month, at the month-end close, compare each slice’s price with its 10-month moving average, the average of its last ten month-end prices. Above the average, hold that investment; below it, hold Treasury bills in that slice. Each slice stays a fifth of the money; in our run the slices go back to equal each month, for the rule and for holding alike, as our plan set in advance.

His Figure 14 prints the result year by year for 40 years, 1973-2012, the years it trailed included. He reports 10.48% a year for the rule against 9.92% for holding all five, and a worst fall of -9.54% for the rule against -46.00% for holding. (A worst fall, or drawdown, is the drop from a high to the low after it.) His Figure 16 covers 2006-2012, the years after his first version came out, which he treats as out of sample: 6.01% a year for the rule against 3.94% for holding. In his words: “even though it only outperformed in three out of seven years, it beat buy and hold by over two percentage points per year”. He also writes: “On average, the investor is 70% invested”.

The name: in 2009 he co-wrote a book called The Ivy Portfolio, and on his blog he calls “the timing model we published in 2006” the Ivy Portfolio. The book also uses the name for a mix you hold without switching (his 2015 post), so we call the one we tested the Ivy Portfolio’s timing rule.

Our five funds stand in for his five indexes: SPY (US stocks), EFA (foreign stocks), IEF (7-10 year Treasuries, for his 10-year bonds), VNQ (real estate) and GSG (commodities). Funds that trade today follow his indexes closely but not exactly, so small gaps are expected.

The check: his table, on the 5 of his 40 years our data can reach

Before any year beyond his table counted, our code had to reproduce his table on the 5 of his 40 years our data reaches. The pass mark, written down and approved before our first recorded run: within 3 points of his figure in at least 4 of the 5 years; the sign right in every year where his figure is more than 1 point from zero; within 4 points in 2008, the crash year, no matter what; his holding column under the same limits, which tests our data, not just our code; and at most 2 attempts, with no widening of the limits afterward. Like his table, the gate charges no trading costs.

Why only 5 of his 40 years: the youngest of the five funds, GSG, starts in July 2006, and the 10-month average needs ten month-ends, so the rule’s first position is May 2007 and 2008 is the first full year. 2007 is only part of a year for us, and his 34 rows for 1973-2006 need his index data, which we do not hold. A side check with a second commodity fund, DBC, which starts a few months earlier, reaches 2007, one more of his 40 years. The plan made it a side check in advance, so its cells are never counted among the 5 of his 40 years we checked; graded after the results, both of its 2007 cells landed within 3 points, and it missed two cells in the 5 of his 40 years we checked (2008 in the holding column, and the sign of the rule’s 2011).

YearColumnHis table (%)Ours (%)Gap (points)Within 3 points?Sign right?
2008the rule-0.59-1.48-0.89yesyes
2008holding all five-30.01-29.45+0.56yesyes
2009the rule12.7714.07+1.30yesyes
2009holding all five18.7418.73-0.01yesyes
2010the rule3.653.09-0.56yesyes
2010holding all five14.0414.23+0.19yesyes
2011the rule2.490.75-1.74yesyes
2011holding all five2.812.30-0.51yesyes
2012the rule1.261.22-0.04yesyes
2012holding all five11.5711.31-0.26yesyes

Download the 10 cells (CSV)

The result, on those 5 of his 40 years: all 5 of the 5 rule cells landed within 3 points, every sign was right, the 2008 gap was -0.89 points against the 4-point limit, and the holding column landed within 3 points in 5 of 5 with every sign right. The gate passed on those 5 of his 40 years, on the one attempt on record. His 2008 was -0.59% for the rule against -30.01% for holding; ours was -1.48% and -29.45%. The widest gap of the ten cells was 1.74 points (the rule, 2011).

The order, from the lab’s own repository (2026-06-09, US Pacific time, UTC-7): the plan at 20:34 (commit bd4a952), its approval at 20:40 (55973ce), the gate’s result at 20:43 (e43737b), the 2013-2025 run at 21:50 (629b80b). One commit holds the gate’s result, and no later commit edits it: that is the one attempt on record (self-reported; the repository is consistent with it). These are repository timestamps, not an independent timestamp.

What a five-year match can and cannot tell apart (measured after the results): random monthly switching almost never passes the gate’s first three clauses (0 of 1,000 random switchers that flip independently each month; 8 of 1,000 that hold a position longer), so the match separates his rule’s timing from chance. It cannot tell his fixed fifths from our own mis-built earlier bot, which makes the same monthly calls but spreads the money differently and also passes them (4 of 5 cells within 3 points, 2008 inside 4). So the match supports "our copy times the market the way his rule does, on five of his forty years", never "faithful" or "exact"; the fixed fifths rest on an independent re-implementation written from the plan’s text (see Can you trust our check?).

After the results we rebuilt the five funds from a second price source, our own survivorship-free store (dividends reinvested on the ex-date): the gate gave the same grades on the same 5 of his 40 years, 5 of 5 in both columns with every clause passed, and every cell within 0.4 points of the first run.

The 13 years after he published

We count from the end of his table, December 2012 (his last update came out in February 2013), and ran January 2013 to December 2025: 156 months, the same five funds, the trade at the month-end close, 5 basis points charged on every switch into or out of a fund. Holding means the same five funds in equal slices, rebalanced monthly and always invested. Before our first recorded run, the plan set three conditions: (1) beat Treasury bills by at least 1 percentage point a year; (2) a worst fall within two thirds of holding’s, or within 10%; (3) at least match holding on the Sharpe ratio, the return above Treasury bills per unit of ups and downs. None of the three asked it to beat holding on return. Those years had already happened when the plan was written: writing it first cannot make anyone unaware of what markets did; it stops us tuning the test. The plan named a loss on risk-adjusted return as “the plausible 2013-2025 bull-decade outcome”; that did not happen.

2013-2025Return a yearVolatilitySharpe ratioWorst fall
The rule5.05%5.90%0.58-5.63%
Holding the five funds5.90%10.58%0.44-20.66%
Treasury bills1.67%---

Condition 1: 5.05% a year against the bar of 1.67% for Treasury bills plus 1 point: met. Condition 2: a worst fall of 5.63% against two thirds of holding’s 20.66% (the plan writes 0.67, so 13.84%): met, well inside. Condition 3: a Sharpe ratio of 0.58 against 0.44: met. All 3 of 3 conditions were met, so by the plan’s own rule the test passed.

The three falling periods the plan named, each measured from its opening value (the corrected figures, found after the results):

Falling period the plan namedThe rule’s worst fallHolding’s worst fallFell less?
August 2015 to February 2016-4.69%-9.65%yes
January to April 2020-5.63%-20.66%yes
January to December 2022-4.28%-17.23%yes

It fell less in all 3 of the 3 falling periods the plan named, and both worst falls of the whole run came in the early-2020 crash. Each period is measured from its opening value. The lab’s own printout skipped each window’s first month, which changed the figures for two of the three periods, 4 of its 6 printed figures (2022 came out the same); these are the corrected figures, found after the results, and no pass or fail changed.

The 13 years, year by year (computed after the results, from the same registered run):

YearThe rule (%)Holding the five (%)The rule led?Computed
20136.069.06noafter the results
20147.020.89yesafter the results
2015-2.40-6.27yesafter the results
20161.017.08noafter the results
20179.6111.38noafter the results
2018-1.11-7.12yesafter the results
20195.2921.27noafter the results
20204.772.01yesafter the results
202121.7322.63noafter the results
2022-3.63-10.64yesafter the results
20234.1110.96noafter the results
20246.478.30noafter the results
20259.0313.16noafter the results

Download the 13 years (CSV)

The rule led holding in 5 of the 13 years (counted after the results: 2014, 2015, 2018, 2020, 2022) and trailed in 8; holding rose in all 8 of those years. Its biggest shortfall came in 2019, an extreme, not a typical year: 5.29% against 21.27%. In his 40 years, by our count of his table, it led in 17; in 2006-2012, in 3 of the 7. These yearly rows come from the same registered run, with its costs, and were computed after the results.

The trade, over the 13 years: it gave up 0.85 percentage points of return a year (5.90 - 5.05), before taxes, which we did not test, for a worst fall 15.03 percentage points shallower (20.66 - 5.63).

Why it trailed is an inference, not a measurement: on average about two thirds of the money sat in the funds (66.4% in 2013-2025; his paper puts it at 70% on average for his years) and the rest in Treasury bills, which earn less in a long rise. No registered arm isolates the cause.

The plan’s check for one fund carrying the result: take out the largest contributor to the rule’s return, US stocks, and re-run. The lab’s code ran the other four funds at a quarter each, for the rule and for holding, a choice the plan does not make. The rule then earned 3.76% a year against 3.70% for holding the four, with a worst fall of -6.06% against -20.98%, and all three conditions were still met. So the gap in worst falls does not rest on US stocks, and the return shortfall leans on them. It is a check on what drove the cost, not a better rule; the verdict stands on all five funds.

One receipt of how the protection works, from early 2020 (measured after the results; one episode, not a law): the rule was 100% invested in January (the rule -1.77% that month against -1.76% for holding), 80% in February (-3.93% against -5.51%) and 20% in March (+0.73% against -14.53%). It takes the first part of a fall and is mostly out for the deepest part.

His paper’s Sharpe ratios use a fixed 5.41% rate, and ours use the window’s own Treasury bills, so we do not set his and ours side by side.

What this does not tell you

Can you trust our check?

Our fund prices are Yahoo Finance’s adjusted closes (dividends included), pulled on 2026-06-09, not our survivorship-free store, which keeps companies that died. That costs nothing here: five funds that all still trade leave no dead fund to miss. The dividend adjustment is real: ten years before that pull, SPY’s adjusted close sat 15.0% below its raw close (178.64 against 210.27, a figure restated after the results: the lab’s prose gave the ratio the other way round). Treasury bills come from one source, the Federal Reserve Bank of St. Louis series TB3MS.

Rebuilt from our store after the results, the 2013-2025 return and worst fall matched to two decimal places (5.05% and 5.90%; -5.63% and -20.66%), and every grade it re-ran held (the gate’s four clauses, the three conditions and the three falling periods; the check without US stocks and the DBC side check were not re-run on the store). Both runs share the one Treasury bill source.

After the results, the lab’s work was re-checked rather than copied. An implementation written from the plan’s text, without the lab’s own engine, re-derived every printed value it checks in the lab’s two result files: 82 of 82 line checks, covering 81 distinct figures (the 2008 gap is printed twice, in the table and on its condition line, and checked on both), each on its printed line at its printed precision. 8 of the 82 matched only when it copied two of the lab’s own departures from the plan (the 4 falling-period figures and the 4 next-open figures): problems (1) and (2) below. Not among them: his figures and the plan’s thresholds, quoted there for comparison (inputs); the side check’s 12 printed gaps (that fund’s cells minus his); the pass counts; and the other repeats on the condition lines. The lab’s own scripts re-ran byte-identical on 2 of 2 result files. For this report we ran that re-implementation again: its printout came back byte-identical.

That re-check, after the results, found four problems in the lab’s printouts, all corrected here, none changing a pass or fail: (1) the falling-period figures skipped each window’s first month, which changed 4 of the 6 printed figures, in two of the three periods; (2) the cost of trading at the next month’s first open instead of the month-end close was printed without trading costs; with them, the rule earns 4.74% a year (0.31 points less) with a worst fall of -7.16% (1.53 points deeper); (3) the side check with the second commodity fund was never graded; graded, it misses two cells and stays outside the 5 of his 40 years we count; (4) a line saying no ten-year stretch passed without a switch was printed, not computed; computed, the longest stretch without a switch in any one fund is 43 months over the whole signal history (April 2007 to June 2026), 32 inside 2013-2025. It also completed one note (the monthly return to equal slices is uncharged for the rule as well as for holding; charging it moves the yearly return by under 0.02 points and no grade) and corrected one ratio in the lab’s prose: the adjusted close is 15.0% below raw, not 17.7% (17.7% is raw over adjusted).

What we can say, and how strongly: 14 statements, graded

Each row is one statement about this test, with how strongly the record supports it and what it rests on. Measured means a run, a count or the repository’s order shows it; self-reported means it rests on our own record, which is consistent with it; inferred means it fits the numbers but no registered arm isolates it.

#StatementHow stronglyWhat it rests on
1Our implementation and our fund data reproduce his yearly returns for 2008-2012 in both of his columns (the rule and holding), inside the limits written before our first recorded run: 5 of his 40 rowsMeasuredOur reproduction gate; after the results, re-derived by our port audit and the same gate grades on a second price source
2His rows for 1973-2006 reproduce (34 of 40); 2007 was checked only in the side check with a second commodity fundUnknowable with the data we holdThey need his index data, which we do not hold
3Saying "we reproduced his table" without the 5 of 40, which we never doNot supportedOnly 5 of his 40 rows could be checked
4The limits and the two-attempt cap were set before the first recorded resultMeasured (repository order)The plan's commit and its approval came before the commit holding the gate's result
5It passed on the one attempt on recordSelf-reported (the repository shows one recorded attempt)The lab's repository history: one commit holds the gate's result, and no later commit edits it
62013-2025: a smaller worst fall than holding, overall and in 3 of the 3 falling periods the plan namedMeasuredOur 2013-2025 run (held 3 of 3 as printed); each falling period measured from its opening value, corrected after the results
72013-2025: a lower return than holding (5.05% against 5.90% a year) and a higher Sharpe ratio (0.58 against 0.44)MeasuredOur 2013-2025 run
8The result does not hinge on our price vendorMeasured (two price sources; Treasury bills from one source, FRED)Our rebuild of the five funds from our own survivorship-free store (after the results)
9The three conditions and the gap in worst falls do not hinge on US stocks; the return shortfall does (without US stocks: 3.76% against 3.70% a year)MeasuredThe plan's check without the largest contributor to the rule's return
10Why returns trailed after 2012: a long rise in which stepping aside cost moreInferred; no registered arm isolates itOur 2013-2025 run: about two thirds of the money in the funds on average
11The rule got weaker after he publishedNot supported: two windows, two kinds of dataHis 2006-2012 window (his indexes) and ours (2013-2025, our funds)
12The rule will protect against the next crashUnknowableNo test of the future exists
13Trend following or market timing works, or does not, in generalNot supported: one published rule, five funds, one windowThis test covers one rule only
14A viewer should run this ruleNever said: not adviceOur own decision on the same evidence was to leave it on the shelf

Download all 14 graded statements (CSV)

Every figure said in our video, with its source

Here are all 68 figures our narrator says, one row per figure, with the words around each saying, the parts of the video where it is said, what it is, how we got it and its source. A figure here is a cardinal number, a decimal, a signed figure, a year, a fraction (fifth, quarter, two thirds) or the count word once; ordinals (first, second, third) in any use are not figures, and neither are both, none and single. 7 uses of number words in the narration are not figures and have no row: “checks each one against” (a pronoun (each slice)); “the lesser half of his claim” (one of the claim’s two parts, not a quantity); “The bigger half is” (one of the claim’s two parts, not a quantity); “we call the one we tested” (a pronoun (the rule)); “not a typical one” (a pronoun (a year)); “the bad ones included” (a pronoun (the years)); “the bad ones included” (a pronoun (the years)). Every number shown on screen, in digits or in words, is one of these figures, matched by value and by the part of the video where it is said, then read by eye, with these exceptions: two numbers are shown in the part after the one where they are said (two thirds, shown once in Part 6 and said in Part 5; four, shown three times in Part 7 and said in Part 6); two numbers the narrator does not say, ten-year (TEN-YEAR TREASURY BONDS, his 10-year bonds) and one (OURS: ONE FUND EACH, one fund per index); and four uses of words that are not figures, as in the narration (SMALLER HALF; BIGGER HALF; BAD ONES INCLUDED; FUTURE ONES).

The parts of the video: Cold open · Part 1: What does the rule promise? · Part 2: Where does it come from? · Part 3: Can you check Faber's table? · Part 4: Did Faber's table check out? · Part 5: What happened after he published? · Part 6: Did it hold up when prices fell? · Part 7: What did the protection cost? · Part 8: Can you trust our check? · Close: How do you check the next table?

#FigureAs saidWhere in the videoWhat it isHow we got itSource
15 of 40the five of his forty years; all five matched; test five of his forty years; the answer is five of forty; all five of those forty years; On five of his forty years; the answer was five of forty; all five landedCold open; Part 3; Part 4; Part 8; Closethe years of his table our data could reach (2008-2012), of his 40; all 5 landed inside the limitcountedFaber's paper (2013 update), Figure 14, 1973-2012; Our reproduction gate (the rule's positions May 2007 to December 2012)
240Over his forty years; all forty years; In his forty years tooPart 1; Part 5the yearly rows in his table, 1973-2012countedFaber's paper (2013 update), Figure 14, 1973-2012
313ran the thirteen years after; Over the thirteen years; the thirteen-year results; In the thirteen years afterCold open; Part 7; Part 8the years we ran after his last update, 2013-2025countedOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
4-5.63%minus five point six three percentCold open; Part 6; Part 8the rule's worst fall, 2013-2025 (early 2020)computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
5-20.66%minus twenty point six sixCold open; Part 6; Part 8the worst fall of holding the five funds, 2013-2025 (early 2020)computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
65.05%five point zero five percentCold open; Part 7; Part 8the rule's return a year, 2013-2025, after costscomputed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
75.90%five point nine zeroCold open; Part 7; Part 8the return a year of holding the five funds, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
81/5 (20%)equal fifths; that fifth; fixed fifthsCold open; Part 4each of the five equal slices of the moneyread from the sourceFaber's paper (2013 update): the rule
95across five kinds; on five funds; those five kinds; all five investments; the five funds; all five funds; five funds that all still tradeCold open; Part 1; Part 6; Part 7; Part 8the five kinds of investment in his rule, and the five funds standing in for themcountedFaber's paper (2013 update): the rule; Our price data: Yahoo Finance adjusted closes (GSG, the youngest fund, starts in July 2006)
10once a monthOnce a monthCold openhow often the rule checks each slice (at the month-end close)read from the sourceFaber's paper (2013 update): the rule
1110ten-month moving average; last ten month-end pricesCold openthe months in the moving averageread from the sourceFaber's paper (2013 update): the rule
1210.48%ten point four eight percentPart 1the rule's return a year in his table, 1973-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
139.92%nine point nine twoPart 1holding all five, a year, in his table, 1973-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
14-46.00%minus forty-six percentPart 1holding's worst fall in his table, 1973-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
15-9.54%minus nine point five fourPart 1the rule's worst fall in his table, 1973-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
162006appeared in two thousand six; so two thousand six toPart 2the year his paper first appeared; his test years start thereread from the sourceFaber's paper: a May 2006 working paper, updated February 2013 (its title page)
172006mid two thousand sixPart 3the year our youngest fund (GSG) began tradingread from the sourceOur price data: Yahoo Finance adjusted closes (GSG, the youngest fund, starts in July 2006)
182012to twenty twelvePart 2; Part 3the last year of his table: his test years (2006-2012) and our checked years (2008-2012, 5 of his 40) end thereread from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
196.01%six point zero one percentPart 2the rule's return a year in his table, 2006-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 16, 2006-2012
203.94%three point nine fourPart 2holding, a year, in his table, 2006-2012 (he reports)read from the sourceFaber's paper (2013 update), Figure 16, 2006-2012
213 of 7three out of seven yearsPart 2the years of 2006-2012 the rule beat holding, in his wordsread from the sourceFaber's paper (2013 update), his words on the Figure 16 page
22over 2 points a yearover two percentage points per yearPart 2how much it beat holding by in 2006-2012, in his wordsread from the sourceFaber's paper (2013 update), his words on the Figure 16 page
232009two thousand ninePart 2the year of his book, The Ivy Portfolioread from the sourceFaber's blog, 2015-06-02: “our book in 2009”, The Ivy Portfolio
241 ruleone published rule; this is one rulePart 2; Part 8the one published rule this test coverscountedOur test plan, written and approved before our first recorded run
253 pointswithin three pointsPart 3the pass mark: our figure within 3 points of hisread from the sourceOur test plan, written and approved before our first recorded run
264 of 5at least four of the five yearsPart 3the pass mark: within 3 points in at least 4 of the 5 yearsread from the sourceOur test plan, written and approved before our first recorded run
274 pointswithin four in the crash yearPart 3the pass mark in 2008: within 4 pointsread from the sourceOur test plan, written and approved before our first recorded run
282008the crash year, two thousand eight; two thousand eight to; In two thousand eightPart 3; Part 4the crash year, and the first of the 5 checked yearsread from the sourceFaber's paper (2013 update), Figure 14, 1973-2012; Our reproduction gate (the rule's positions May 2007 to December 2012)
2935other thirty-fivePart 3his rows outside the check (40 - 5)countedFaber's paper (2013 update), Figure 14, 1973-2012
302007two thousand seven was only part of a yearPart 3a part year for us: the rule's first position is May 2007read from the sourceOur reproduction gate (the rule's positions May 2007 to December 2012)
3134the thirty-four years before itPart 3his rows for 1973-2006, which need his index datacountedFaber's paper (2013 update), Figure 14, 1973-2012
321 attemptthe one attempt on recordPart 4the gate attempts on record (the plan allowed 2)countedThe lab's repository history: one commit holds the gate's result, and no later commit edits it
33-0.59%minus zero point five nine percentPart 4his table's 2008 for the ruleread from the sourceFaber's paper (2013 update), Figure 14, 1973-2012
34-1.48%minus one point four eightPart 4our 2008 for the rulecomputed by our gateOur reproduction gate (the rule's positions May 2007 to December 2012)
352011in twenty elevenPart 4the year of the widest gapcomputed by our gateOur reproduction gate (the rule's positions May 2007 to December 2012)
361.74 pointsone point seven four pointsPart 4the widest gap of the ten cells (the rule, 2011: 2.49% his, 0.75% ours)computed by our gateOur reproduction gate (the rule's positions May 2007 to December 2012)
372013early twenty thirteenPart 5his last update came out in early 2013 (February); our run starts in January 2013, the month after his table endsread from the sourceFaber's paper: a May 2006 working paper, updated February 2013 (its title page)
383 conditionsthree conditions; None of the three; all three conditionsPart 5; Part 8the pass conditions for 2013-2025, written before our first recorded runcountedOur test plan, written and approved before our first recorded run
391 pointat least one percentage point a yearPart 5condition 1: beat Treasury bills by at least 1 point a yearread from the sourceOur test plan, written and approved before our first recorded run
402/3within two thirds of holdingPart 5condition 2: a worst fall within two thirds of holding's (the plan writes 0.67)read from the sourceOur test plan, written and approved before our first recorded run
4110%within ten percentPart 5condition 2, the other way to meet it: a worst fall within 10%read from the sourceOur test plan, written and approved before our first recorded run
425 of 13in five of the thirteen yearsPart 5the years of 2013-2025 the rule beat holdingcountedOur 2013-2025 year-by-year rows, from the same run (computed after the results)
4317it led in seventeenPart 5the years of his 40 the rule beat holding, by our count of his tablecountedFaber's paper (2013 update), Figure 14, 1973-2012
442019in twenty nineteenPart 5the year of the rule's biggest shortfall against holdingread from the sourceOur 2013-2025 year-by-year rows, from the same run (computed after the results)
455.29%five point two nine percentPart 5the rule in 2019computed by our runOur 2013-2025 year-by-year rows, from the same run (computed after the results)
4621.27%twenty-one point two sevenPart 5holding in 2019computed by our runOur 2013-2025 year-by-year rows, from the same run (computed after the results)
473 falling periodsall three falling periods; lucky in three fallsPart 6the falling periods the plan named (Aug 2015-Feb 2016, Jan-Apr 2020, 2022)countedOur test plan, written and approved before our first recorded run
482020the early twenty twenty crashPart 6the crash in which both worst falls of the run cameread from the sourceOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
491 fundthat one fund was not carrying itPart 6the plan's check for one fund carrying the resultread from the sourceOur test plan, written and approved before our first recorded run
504 fundsthe other four funds; holding those fourPart 6the funds left when US stocks are taken outcountedOur test plan, written and approved before our first recorded run
511/4 (25%)at a quarter eachPart 6each of the four funds, in that checkset by the lab’s code (the plan names the check, not the weights)The lab’s 2013-2025 run, in the plan’s check without the largest contributor (the quarter-each weights are the code’s choice, not the plan’s)
52-6.06%minus six point zero six percentPart 6the rule's worst fall without US stocks, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
53-20.98%minus twenty point nine eightPart 6the worst fall of holding the four, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
541.67%one point six sevenPart 7Treasury bills, a year, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund); FRED (Federal Reserve Bank of St. Louis), 3-month Treasury bill rate (TB3MS)
550.85 pointszero point eight five percentage pointsPart 7the return the rule gave up a year, before taxesderived: 5.90 - 5.05Our 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
5615.03 pointsfifteen point zero three percentage pointsPart 7how much shallower its worst fall wasderived: 20.66 - 5.63Our 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
570.58zero point five eightPart 7the rule's Sharpe ratio, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
580.44zero point four fourPart 7holding's Sharpe ratio, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
592/3about two thirds of the moneyPart 7the share of the money in the funds on average, 2013-2025 (66.4%)computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
603.76%three point seven six percentPart 7the rule's return a year without US stocks, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
613.70%three point seven zeroPart 7the return a year of holding the four, 2013-2025computed by our runOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
622 decimal placesto two decimal placesPart 8how closely the rebuild from our store matched the 2013-2025 return a year and worst fall, for the rule and for holdingcountedOur rebuild of the five funds from our own survivorship-free store (after the results)
631 sourceone Treasury bill sourcePart 8the Treasury bill series both runs sharecountedFRED (Federal Reserve Bank of St. Louis), 3-month Treasury bill rate (TB3MS)
644 problemsfour problems; All four are fixedPart 8the problems the re-check found in the lab's printoutscountedOur port audit of the lab (after the results)
652 fallstwo falls measured a month latePart 8the falling periods whose printed figures the lab’s month-late measurement changed (2 of the 3 periods, 4 of the 6 figures; 2022 came out the same)countedOur port audit of the lab (after the results)
662 limitstwo limitsPart 8the two limits said in Part 8countedThis report: What this does not tell you
671 stretch of timeover one stretch of timePart 8the one window we ran, 2013-2025countedOur 2013-2025 run (156 months, 5 basis points on every switch into or out of a fund)
685 thingsFive things would reopenClosethe things that would reopen this testcountedThis report: What would change our mind

Download all 68 spoken figures (CSV)

The plan, written before our first recorded run

Written, committed and approved before our first recorded run (the order is above), and not changed after the first recorded result (its only two commits come before it). Its main terms, in plain words (the plan also carries alarms for a broken run, which did not fire, and two information-only checks of the gate window):

Deliberately not tested: taxes; other windows; other investments; the bot we built from the rule earlier, as a verdict. The design’s main terms, the commit ids, the registered results and what was added after them are in the locked-design file (JSON).

What would change our mind

Five things would reopen this test; the strongest is his earlier years on index data:

  1. His earlier years, with index data: total-return series for his five indexes, running the same gate on 1973-2007. Material misses would shrink "his record is checkable" to "the tail of his record is checkable". This is a data purchase, not a re-run.
  2. A crash where the rule falls further than holding: a new observation on the claim that held, and the claim to watch, because the return claim already trailed.
  3. New rules or results from Faber: we would re-check our copy against them, then re-run.
  4. A mistake in our work: if a re-run of our re-implementation gave a different grade, this test would reopen (its code and the 2026-06-09 price pull are not published with this report).
  5. A fault in the single-source Treasury bill data: an error there would move the rule’s cash slices, the Treasury bill arm and every Sharpe ratio at once.

Sources

Every source behind a figure in this report:

Downloads: the 14 graded statements · the 68 spoken figures · the 10 gate cells · the 13 years · the locked design.