Changelog
What shipped on BestFolio, day by day. Hand-written after each meaningful production deploy. No marketing fluff and no auto-generated commit dumps; only the changes a Pro or free user might actually notice.
July 2026
- Improvement
New benchmark: TQQQ buy-and-hold
- You can now add a raw TQQQ (3x Nasdaq) buy-and-hold line to the Performance page comparison, alongside the S&P 500, QQQ, 60/40 and the other benchmarks, to see how a plain leveraged buy-and-hold stacks up against the tactical strategies.
- Improvement
Three more Staff Picks and a daily-cadence warning
- The Staff Picks shelf grows from 6 to 9 strategies: Momentum-Correlation Triplet, Buy the Dip, and VAA join the curated list.
- Strategies that rebalance daily now carry an orange Daily badge in the catalog and on their page, because a signal that can change any trading day takes real attention to follow by hand.
- Data
UCITS finder now shows Euronext listings
- 74 of the UCITS equivalents now carry a verified Euronext venue symbol (Amsterdam, Paris or Milan) alongside the London listing, so investors on DEGIRO and other Euronext-first brokers can find the exact tradable ticker.
- Where a fund has no Euronext listing under the same symbol, the field stays empty rather than guessing. The ISIN remains the universal identifier.
- Improvement
Italian and German tax estimates are no longer marked provisional
- Now that the per-instrument classification review is complete, the Italian and German tax panels on strategy pages drop the provisional label. They stay clearly marked as estimates, not tax advice.
- The German breakdown now shows an ETC / ETN line for gold and leveraged products, which sit outside the German fund tax rules and so carry no partial exemption or advance levy.
- Improvement
The IBKR holdings view is now information only
- The Settings IBKR drift table now shows your current weight, the model target, and the difference for each ticker, without buy or sell labels. What you do with that information stays entirely your decision.
- The beta rebalance order list and basket CSV export have been removed. BestFolio publishes model strategies and shows how your account differs from the model you selected; it does not provide personalized investment advice.
- Connecting IBKR now asks you to confirm you understand this before saving your credentials, and the FAQ now spells out exactly what the connection does and does not do.
- Data
Corrected three UCITS equivalents
- AGG and BND now show the correct fund behind ticker IUAG: the iShares US Aggregate Bond UCITS ETF (IE00B44CGS96). The entry previously carried the Global Aggregate fund's name and ISIN.
- HYG, JNK and UJB now point to IHYU, the USD high yield fund. The old ticker IHYG is the EUR high yield fund.
- USMV now maps to MVEA (iShares Edge MSCI USA Minimum Volatility Advanced); the previously listed IUMV ticker is no longer live.
- Data
Italian and German tax estimates now classify the exact UCITS instrument you would hold
- The per-strategy tax profiles (API endpoints /tax/italy and /tax/germany) previously bucketed each position by its US backtest ticker. They now classify the European UCITS replacement you would actually buy, verified instrument by instrument against official Italian and German tax rules.
- Biggest corrections: leveraged Treasury exposure now gets Italy's reduced 12.5% government-bond rate (it is held as a plain Treasury fund in Europe), leveraged S&P 500 and Nasdaq exposure held via UCITS funds now gets Germany's 30% equity exemption, bond and real-estate funds no longer wrongly receive that exemption, and gold or 3x products (legally notes, not funds) are no longer charged the German advance levy.
- Every response still returns the full per-instrument classification for audit. These are informational estimates, not tax advice.
- Fix
Return contribution card restored for some portfolios
- Portfolios containing certain older strategies (Permanent Portfolio, Robust AA, Trinity and a few others) showed an empty per-asset return contribution card. A date formatting quirk in those strategies' stored signals broke the calculation; the card now computes for all portfolios.
- Fix
More reliable handling of rapid request bursts
- A rare timing collision in the rate-limiter's background cleanup could return a server error when a client (for example an automated script) sent many requests at once. The cleanup now runs on its own, so it can no longer interfere with a request.
- Improvement
Holdings vs target now loads on its own and remembers the day's reading
- The IBKR "Holdings vs target" check on the Settings page now loads automatically for your Main portfolio and caches the reading for the day, so you no longer click "Check holdings" every time you open the page. Use "Check holdings" whenever you want a fresh pull from IBKR.
- Fix
The drift panel now points to where you enter holdings
- When a portfolio had no recorded holdings, the Drift vs target panel told you to add a dollar amount "in the editor", but holdings are actually entered on the Live page. The message now links straight to the Live page so the field is easy to find.
- Fix
Settings tools now default to your Main portfolio
- The portfolio picker in Settings (used for the IBKR deviation and holdings-vs-target tools) defaulted to your first portfolio by id; it now defaults to your Main portfolio, the one you actually implement.
- Improvement
GOVZ is now a selectable alternative to ZROZ
- If a strategy holds ZROZ (long-duration zero-coupon Treasuries), you can now choose GOVZ (iShares 25+ Year Treasury STRIPS) as your preferred ETF for it, alongside the existing EDV option, and your signals will hand you GOVZ in its place.
- Fix
The dashboard's Show leveraged filter now hides every leveraged variant
- The dashboard Strategy Performance table has a Show leveraged toggle. Some leveraged variants (SmartStack, SmartLeverage, and leveraged versions of otherwise-unleveraged strategies like HAA) slipped past it and showed even with the box unchecked. The filter now classifies each variant individually, so unchecking Show leveraged hides all of them.
- Fix
More portfolio editor boxes select on a single click
- Clicking the portfolio name, the walk-forward name, or a sleeve's ticker box now selects the whole value on the first click, so you can type a new value straight away instead of clicking it several times.
- Fix
Clearer errors when a page cannot load its data
- Walk-forward, the Strategy-Asset Matrix, and the ETF preferences and IBKR sections of Settings now show a clear message with a Retry button when a data request fails, instead of looking empty or stuck on Loading.
- Comparing portfolios in one currency and then applying a custom date window now always refetches in the currency you are viewing.
- Fix
Walk-forward editor number boxes are easier to edit
- The Window, Max Weight and Rebalance boxes in the walk-forward portfolio editor now select their value on a single click, so you can type a new number straight away instead of clicking several times.
- They no longer show the tiny up and down arrows that changed the value one step per click; just type the number.
- Improvement
Search strategies by ticker, and see each strategy's full asset universe
- You can now search the strategy catalog by ticker: type something like TLT or QQQ and every strategy that can hold it shows up.
- Each strategy page now lists its complete asset universe, taken straight from the strategy's own rules, so instruments that were sometimes missing before are all shown.
- Fix
A per-strategy weight cap now always takes effect
- When you set a maximum weight per strategy in a walk-forward portfolio, the app now checks your strategy count can actually honour it. With too few strategies to stay under the cap and still add up to 100% (for example a 30% cap across three strategies), the optimizer used to quietly ignore the cap and could show one strategy well above it. Saving now explains the limit and how to resolve it, so the cap you set is the cap you get.
- Improvement
You can now build up to 25 portfolios
- The per-account portfolio limit is now 25, up from 10, so you have more room to build and compare blends.
- Fix
Portfolio pages no longer crash when viewing trades
- Opening some portfolios could show an application error instead of the Trade List; the page now loads correctly for every portfolio, whatever its rebalance schedule.
- Fix
Portfolio weight boxes are easier to edit
- Clicking a sleeve's weight box in the portfolio editor now selects the whole value on the first click, so you can type a new weight straight away instead of clicking it several times.
- The weight box no longer shows the tiny up and down arrows that changed the value by only 0.1% per click; just type the number (a comma or a dot both work).
- Improvement
Strategy and portfolio pages load faster
- The strategy and portfolio pages now defer their heaviest panels (the strategy Signals, Allocations and Monte Carlo tabs, and the portfolio walk-forward editor, Monte Carlo and leverage cards) until you open them, so both pages come up faster, especially on mobile.
- Improvement
Charts describe themselves to screen readers
- The NAV growth chart and the strategy drawdown chart now provide a spoken text summary (each line's start, end, high and low) to screen readers, matching the accessible labels already on the other charts.
- Improvement
Favorite a strategy from its detail page
- The favorite star now sits next to the title on each strategy page, so you can save a strategy while you are reading it instead of returning to the leaderboard.
- Favorites stay in sync across the strategy list, the strategy page and your Favorites page.
- Fix
Strategy counts now show the current total everywhere
- The published strategy count shown across the site (landing, guide, comparison, feature pages and free tools) now always matches the live catalog, instead of a snapshot that could lag behind newly released strategies.
- Improvement
Portfolio performance now matches the strategy pages
- Portfolio pages now show the same full set of statistics as strategy pages, including monthly and daily max drawdown, average leverage, exposure, EAR, turnover and trades per year, with a benchmark comparison column you can switch.
- Benchmark lines on portfolio charts are now drawn daily instead of a coarse month-by-month step, so they line up with the portfolio's own daily line.
- The drawdown chart now has a 1Y / 3Y / 5Y / 10Y / All date-range selector, on both strategy and portfolio pages.
- Improvement
EU mode now shows UCITS tickers everywhere
- With EU / UCITS mode on, UCITS tickers now show across the whole app, the dashboard, signals, strategy pages, live tracking and portfolio allocations, plus your monthly signal and tranche emails, not just a couple of screens.
- Also added Live Tracking to the sidebar and tidied up navigation and strategy counts across the site.
- Feature
See the execution flow on SmartLeverage strategy pages
- SmartStack and SmartLeverage strategy pages now show an execution-flow diagram: a Sankey that traces the base signal on the left through the leverage swaps (QQQ to QLD, VNQ to URE) to the execution-ready tickers you actually trade on the right.
- Feature
Send signal alerts to multiple webhook destinations
- You can now add several outbound webhooks in Settings (for example a personal Discord plus a shared server), each with a label and an on/off switch. Every signal alert fans out to all the enabled ones.
- Fix
Signal emails now use your preferred ETFs
- If you set ETF preferences (for example a specific S&P 500 or bond ETF), the signal email now shows those tickers in the what-to-hold view instead of the defaults, matching the app and the trade list.
- Fix
Walk-Forward now shows the strategy name for every sleeve
- Some strategies (like Century Momentum) have sleeves named just Standard or Cash Defensive, which were hard to spot in the Walk-Forward universe list. The list now prefixes the strategy name, so every option is identifiable.
- Fix
Portfolio roll-up, trade list, and processed allocation now show the leveraged ETFs you trade
- For a portfolio with a SmartStack or SmartLeverage sleeve, the portfolio roll-up, execution roll-up, processed allocation, and trade list showed the underlying ETFs (like QQQ and VNQ) while the signal email traded the leveraged versions (like QLD and URE). They now all show the execution-ready tickers, so the trade list matches what to actually buy.
- This extends the SmartStack fix from the strategy pages to every portfolio-level surface and the API.
- Improvement
Growth of $100 chart now shows a strategy's full history
- For strategies with decades of data, the Growth of $100 chart now plots the entire backtest back to its inception instead of starting at 1980. Century Momentum, for example, now runs all the way back to 1928.
- The S&P 500 and 60/40 benchmark overlays extend back to match, so the comparison covers the same period as the strategy rather than being cut short at 1980.
- Improvement
The monthly TAA scoreboard now leads with the model portfolios and shows 1-year returns
- The first-of-the-month scoreboard post now opens with the three model portfolios (conservative, moderate, aggressive), the diversified blends most people should actually hold, then lists the full strategy board.
- Every table now shows the month, year-to-date and trailing 1-year return side by side, with a short read on how the month fits the longer picture.
June 2026
- Feature
Connect a read-only IBKR account (beta)
- Pro users can link a read-only Interactive Brokers Flex token in Settings, then compare live holdings against any portfolio target (your ETF preferences included).
- Read-only by design: a Flex token can only fetch statements. BestFolio never places trades or moves cash, and stores the token encrypted, never your positions.
- Fix
SmartStack strategy pages now show the leveraged ETFs you actually trade
- On SmartStack variants, the Current Allocation, Next Month Preview, and signal export showed the underlying ETFs (like QQQ and VNQ) while the signal email and backtest used the leveraged versions (like QLD and URE). Every surface now shows the same execution-ready tickers, so what you see is what you hold.
- Momentum score tables still list the underlying assets, where they belong.
- Fix
Fixed two starter portfolio templates in onboarding
- The Aggressive and Capital Efficient starter templates referenced a strategy that had been renamed, so one sleeve did not load when you picked them during onboarding.
- Both now point at the current Return Stacked Quartet strategy.
- Improvement
Dual Momentum Systems pages now link to the author's new site
- Each Dual Momentum Systems strategy page links to its updated version on Randy Harris's newly launched site, going straight to that strategy where one exists.
- Where a strategy was retired and replaced, the link points to its successor, so the Bamboo page now links to Permanent Portfolio DMS.
- Improvement
A cleaner, more consistent sidebar
- The navigation is now grouped the same way everywhere: Build and Tools for portfolio work, Analyze for the analytics, with the Leaderboard kept front and center. This started as an opt-in beta and is now the default for everyone.
- Improvement
Strategy Compare is now part of Performance
- Strategy Compare only let you pick strategies and then sent you to the Performance page, so we merged it in. Pick and chart strategies, portfolios, and benchmarks all in one place on Performance, the old Strategy Compare links still take you there.
- Improvement
Active Returns vs the S&P 500 now shows on your portfolios
- Open any portfolio and you now see the Active Returns section (excess return, up and down capture, and rolling and annual active return vs the S&P 500), the same analysis the strategy pages have. It no longer requires adding the S&P 500 as a benchmark first.
- Improvement
Portfolio Compare charts now match the Performance page
- The growth and drawdown charts on Portfolio Compare now use the same colours and the same rounded drawdown axis as the Performance page, so the same portfolio looks the same wherever you view it.
- Improvement
Clearer descriptions so you can tell the strategy pages apart
- Strategies, Leaderboard, Strategy Compare, Portfolio Compare, and Performance now each open with a one-line description of what the page does and links to the related pages, so it is easier to tell them apart and land on the right one.
- Improvement
Clearer strategy badges: Risk-On and Risk-Off signals
- The live signal badge on each strategy now reads Risk-On, Mixed, or Risk-Off, so it no longer shares the word Aggressive with the risk-profile badge.
- Risk profile (Conservative, Moderate, Aggressive) now has its own blue shades, kept separate from the green, amber, and red of the live signal.
- Hover any badge on a strategy card for a short explanation, and the guide legend now groups the badges by what they mean.
- Fix
Fixed a rendering glitch on blog articles
- Some blog posts could flicker or briefly fail to become interactive because the article was processed twice, once on the server and once in the browser, in slightly different ways. The post is now prepared once on the server so the page renders consistently.
- Improvement
Easier to find the AllocateSmartly / Portfolio Visualizer guide
- Linked the migration guide from the AllocateSmartly comparison page and the empty Portfolios screen, so it shows up right when you are deciding whether to switch or building your first portfolio.
- Improvement
New guide for switching from AllocateSmartly or Portfolio Visualizer
- Maps the models you already run (the Keller suite, dual momentum, Faber rotation, and the classic lazy portfolios) to the strategies in the library, so you can find them without rebuilding.
- Shows how to recreate any portfolio from strategy sleeves, Fixed Ticker sleeves, and Walk-Forward, and sets the expectation: a vetted library with live monthly signals, not a blank-canvas backtester.
- Improvement
Faster start when you build your first portfolio
- The new-portfolio wizard now opens straight on the template picker, so you start choosing a portfolio right away instead of clicking past a welcome screen first.
- Data
Carlson's Orthogonal Alpha (BTAL/QLD) now backtests to 2002
- We extended BTAL's history with a deep-history series so the strategy's chart now spans the dot-com aftermath and the 2008 crash, not just the calmer post-2013 window. Its honest worst drawdown over the longer history is closer to -38% than the -14% the recent window showed.
- Pre-2011 BTAL is a simulated reconstruction (real from 2011 onward), so the deep history is indicative rather than realized, and it does not include the 2000-2001 dot-com peak.
- Feature
Five new momentum strategies
- Added Century Momentum (top-decile US momentum with a 10-month trend filter, backtested to 1928), Momentum-Correlation Triplet, and Split-Lookback Momentum Pair, three BestFolio Research originals.
- Added Pragmatic Asset Allocation (Quantpedia) and Multi-Asset Momentum (Zambrano and Rizzolo), two published multi-asset momentum models.
- All five include full backtests with documented proxy chains and are available to Pro subscribers.
- Fix
Return Stacked Quartet is now easy to find in the builders
- The Return Stacked Quartet was listed as 'Quartet 20-20-30-30' in the walk-forward and blend pickers, so searching for it by name turned up nothing. It now carries its proper name.
- The picker search also matches a strategy's name, not just the specific variant name, so any strategy is findable by what it's actually called.
- Fix
Corrected the up and down capture figures in Active Returns
- The up and down capture ratios in the new Active Returns section were averaged in a way that understated them. They now use the standard month-by-month average and show sensible values.
- Feature
Active Returns: see performance relative to a benchmark
- Strategy and portfolio backtests now include an Active Returns section measured against the S&P 500: a monthly excess-return chart (colored by whether the benchmark was up or down that month), active return by calendar year, and a rolling 36-month active return with tracking error.
- It also reports tracking error, information ratio, up and down capture, and the share of months that beat the benchmark, so you can tell whether the edge came in rising or falling markets.
- Fix
Fixed a rare error that could stop backtest results from loading
- Some backtests could fail to load when a statistic came out as a non-finite value (for example a ratio computed over a very short or perfectly flat history). The response now returns that value as blank instead of failing the whole request.
- Improvement
Filter the strategies catalog by number of holdings
- The Strategies page has a new Holdings filter, so you can narrow the catalog to simple, low-holding blends: show only strategies that currently hold 2, 3, or 5 positions or fewer.
- The count reflects each strategy's current allocation, and the filter works across the whole catalog, including Pro strategies you have not subscribed to.
- Feature
Catastrophe-brake versions of four leveraged portfolios
- We added '+ Catastrophe Brake' versions of four leveraged portfolios: SSO/ZROZ/GLD, UPRO/ZROZ/GLD, UPRO/ZROZ/GLD/KMLM, and Regime Detector SmartLeverage.
- The brake is the classic 10-month trend rule with one tweak: when the S&P 500 closes below its 10-month average three months in a row, the portfolio moves to cash, and comes back the first month it closes back above. It only trips in long, drawn-out bear markets, not normal dips, and sits in cash about one month in eight.
- Across the full history it cut each portfolio's worst drawdown by 14 to 27 points and usually nudged the long-run return up too. It is late by design (you still take the first leg of a fast crash) and cannot make a 3x portfolio safe.
- Improvement
The portfolio editor now closes the moment you save
- Saving a portfolio used to hold the editor open for a beat while everything refreshed, which could feel unresponsive if you clicked again. The editor now closes as soon as the save goes through, and the page updates in the background.
- Fix
Corrected the GPMv strategy credit
- GPMv is now correctly credited as Randy Harris's variant of Generalized Protective Momentum (GPM), the strategy created by Wouter Keller and Jan Willem Keuning. The earlier attribution pointed only to a blog handle and left out the original authors.
- Improvement
Walk-forward results now show the Ulcer Performance Index (UPI)
- The walk-forward results table and single-criterion view now include a UPI column alongside Sharpe, Sortino, and Calmar. If you optimize for Max UPI, you can now see the value you optimized for instead of having to infer it.
- Improvement
Clearer warnings on the Kelly signal strategies
- The Jason Kelly signal strategies (3%, 6%, and 9% Signal) now carry an education-only notice on their detail page and a marker on the catalog card, making clear they are teaching examples we discourage using.
- The leveraged versions (6% and 9% Signal) are now labelled aggressive risk instead of moderate, to match what holding 2x and 3x ETFs actually involves.
- Fix
Signal History header stays put when you scroll
- On a strategy's Signals tab, the table column headers now stay fixed and fully visible as you scroll through the full signal history, instead of letting the rows overlap them.
- Feature
Two new tactical strategies from Thomas Carlson
- Adaptive 60/40 holds 60% in stocks and rotates the defensive 40% each month into the strongest of long Treasuries, gold, or commodities, a regime-aware update to the classic balanced portfolio.
- Orthogonal Alpha is a higher-risk core-satellite that pairs 2x Nasdaq with the BTAL anti-beta ETF and uses BTAL's own momentum as an early risk-off signal.
- Improvement
Find your route leans a little more tactical
- The guide now starts a small tactical sleeve sooner instead of flagging it for later, and makes the honest case that running tactical rules is barely more work than buy and hold, since you place trades either way.
- Improvement
Rebuilt the Features page around outcomes
- The Features page now leads with the four things a tactical investor should demand: drawdown control, honest out-of-sample backtests, a clear monthly action, and fit for your broker. The same capabilities, organized around what they do for you rather than a long list of tools.
- Improvement
A clearer sign-up button
- The sign-up button now reads Create free account consistently across the site, in place of several different labels.
- Improvement
Cleaner top navigation
- The marketing navigation is decluttered. The most-used pages (Strategies, Leaderboard, Blog, Pricing) stay one click away, the tools and research pages are grouped into labelled menus with icons, and a Find your route button points to the interactive guide.
- Improvement
Find your route now returns a personalized plan
- Rebuilt the Find your route guide into a personalized plan. It now weighs your age, pot size, whether you own or rent, how settled you are, and what you can save, then returns a blended plan with a house fund, broad index core, and optional tactical sleeve, plus an interactive house-budget and monthly-savings calculator.
- Fix
Leveraged portfolios show their levered holdings on the portfolio page
- If you apply leverage to a portfolio, the Hold and Preview panels on the portfolio page now show your levered holdings and the leverage swaps, matching the dashboard, with a toggle to switch back to the unlevered baseline.
- The trade list now targets those levered holdings too, so its buys and sells line up with what you actually hold.
- Improvement
Find your route now factors in your age and pot size
- The route wizard now asks your age and how big your pot is. A young investor with a small pot is pointed at a simple broad-index start, and as age or pot size grow it leans toward a rules-based tactical route.
- Fix
Fixed the leaderboard model portfolios panel getting stuck loading
- Turning on Show model portfolios from the library could leave the panel spinning on Loading indefinitely. It now loads the portfolios instantly from their cached metrics and ranks them by Sharpe.
- Feature
New: Find your route, a guided way through the money map
- A short questionnaire at the new Find your route page asks about your foundations, time horizon, and temperament, then points you to one primary route from the Where to Begin map, with its honest catch and a next step.
- Improvement
The Where to Begin guide speaks your currency
- The guide headline now reads your next euro, pound, or dollar to match the region you are visiting from, instead of always saying dollar.
- Improvement
A clearer way to publish a portfolio to the library
- The Publish to Library action on the portfolios page now opens a dialog that explains what the public library is, how the review works, and what stays private. It shows your latest submission status and lets you add an optional note for the reviewer.
- Feature
See model portfolios on the leaderboard
- The Show model portfolios switch now ranks our model portfolios inline with the individual strategies, so you can see exactly where each blend lands on any metric and period. Blend rows are italic and marked, link to the library, and the tracked star portfolios are published monthly in the scoreboard. Their numbers come from the same daily out-of-sample tracking as the strategies.
- Feature
Start a walk-forward portfolio from a pre-built template
- Building a walk-forward portfolio now offers one-click starter templates: pick a backtest-validated set of strategies and selection rules, then tweak anything before you create it.
- Improvement
A clearer, redesigned Where to Begin guide
- The Where to Begin map has a cleaner layout: a proper branching diagram from the foundations into the five routes, a step-by-step how to read it panel, and route cards with icons.
- Same honest, plain-language content, just easier to scan in light and dark mode.
- Improvement
Portfolio Compare now follows your display currency
- Switch to EUR and the Portfolio Compare page shows EUR-converted metrics, matching the leaderboard and strategy compare.
- Feature
Track your holdings without a broker, manual entry on Live
- Live Tracking now has a Manual mode: enter your holdings by hand (ticker and value) and see them next to your target allocation with per-ticker drift. No broker connection needed, and it is saved on your device.
- Feature
See how much a strategy depends on its rebalance date
- The rebalance sensitivity card can now run the once-a-year rebalance in each of the 12 calendar months and show the spread in return and drawdown. A wide spread means a single backtest is leaning on the luck of the calendar rather than a real edge.
- Improvement
Easier number editing in the portfolio and walk-forward builders
- Number fields in the portfolio and walk-forward editors now select their contents when you click into them, so a single click lets you type a new value instead of clearing the box first.
- The portfolio weight field now accepts decimals such as 12.5% and no longer drops a typed leading zero or jumps the cursor while you type.
- Feature
Pause your subscription instead of cancelling
- From Settings, pause for up to three months instead of cancelling. Billing and Pro access pause together, your founder rate stays held, and the plan resumes automatically at the end.
- Improvement
ETF preferences now apply across every portfolio and show on portfolio pages
- ETF preferences are now a single account-wide setting in Settings, applied to every portfolio you hold. They previously attached to one portfolio only, so overrides looked like they vanished on the others.
- Portfolio pages now have a Your ETFs / Default ETFs toggle, so you can see your preferred tickers (for example VOO instead of SPY) in the holding and preview panels, not just on Live Tracking. Backtest figures still use the strategies' default tickers.
- Fix
Corrected the MATE ETF name and its European alternative
- MATE was mislabeled as a Return Stacked diversified-alternatives blend. It is the Man Active Trend Enhanced ETF (Man Group / AHL): 100% US equity plus 100% trend-following, the same structure as RSST. The strategy listings and the UCITS alternative page now reflect that.
- Fix
Fixed an error loading some walk-forward portfolio charts
- Opening the performance chart for certain walk-forward portfolios could fail with an error. It now loads as expected.
- Feature
New leverage detail: max equity vs total exposure
- Strategy stats now show peak total exposure next to peak equity exposure, so a strategy that only levers a small equity sleeve is not mistaken for one that levers the whole book. A 3x position held on a third of the portfolio reads near 2x total but about 1x equity, very different real risk from a strategy that is 3x across the board.
- Both figures are leverage-adjusted, so a 3x ETF held at a third weight counts as one unit of exposure. The numbers fill in as each strategy backtest is recomputed.
- Feature
New strategy: Vol-Target 2x QQQ (trend-gated)
- Vol-Target 2x QQQ holds 2x Nasdaq (QLD) only while the Nasdaq is above its 200-day average, sized to a target volatility that is reassessed monthly, and sits in T-bills otherwise. It comes in three risk tiers: Conservative (10% vol), Balanced (15%), and Aggressive (20%). The trend gate is built to sidestep the catastrophic drawdowns of leveraged buy-and-hold.
- Feature
New HAA variant: HAA-Simple Leveraged 3x
- HAA-Simple now has a 3x leveraged variant that holds UPRO (3x S&P 500) when both the TIP canary and the S&P's own momentum are positive, and de-risks to unleveraged Treasuries or T-bills otherwise. It gates on the unlevered S&P, not the leveraged fund, which historically captured the sharpest rebounds. Higher risk than the 2x version, available on Pro.
- Improvement
Clearer canary score label on signal charts
- The canary score chart now explains that each value is the 13612 momentum: the 1, 3, 6, and 12-month returns blended into one figure (a sum for HAA, weighted 12/4/2/1 for BAA/DAA/KDA), not an average of the four. This makes the number reconcile with a hand calculation.
- Security
Stricter content-security-policy measured in report-only mode
- We started measuring a tighter content-security-policy for scripts using a report-only header. It does not block anything and has no visible effect, it only records what a stricter policy would flag before any future enforcement.
- Feature
HAA Leveraged 3x variant
- HAA now has a 3x leveraged variant alongside the 2x. It scores momentum on the base assets and holds the 3x ETF where one exists (SPY to UPRO, QQQ to TQQQ, TLT to TMF), leaving the rest and the defensive sleeve unleveraged.
- Backtests show higher growth than the 2x with a deeper drawdown. The protective canary keeps the worst drawdown far below a 3x buy and hold, but it stays a high-risk satellite, not a core holding.
- Feature
Jason Kelly Signal strategies available in blends
- The Kelly 3Sig, 6Sig, and 9Sig value-averaging strategies can now be added as components in the blend and walk-forward builders.
- They are educational, high-drawdown models (9Sig can draw down around 94%), so they are offered only inside blends with that warning, not as standalone recommended strategies.
- Feature
Webhook alert tests show delivery status
- Webhook signal alerts now send a clearer JSON payload with strategy names, slugs, signal dates, old and new allocations, and a short summary.
- Settings can send a sample webhook alert and show the HTTP status returned by your ntfy, Pushover, Gotify, Zapier, or custom endpoint.
- Improvement
Clearer API setup and alert delivery options
- API setup now shows portfolio ids in the app and the docs explain how to use an API key or MCP client.
- Alerts and Settings now make email and webhook delivery easier to find for users who do not use Telegram.
- Large leaderboard and chart-heavy analysis pages now load more smoothly.
- Improvement
More consistent metrics and mobile controls
- Comparison, dashboard, and performance views now use the same metric names, order, and formatting, so key figures line up across pages.
- Bottom screen widgets now coordinate their positions on mobile, and walk-forward and risk chart controls wrap more cleanly on small screens.
- Improvement
Clearer action feedback and error handling across the app
- Saving, running, deleting, and applying changes now show progress and confirm success or failure, so an action no longer looks like it did nothing while it is still working.
- Pages that fail to load now show a clear error with a retry button instead of looking empty, and the dashboard no longer asks an existing portfolio owner to start over after a temporary load failure.
- There is now a Build and Edit portfolio shortcut on the dashboard, and the strategy variant Recommended badge is renamed Default since it marks the base variant, not a performance ranking.
- Feature
New leveraged trend preset in the portfolio library
- Small Account Leveraged Trend is a new walk-forward preset in the library. It blends two leveraged trend models, TQQQ Trend and Low Initiative LETF V2, letting the optimizer reweight them monthly for the best downside-adjusted return while capping either sleeve at 65%. Both models trade only a handful of ETFs, so the blend stays practical to run with a smaller account.
- Improvement
Faster strategy picker in the portfolio builder
- The searchable strategy picker in the portfolio builder now renders only the rows on screen, so the dropdown opens and scrolls smoothly even with the full catalog of 100+ strategy variants loaded.
- Fix
Unemployment-based strategies backtest point-in-time
- The strategies that read the US unemployment rate (Lethargic Asset Allocation, Robust Asset Allocation, and the Schwoerer unemployment timer) now backtest on the figure as it was first published each month, not the later-revised number. This removes a small look-ahead bias, so their historical signals reflect what a live investor could actually have seen.
- Improvement
Easier to blend strategies into a portfolio
- The strategies page now has a Mix strategies entry point that takes you straight into the portfolio builder, so combining several strategies into one backtested blend is no longer buried in the navigation.
- Feature
Leveraged LETF baseline portfolios added
- Three popular r/LETFs static portfolios are now in the catalog as informational baselines to compare against the tactical strategies: SSO/ZROZ/GLD (50/25/25), UPRO/ZROZ/GLD (50/25/25), and UPRO/ZROZ/GLD/KMLM (40/20/20/20). The leveraged sleeves use BestFolio's calibrated synthetic-leverage cost model, so the backtests land a touch below testfol.io (which runs leverage too cheap). They are static, quarterly-rebalanced baselines, not tactical strategies.
- Improvement
German tax estimate now includes the Vorabpauschale
- The estimated German tax on each strategy page now also models the Vorabpauschale, the annual advance lump-sum on accumulating funds. For each position carried across a year-end it applies the published Basiszins, caps the charge at the year's actual gain, taxes it, and credits it against the eventual sale so nothing is taxed twice. It stays a provisional estimate: the 1,000 EUR personal allowance is not applied (it is a per-person amount) and the fund classification is still under review.
- Improvement
EU tax estimate defaults to your country
- The Italy/Germany switch on the strategy-page tax estimate now starts on your own country, inferred from where you sign in, instead of always defaulting to Italy. You can still switch manually at any time.
- Fix
Faster, more reliable drawdown analyzer
- The drawdown analyzer now returns instantly when you re-run the same portfolio, and it stays responsive when several analyses run at the same time.
- Improvement
EU tax estimates combined into one panel with a country picker
- In EU mode, the Italian and German capital-gains estimates now share a single strategy-page panel with an Italy/Germany switch, instead of stacking two separate cards. Pick a country and only that estimate is shown.
- Improvement
200-Day SMA Trend variants grouped by asset role
- The 200-Day SMA Trend strategy's six single-asset variants are now grouped in the variant selector by role (Equity: SPY and QQQ; Diversifiers: GLD, VNQ, TLT; Faber: the 10-month variant) instead of a flat list of six, matching the grouped layout HAA already uses.
- Improvement
Where-to-begin guide added to the main menu
- The honest map of where your long-term money can go is now linked from the top navigation, the methodology page, and the getting-started guide, so it is no longer buried in the footer.
- Feature
Added an honest where-to-begin money map
- A new public guide maps the order of operations for a spare dollar: cash cushions and debt first, then property, public markets, rules-based investing, active tilts, or higher-risk slices.
- It is educational, globally worded, and keeps BestFolio as one small TAA branch rather than a hard sell.
- Feature
Estimated German tax on the strategy page (EU mode)
- In EU mode, Pro and API users now also get an estimated German capital-gains figure (Abgeltungsteuer) on each strategy page, alongside the Italian one: 26.375% with Teilfreistellung partial exemptions (equity funds 30%, mixed 15%, other 0%), derived from the strategy's own rebalance history. It is provisional (the fund classification is preliminary, and the Vorabpauschale advance tax is not modelled) and is shown with a clear note that it is not tax advice.
- Feature
Estimated Italian tax on the strategy page (EU mode)
- In EU mode (EUR), Pro and API users now see an estimated Italian capital-gains figure on each strategy page: the per-unit tax split across the Italian buckets (plain ETF 26%, government-bond ETF 12.5%, ETP 26% with loss carry-forward), derived from the strategy's own rebalance history. It is a provisional estimate (the instrument classification and the carry-forward window are still being confirmed) and is shown with a clear note that it is not tax advice.
- Feature
Leaderboard and comparison table now show EUR
- If you switch BestFolio to EUR (the currency toggle in the top bar), the strategy leaderboard and the comparison table now convert every return, CAGR, volatility, and drawdown to euros using historical exchange rates, the same as the strategy and portfolio pages already did. Pick EU mode once and every ranking reflects what a euro investor actually earned, FX drift included.
- Fix
Static portfolio sleeves now backtest with full history
- When you add an ETF as a fixed sleeve in a portfolio (rather than a tracked strategy), it now inherits the same proxy and synthetic-leverage history extension that strategies use. Previously a recently-launched fund such as RSST or RSSB capped the whole blend's backtest at a couple of years; those sleeves now extend back through their building blocks (into the late 1980s for the return-stacked funds), so the portfolio backtests as far as the data allows.
- Improvement
Accent colors unified to the BestFolio brand blue
- Feature icons, the leverage badge on your dashboard, and the upgrade panel now use the brand blue consistently instead of mixed indigo and purple accents.
- Improvement
Published a machine-readable API spec
- The read-only API now has an OpenAPI spec at /api/v1/openapi.json, so you can generate a client or import it into your tooling.
- Fix
Strategy pages now always show the selected variant's data
- Opening a strategy page through a direct variant link could briefly show another variant's signal history, performance numbers, or chart while the title showed the one you picked.
- The page now ignores out-of-date responses when the variant changes, so every panel stays in sync with your selection.
- Feature
Connect your AI assistant to BestFolio over MCP
- A new MCP server lets you add BestFolio as a connector in Claude or ChatGPT and ask about your strategies, signals, and portfolios using your API key.
- It is read-only and Pro-gated, like the HTTP API. The API docs show how to set it up.
- Feature
More of the API is available to your key
- Your read-only API key now reaches portfolio backtests, walk-forward results, drift, and trade lists.
- Full strategy detail (variants, metrics, signals) is available to the key as well.
- Improvement
Cleaner, grouped variant picker on the HAA page
- The HAA strategy page carries the most variants, so its variant picker is now grouped by family with shorter labels instead of one long scrolling row, which makes it easier to scan and pick.
- Feature
HAA-Simple RSST now has a UCITS build for EU investors
- A new HAA-Simple RSST (UCITS) variant lets EU investors run the strategy without the US-listed RSST. When risk-on it holds a UCITS blend of a 2x S&P 500 UCITS ETF plus the iMGP DBi Managed Futures UCITS ETF, and de-risks to IEF/BIL on the same TIP and SPY momentum signals. It tracks the US RSST version closely on a risk-adjusted basis.
- Fix
Returning members can re-subscribe from the pricing page
- If your subscription had lapsed, the pricing page could still mark that plan as your current one and hide the subscribe button. A lapsed plan now correctly shows the option to re-subscribe.
- Feature
Estimated Italian capital-gains tax for each strategy
- A new per-strategy Italian capital-gains estimate (Pro and API). It reconstructs realized gains from the strategy's rebalance history with FIFO lot matching, sorts each holding into its Italian bucket (plain ETF at 26%, government-bond ETF at 12.5%, ETP at 26% with loss carry-forward), and applies the rules. Figures are per unit of capital, and the per-instrument classification is returned so you can check it, since the bucketing is provisional.
- Improvement
Per-instrument prices added to the signal export
- The signal-history export now carries each instrument's price at every rebalance: a <ticker>_price column in CSV, a prices map in JSON. You can now compute realized gains and taxes for any jurisdiction straight from the signal feed, without a separate price lookup.
- Feature
Download a per-rebalance price ledger for any-jurisdiction tax
- Each strategy now exports a price ledger: for every rebalance, the price of each instrument bought, sold, or held, plus the weight change. Drop it into a spreadsheet to compute realized gains and taxes for any country. Available as CSV or JSON to Pro and API users.
- Improvement
Trade list grouped by rebalance cadence
- Portfolios that mix a daily sleeve (like Buy the Dip) with monthly sleeves now split the trade list into sections by rebalance frequency, each labelled with its next rebalance date, so you can see what is due tomorrow versus at the next month-end.
- Fix
Leverage: low targets no longer sit on the higher-decay 3x route
- If a portfolio's leverage target was 1.5x or lower but routed through 3x ETFs (UPRO/TQQQ), it now uses the 2x route (SSO/QLD), which reaches the same leverage with less daily volatility decay. Leverage settings now warn when you pick the 3x route, since 2x is the better route for any target up to 2.0x.
- Improvement
Recompute a walk-forward portfolio from the editor
- The walk-forward editor on the Portfolios page now has a Recompute now button to force an immediate re-optimization. With create, edit, and recompute all on the Portfolios page, the old standalone Walk-Forward Portfolios page is retired and its links redirect there.
- Improvement
Clearer wording on signals and strategy pages
- Strategy and signal pages now describe each strategy's current allocation more precisely.
- Telegram signal alerts now carry the same educational, not personalized advice note as the monthly signal email.
- Improvement
Keyboard support for the walk-forward edit dialog
- The Edit dialog for walk-forward portfolios now closes with the Escape key and keeps keyboard focus inside it while open.
- Feature
Create a walk-forward portfolio from the Portfolios page
- Create New Portfolio now has a Walk-Forward (auto-optimized) mode next to the manual blend: pick your strategies and optimization settings and it saves a live portfolio that re-optimizes its weights every month, with no separate trip to the Walk-Forward tool. The Walk-Forward tool stays for exploring runs before you commit.
- Improvement
Edit walk-forward portfolios on the Portfolios page
- Editing a walk-forward portfolio (its strategies, optimization criterion, window, and weight limits) now opens right on the Portfolios page instead of sending you to a separate page. Saving re-optimizes as before.
- Improvement
Click through from Risk vs Return and the Strategy-Asset Matrix
- On the Risk vs Return page, the chart points, the Top Performers list, and the table rows now link straight to the strategy, carrying the variant you clicked.
- The Strategy-Asset Matrix rows now link to the strategy as well.
- Improvement
Easier to find the new navigation
- If you are still on the classic sidebar, a one-time banner now points to the new navigation so it is easier to discover. Try it from the banner, or turn it on anytime in Settings under Appearance, and switch back whenever you like.
- Improvement
Clearer Save button for your own walk-forward portfolios
- In the Walk-Forward tool, the Save button on each result now reads Save as live walk-forward portfolio, with a tooltip, so it is clear you can save your own portfolio that re-optimizes its weights automatically every month, just like the built-in walk-forward portfolios.
- Fix
Walk-forward drawdown now measured on the daily equity curve
- Walk-forward portfolios now compute max drawdown and the drawdown chart from the daily out-of-sample equity curve instead of month-end values, so the figure reflects intra-month declines.
- Returns and the optimized weights are unchanged; only the drawdown basis is now daily, matching how single strategies are measured.
- Fix
Fixed the ETF Preferences Save button
- On Settings, ETF Prefs, the Save Preferences and Auto-Optimize buttons could silently do nothing. They now save reliably, and tell you if no portfolio is loaded yet.
- Feature
New strategies: HAA Quartet and HAA-Simple RSST
- HAA Quartet uses HAA's TIP canary as a single on-off switch over the Return Stacked Quartet (20% NTSX, 20% GDE, 30% RSST, 30% ZROZ): it holds the Quartet when the canary is positive and moves fully to T-bills when it turns negative. In a 1987 to 2026 backtest (history is reconstructed before the funds existed) the switch kept about the same return as holding the Quartet outright while lowering volatility and the worst drawdown to about -20%, its biggest win being the 2022 bear.
- HAA-Simple RSST holds RSST (100% S&P 500 plus 100% managed futures) when risk-on and unleveraged IEF/BIL when off, deciding risk-on or risk-off from the S&P 500 and the TIP canary rather than RSST's own momentum. A higher-octane satellite that stacks a non-correlated trend sleeve on top of equity, not a core holding.
- Improvement
RVol Shifter now recommends the Cash-Only variant
- The Recommended badge on RVol Shifter now points to the Cash-Only variant. Over the 2003 to 2026 backtest it returned about 25.3% a year with a -38% worst drawdown, versus 24.1% and -62% for the previous 3-State default, so it is a similar return at a much smaller drawdown.
- The Recommended badge also shows a tooltip now: it marks the variant we suggest starting with, not the one with the highest backtest numbers. The 3-State, 2-State, and Wongkok 200SMA variants stay available to compare and select.
- Feature
New strategy: a plain 200-day trend benchmark
- Added 200-Day SMA Trend: hold an asset while its month-end close is above its 200-day moving average, otherwise T-bills. It is the simplest trend-following rule and the classic benchmark tactical strategies aim to beat, kept deliberately unoptimized.
- Ships on SPY (the benchmark) plus QQQ, GLD, VNQ, and TLT, with a Faber 10-month variant. Over 2007 to 2026 the SPY version returned about 9.9% a year with a -22% worst drawdown, versus 10.7% and -51% for buy and hold SPY.
- Improvement
HAA-Simple Leveraged now times the 2x sleeve off the S&P, not SSO itself
- The leveraged HAA-Simple variant (2x SSO) now decides risk-on or risk-off from the S&P 500's own momentum plus the TIP canary, then holds SSO when risk-on, instead of reading the 2x ETF's own momentum. Gating on the 1x index avoids whipsawing out of the leveraged sleeve right after a sharp drop and then missing the rebound.
- In a backtest from 2007 to 2026 this raised CAGR from about 16.5% to 19.2% for the same worst drawdown (about -32%); the defensive sleeve stays unleveraged IEF/BIL. We also clarified that plain HAA-Simple goes risk-on only when both the TIP canary and the S&P's own momentum are positive.
- Fix
Regime Detector signals show today's readings
- The Regime Detector signal page now refreshes its composite score, S&P and VIX levels, and the six sub-signals every day. Before, those diagnostics could stay frozen at the date of the last regime change.
- The held allocation was always live and correct, so this fixes only the diagnostics shown next to it.
- Feature
Opt in to a new, simpler navigation
- Settings now has an Appearance section where you can turn on a beta sidebar that groups the portfolio tools into Build and Tools and the charts under Analyze. The Leaderboard stays front and center, and you can switch back to the classic menu anytime.
- Feature
Walk-forward rebalances now show in your Alerts
- When a walk-forward portfolio rebalances its sleeves, the per-sleeve changes now appear on the Alerts page (not just the monthly Execute email), and the portfolio list shows a small Rebalanced marker on recently reoptimized walk-forward portfolios.
- Improvement
Walk-Forward shows which sleeve limits the backtest window
- When you run a Walk-Forward optimization, the results now name the sleeve whose history starts latest (the one capping how far back the common backtest can go), so you can drop it to extend the window.
- Improvement
Download the leaderboard as a CSV
- The leaderboard has a Download CSV button that exports your current filtered, sorted view (returns, CAGR, drawdown, Sharpe, turnover, publication year, and the Robustness score) for offline analysis.
- Improvement
Signals API: list variants by slug, clearer active vs preview
- You can now list a strategy's variants (ids and names) by slug with GET /api/strategies/slug/{slug}/variants, so you no longer have to dig variant ids out of the full catalog.
- The signal export now includes top-level current_signal and next_signal dates, so it is clear which row is the active allocation and which is next month's preview.
- Data
A-RVol Shifter backtest now reaches back to 2000
- The A-RVol Shifter strategy's backtest start was lowered from 2003 to 2000, so its history now spans the full dot-com crash. The earlier legs use the same fallback price chains as the rest of the catalog.
- Improvement
After-tax CAGR for blended portfolios
- The Blend page's tax-efficiency column now also shows each portfolio's estimated after-tax CAGR (US federal, weighted from the component strategies' turnover and long-term-gains mix), so you can compare blends on what you actually keep.
- Improvement
Plug your own tax rates into the US tax overlay
- The US Tax Impact panel on each strategy page now has a Your own rates row: enter your short and long-term marginal rates and the tax drag and after-tax CAGR recompute live, instead of only the preset income brackets.
- Feature
Head-to-head heatmap: which strategy won, and when
- On the performance comparison page, picking exactly two strategies now shows a Head-to-Head by Era grid: each cell is one strategy's annualized return minus the other's, by start year and holding horizon (1, 3, 5, 10 years).
- Green means the first strategy won that window and red the second, so you can see whether an edge held across eras or only in one stretch.
- Improvement
See how much of the time a strategy spends underwater
- The strategy drawdown chart now shows Time Underwater: the share of the backtest spent below the prior high-water mark, alongside the longest and deepest drawdowns.
- It flags strategies that are often underwater even when their individual drawdowns are shallow, which depth alone does not reveal.
- Feature
Filter and sort the leaderboard by US tax efficiency
- The leaderboard has a new Tax efficiency column and filter (excellent, good, fair, poor), based on how much of each strategy's gains qualify as long-term under US rules.
- Pro shows the rating for every strategy; the free tier covers the free strategies, with a Pro prompt on the rest.
- Feature
See how robust each strategy's Sharpe ratio really is
- Every strategy now shows a Robustness score: the Deflated Sharpe Ratio, the probability its Sharpe is real rather than the luckiest pick among all the strategies we tested.
- It corrects the Sharpe for track-record length, fat tails, and how many strategies were tried. Strategies in the fragile zone are flagged, so you can treat a shiny backtest with the right caution.
- Find it on each strategy page and as a sortable column on the leaderboard (under Show all columns).
- Improvement
A clearer way back to the app from the blog
- When you are signed in, the blog now shows a Back to dashboard button and the BestFolio logo takes you to your portfolios, so the rest of the app stays one click away.
- Improvement
See which sleeve limits a blended portfolio's date range
- When a multi-strategy portfolio's backtest starts later than its sleeves individually would, the portfolios page now names the sleeve with the shortest history, the one that sets the common start date.
- Remove or swap that sleeve to extend the range further back.
- Improvement
Sort the strategy catalog by turnover, CAGR, or publication date
- The Strategies page has a new Sort control: order the catalog by name, yearly turnover (low to high), CAGR (high to low), or first publication date (newest or oldest).
- Improvement
Clearer walk-forward rebalance alerts
- The Alerts page now explains that walk-forward sleeve rebalances arrive in your monthly Execute email, alongside per-strategy signal changes.
- Alerts and Settings now make clear that signal and rebalance alerts follow your Main portfolio.
- Feature
Get signal alerts by webhook
- Add a webhook URL in Settings to receive monthly signal updates as JSON, for ntfy, Pushover, Gotify, Slack, Discord, or your own endpoint.
- Each delivery is signed so your receiver can verify it came from BestFolio.
- Feature
Manage your API keys in Settings
- Pro subscribers can create, view, and revoke read-only Signals API keys directly in Settings, under API Keys.
- A new key is shown once when you create it, so copy it then.
- Feature
Signals API documentation
- A new docs page explains how to pull any strategy's monthly signal as JSON or CSV with an API key, with curl and Python examples.
- It covers how to tell the active allocation apart from next month's preview.
- Feature
Compare strategies by tax efficiency
- The Compare page has a new sortable Tax Eff. column, so you can rank strategies by tax efficiency alongside CAGR, Sharpe, and drawdown.
- Improvement
Tax efficiency for blended portfolios
- Smart Blending now shows a tax-efficiency estimate for each optimization method, weighted from the strategies in the blend.
- Feature
Save a bonds-to-cash setting on any portfolio
- Turn on Bonds to cash in the portfolio editor to replace every bond sleeve across the blend with cash, and the portfolio backtest updates to match.
- Pick the cash proxy per portfolio: BIL or SGOV T-bills, or uninvested cash at 0%.
- Feature
See any strategy with its bonds swapped for cash
- On a strategy's backtest tab, turn on Bonds to cash to replace its bond sleeves (Treasuries, TIPS, corporates) with cash and compare CAGR, Sharpe, UPI, and drawdown side by side.
- Pick the cash proxy: BIL or SGOV T-bills, or uninvested cash earning nothing.
- Improvement
Euro amounts use European number formatting in EU mode
- With EU mode on, monetary values now display in European style (1.234,56) instead of US style, matching how euro figures are written across the eurozone.
- Feature
Export strategy signals as CSV for automated trading
- Pro subscribers can now export a strategy variant's signal history as CSV or JSON through the BestFolio API, with one column per ETF target weight.
- Designed for feeding monthly allocations into automated trading, for example Alpaca or IBKR.
- Data
Corrected pre-2007 managed futures backtest history
- Strategies that hold DBMF, KMLM, or CTA now use the Barclay BTOP50 CTA index for their pre-2007 backtest history, instead of a gross trend-following factor that overstated returns.
- Backtests starting before about 2007 for these strategies now show lower, more realistic managed futures performance (roughly 9.9% a year in the deep history, versus a previously inflated 22%).
- Improvement
Accurate author notes on legacy Dual Momentum Systems strategies
- The LT Gain pages now note the strategy has been retired from the current Dual Momentum Systems lineup and is kept for historical reference.
- The Bamboo page now points to its successor, Permanent Portfolio DMS.
- Improvement
Cleaner strategy catalog cards
- Strategy cards now combine the plan and type into one badge and reveal the description on hover, so the grid is easier to scan.
- The allocation bar is hidden for single-ETF strategies, where a one-segment bar added no information.
- Improvement
Leaderboard: filter by leverage and sort by turnover or publication date
- New Leverage filter (All, Leveraged, Not leveraged, Base only) reads each variant directly, so leveraged variants like HAA Leveraged (2x) now appear under Leveraged.
- Show all columns adds sortable Turnover and Published (first publication date) columns, so you can find low-turnover or oldest strategies without opening each one.
- Fix
Reliability fixes for drawdown analysis, backtests, and signup
- Drawdown analysis no longer errors intermittently when many analyses run at the same time.
- Portfolio backtests no longer fail to load when a data point is unavailable; the series shows a gap instead.
- New-account signup is more robust when an email address is reused across accounts.
- Improvement
An easier way to share BestFolio with people who'd value it
- Your referral link moved to a clearer spot in Settings (now called Spread the word), and a one-time note points you to it. Share your link, and when a friend joins and pays their first month, you both get the next month free.
- Fix
Creating and saving portfolios works again
- Fixed a regression that caused creating or saving a portfolio to fail with an error. Building portfolios, saving walk-forward runs, and editing existing portfolios all work normally again.
- Fix
Portfolio API now returns your leveraged allocation
- The rollup endpoints (/api/portfolios/{id}/rollup and /rollup/execution) now apply your selective-leverage overlay by default, matching the allocation shown in the app. Add leverage=false to get the unlevered baseline.
- Improvement
Saving a walk-forward run now creates a live portfolio
- Saving from the Walk-Forward Optimization page now creates a live walk-forward portfolio that re-optimizes its weights every month, instead of a frozen snapshot of the latest run.
- Feature
See strategy and portfolio analytics in EUR, with UCITS ETF tickers
- New EU mode switch in the sidebar and in Settings. Turn it on to see NAV, returns, drawdown, and every metric for strategies and portfolios converted to EUR using historical EUR/USD exchange rates, with safe withdrawal rates adjusted for euro-area inflation.
- EU mode also shows UCITS ETF tickers in your portfolio execution view, so the names match what European brokers offer. Your choice is saved to your account.
- Improvement
Accessibility improvements for screen readers and keyboard users
- Charts, tables, and dialogs now describe themselves to assistive technology, and the navigation marks the page you are on.
- Added a skip-to-content link, clearer focus handling in dialogs, and labels on form fields and icon buttons.
- Improvement
Cleaner punctuation in suggestions, tools, and signal emails
- Replaced stray dashes with standard punctuation across portfolio health suggestions, ETF search, the UCITS rollup and tax tools, and the signal alert emails, so the wording reads consistently.
- Feature
Share a portfolio with a link, or submit it to the community library
- Every portfolio now has a Share button that creates a public link to a frozen snapshot of its allocation, backtest, and metrics. Anyone with the link can view it without an account, and you can revoke a link any time.
- You can also submit a portfolio to the community library: our team reviews it and, once approved, publishes it as a template other members can browse and blend.
- Fix
Old links to renamed strategies now reach the right page
- Links to former strategy names (accelerating-dual-momentum, composite-dual-momentum, sadek-vb and others) now redirect to the renamed strategy instead of showing a missing page; the renamed Kelly signal blog post redirects too.
- Cleaned up how search engines see the site: the sign-up page, the homepage, and social preview images no longer appear as duplicate or stray pages in search results.
- Feature
Referral program: give a month, get a month
- Share your personal referral link from Settings. When a friend signs up with it and pays their first month, you both get the next month free as account credit.
- Works on every plan: Founder and Monthly earn their own monthly price back, Annual earns one month's value. Free users can refer too; the credit is saved and applied when they subscribe.
- Feature
Automated monthly TAA scoreboard on the blog
- On the first of each month the blog now publishes a TAA Scoreboard automatically: every published strategy's month and YTD return, top 10 unlevered, a separate leveraged corner, the weakest 5, and benchmark context, generated straight from the strategy catalog with sanity checks before anything goes live.
- First edition arrives July 1 covering June 2026.
- Feature
Drawdown history pages for 44 popular ETFs
- Every major ETF now has a dedicated page at /drawdown/<ticker> (for example /drawdown/tqqq) showing its maximum drawdown, recovery time, share of months spent underwater, worst rolling 12-month return, and a table of its five deepest drawdowns, computed from extended monthly history.
- Pages refresh daily from the same data that powers the Drawdown Analyzer, and any other ticker the analyzer supports renders on demand.
- Feature
Signal Drivers now shows raw indicators, not only scores
- Strategies whose rule compares raw values (a price against its moving average, an RSI against a band, a regime threshold) now chart those exact values under Signal Drivers, where previously only per-asset score tables were shown.
- The new Indicators view appears automatically for any strategy that records numeric values with its signals; nothing to configure.
- Improvement
Portfolio backtests stay warm: no more 60-second first loads
- Saving or editing a portfolio now rebuilds its backtest in the background, so the first open after a change is instant instead of a long spinner.
- Cached backtests refresh exactly when their underlying data changes (new prices or strategy updates) rather than expiring on a timer, so evening opens no longer pay a cold rebuild.
- The morning cache warm-up now also covers portfolios you edited recently, not only the one marked as main.
- Feature
Liquidity at a glance on the Asset Universe card
- Every instrument on a strategy page now shows its average daily traded value and an estimated spread bucket (tight, moderate, wide), so you can see how thin a listing is before you pick it.
- UCITS equivalents show the same figures for their actual European listing (London, Xetra or Milan), the part that matters when a fund trades thinly in Europe even though its US sibling is liquid.
- Spread figures are statistical estimates inferred from daily price ranges, not measured quotes, and are labeled accordingly; the exact basis-point estimate sits in the tooltip.
- Feature
Six Dual Momentum Systems legacy strategies join the catalog
- The Russell, Triad, Global Navigator, LT Gain, GPMv and Bamboo, the original public generation of Randy Harris's Dual Momentum Systems strategies, moved from private preview into the public catalog.
- Published with the author's permission. Every page carries a note marking it as the original public version and linking to Dual Momentum Systems, where the author maintains the updated, revised versions and his timely monthly allocations.
- Improvement
ACA Dynamic Bond and The Russell backtests are now hundreds of times faster
- Stoken's ACA Dynamic Bond recomputed every price-channel from the beginning of history for every single trading day, which put its full backtest near 15 minutes; the channel states are now resolved in one pass and the same signal sequence computes in well under a second.
- The Russell rebuilt all of its momentum scores from scratch for every month in its history; scores are now computed once for the whole history, cutting its backtest from roughly 10 minutes to seconds.
- Both strategies produce exactly the same signals, trades, and performance numbers as before; an equivalence test suite compares the new code against the old logic across every history length.
- Improvement
Signal previews now use live intraday prices and adapt to the real market close
- Pre-close signal previews (monthly, daily, and a new weekly preview) are now computed from a live intraday price snapshot instead of the prior day's close, so a preview genuinely answers what would change tomorrow if the day closed now.
- Preview and confirmation emails are scheduled relative to the actual market close, including early-close half days and daylight-saving shifts, keeping the promise of at least one hour of notice before the close.
- Weekly strategy alerts now use the actual Friday close (they previously went out before the final prices settled), drift alerts evaluate after the nightly price refresh, and duplicate daily change emails are eliminated: each allocation change is announced once as a preview and once as an execute reminder, never repeated.
- Infra
Machine-readable site index at /llms.txt
- bestfolio.app/llms.txt now publishes a plain-text index of every published strategy (with CAGR, max drawdown, and backtest start), the free tools, and recent blog posts, following the llms.txt convention used by AI assistants. It regenerates from live data, so it stays current as strategies and posts are added.
- Fix
Leaderboard rows now open the exact variant you clicked
- Clicking a leaderboard row used to open the strategy page on its primary variant, whose numbers can differ from the variant in the row (for example Permanent Portfolio Tactical vs Static). The link now lands on the clicked variant, so the numbers you saw are the numbers you get.
- Fix
Honest full-history risk numbers in multi-strategy comparisons
- When comparing several strategies (Watchlist, Performance pages), each strategy now reports its own full-history risk and return; previously the numbers were silently limited to the period all selected strategies share, so a young strategy in the mix could hide an older strategy's worst drawdown. Comparing one strategy against a benchmark still aligns both to the same period.
- The /strategies/smartstack link now lands on the SmartStack explainer instead of a missing page.
- Fixed rare brief degraded blips of the status endpoint caused by one-off network hiccups during its checks.
- Fix
Portfolio Library rebalance badges now distinguish daily-signal portfolios
- Three library portfolios that include a daily-signal strategy (BestFolio House Momentum, Levered Growth Control, Aggressive Walk-Forward Growth) were labeled Monthly. They now carry a Daily badge, and the library filter gained a Daily option.
- Fixed a rare server error when opening a portfolio backtest that was not already cached.
- Withdrawal-rate metrics (SWR and PWR) now recover automatically after a temporary outage of the inflation data source instead of silently using a 3 percent fallback until the next release.
- Feature
BestFolio vs AllocateSmartly comparison page
- A factual side-by-side of the two services: strategy coverage, validation methodology, European UCITS support, blending tools, and pricing. Including the places where AllocateSmartly is the better choice.
- Improvement
Locked strategy pages now preview the backtest you unlock
- The Backtest, Signals, and Allocations tabs on Pro strategies used to show an empty gray panel behind the upgrade prompt. They now show an illustrative long-history equity curve so you can see the kind of chart a Pro subscription unlocks.
- The upgrade prompt also notes that our deepest backtest histories reach the 1920s.
- Improvement
Every page now shows the same strategy count
- The landing page hero, stats row, and feature cards could disagree on the number of live strategies because some sections used a build-time snapshot. All counts on the page now come from the live catalog.
- The demo signal card on the landing page showed a hardcoded March 2026 date next to the words Updated daily. It now always shows the current signal month.
- Stats on the pricing page and leaderboard now describe our backtest depth accurately: the deepest histories reach the 1920s.
- Improvement
Clearer sign-up page, newsletter on blog posts, fuller footer
- The sign-up page now lists what the free tier includes (6 strategies, monthly signals, UCITS alternatives) next to the form on desktop.
- Blog posts now offer the free Monthly Briefing newsletter at the end of each article.
- Footer links now include Strategies, Leaderboard, Library, Blog, Free Tools, and Pricing.
- Fix
FactorLens analyze button is easier to see
- The Analyze Portfolio button used a pale teal that could read as disabled even when it was ready. It now uses a higher-contrast color.
- Fix
Reliability fixes for notifications, newsletter signup, and the nightly data refresh
- Telegram notifications whose text contains unusual characters now arrive as plain text instead of being silently dropped when formatting fails.
- Newsletter signup no longer shows a spurious error when our email provider is slow to respond; the request is now retried automatically.
- The nightly price refresh skips tickers whose data has permanently ended, cutting recurring false error alerts.
- Improvement
Clear risk warning on extreme-drawdown strategies
- Strategy pages now show a prominent warning when a strategy's worst historical drawdown is beyond -70%, stating it is published for research only and is not investable.
- The warning points to the catalog for lower-risk, diversified options. It currently applies to the most aggressive leveraged strategies.
- Fix
Risk vs Return compares every strategy over the same 30-year window
- The Risk vs Return chart was measuring each strategy over the period shared by all strategies on the page, which had collapsed to the start date of the newest strategy and understated the drawdown of strategies with older crashes. It now uses a fixed 30-year window, so the figures line up with the leaderboard and the strategy pages.
- Strategies with less than 30 years of history are hidden by default, with a toggle to add them back over their own shorter history.
- Fix
Notification titles read cleanly on the notifications page
- The notifications page no longer shows the internal signal-phase tag (like [FINAL] or [DAILY EXECUTE]) in front of a strategy name. The notifications bell already hid it, and now both surfaces match.
- Fix
Strategy pages no longer flash the locked state while your access loads
- On a cold page load, a signed-in account could briefly see the 'Upgrade to Pro' locked state on a strategy page before access finished loading. The page now shows a brief loading state until access is known, so paid content no longer flashes as locked.
- Improvement
Sharper text contrast on returns heatmaps and status colors
- Numbers in the monthly and annual returns heatmaps now switch between dark and white labels by true contrast, so every cell meets WCAG AA in light and dark mode while the color scale stays the same.
- The green and red action buttons, the notification count badge, and the rebalance period toggle now use deeper fills so their white labels are easier to read.
- The allocation bars in the homepage demo now use dark labels that stay legible on their bright segments.
- Improvement
Strategy pages now show both monthly and daily max drawdown
- The Summary Statistics table now lists Max Drawdown (monthly) and Max Drawdown (daily) as separate rows, so the deeper daily figure on the drawdown chart no longer looks like it disagrees with the table.
- The monthly figure uses month-end values, the common published convention, while the daily figure follows daily prices and matches the chart's deepest point. Tooltips explain the difference.
- Fix
Notifications panel is no longer cut off by the sidebar
- The in-app notifications dropdown was being clipped by the sidebar, which cut off strategy names. It now opens as a full panel so the names are readable.
- Clicking a notification opens the related strategy without a full page reload, and a notification with no linked strategy now opens the notifications page instead of doing nothing.
- Improvement
Clearer text contrast on buttons, badges, and allocation bars
- Primary action buttons across the site now use a deeper blue, so their white labels meet WCAG AA contrast in both light and dark mode.
- Allocation bar labels now pick black or white text per segment by true contrast, and a few mid-tone asset colors were deepened so every ticker stays legible.
- Tightened the remaining colored badges and tags (the dashboard regime tags and the pricing highlight badge) to meet AA contrast.
- Improvement
Dark mode text is easier to read
- Raised the color contrast of text, numbers, and labels throughout dark mode so they meet WCAG AA accessibility contrast on dark backgrounds.
- Fixed faint or, on some strategy pages, nearly invisible text by giving secondary text and light callout cards proper dark-mode colors.
- Fix
Benchmark stats now match the strategy's own period
- On a strategy page, the benchmark column in Summary Statistics (and the Performance compare view) now reports its return, drawdown and other stats over the same date range as the strategy, instead of the benchmark's full history. Previously a strategy that started in the 1980s was compared against an S&P 500 drawdown that reached back to the 1929 crash, which was not a fair comparison.
- Improvement
Dashboard and Strategy Compare clarity improvements
- The dashboard Strategy Performance table now hides leveraged strategies by default behind a Show leveraged toggle, and adds a Max Drawdown column so a high trailing return no longer hides a deep drawdown. Drawdowns past 35% are flagged in red.
- The portfolio selector is always visible on the dashboard so it is clear which portfolio you are viewing, with your primary portfolio selected by default.
- Strategy Compare and Performance now read as one flow: Strategy Compare is where you browse and rank strategies, then open your picks in Performance for the detailed side-by-side view.
- Feature
SmartStack overlay now available on DAA and KDA
- The SmartStack gold + managed-futures overlay, already on HAA, VAA-G4 and ADM, now also runs on Defensive Asset Allocation (DAA-G12) and Kipnis Defensive Adaptive (KDA). Pick the SmartStack variant on either strategy page.
- As with the other SmartStack variants, it layers a diversifying gold and managed-futures return stream on top of the base signal using fractional leveraged and return-stacked ETFs, so it works in a standard brokerage or UCITS account with no margin or futures. See the methodology page for how the overlay works.
- Improvement
Clearer explanation of the SmartStack gold and managed-futures split
- The methodology page and the SmartStack note on each strategy now make clear the gold and managed-futures overlay is not a fixed 50/50. Only the capital freed by the leverage swaps is split evenly; commodity and bond sleeves add managed futures on their own, so managed futures usually carries more than gold and the mix shifts month to month.
- A worked example walks through a typical month that lands near 18% gold and 38% managed futures.
- Fix
Library templates no longer clutter your own portfolios list
- Browseable library templates were appearing in your portfolios grid and returned a not-authorized error when opened. Your grid now shows only the portfolios you own; templates live under Library, where you browse and clone them.
- Improvement
Cloning a library template asks for a name, and portfolio names stay unique
- Clone from a template card or its detail page and a dialog now asks for the new portfolio's name, pre-filled with the template's name.
- Each portfolio you own needs a distinct name. If a name is already taken (ignoring case and surrounding spaces) you get a clear message instead of a silent duplicate.
- Data
S&P 500 benchmark now goes back to 1920
- The S&P 500 total-return comparison line on the Growth of $100 chart now extends back to 1920. It previously started in 1988, so it was missing from portfolios that backtest earlier; it now appears alongside the other benchmarks on those long histories.
- Feature
New: a Portfolio Library of ready-to-clone strategies
- Browse a curated library of pre-built portfolios at /library, from a conservative all-weather core to aggressive walk-forward growth. Each card shows its long-run backtest (CAGR, Sharpe, max drawdown) so you can compare at a glance.
- Three are free to clone; the rest unlock with Pro. One click copies a template into your own portfolios, ready to track and trade.
May 2026
- Improvement
Saved portfolios load their backtest much faster
- A portfolio's backtest is now computed once and reused, so reopening it is near-instant instead of recomputing from scratch. It refreshes automatically when you change the portfolio and as new daily data arrives.
- Improvement
Hide individual series on strategy charts
- Click a series in the legend of the growth and drawdown charts to hide it, so you can switch off the 40/60 and S&P 500 benchmarks and read a strategy on its own.
- The strategy's own drawdown line is now drawn heavier so it stands out against the benchmarks.
- Fix
Strategy picker no longer gets cut off in the portfolio builder
- The searchable strategy picker now floats above the rest of the editor, so its list is no longer clipped at the bottom of the table when you scroll.
- Fix
Leveraged strategy sleeves show their leveraged holdings in portfolios
- Adding a SmartLeverage strategy variant to a portfolio sleeve now shows the leveraged ETF mix it actually holds, instead of the underlying un-leveraged allocation.
- Fix
Drawdown chart now agrees with the Max Drawdown in Summary Statistics
- The strategy drawdown chart now reads the same backtest history as the Max Drawdown figure, so its deepest daily drawdown is always consistent with (and at least as deep as) the month-end number in Summary Statistics. A separate data path could previously understate it for some tactical strategies.
- Feature
Compare how often a strategy rebalances
- Every strategy page can now show how its returns change if you trade back to target every signal, once a year, or only when your holdings drift more than 5% from target.
- Useful where taxes make frequent trading expensive: see what less-frequent rebalancing costs in performance, and how much it cuts your trading.
- Improvement
Signal-driver score chart now covers every strategy family
- The chart of driver scores over time, previously limited to momentum and canary strategies, now appears for any strategy that exposes them, with a selector when a strategy tracks more than one set of scores.
- Improvement
Strategy and tool pages load faster and stop shifting as they open
- The Strategies catalog no longer jumps while it loads; the cards are present the moment the page renders.
- FactorLens and the Drawdown Analyzer load noticeably lighter, deferring their charts until you run an analysis.
- Fix
Analytics now load only after you accept analytics cookies
- Product analytics no longer initialise or set any cookies until you accept analytics cookies in the consent banner, matching our Privacy Policy.
- Fix
Free strategies open without a sign-up wall, and safer account deletion
- Clicking a free strategy as a visitor now opens it directly instead of bouncing you to the sign-up page.
- Account deletion now verifies your subscription is cancelled before removing your account, so you can never be billed after deleting.
- Feature
See the scores behind a strategy's signals over time
- Momentum and canary strategies now show a chart of their driver scores across the whole backtest, so you can see exactly when and why the strategy turned defensive (scores dipping below zero).
- The drawdown chart also gained the multi-variant overlay, matching the growth chart.
- Feature
Toggle transaction costs on the backtest chart
- An 'Apply transaction costs' checkbox on a strategy's growth chart lets you see the curve with or without the slippage-and-spread drag we model on each rebalance.
- Defaults to on (the realistic, net-of-cost view); unchecking shows the gross, pre-cost curve for comparison.
- Feature
Overlay multiple strategy variants on one backtest chart
- On a strategy page you can now overlay its other variants (for example the leveraged or SmartStack flavours) on the same growth-of-$100 chart to compare them side by side.
- Use the 'Overlay on chart' chips below the variant selector; each picked variant gets its own coloured line.
- Fix
Drawdown chart now matches the Max Drawdown summary
- The drawdown chart on a strategy page now reads the same backtest data as the Max Drawdown figure in the summary table, so the two always agree.
- Previously the chart could understate the deepest drawdown for some strategies because it drew from a separate, drift-prone data series.
- Improvement
Strategy pages with many assets load much faster
- Opening a strategy that rotates across a broad universe of assets is now near-instant on the first load, instead of taking up to half a minute while the per-asset return breakdown was computed.
- The contribution breakdown is now prepared ahead of time, so the page no longer recomputes it on every visit.
- Improvement
Searchable strategy picker and linked sleeves in the portfolio builder
- Adding a strategy to a portfolio now uses a type-to-filter search box instead of a long dropdown, so you can find any of the 100-plus strategies by name.
- Strategy names in a portfolio's sleeve list now link straight to that strategy's detail page.
- Fix
Portfolio and strategy page fixes
- Adding a strategy to a portfolio no longer shows a spurious 'already in this portfolio' message after you save.
- Strategy pages now show a loading indicator instead of 'No backtest data available' while a backtest is still loading.
- Feature
New strategy: Sector Rotation (Faber QTAA-Sectors)
- A monthly sector-rotation strategy that ranks the eight US SPDR sector ETFs by blended 1, 3, 6 and 12-month momentum and holds the top three, with an optional 10-month moving-average filter that routes any failed sector to cash.
- Three variants are available: top 3 with the filter (default), top 5, and top 3 with no filter.
- Fix
Strategy share links work without a variant
- Sharing a strategy by its short link (for example /share/haa) now opens the strategy's primary variant instead of showing a not-found page.
- Data
Removed a look-ahead in the unemployment signal
- Strategies that use the US unemployment trend (LAA, RAA, and the Schwoerer unemployment signal) now read each month's figure on its real release date rather than its period date, so backtests no longer use a number that was not published yet. The effect on historical results is small, and it removes a forward-looking leak.
- Improvement
Drawdown chart follows the period selector
- On a strategy's Backtest tab, the drawdown chart now reframes to the date range you pick at the top, rebasing the peak to the start of the window, instead of always showing full history.
- Feature
Favorite strategies and a catalog hide filter
- Star any strategy to favorite it, filter the catalog and leaderboard down to your favorites, and see them ranked side by side on a new Favorites page with the usual period selectors.
- A new Strategy catalog section in Settings lets you hide categories you do not want to see (static, daily-trading, leveraged, SmartStack) across the catalog and leaderboard. Favorited strategies always stay visible.
- The Strategy-Asset and Annual Returns matrices now keep their column headers visible while you scroll and make the horizontal scrollbar easier to reach.
- The Strategy Leaderboard subtitle now reflects the selected time period instead of always saying 30-year.
- Improvement
Portfolio and strategy page refinements
- Adding strategies to a portfolio without a weight no longer drops them on save: they are equal-weighted automatically, or flagged if some are weighted and some are not.
- Strategy pages gain a BestFolio filter for our in-house strategies, an average leverage and exposure-adjusted return (EAR) metric, per-flavour rule notes, and instant switching between strategy flavours.
- Portfolio backtest charts can hide the nested sub-strategy lines for a cleaner view.
- Feature
Factor exposure on every strategy page
- Each strategy detail page now carries a Factor Exposure card: market beta, momentum, size, and value loadings from a Fama-French regression, with R-squared and alpha. A Full analysis link opens the same holdings in FactorLens.
- Improvement
FactorLens: live progress, shareable links, and example portfolios
- The free factor analyzer shows per-ticker fetch progress while it runs, fills itself in from a shared URL so a link that carries holdings analyzes on load, and adds a Share button that copies a link back to your exact portfolio.
- Improvement
Safe Withdrawal Rate now shows its full distribution
- Alongside the worst-case SAFEMAX floor, the backtest card reports the P25, median, and P75 safe withdrawal rate across every rolling 30-year window, so you see the spread and not just the single worst outcome.
- Improvement
More honest Sharpe and Sortino on long backtests
- Risk-adjusted ratios now compute from monthly returns instead of interpolated daily values. On pre-ETF history the old daily basis understated volatility and overstated Sharpe, so most strategies shift by a few percent. CAGR and max drawdown are unchanged.
- Improvement
Backtests default to full history everywhere
- Strategy, Leaderboard, and Dashboard backtests now open on the full available history by default, so the headline numbers line up across pages instead of mixing 10-year and full windows.
- Fix
Pro users no longer hit the paywall on a slow sign-in
- A stale first response during sign-in could briefly strand a paying subscriber behind the upgrade prompt on a strategy page. The page now waits for your account to resolve before deciding what to show.
- Fix
UCITS view shows the right leverage for leveraged ETFs
- The UCITS substitution view carries the 2x leverage factor for twelve leveraged US ETFs, so the European equivalent reflects the intended exposure instead of reading as unleveraged.
- Feature
Seven leveraged tactical strategies, now in the catalog
- Six leveraged plus the Carter unleveraged companion. Authors include u/RNAProf, u/Wongkok, u/Low-Initiative-1327, David Alan Carter, and two BestFolio house strategies. TQQQ/UPRO Trend SMA, Low Initiative LETF V2, A-RVol Shifter, RPEA, Buy the Dip, White Knuckle, and Cash Trigger.
- Leverage is not a free upgrade to higher returns. Five of the seven include trend filters that cut drawdowns at the cost of some upside; two (White Knuckle, RPEA) accept the deep drawdown directly. Sleeve sizing matters more than strategy selection.
- Full writeup with rules, merits, and shortcomings for each one: see the blog.
- Improvement
CAGR and turnover now on every strategy card
- The catalog shows annualized CAGR and yearly turnover percentage in one glance per strategy, so you can scan trading frequency without clicking in. Holdings-heavy strategies like Composite Momentum sit near 260%/yr, while Golden Butterfly and All Weather stay around 1-2%/yr.
- Turnover matters most if you trade on a thin exchange. Market orders on lightly-traded UCITS ETFs (XETRA small caps, for example) can bleed on the spread, and turnover is a cheap proxy for how much of that drag accumulates over a year.
- Detail-page Summary Statistics now explicitly says these metrics are pre-tax, with a link to the methodology page covering how taxes are handled separately (US Tax Impact panel, TBSZ analysis for Hungarian users).
- Data
More backtests reach further back for big workhorse ETFs
- VTI (total US market), QQQ (Nasdaq-100), the short-treasury cash sleeve (BIL, SHY), and the small-cap value family (AVUV, IWN, IJS, VIOV, VBR) all gain additional pre-listing history from a vetted monthly dataset.
- Any strategy that touches one of these tickers now has more years of backtest to compare against.
- Fix
Synthetic leverage curves now start at the right date
- Leveraged variants built on top of FRED interest-rate data (the SmartLeverage family) were silently truncating to the FRED Fed Funds start date. The curve now extends back as far as the underlying asset's history allows.
- Feature
Spread your monthly rebalance across multiple days
- Open any portfolio, expand the Tranching section, and pick 3, 5, or 10 days. Instead of one big trade on the first of the month, you'll get one alert per business day with the exact slice to trade that day.
- Each alert lists per-ticker amounts (BUY 4% TLT, SELL 3% GLDM, and so on) by Telegram and email, so you can execute without re-reading the main monthly email.
- Pro feature. Long-run total return barely moves compared to a single-day rebalance, but month-to-month NAV swings are noticeably smaller because no single day's prices dominate your entries.
- Feature
Equity leverage on walk-forward portfolios (on-demand)
- Walk-forward portfolios can run with a target leverage from 1.00 to 2.00 by substituting 2x or 3x ETFs at each rebalance. The unlevered version stays side-by-side so you can compare. A new sweep chart shows how CAGR and drawdown change across the leverage range, with the Calmar-optimal point marked.
- Activated on demand because it's a sharp instrument and we want to walk through the risk model with each user before turning it on. Use the in-app feedback button to request access.
- Feature
Annual returns matrix on Compare and Performance
- Compare variants or portfolios year-by-year in one table: rows are assets, columns are years, each cell is the total return. Best and worst per row are highlighted.
- Data
Older backtests now go back decades further
- Japan equities (EWJ) backtest from 1965 via Nikkei history. Emerging markets (VWO/EEM) and aggregate bonds (AGG/BND) gain extra pre-listing history too.
- Strategies that touch these sleeves now have meaningfully longer history to backtest against.
- Improvement
Per-asset contribution respects your selected window
- On the Allocations tab, the per-asset contribution numbers now match the time window you've selected (instead of always showing the full history).
- Improvement
UCITS toggle on the Asset Universe card
- European investors can flip a single switch on any strategy page to see the asset universe in UCITS tickers instead of US tickers.
- Feature
Monte Carlo simulation on strategy pages
- Block-bootstrap simulation runs on each strategy page so you can see a distribution of plausible future paths (not a single guarantee, but a realistic spread).
- Feature
Time-in-asset and contribution cards on strategy pages
- Two new cards on the Allocations tab. Time-in-asset shows how often each strategy held each asset; Contribution shows which assets actually drove the returns.
- Improvement
Related-strategies links on strategy pages
- Every strategy detail page now suggests a handful of related strategies at the bottom, so you can jump between similar approaches without going back to the list.
- Feature
Portfolio drift alerts
- Set a drift threshold in your portfolio settings. BestFolio sends a daily email and Telegram alert on any day a sleeve drifts past the threshold (with dollar amounts based on the holdings you entered).