Stratsemble
Methodology

How every result here is computed

A backtest is only as honest as its assumptions — and most of the ones you see online quietly break them to look good. This page is the whole recipe: the rules my engine can't bend, where the data comes from, and — just as important — what a backtest can't tell you. If any result on this site ever contradicts what's written here, the page is wrong, not this page.

The invariants

Rules the engine can't bend

These are enforced in code, on every single run — yours and mine.

Closed-bar only — no look-ahead

A signal for today can only use data that had already closed. The engine acts on the next bar's open, never on a price it couldn't have known at decision time. This is the single most common way online backtests cheat; I make it structurally impossible.

Costs & slippage — always on

Every fill pays 5 basis points (0.05%) per side — commission plus a slippage estimate — charged on entry and exit, so a round trip costs about 0.10%. It's on by default and not removable; a strategy that only works at zero cost doesn't work. Fills execute at the next open after the signal bar closes, and returns annualize on a 252-trading-day year.

Always measured vs buy & hold

Every result sits next to the total-return of simply buying and holding the same asset over the same window. Beating that dashed line is the entire point — and most strategies don't.

Losses shown in full

The whole equity curve, the max drawdown, the losing trades, and the periods in cash are all shown. Nothing is trimmed to flatter a result. No cherry-picked windows, no hidden losing years.

No profit claims — ever

I never state or imply that any strategy will make money. Results are hypothetical; the value is the honest test, not a promise. (See the disclaimers at the foot of every result.)

Non-custodial — I place no orders

I hold no funds and execute no trades. Alerts are a mechanical heads-up that your own rule fired on the close; you decide and execute on your own broker.

The data

Where the numbers come from

Prices are pulled from public, keyless sources: Yahoo Finance for stocks, ETFs, FX and commodities, and Binance for crypto. Equity is computed on a total-return basis — split-adjusted prices with dividends credited as cash — so a dividend-paying stock is compared fairly against a strategy that sits in and out of it, and a later dividend can never silently rewrite a result that was already recorded.

Before any backtest runs, a data-quality gate checks the underlying series for staleness, gaps, zero-volume/halt bars and improbable single-bar jumps, and flags them on the result — because a clean-looking curve built on bad data is its own kind of lie.

The asset list is a curated set of famous, liquid names. That is a survivorshipchoice — well-known survivors — and I label it as such rather than pretend it's the whole market.

The honest limit

Backtest vs forward-test — and what neither can tell you

A backtest scores the past

It runs a fixed rule over history you can already see — which makes it easy to overfit: tune the knobs until the past looks perfect and the future ignores you. A great backtest is a hypothesis, not a result.

A forward-test earns it, honestly

A paper forward-test starts flat today and accrues with zero hindsight — it can only ever act on data it couldn't have known. It is still hypothetical / simulated(no real capital, no market impact), but it can't be curve-fit after the fact, which is why it's the closest thing to real proof I offer.

  • Overfitting. More parameters and more conditions make the past look better and predict the future worse.
  • Regime dependence. A rule that shone in one market (a long bull run, a volatile tape) can quietly stop working when the regime turns.
  • Small samples. A great-looking result on a handful of trades is mostly luck. Treat it that way.
  • Hypothetical ≠ live. Real fills, real spreads, taxes, and your own behaviour under a drawdown are not in any simulation.
The bigger picture

A backtest is one stage of five

This page is the HOW — how each number is computed. The five stages are the WHEN and WHY.

Testing a strategy is stage two of preparing to risk real money — not the whole job. The full path is Understand → Test → Stress-test → Forward-test → Decide, and most ideas should be killed — for free — in the first three. Reaching the end doesn't mean an idea works; it means you've stopped fooling yourself about whether it does.

How I judge it

"Beat buy & hold" means exactly one thing

Everywhere I say a strategy "beat" or "lagged", I mean its total return over the window was higher or lower than simply holding the asset over the same window — net of costs. Nothing about win rate, and never a claim about the future. It's why my honest-results scoreboard can say, plainly, that most famous strategies don't beat holding — that's the finding, not a flaw. Combinations with too few trades to judge are marked thin and left out of the score.

A deliberate absence

Why there are no streaks, badges or levels here

There is no daily streak to protect, no points, no badges, no “you're on a roll” confetti, and nothing that rewards you for coming back. That's on purpose. Those mechanics are built to maximise time on site — they reward engagement, and engagement is exactly the wrong thing to reward in a tool about money. The honest outcome here is often that your idea doesn't work and you close the tab — and a product that nudged you to keep tapping instead would be quietly working against you. The only thing worth optimising for is whether the answer you got was true. The learn pages are written the same way: they teach you how to test and how to rule things out, not how to feel like a winner.

The five stages of preparation are a path to work through, not levels to clear: nothing rewards you for reaching the last one, and a strategy that fails a test is shown failing, never quietly checked off. The only thing that ever “progresses” here is real statistical evidence — how much out-of-sample time a forward test has actually earned.

Who's behind it

Built by A.P., one engineer who builds quantitative trading systems. No name to Google and no résumé to take on faith — the method is open, and the scoreboard shows most strategies failing, mine included. Why I built this →