Help · Methodology

How a model backtest is computed

From RangefinderInvest's built-in help · applies to version 0.49.3

A backtest grows a hypothetical $10,000 through the model's actual weight history: each dated version applies from its effective date, holdings are priced with adjusted closes, and the portfolio is rebalanced back to its targets on the model's own cadence (monthly or quarterly, on its rebalance day), not drift-triggered. This puts two models under the same discipline whenever they are compared.

The honest-comparison rules

  • Common window. Every selected model's curve is indexed from the latest start among them, because a comparison over different periods is meaningless. The page names the model that pins the start, and whether its price data or its weight history is the constraint.
  • *The window starts where the first holding has prices*, not where the last one does. A fund whose history begins later doesn't hold the start back; it is named as a late ticker and renormalizes into the allocation when its prices begin, while the funds that existed carry the earlier stretch. Reference symbols and Extend back reach further still.
  • Asset Class / Slice-Category filters renormalize. Backtesting one asset class (or one slice/category) re-weights just those holdings to 100% and rebalances them on the same cadence for a fair head-to-head of that part of the model. A model used as the benchmark is filtered the same way.

When a holding isn't priced

Price history is downloaded per fund, and a fund can be delisted, renamed, or simply never fetched that far back. Two rules keep a data gap from being read as a market event:

  • A rebalance the app can't price is skipped, not zeroed. If nothing in the target allocation has a price on a rebalance date, the previous holdings ride through untouched rather than being sold into an allocation that can't be bought. Before the first such date there is nothing to hold, so the curve simply starts once the allocation is priceable. The Warnings line lists the dates.
  • A fund whose prices stop gets no new weight. Once a quote is about two weeks stale, that holding is dropped from the target and the rest of the allocation is renormalized to 100%. Because you owned those shares, units already held are still valued at the last real close, and the next rebalance redeploys that value. The Warnings line names the fund and the date its prices end.

Both cases change the curve without looking like it, which is why they are stated rather than left to be inferred.

What it deliberately ignores

No trading costs, taxes, bid/ask, or fund minimums; dividends reinvest frictionlessly at the adjusted close. Expense ratios are included because adjusted closes are net of fees. It is a comparison instrument for allocations, not a brokerage-statement reconstruction.