TRADEPOLARIS
PricingLog in
Sign Up Now
Sign Up Now

Methodology

How backtest gates work

Every backtest is graded by a panel of statistical gates, pass/fail checks that ask whether the strategy's edge is real, or just luck and overfitting.

Why a panel instead of one number

A backtest can look brilliant because it only tested today's surviving winners, got lucky in one sector or streak, or was the best of a hundred variations. Each gate targets one of those failures. The grading is deliberately conservative, so an overfit strategy fails before you risk money on it.

Walk-forward, out-of-sample testing

The full history is split into outer folds. In each fold the strategy trains on the past, then trades forward through a held-out test window it has never seen. A one-trading-week purge-and-embargo buffer between train and test stops information leaking across. The test trades from every fold are stitched in order into one out-of-sample track record, and the gates grade that series.

Execution inside the simulation is deliberately unforgiving. Signals fill at the next bar's open (never the close you signaled on), stops that gap through fill at the open rather than the stop price, positions are marked to market every bar so intra-trade drawdown is visible, and every trade pays costs.

Two kinds of gate

Significance tests ask whether a result is distinguishable from luck, using p-values from a moving-block bootstrap (thousands of resampled histories of your trades) with a Holm-Bonferroni correction so running several tests doesn't create a false positive.

Hard constraints are fixed bars, such as a floor on the pessimistic end of the Sharpe confidence interval. Some bars adapt to strategy style: mean-reversion must win more often than momentum, and event-driven strategies may use smaller samples. Gates that don't apply to a strategy type auto-pass.

Deflated Sharpe, the overfitting tax

The Deflated Sharpe Ratio (Bailey & López de Prado) takes the probability that the true Sharpe is positive, adjusted for skew, fat tails and sample size, and deflates it by the best result pure chance would produce given how many attempts were made. The trial count is cumulative. Every completed backtest in the strategy's lineage and every parameter set an optimizer sweep evaluated raises the bar, so rerunning until it passes only makes the gate stricter.

The gate passes at DSR > 0.90, and the report's verdict card calls an edge likely real only above 0.95, labeling the 0.90–0.95 band marginal.

Pass, fail, and “diagnostic”

Most gates are hard and must all pass to qualify for paper deployment. The two cost gates are marked diagnostic and shown in amber. They do not block deployment, because TradePolaris ships signals and you control your own broker, execution and slippage.

What it takes to deploy to paper

The Deploy to paper button is enabled only for a qualifying run: a completed full-tier walk-forward on the strategy's own market with every required gate passing. Preview runs never qualify because they use a lighter universe and bootstrap. Deployment also checks your paper-slot quota and that the same strategy version isn't already deployed.

Is the edge real?

Significance tests that separate a real edge from results that could be luck.

Net Sharpe (per trade)net_sharpe

After costs, the strategy earns more than it risks, and the edge is statistically unlikely to be luck.

Annualized Sharpe of per-trade, post-cost returns. Passes when a moving-block bootstrap rejects “no edge” (Holm-Bonferroni corrected across the significance tests).

Out-of-sample Sharpe (per trade)oos_sharpe

The edge still shows up on data and symbols the strategy was never tuned on, the strongest sign it isn't overfit.

The same bootstrap Sharpe test, run only on out-of-sample (held-out) trades.

Hit ratehit_rate

The strategy wins more often than chance would predict for its style.

Share of profitable trades vs a style-specific baseline (momentum 38%, mean-reversion / event 55%) via a one-sided binomial test.

Benchmark information ratiobenchmark_ir

The strategy beats simply buying the index, a higher bar than beating the cash rate.

Annualized Sharpe of the daily return in excess of the benchmark (SPY); bootstrap-tested.

Is the edge borderline?

Confidence floors and worst-case checks that the edge holds at the pessimistic end of the error bars, as well as on average.

Sharpe lower-CI floor (per trade)sharpe_lower_ci_floor

Even the pessimistic end of the error bar on Sharpe is comfortably positive, so the edge isn't borderline.

Lower bound of the bias-corrected (BCa) bootstrap confidence interval on net Sharpe must exceed 0.30.

OOS Sharpe lower-CI floor (per trade)oos_sharpe_lower_ci_floor

The worst-case estimate of the out-of-sample edge is still clearly positive.

Lower bound of the BCa confidence interval on out-of-sample Sharpe must exceed 0.30.

Median profit factormedian_bootstrap_profit_factor

In a typical resample the strategy makes more than $1.30 for every $1 it loses, a real cushion above breakeven.

Median profit factor (gross wins ÷ gross losses) across bootstrap resamples must exceed 1.3.

p95 max NAV drawdownp95_bootstrap_max_drawdown

The 95th-percentile resampled loss from a running NAV peak stays within 25%.

Moving-block resamples of percentage NAV returns are compounded. Each maximum loss is measured from its running peak; the actual 95th percentile must be ≤ 25%.

Is it overfit?

Anti-overfitting checks that penalize cherry-picking, one-off hot streaks, and thin samples.

Deflated Sharpe probability (per trade)deflated_sharpe

The weakest computable fold's per-trade probability must be strictly above 90% after adjusting for the variations tried. Every computable fold must pass.

Bailey & López de Prado's Deflated Sharpe Ratio uses per-trade returns, skew, kurtosis, sample size and trial count. The displayed gate score is the minimum computable fold probability, and must be > 0.90. Unavailable folds are excluded; all unavailable fails. The tearsheet's daily-return DSR is a separate statistic.

Trade-block stabilitytrade_block_stability

The edge is consistent through time and doesn't all come from one hot streak.

At least 80% of rolling 50-trade windows must have a positive Sharpe.

Sample sizesample_size

There are enough trades for the statistics to mean something, so a handful of lucky bets can't carry the result.

Trade count must meet a style minimum (mechanical 200, event 100, rare 30).

Power feasibilitypower_feasibility

For rare-event strategies with few trades, there's still enough statistical signal to trust the result.

For event / rare strategies with fewer than 200 trades, Sharpe × √(trades) must exceed 2.0. Not applicable (auto-passes) for other strategies.

Did the backtest play fair?

Checks historical membership, complete holding prices and the financial data the strategy needs.

Universe integrityuniverse_mode

The backtest used point-in-time index membership, so it didn't cheat by testing only today's surviving winners.

Passes when the run used historical (point-in-time) universe membership, avoiding survivorship bias.

Terminal price coverageterminal_price_coverage

Every holding has prices through the test end or a sourced delisting return, so no exit uses a stale last price.

Holdings need complete trading history through the test end or a sourced delisting return. Any unresolved price termination fails this gate.

Research data coverageresearch_data_coverage

The run used filings with their original publication dates and raw prices where the strategy needs them.

Qualification needs financial filings with their original publication dates and raw prices where the strategy requires them. Diagnostic snapshots or adjusted valuation prices let the run complete but fail this gate.

Does it put its capital to work?

Checks that a multi-position strategy deploys its capital without excessive churn.

Avg deployed capitalavg_deployed_capital_fraction

The strategy actually puts your money to work, rather than sitting in cash and overstating its risk-adjusted return.

Portfolio strategies only: the average fraction of capital deployed must be ≥ 60%. Auto-passes for single-name strategies.

Annualized turnoverannualized_turnover

The strategy doesn't churn the portfolio so much that costs and instability pile up.

Portfolio strategies only: median per-rebalance turnover must be ≤ 0.30. Auto-passes for single-name strategies.

Does the edge survive worse costs?

You control your own execution and slippage, so these gates warn about execution quality without blocking deployment or judging the edge.

Cost-sensitivity Sharpe (per trade)diagnosticcost_sensitivity_sharpe

Even with noticeably worse trading costs, the edge survives.

Re-prices every trade with stressed (worse-than-default) slippage and re-tests the Sharpe.

Cost-stress Sharpe lower-CI floordiagnosticcost_stress_sharpe_lower_ci_floor

Under worse-than-expected costs, even the pessimistic edge estimate stays above water.

Lower bound of the BCa confidence interval on the stress-cost Sharpe must exceed 0.0.

See also

How Aegis risk limits are calculated works through the portfolio risk-limit arithmetic with executed examples.

What a passing score means (and doesn't)

Clearing every hard gate makes a historical edge far less likely to be a fluke, but it does not guarantee future performance. All backtests are hypothetical, computed on historical data with hindsight, and past or simulated results are not indicative of future returns. See our full disclaimer.

← Back to your strategies

TRADEPOLARIS

Risk that updates as your book moves, and research you can check.

Platform

Aegis
Vega
Strategy Builder
Walk-forward backtesting
Apps
Markets & monitoring
Pricing

Who it's for

Systematic funds
RIAs & wealth managers
Individual investors
Research & data teams

Data & API

TradePolaris MCP
Kappa Data API
Data API documentation
Data API changelog
Excel add-in
OpenAPI specification
Manage API keys
The data lake

Resources

All products
Methodology & gates
Risk limits methodology
The Can't List
FAQ
Changelog
Daily market brief
Desktop app
Support

Company

About
Contact
Sign up
Join the waitlist
Log in
Terms
Privacy
Disclaimer
Accessibility
© 2026 Kurtosis, Inc.Systematic research software. Not investment advice.Charts powered by TradingView