Ivy Portfolio with a trend filter: drawdowns, whipsaws and 2022
The portfolio
20% VTI, 20% VEU, 20% IEF, 20% DBC, 20% VNQ; rebalanced yearly. See Ivy Portfolio in the portfolio app and the Ivy Portfolio guide.
What the filter did here
- The 10-month filter cut the worst drawdown from -43.1% (May 2008–Feb 2009) to -16.3% (Mar 2022–Sep 2023).
- It gave up 1.0 points a year (7.5% versus 6.5%).
- The Sharpe ratio was 0.71 for the plain portfolio and 0.86 with the filter (with a risk-free rate of 0%, which flatters the time in cash).
- It was in cash in 22% of months and switched 46 times (about 1.6 a year); the longest stretch out was 13 months (Mar 2001–Mar 2002).
- In the months it sat out, the plain portfolio itself returned 30.2% in total, so being out cost those gains.
- 15 exits were reversed within three months while the portfolio rose; together those sat out a gain of 58.1%.
- In the 2007–09 financial crisis the plain portfolio returned -41.0% and the filtered one -1.5%; in the 12 months after, 45.1% versus 16.8%. In 2022: -11.4% plain, -8.3% filtered.
- The 6-month window switched 2.3 times a year (CAGR 6.5%, max drawdown -15.8%); the 12-month window 1.4 (6.3%, -16.9%).
Here the filter traded some return for markedly shallower drawdowns.
Growth of $10,000
Drawdowns
Plain versus filtered, side by side
| Plain | 10-month filter | 6-month filter | 12-month filter | |
|---|---|---|---|---|
| Growth of $10,000 | $83,015 | $63,742 | $62,390 | $60,446 |
| CAGR | 7.5% | 6.5% | 6.5% | 6.3% |
| Volatility (annualized) | 11.2% | 7.7% | 7.5% | 7.8% |
| Sharpe ratio (risk-free 0%) | 0.71 | 0.86 | 0.87 | 0.83 |
| Max drawdown | -43.1%May 2008 → Feb 2009; recovered Feb 2011 | -16.3%Mar 2022 → Sep 2023; recovered Sep 2025 | -15.8%Oct 2021 → Sep 2023; recovered Sep 2025 | -16.9%Mar 2022 → Sep 2023; recovered Aug 2025 |
| Worst calendar year | 2008 (-26.3%) | 2022 (-8.3%) | 2022 (-6.0%) | 2022 (-8.3%) |
| 2022 calendar year | -11.4% | -8.3% | -6.0% | -8.3% |
| Months in cash | 0% | 22%77 of 351 months | 26%90 of 351 months | 21%75 of 351 months |
| Switches per year | none | 1.646 in 29.3 years | 2.366 in 29.3 years | 1.442 in 29.3 years |
| Longest time out of the market | n/a | 13 monthsMar 2001–Mar 2002 | 10 monthsMar 2001–Dec 2001 | 13 monthsMar 2001–Mar 2002 |
| Plain portfolio's return while the filter was out | n/a | 30.2%gains it gave up | 33.1%gains it gave up | 37.3%gains it gave up |
| Quick reversals (out for 3 months or less, then back in, while the plain portfolio rose) | n/a | 15sat out 58.1% combined | 24sat out 121.2% combined | 14sat out 51.4% combined |
All columns cover Jul 1997–Sep 2026, the months for which the 6-, 10- and 12-month filters all have data, so they are directly comparable. Sharpe uses a risk-free rate of 0%, which flatters the columns that sit in cash. The worst calendar year counts full years only.
The S&P 500's major declines and the year after
| Compounded return over | Plain | 10-month filter | 6-month filter | 12-month filter |
|---|---|---|---|---|
| 1998 LTCM sell-off (S&P 500 -15.3%)Jul 1998–Aug 1998 | -10.9% | -2.8% | -2.8% | -2.8% |
| The next 12 monthsSep 1998–Aug 1999 | 22.0% | 4.4% | 7.5% | 4.4% |
| 2000–02 dot-com bear (S&P 500 -44.7%)Sep 2000–Sep 2002 | -8.7% | -11.5% | -8.1% | -11.5% |
| The next 12 monthsOct 2002–Sep 2003 | 16.9% | 9.9% | 11.7% | 11.7% |
| 2007–09 financial crisis (S&P 500 -50.8%)Nov 2007–Feb 2009 | -41.0% | -1.5% | -4.0% | -3.0% |
| The next 12 monthsMar 2009–Feb 2010 | 45.1% | 16.8% | 25.7% | 11.6% |
| 2020 COVID crash (S&P 500 -19.4%)Jan 2020–Mar 2020 | -17.5% | -6.4% | -6.4% | -6.4% |
| The next 12 monthsApr 2020–Mar 2021 | 35.3% | 16.9% | 11.6% | 16.9% |
| 2022 inflation bear (S&P 500 -23.9%)Jan 2022–Sep 2022 | -16.2% | -8.3% | -2.8% | -8.3% |
| The next 12 monthsOct 2022–Sep 2023 | 8.0% | -8.4% | -10.3% | -9.1% |
The decline windows are computed, not chosen: every peak-to-trough fall of at least 15% (month-end) in the S&P 500. Each row compounds the portfolio's monthly returns from the month after the S&P 500's peak through its trough. The 1987 crash falls before this comparison window starts (Jul 1997) and is not shown.
Ivy Portfolio's own deepest drawdowns
| Ivy Portfolio's deepest drawdowns (peak → trough) | Plain | 10-month filter, same months | 10-month filter, next 12 months | Plain, next 12 months |
|---|---|---|---|---|
| May 2008–Feb 2009recovered Feb 2011 | -43.1% | -5.1% | 16.8% | 45.1% |
| Dec 2019–Mar 2020recovered Nov 2020 | -17.5% | -6.4% | 16.9% | 35.3% |
| Mar 2022–Sep 2022recovered Mar 2024 | -16.5% | -8.6% | -8.4% | 8.0% |
The three deepest declines of the plain portfolio inside the comparison window. A bond-heavy portfolio's deepest decline is usually 2022, an equity-heavy one's 2008; the filter behaves differently in each.
Cash that earns interest
The builder's filter earns nothing while it is out of the market. If the cash had been in short Treasuries instead, the 10-month filter's numbers over the same months would have been:
| 10-month filter, cash at 0% | 10-month filter, cash in short Treasuries | |
|---|---|---|
| Growth of $10,000 | $63,742 | $75,311 |
| CAGR | 6.5% | 7.1% |
| Max drawdown | -16.3% | -14.3% |
| Sharpe ratio (risk-free 0%) | 0.86 | 0.94 |
With cash in short Treasuries the filtered portfolio earned 7.1% a year against 7.5% for the plain portfolio, so most of the filter's return cost here was the 0% cash.
Short Treasuries = BIL, extended with SHV (from Feb 2007) and the Vanguard Short-Term Treasury fund VFISX (1–3 year Treasuries, from Nov 1991). Before 2007 that is more duration than T-bills. Not available in the builder; computed for this page only.
Why these three windows
10 months is the window Mebane Faber published in 2007 and the monthly equivalent of the 200-day moving average. 6 and 12 months bracket it. We fixed these three before computing any page and use the same three for every portfolio; we did not search for the window that looks best on each one. Choosing the best of many windows after the fact makes any filter look better than it would have been in real time.
Windows of 8, 9, 11 and 12 months keep 98% of the 10-month filter's Sharpe ratio (robust).
Try it in the builder
Open Ivy Portfolio in the portfolio app and apply the same filter:
- Customize
- Add Overlay
- Set Trend length to 10 months (the default)
- Add overlay
You should see what this page shows. Without the overlay the builder reports Jun 1996–Sep 2026: $10,000 grew to $95,808, max drawdown -43.1%, CAGR 7.7%. With the 10-month overlay its figures start May 1997 (the tables above start 2 months later, Jul 1997, so that the 12-month column covers the same months): $10,000 grew to $67,509, max drawdown -16.3%, CAGR 6.7%.
Frequently asked questions
- Does a trend filter help Ivy Portfolio?
- The 10-month filter cut the worst drawdown from -43.1% (May 2008–Feb 2009) to -16.3% (Mar 2022–Sep 2023). It gave up 1.0 points a year (7.5% versus 6.5%). The Sharpe ratio was 0.71 for the plain portfolio and 0.86 with the filter (with a risk-free rate of 0%, which flatters the time in cash). Here the filter traded some return for markedly shallower drawdowns.
- How often does a 10-month trend filter trade Ivy Portfolio?
- It was in cash in 22% of months and switched 46 times (about 1.6 a year); the longest stretch out was 13 months (Mar 2001–Mar 2002). 15 exits were reversed within three months while the portfolio rose; together those sat out a gain of 58.1%. The 6-month window switched 2.3 times a year (CAGR 6.5%, max drawdown -15.8%); the 12-month window 1.4 (6.3%, -16.9%).
- What did Ivy Portfolio with a trend filter do in 2022?
- In calendar 2022 Ivy Portfolio returned -11.4% without a filter, -8.3% with the 10-month filter, -6.0% with the 6-month and -8.3% with the 12-month filter. Over the S&P 500's 2022 inflation bear (Jan 2022–Sep 2022, -23.9%) the plain portfolio returned -16.2% and the 10-month filtered one -8.3%; in the 12 months after the trough, 8.0% versus -8.4%.
Caveats
- Cash earns 0% in the builder's filter. With cash in short Treasuries the 10-month filter's CAGR is 7.1% instead of 6.5% (see the Treasury-cash table).
- Signals are month-end only: a crash inside one month (October 1987 is the classic case) is not seen until that month's close, and trades are assumed to execute at the closing level that produced the signal.
- Every exit is a sale. In a taxable account each of the 23 exits to cash over this window could realise capital gains; no taxes or trading costs are modelled.
- On re-entry the simulation resumes the portfolio's own path, as if its weights had drifted and been rebalanced on schedule while the filter was out; an investor would instead buy back at the target weights. The difference is small for a yearly-rebalanced book.
- Sharpe ratios use a risk-free rate of 0%, which flatters the columns that spend time in cash.
- Holdings before their ETF's launch use older funds or indexes as proxies (VTI, VEU, IEF, DBC and VNQ); see their fund-history pages for how closely each proxy tracked.
- One historical path; past results do not predict future results. Not investment advice.
Methodology
- Source
- Yahoo Finance via MarketHeist, monthly adjusted close (dividends reinvested), to the last complete calendar month. Holdings before their ETF's launch use proxy funds, spliced on returns; see each holding's fund-history page.
- The filter
- The filter looks at the whole portfolio's own value at each month-end. If it is above its average of the last N month-ends the portfolio is held for the next month, otherwise it sits in cash (earning 0%). N is 10 for the headline column, 6 and 12 for the sensitivity columns. It is the same rule the builder's Add Overlay applies, and the same function (the portfolio engine's trend-filter overlay) computes every number here. The same rule on a single fund is on the trend-timing strategy page.
- Comparison window
- The filter needs N months of history for its average, plus one month for the next-month execution, so each filtered series starts N+1 months after the plain portfolio. Every column here is cut to Jul 1997–Sep 2026, the months all three filters have, and measured with the same engine functions the app uses after an overlay. The builder's own numbers start earlier for shorter windows (10 months: May 1997).
- Columns
- Plain: the portfolio as simulated by the portfolio engine (yearly rebalancing), cut to the comparison window. Filtered: the same monthly returns while in the market, 0 while out. Growth of $10,000, CAGR, volatility, Sharpe (risk-free 0%) and drawdowns are computed on the cut series, month-end.
- Activity
- Months in cash, switches (changes between in and out), out-of-market stretches and the plain portfolio's return while out are computed from an independent recomputation of the signal that is checked against the engine month by month before a page is published.
- Treasury cash
- A page-only variant that replaces each out-of-market month's 0% with the return of short Treasuries (BIL, extended with SHV and VFISX).
- Window stability
- Windows of 8, 9, 11 and 12 months keep 98% of the 10-month filter's Sharpe ratio (robust).
- Generated
- 2026-10-10; data through Sep 2026. Reproduce hash of the 10-month-filtered portfolio over its own window (May 1997–Sep 2026):
89c39882228cb024 - Related
- All trend-filtered portfolios · Ivy Portfolio in the portfolio app
All trend-filtered portfolios →
Historical simulation, not investment advice.