Learn › Strategies › 200-Day SMA Regime Filter › BND

200-Day SMA Regime Filter on BND

Vanguard Total Bond Market ETF: Vanguard's total US bond market fund. Backtest 2021-01-04 to 2026-10-02, $10,000 starting capital, computed by the same engine that runs live DeployQuant strategies.

Result: 200-day regime filter on BND turned $10,000 into $10,213 (2.1% total, 0.4% CAGR): it beat buy-and-hold by 1.2% per year, with a maximum drawdown 11.1 points shallower than holding (6.5% vs 17.6%).
0.4%CAGR
−0.8%buy & hold CAGR
−6.5%max drawdown
0.12Sharpe ratio
21round trips
29%win rate
■ 200-day regime filter   ■ buy & hold, $10,000 invested 2021-01-04

Year by year

Year200-day regime filterbuy & hold
2021−1.2%−1.7%
2022−0.4%−12.8%
2023−0.4%5.5%
20241.3%1.3%
20253.7%6.9%
2026−0.9%−2.6%

Month by month

YearJanFebMarAprMayJunJulAugSepOctNovDec
20210.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%−0.1%−0.6%−0.5%
2022−0.4%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%
20230.6%−1.9%0.5%0.6%−1.1%−0.2%−0.6%−2.4%0.0%0.0%0.7%3.5%
2024−0.1%−1.4%0.8%−2.4%1.7%0.8%2.3%1.4%1.3%−2.4%1.1%−1.6%
2025−0.2%2.1%0.0%−0.5%−2.0%1.5%−0.3%1.1%1.1%0.6%0.6%−0.3%
20260.2%1.6%−1.7%0.1%−0.4%0.3%−1.0%−0.0%0.0%0.0%––

Every trade

200-day regime filter on BND made 21 closed round trips, an average hold of 56 days, an average winner of 1.78%, an average loser of −0.55%, a profit factor of 1.27, a longest losing streak of 5. It held a position at the close on 55.5% of trading days.

EntryEntry priceExitExit priceReturnDays held
2021-10-28$72.222021-11-16$71.82−0.6%19
2021-11-19$72.192021-11-23$71.69−0.7%4
2021-11-29$71.962021-12-30$72.050.1%31
2021-12-31$72.152022-01-03$71.82−0.5%3
2023-01-10$63.942023-01-11$64.080.2%1
2023-01-12$64.452023-02-13$63.73−1.1%32
2023-02-14$63.762023-02-15$63.52−0.4%1
2023-03-13$64.342023-07-07$63.28−1.6%116
2023-07-11$63.582023-08-03$63.10−0.8%23
2023-08-09$63.792023-08-11$63.20−0.9%2
2023-11-28$63.472025-01-08$66.705.1%407
2025-01-17$67.242025-04-11$67.670.6%84
2025-04-15$68.292025-05-15$68.26−0.0%30
2025-05-16$68.682025-05-22$67.90−1.1%6
2025-05-27$68.422026-05-18$71.554.6%356
2026-05-27$72.022026-06-08$71.99−0.0%12
2026-06-10$71.972026-07-09$72.000.0%29
2026-07-10$72.072026-07-13$71.89−0.3%3
2026-07-16$71.972026-07-21$71.81−0.2%5
2026-08-20$71.792026-08-21$71.790.0%1
2026-08-26$72.062026-08-28$72.03−0.0%2

Prices are adjusted for splits and dividends, so they sit below the quotes printed at the time. An open position is marked at the last close.

Largest drawdowns

PeakLow pointDepthDays to lowRecoveredDays to recover
2021-11-092023-08-11−6.5%6402024-08-02357
2024-09-162025-05-22−4.8%2482025-10-16147
2026-02-272026-08-28−2.6%182not yet–

Buy-and-hold's deepest drawdown ran from 2021-01-04 to 2022-10-20 and reached −17.6%.

With trading costs

The headline run fills at the bar price. These runs charge slippage on every fill.

Slippage per fillCAGRMax drawdownFinal valueSharpe
None (headline)0.4%−6.5%$10,2130.12
5 basis points0.0%−7.4%$10,0050.02
10 basis points−0.3%−8.3%$9,801-0.07

Changing the parameters

VersionCAGRMax drawdownRound tripsWin rateFinal value
Published rules0.4%−6.5%2129%$10,213
100-day SMA0.3%−6.4%4330%$10,182
150-day SMA−0.4%−8.5%3724%$9,762
250-day SMA0.2%−7.6%1932%$10,101

How BND behaved

MeasureBND
Data in this test2021-01-04 to 2026-10-02 (1444 sessions)
Total return, buy and hold−4.7%
Annualized volatility5.8%
Deepest drawdown−18.1% (2021-01-04 to 2022-10-20)
Up days48.9%
Average daily range0.34%
Average overnight gap0.20%
Correlation to SPY0.21
Correlation to QQQ0.21
Correlation to TLT0.92
Sessions above the 200-day average64.3%
Crossings of the 200-day average42
Falls of 10% or more from a 20-day high0

The rules

Own the asset when price closes above its 200-day average; hold cash when it closes below.

  1. WHEN the market opens · IF not invested AND yesterday's close > SMA(200) · THEN buy with 98% of the sleeve
  2. WHEN the market opens · IF invested AND yesterday's close < SMA(200) · THEN sell the whole position

One rule and one number. Price above the 200-day moving average has historically coincided with better returns and lower volatility than price below it. This template uses no crossovers and no oscillators, only which side of the long-term average the price is on.

Good for: a first systematic strategy, simple enough to audit every trade.
Watch out: price whips around the 200-day line during volatile bottoms, generating clusters of buy-sell pairs. Some traders add a small buffer band to reduce churn.

Run 200-day regime filter on BND yourself, free →

Build it from blocks (or type it in English), backtest it on 5.7 years of minute data in seconds, tweak any parameter, then paper trade it on live data. No card, no broker needed to start.

Frequently asked questions

Did 200-day regime filter beat buy-and-hold on BND?

Over 2021-01-04 to 2026-10-02, 200-day regime filter on BND returned 0.4% annualized vs −0.8% for buy-and-hold: it beat buy-and-hold by 1.2% per year, with a maximum drawdown 11.1 points shallower than holding (6.5% vs 17.6%).

How many trades did it make?

21 completed round trips over 5.7 years (42 fills), with 29% of round trips closing profitably.

Why the 200-day average specifically?

It approximates a year of trading days and has been studied across decades of data. It is not the best window for every asset. The per-ETF backtests here show where it helped and where it didn't.

Related

200-Day SMA Regime Filter on all 59 ETFsfull results table All strategies on BND12 templates compared RSI(14) Mean Reversion on BNDsame ETF, different rulesRSI(2) Dip Snapback on BNDsame ETF, different rules

Backtests are hypothetical, computed by DeployQuant's engine on minute-resolution consolidated US market data (2021-01-04 to 2026-10-02, $10,000 starting capital, no margin, no fees or slippage in the headline run; buy-and-hold puts 98% of the account in at the first open, as the templates do) and do not guarantee future results. Nothing on this page is investment advice. Live trading involves risk of loss.