Skip to content
Important: BestFolio provides information for educational purposes only. Nothing on this site constitutes investment advice. Past performance does not guarantee future results. Read full disclaimer
·11 min read·BestFolio Research Team

Updated

Walk-Forward Portfolios: Two Real Recipes for Blending TAA Strategies

This article also covers what was previously published at /blog/walk-forward-portfolios-deep-dive.

Correction (6 September 2026): the Sharpe and Sortino figures in this post were computed under earlier definitions (daily-basis Sharpe before May 2026, losing-month Sortino before September 2026). Every live page now uses one monthly definition described on the methodology page; the strategy pages carry the current values.

Correction, 9 October 2026: both results tables, the average weights, the turnover and the months each sleeve sat below 5% were recomputed on each strategy's current backtest (runs of 5 October 2026), on the same out-of-sample windows and under the site's current definitions, with drawdowns measured on daily values. The Aggressive Sleeve was shown at 19.8% a year with a -16.2% maximum drawdown; it is now 16.2% and -20.0%, and it no longer beats every member on Sharpe or Sortino, only on Calmar. The Conservative Sleeve moves from 9.3% and -6.3% to 9.2% and -8.7% and still beats every member on every risk-adjusted measure. The drawdown chart showed the old figures and was removed. The recipe now gives the start dates that reproduce these windows, the S&P 500 comparison includes dividends, and the library count reads 90+.

Correction, 15 October 2026: two Aggressive Sleeve members, ADM SmartStack and VAA SmartStack, were rerun after a fix to the managed-futures history used before the real funds existed. Their rows, the sleeve's weights and its results moved with them. The sleeve now compounds at 16.4% a year (was 16.2%) with the same -20.0% worst drawdown, and it still beats every member on Calmar, but only narrowly (0.82 against 0.80 for VAA SmartStack). The post also said Composite Momentum SmartStack is return-stacked with managed futures. It is not: it runs momentum at 1.5x leverage through 2x and 3x funds and holds no managed futures.

Correction, 16 October 2026: early-1990s international and emerging-market history now uses index data instead of two actively managed funds, so every Aggressive Sleeve member except Schwoerer RP+Momentum and three Conservative Sleeve members were rerun. The Conservative Sleeve does not change: its window starts in 2000 and its members' returns from 1997 on are the same. The Aggressive Sleeve now compounds at 16.5% a year (was 16.4%) with the same -20.0% worst drawdown and a 2.04 Sortino (was 2.03); ADM SmartStack's average weight is 20.2% (was 19.9%) and VAA SmartStack's 14.8% (was 15.2%).

Correction, 17 October 2026: every strategy card was rerun with longer warm-up histories, and both sleeves were recomputed on the same windows. The Aggressive Sleeve now compounds at 17.1% a year (was 16.5%) with a -22.0% worst drawdown (was -20.0%), and $10,000 grows to about $1,210,000. Among its members, ADM SmartStack is now 15.3% a year with a -28.3% worst drawdown (was 15.9% and -24.1%), Composite Momentum SmartStack 17.0% (was 16.2%) and Schwoerer RP+Momentum 12.5% (was 12.1%), and the weights moved with them. The sleeve's Calmar of 0.78 now sits just below VAA SmartStack's 0.80, so it no longer beats every member on Calmar. The Conservative Sleeve's worst drawdown is now -9.7% (was -8.7%), still shallower than any member's.

Correction, 18 October 2026: figures updated to the current cards. Sharpe and UPI are now measured above cash, see the changelog, so both tables' Sharpe columns were recomputed on the same windows; returns, drawdowns and weights do not change with it. The Conservative Sleeve still beats every member on every risk-adjusted measure, and the Aggressive Sleeve is still second on Sharpe. The Conservative weights and turnover, a few Sortino, Calmar and CAGR cells, and the Aggressive table's Sortino column now also match the 17 October recompute.

Correction, 22 October 2026: Sortino is now measured above cash, see the changelog.

The honest pitch for tactical allocation goes like this: pick a strategy with a 25 year track record, follow it monthly, accept that it will spend roughly a third of its life under water versus its own high water mark. That last sentence is the part most people skip when they pitch you on a single strategy.

The question we kept getting from Pro users was: do I really have to pick one? What if you ran five sensible strategies side by side, and let the data tell you, every month, which two or three deserve more weight right now?

That is what the Walk-Forward portfolio tool in BestFolio does. This post walks through how it works, builds two real example portfolios using only strategies we have publicly disclosed (one conservative, one aggressive), and shows the honest before-and-after numbers on a 26 to 30 year walk-forward window. The weights are out of sample, because each month uses only past data. The choice of strategies is not: we picked them with hindsight, and several (HAA in 2023, the SmartStack variants in 2024 and 2025) were published long after the window starts.

Why not just hold the recent winners?

Sooner or later every tactical investor has the same idea: "I follow several strategies. Why not hold whichever ones did best recently?" Rank by trailing return, hold the top 3, re-rank every month. A meta-strategy.

The intuition is not wrong. We tested that naive version on 14 strategies from our catalog over 1992 to 2026, with no look-ahead: each month, rank every strategy by its trailing 12-month return and hold the top 3 at equal weight. The ranking signal is real. The top-3 bucket compounded at roughly 19.9% a year while the bottom-3 bucket managed about 7.3%. Past strategy performance does carry information about the near future.

And yet the naive rotation is a bad portfolio, for 2 reasons:

  1. It never beat a plain equal-weight blend per unit of risk. The equal-weight blend of all 14 strategies reached a Sharpe ratio of about 1.27 with a maximum drawdown near 16%. The best naive rotation managed about 1.17, with more turnover and more tax friction along the way.
  2. Raw-return ranking piles into blow-ups. The highest trailing return is disproportionately often a leveraged strategy late in its run. Our naive rotation held a 3x leveraged strategy at roughly 22% average weight, in 254 of 389 months, and rode it straight into its deepest drawdown. Ranking by raw return buys fragility right before it breaks.

So "rotate into the winners" is really 2 requests in tension: capture the persistence in strategy performance without inheriting the blow-up chasing that raw-return ranking produces. Walk-forward optimization is built to resolve exactly that.

What "walk-forward" actually means

Walk-forward is the closest thing finance has to a fairness test. The recipe:

  1. Pick a basket of N candidate strategies.
  2. Stand at any historical month t. Look back at the last 36 months of monthly returns for each strategy.
  3. Solve for the weights that would have maximized the chosen objective over those 36 months, subject to: weights sum to 1, no shorts, and no single strategy gets more than 40%.
  4. Hold those weights for exactly the next month.
  5. Step forward one month. Repeat steps 2 to 4. Forever.

The key detail is step 4: every weight you ever hold was computed using only data available at the time. Nothing peeks at the future. The result is a synthetic NAV series for the portfolio that nobody could have curve-fit, because the curve was being redrawn every single month using only the past.

This is different from "blending" a portfolio with fixed weights and rebalancing back to those weights. A fixed blend is a static answer. Walk-forward is an adaptive answer: each month it re-asks "given what each sleeve has done over the last three years, what mix should I hold next month?"

The knobs we used (no tuning, on purpose)

For both portfolios in this post we used the BestFolio defaults, with no parameter shopping to make the numbers look better:

  • Lookback window: 36 months. Three years is the most common choice in academic walk-forward studies. Long enough to span a full market cycle on average, short enough to react to regime shifts.
  • Max weight per strategy: 40%. Forces real diversification. Stops the optimizer from collapsing onto whichever single strategy looked best in the last 36 months.
  • Rebalance: monthly.
  • Optimization criterion: max Sharpe for the Conservative Sleeve. Max CAGR for the Aggressive Sleeve. Picked once, up front, to match each portfolio's stated goal. We did not run all 8 criteria and pick the prettiest: that would be exactly the kind of overfitting walk-forward is supposed to avoid.

If we had let ourselves search over 12, 24, 36, 48, 60, and 72 month lookbacks and picked whichever gave the best ex-post Sharpe, we would have overfit our way into prettier numbers and a less honest story. Three years is the textbook default. We stuck with it.

The 8 criteria, and why the choice matters more than the lookback

"Best" needs a definition. The optimizer supports 8:

CriterionWhat it optimizes on the lookback windowCharacter
Max Sharpe (default)Return per unit of total volatilityThe balanced default
Max SortinoReturn per unit of downside volatilityTolerates upside spikes, punishes losses
Max CAGRRaw compounded returnThe aggressive one; closest to naive chasing, tamed by the cap
Min VarianceTotal portfolio varianceThe defensive one
Min DrawdownWorst peak-to-trough loss in the windowOptimizes the thing investors actually feel
Max UPIUlcer Performance Index: return over drawdown depth and durationRewards smooth recoveries, not just shallow dips
Risk ParityInverse-volatility weightingNo return forecast at all; pure risk budgeting
Equal WeightNothing; 1/N every periodThe honest benchmark, built in on purpose

6 of the 8 criteria are risk-aware, and that is the difference from the naive rotation above. A leveraged sleeve sprinting toward a cliff looks spectacular on trailing return, but its volatility, downside deviation and drawdowns in the window are usually flashing by then. Risk-aware criteria read those signals and fade the sleeve before raw-return ranking would. Together with the weight cap, that design choice is most of the gap between rotation that chases blow-ups and rotation that works. Equal weight is in the list on purpose: if your criterion cannot beat 1/N on the comparison you care about, the tool shows it, and you should believe it.

The weight cap, and why weights sometimes freeze

The per-sleeve cap is the second half of the blow-up defense: even if one sleeve dominates the window on every measure, it cannot take over the portfolio. (Risk Parity and Equal Weight compute their weights directly and ignore the cap.)

The cap also explains the most common support question: "my weights did not change this month, is the recompute stuck?" Almost always, no. It is a corner solution. With a 50% cap and an optimizer that wants to concentrate in its top 2 sleeves, the only feasible answer is exactly 50/50, and the weights stay pinned there until the ranking between sleeves actually flips, which for a stable criterion like Sortino can take months. A 40% cap forces at least 3 sleeves into play, so the third sleeve's weight moves month to month. Frozen weights at the cap are the optimizer expressing a strong, stable preference, not a bug. Inside each sleeve, the strategy keeps rotating its own ETFs as usual: sleeve weights and a strategy's holdings are 2 different layers.

My own main portfolio runs this way: 4 strategy sleeves, the Sortino criterion, a 36-month window, a 50% cap and a monthly rebalance. When I first wrote about it in June, the optimizer had sat at 50/50 in 2 sleeves, pinned at the cap, for 2 months in a row while the strategies traded their own signals inside them. That is what a walk-forward portfolio looks like in calm regimes: long stretches of boring stability, then a re-weighting when the sleeves' relative risk-adjusted performance genuinely changes.

Why this is genuinely hard to do in Excel

The reason almost no individual investor runs this style of portfolio is that the manual workflow is brutal. Walking through it for one of our example portfolios:

  1. Source 25+ years of monthly NAV data for five strategies. Each strategy has a different rule set. You need to either download monthly NAV from a data vendor (most do not publish strategy NAVs at all) or backtest each strategy yourself by downloading every constituent ETF, applying the rules, and computing the resulting NAV. For ETFs that did not exist for the full history, you need a fallback chain (mutual fund proxy, then index proxy). That is a few hundred hours of work alone.
  2. Align five NAV series on the same monthly grid. Different start dates, different month-end conventions, missing observations.
  3. Build a 36 by 5 returns matrix that rolls forward each month. Three hundred plus monthly rebalance points means three hundred plus rolling matrices.
  4. Solve a constrained quadratic optimization that many times. Excel's Solver add-in can do it, but you will be writing VBA to script it across every window. Each solve takes a few seconds. Each one needs equality constraint (weights sum to 1), inequality constraint (max 40% per sleeve), and non-negativity bounds.
  5. Apply the solved weights to the next month's returns. Out-of-sample step.
  6. Roll the window forward and repeat.
  7. Compute portfolio metrics on the resulting OOS NAV. CAGR, Sharpe, Sortino, max drawdown, Calmar, win rate, monthly turnover.

An experienced quant in Python with the right libraries can build this in a long afternoon. In Excel with VBA and Solver it is a multi-week project, and the final spreadsheet is fragile. Change one strategy and you re-do half of it.

In BestFolio Pro it is five fields and a button.

Portfolio 1: Conservative Sleeve

The first portfolio is built for investors who want the steadiest possible equity curve. We picked five tactical strategies with the lowest historical drawdowns from five different schools, and let walk-forward decide the weights.

Members:

  • HAA without QQQ (Keller and Keuning): hybrid asset allocation, no NASDAQ tilt
  • BAA-G12 Balanced (Keller): bold asset allocation rotating between offensive and defensive baskets
  • PAA Dynamic Protection (Keller and Keuning): protective asset allocation with dynamic cash rotation
  • Defense First (Carlson): downside-aware tactical allocation
  • Tactical Permanent (Adam Butler, ReSolve): trend-filtered version of the Permanent Portfolio

Walk-forward window: 2000-04 through 2026-04 (26 years, 312 monthly rebalances).

Average weights the optimizer assigned (across all 312 months):

  • Tactical Permanent: 27.1%
  • BAA-G12 Balanced: 23.9%
  • PAA Dynamic Protection: 19.6%
  • HAA without QQQ: 16.3%
  • Defense First: 13.1%

Average monthly turnover at the portfolio level was 15.4%, low for a TAA blend. The optimizer leaned on the lowest-volatility members (Tactical Permanent, BAA-G12, PAA) which makes sense for a max-Sharpe objective.

Conservative Sleeve results vs each strategy alone, April 2000 to April 2026

Strategy CAGR Sharpe Sortino Max DD Calmar
WF Conservative Sleeve 9.2% 1.09 2.01 -9.7% 0.95
HAA without QQQ (solo) 11.8% 1.06 1.93 -14.6% 0.80
BAA-G12 Balanced (solo) 10.8% 1.01 1.86 -14.3% 0.75
Defense First (solo) 10.3% 0.91 1.61 -20.5% 0.50
PAA Dynamic Protection (solo) 8.6% 0.92 1.64 -14.1% 0.61
Tactical Permanent (solo) 6.4% 0.85 1.50 -10.9% 0.58

The Conservative Sleeve beats every individual member on every risk-adjusted metric we track. Sharpe of 1.09 versus a best-in-class member of 1.06. Sortino of 2.01 versus 1.93. Calmar of 0.95 versus 0.80. Max drawdown of -9.7%, which is lower than the lowest single-strategy drawdown in the basket (Tactical Permanent at -10.9%). And it manages all of that while still beating the worst two solos on raw CAGR.

The reading: when you start from a basket of strategies that are individually conservative but use different mechanisms (Keller and Keuning's hybrid signals, BAA's offensive/defensive rotation, PAA's protective cash, Carlson's downside filter, Butler's trend-filtered permanent), the optimizer finds genuinely complementary combinations. The portfolio bend is shallower than any of its parts.

Portfolio 2: Aggressive Sleeve

The second portfolio is for investors with longer horizons and higher risk tolerance, who want the maximum compounding rate the library can support. We picked four leveraged or return-stacked variants of well-known TAA strategies, plus one risk-parity-momentum sleeve as an anchor, and ran walk-forward with the max-CAGR criterion to match the aggressive intent.

Members:

  • HAA Leveraged 2x (Keller and Keuning): the HAA signal applied to 2x leveraged ETFs on offensive months
  • Composite Momentum SmartStack (BestFolio Original): multi-asset momentum at 1.5x leverage, using 2x and 3x funds for part of each position, with no managed futures
  • ADM SmartStack (Engineered Portfolio + BF stack): accelerating dual momentum with a gold and managed futures overlay
  • VAA-G4 SmartStack (Keller and Keuning + BF stack): vigilant asset allocation with the same overlay
  • Risk Parity Momentum (Schwoerer): risk parity over QQQ, GLD, TLT with a momentum filter, one of the two lowest-drawdown members of the basket

Walk-forward window: 1995-11 through 2026-04 (30 years, 365 monthly rebalances).

Average weights:

  • HAA Leveraged 2x: 32.0%
  • Composite Momentum SmartStack: 23.1%
  • ADM SmartStack: 17.7%
  • VAA SmartStack: 14.1%
  • Schwoerer RP+Momentum: 13.1%

Average monthly turnover: 14.7%. The optimizer leaned heavily on HAA Leveraged 2x (right at the 40% cap in many months, ~32% on average) because of its compelling CAGR over most rolling windows. The risk parity sleeve was the de facto defensive ballast, picking up weight in the months when the leveraged sleeves had been struggling.

Aggressive Sleeve results vs each strategy alone, November 1995 to April 2026

Strategy CAGR Sharpe Sortino Max DD Calmar
WF Aggressive Sleeve 17.1% 0.98 1.74 -22.0% 0.78
HAA Leveraged 2x (solo) 22.3% 0.95 1.73 -36.5% 0.61
ADM SmartStack (solo) 15.3% 0.86 1.50 -28.3% 0.54
Composite Momentum SmartStack (solo) 17.0% 1.02 1.79 -29.7% 0.57
VAA SmartStack (solo) 13.8% 0.81 1.59 -17.2% 0.80
Schwoerer RP+Momentum (solo) 12.5% 0.91 1.73 -20.1% 0.62

The Aggressive Sleeve compounds at 17.1% per year for 30 years with a worst drawdown of -22.0%. To put that in perspective: a $10,000 stake at the start of the walk-forward window grew to roughly $1,210,000 by the end. The S&P 500 over the same period compounded around 10% a year with dividends reinvested (8% on price alone).

Over the same window it no longer beats every member on Calmar: its 0.78 is just behind VAA SmartStack's 0.80. It does not lead on Sharpe either: its 0.98 is second to Composite Momentum SmartStack's 1.02. On CAGR over the window it loses only to HAA Leveraged 2x solo at 22.3% (Composite Momentum SmartStack is just behind at 17.0%), but the price tag for that solo CAGR was a -36.5% drawdown versus the WF portfolio's -22.0%. Calmar tells the story: 0.61 for HAA alone, 0.78 for the WF portfolio. You gave up about 5 points of CAGR for a worst loss about 60% as deep.

On Sortino over the same window one member does better: Composite Momentum SmartStack solo posts 1.79, versus the WF portfolio's 1.74. Schwoerer RP+Momentum and HAA Leveraged 2x solo are both just behind the portfolio at 1.73. But Schwoerer RP+Momentum alone compounded at 12.5% versus 17.1% for the portfolio, Composite Momentum SmartStack paid for a similar CAGR with a -29.7% drawdown, and the WF portfolio is the version of this question that does not require you to have known in 1995 which sleeve would prove most efficient.

Underperformers get benched, automatically

The average weights table flattens the most interesting part of how walk-forward behaves. The optimizer does not just nudge weights up and down. When a strategy is genuinely underperforming over the trailing 36 months, it can effectively zero out that sleeve for years at a time, and let the others carry the portfolio.

A few real examples from the OOS history of the two portfolios above:

  • In the Aggressive Sleeve, VAA SmartStack got assigned less than 5% weight for 86 consecutive months, from February 2011 through March 2018. The post-2010 risk-on regime made the "vigilant" defensive rotation a drag. The optimizer noticed and pulled the weight from VAA into HAA Leveraged 2x and the other stacked sleeves. The investor running this portfolio in 2014 was effectively running a 4-strategy basket, not a 5-strategy one, even though VAA was technically still in the candidate set.
  • In the same portfolio, Schwoerer RP+Momentum was below 5% for 84 consecutive months from 2003 through 2010, then rotated back in when its risk-parity profile started looking better in the post-GFC environment.
  • In the Conservative Sleeve, even the eventual long-run favorite Tactical Permanent was below 5% weight for 49 months, from late 2015 through late 2019, while the BAA and PAA sleeves carried the portfolio. By February 2020, as the COVID sell-off began, Tactical Permanent's weight was back at the 40% cap (it was trimmed to 20% for March).

This is the property that makes walk-forward different from a fixed-weight blend. A fixed blend forces you to keep paying attention to a strategy that is actively losing you money for half a decade. Walk-forward demotes it without you having to make a decision, and reinstates it when the data justifies it. You never have to be the human who emotionally fires a strategy at the bottom of its drawdown.

This works best when your strategies are actually different

Any kind of blending, walk-forward included, only adds value when the underlying components are genuinely diversified. If you blend five trend-following strategies that all derisk into bonds at the same time, you get a slightly smoother version of one trend-follower. You do not get a meaningfully better Sharpe, because there is no diversification benefit to extract.

This is why we picked five strategies from five different schools for each portfolio above. The Conservative Sleeve mixes a Keller and Keuning hybrid (HAA), a Keller bold rotation (BAA), a Keller and Keuning protective with cash (PAA), a Carlson downside filter (Defense First), and a Butler trend-filtered permanent (Tactical Permanent). They use different signals, different universes, and different defensive triggers. The Aggressive Sleeve does the same on the offensive side: leveraged TAA, leveraged momentum, return-stacked dual momentum, return-stacked vigilant, and a risk-parity-momentum sleeve. Different mechanisms throughout.

Before you commit to a basket, run it through the BestFolio Correlations page. The pairwise correlations and rolling correlation chart will tell you whether you are actually diversifying or just paying for redundant signals. The general rule: if any two sleeves are above 0.85 correlation on monthly returns over the last decade, you are probably double-counting one of them. Either drop one or pick a more distinct alternative from the library.

Why we say almost nobody else does this

Walk-forward as a concept is decades old. What is rare is having it pre-built across a published library of TAA strategies, with verified backtests, ready to run.

  • Portfolio Visualizer does static portfolio backtests with fixed weights or rule-based rebalancing. It does not let you walk-forward optimize across strategies.
  • AllocateSmartly tracks live signals for a large library of TAA strategies, lets you combine them into Model Portfolios (with an optimizer that reports which combinations were optimal in the past on objectives such as maximum Sharpe or minimum variance), and ships a ready-made "Meta Strategy" that combines 10 of its strategies each month, which is in the same neighborhood as walk-forward. The difference is control: Meta Strategy picks which strategies are in the basket, how many, and the weighting logic. You take the recipe as given. The walk-forward tool here lets you choose your own five strategies, set the lookback, set the weight cap, and pick the criterion. Same idea, different end of the build-vs-buy spectrum.
  • Composer.trade lets you build symphony-style decision trees and backtest them, but there is no walk-forward portfolio composition across user-defined strategies.
  • skfolio, PyPortfolioOpt, riskfolio-lib all do this kind of optimization at the asset level, but none of them ship a backtested library of TAA strategies to optimize over.

The combination is what is unusual: a published library of 100+ backtested strategies (80 of them tactical, and counting), with their full monthly NAV histories, all queryable in one place, with a one-click walk-forward portfolio engine on top. We have not seen another platform that does this end to end.

The recipe, fully open

If you have a Pro account you can reproduce both portfolios in this post in under a minute. Open the Walk-Forward page, then for each portfolio:

  1. Pick the five strategy variants from the dropdown.
  2. Set lookback to 36 months.
  3. Set max weight per strategy to 40%.
  4. Set criterion: max Sharpe for the Conservative Sleeve, max CAGR for the Aggressive Sleeve.
  5. Set rebalance to monthly.
  6. Set the start date to 1 April 1997 for the Conservative Sleeve or 1 November 1992 for the Aggressive Sleeve. The page fills in 2010 by default, and the out-of-sample record starts 36 months after the date you enter, so in April 2000 and November 1995.
  7. Click Run.

Up to April 2026 you will get the numbers shown above. A run today continues past that date, so its summary figures differ slightly. We did not run anything you cannot. We did not use any unpublished strategies. Both portfolios use only strategies that are documented and backtested on the public Strategies page.

Then switch to Compare mode, which runs all 8 criteria side by side on your exact sleeves. Look at 3 things: whether any criterion beats equal weight after turnover, how stable the weights are, and where the cap binds. That tells you how much of a result is process and how much is parameter luck.

What we are not claiming

A few honest caveats, because we would rather lose your business than lose your trust:

  • Walk-forward is not magic. If your candidate basket is full of strategies that all derisk into bonds at the same time, you will get drawdown insurance and not much alpha over equal-weight. Diversity of mechanism matters more than number of strategies.
  • The walk-forward window is one history. 26 to 30 years includes the dot-com crash, GFC, 2018 Q4, COVID, the 2022 60/40 disaster, and the 2023 to 2025 rally. It is a good test, but it is still one realization of the world.
  • Past performance is not predictive. The walk-forward design protects the weights against curve-fitting, though not the choice of strategies, but it cannot protect against the future being structurally different from the past.
  • The Aggressive Sleeve uses leverage and return-stacking. 17.1% compounded over 30 years also means -22% drawdowns. If you cannot stomach that, the Conservative Sleeve is the better starting point.
  • Implementation friction matters. Monthly rebalancing across five strategies means 12 trade days a year. Use tax-advantaged accounts where possible. We have a separate post on the minimum portfolio size to make TAA worth the friction.

Try your own combination

The library has 100+ published strategies right now. There are millions of unique 5-strategy combinations to try. Some will dominate the two we showed here. The point of building the tool was that nobody, including us, had a clean way to find them before.

The tool lives at Walk-Forward Optimization (Pro), and ready-made walk-forward portfolios with sensible defaults are in the portfolio library. If you build a combination you like, send it in. We are collecting reader-submitted walk-forward portfolios and will publish the most interesting ones.

Corrections

  • : 22 October 2026: Sortino is now measured above cash, see bestfolio.app/changelog. The Aggressive Sleeve now trails only Composite Momentum SmartStack on Sortino, so that sentence is updated.
  • : Sharpe ratios recomputed on the same windows under the current definition, above cash since 18 October 2026: the Conservative Sleeve 1.09 (was 1.35) against 1.06 for its best member, the Aggressive Sleeve 0.98 (was 1.12), second to Composite Momentum SmartStack's 1.02. Also carried from the 17 October recompute: the Conservative weights and 15.4% turnover, and the Aggressive Sortino column.
  • : Both sleeves recomputed on the 17 October 2026 backtests over the same windows: the Aggressive Sleeve is now 17.1% a year with a -22.0% worst drawdown (was 16.5% and -20.0%) and no longer beats every member on Calmar; the ADM SmartStack, Composite Momentum SmartStack and Schwoerer rows and the weights moved with it. The Conservative Sleeve's worst drawdown is now -9.7% (was -8.7%).
  • : Card figures restated on 16 October 2026: early-1990s international and emerging-market history now uses index data instead of two actively managed funds. Rerun on the same window, the Aggressive Sleeve now compounds at 16.5% a year (was 16.4%) with a 2.04 Sortino (was 2.03); two average weights moved. The Conservative Sleeve is unchanged.
  • : Two Aggressive Sleeve members were rerun on 15 October 2026 after the managed-futures history before the real funds was fixed. ADM SmartStack, VAA SmartStack and the sleeve moved (16.4% a year, Calmar 0.82, still ahead of every member on Calmar but narrowly). Composite Momentum SmartStack was wrongly called return-stacked with managed futures: it is 1.5x leverage and holds no managed futures.
  • : The post called the walk-forward results 26 to 30 years out of sample. Only the weights are; the strategies were chosen with hindsight and several were published after the window starts.
  • : Tactical Permanent is Butler's (ReSolve), not Faber's. HAA, PAA and VAA are by Keller and Keuning. The library holds 100+ published strategies, 80 of them tactical. The COVID sentence now gives the actual weights: 40% in February 2020, 20% in March.
  • : Every strategy figure was restated on today's backtests over the post's own windows, with daily drawdowns. The Aggressive Sleeve's 19.8% CAGR and -16.2% maximum drawdown are now 16.2% and -20.0%, and it no longer leads its members on Sharpe or Sortino; the Conservative Sleeve's 9.3% and -6.3% are now 9.2% and -8.7%. The stale drawdown chart was removed, the recipe gives the start dates, and the library count reads 90+.
  • : AllocateSmartly's ready-made combination is called Meta Strategy, not Meta Portfolios, and its Model Portfolios include an optimizer. The comparison now says so.

Revision history

  1. Graphs and research review — September 15, 2026

    Add a figure with accessible labels and the study’s original data boundaries; preserve existing prose.

  2. Merged with the walk-forward deep dive, October 3, 2026

    The June deep dive now lives here: the naive rotation test, the 8 optimization criteria, and how the weight cap works. The two portfolios and their figures are unchanged.

Figure sources

The strategy figures in this post were read from these published backtest runs. Each strategy page shows its latest run, which may differ.

  • haa (haa-simple-rsst), backtest run of 1974-02-28 to 2026-10-21. Engine drift-until-flip-v1, data version 42972603, published 2026-10-17.

Past performance does not guarantee future results. Backtested results are hypothetical and do not represent actual trading.

Written with the help of AI tools and reviewed before publication.

Share this article

Data and method

Study dates and assumptions are documented in the article and its revisions. Our current methodology explains the platform's data sources, proxy histories, trade timing and inflation treatment.

  • Dual Momentum's 2022 Problem: Why Canary Models Worked When GEM Didn't

    2022 was the cleanest A/B test the tactical asset allocation community is ever going to get. Classic dual momentum strategies (GEM, ADM, CDM) lost between 10 and 24 percent. Three Keller canary-family strategies (BAA-G4, BAA-G12, HAA) closed the year with positive returns. Same tactical framework, completely different design choices, and a lesson about which defensive asset actually defends when the "safe haven" bond is the thing falling.

  • Which TAA Strategies Actually Work in Europe: A UCITS Substitution Guide

    PRIIPs blocks EU retail from AVUV, DBC and most US-domiciled ETFs, so running a US TAA strategy in Europe means substituting UCITS funds. We map every sleeve to a verified UCITS ticker with its ISIN, grade the substitution tier by tier, and flag the ones where the European version is a different strategy.

  • How 50+ TAA Strategies Compare With the 4% Rule (And Where Bengen Still Wins)

    We computed Bengen-style rolling 30-year safe withdrawal rates for 80 variants across 51 published TAA strategies. In May every single one cleared 4%. On today's cards the best unleveraged TAA strategies (BAA-G4 12.7%, VAA-G4 11.9%) sustain real withdrawal rates about 3 times the Classic 60/40's 3.8%. Why TAA defeats sequence-of-returns risk, and four honest reasons you should still anchor your retirement plan closer to 4% than to the double digits.

Explore with tools

Try these strategies on BestFolio

Browse 89 tactical allocation strategies with monthly signals, walk-forward validation, and portfolio blending. Free to start.

Create free account

BestFolio Monthly Briefing

Liked this post? Get a free monthly recap of TAA strategy signals, performance rankings, and market regime updates. No spam, unsubscribe anytime.