Monte-Neo strategy verdict PASS_WITH_WARNINGS
Certificate d332434134d4f600 · engine v0.43.0 · 2026-09-30T08:39:55+00:00
Summary
Equity
Per-bar returns after warm-up, bars with a change only.
Annualized, trailing window of 493 bars.
Net return of 200 time-shifted copies of the same positions. A real signal beats most of them; a strategy that only holds the market does not.
Net return as the per-side trading cost grows.
Trades
What to fix
- Profit disappears with one bar of execution delay: the edge lives in fill timing.
Checks
| check | category | status | summary |
|---|---|---|---|
| data_integrity | integrity | pass | OHLCV is clean |
| data_quality | integrity | pass | no spikes, frozen prices, split jumps or gaps |
| determinism | integrity | pass | signal() is deterministic |
| lookahead_truncation | lookahead | pass | truncation probe: no leak detected |
| lookahead_perturbation | lookahead | pass | future-perturbation probe: no leak detected |
| external_data | lookahead | pass | outside data: none read (df only) |
| lookahead_static_lint | lookahead | pass | static lint: clean |
| implausible_accuracy | lookahead | pass | next-bar hit rate 0.539 over 2443 bars (z 3.9) |
| costs_modeled | economics | pass | 2.00 bps per side modeled |
| net_profitability | economics | pass | net total return +175.07% after costs |
| cost_margin | economics | pass | break-even cost 6.55 bps per side vs 2.00 modeled |
| delay_sensitivity | economics | warn | profit vanishes with 1 bar delay |
| timing_significance | statistics | pass | beats 100% of 200 shifted copies of its positions (p 0.005) |
| sample_size | statistics | pass | 1112 closed trades (min 30) |
| deflated_sharpe | statistics | pass | deflated Sharpe 0.998 over 6 trial(s) |
| trials_disclosed | statistics | pass | n_trials declared |
| holdout_consistency | statistics | pass | Sharpe/bar train +0.0722 vs holdout +0.0313 |
| period_consistency | statistics | pass | profitable in 3 of 3 periods |
| walk_forward_stability | statistics | info | 6 of 6 equal windows (824 bars each) made money; worst +2.7%, best +38.1% |
| sharpe_confidence | statistics | info | Sharpe 95% interval +3.03 to +8.38 (return +70.2% to +378.4%); 100% of resamples have a positive Sharpe |
| track_record | statistics | info | needs 740 bars (about 0.08 years) to be positive at 95%; has 4,939 |
| benchmark | statistics | info | buy & hold -38.70% (Sharpe -1.60) vs strategy +175.07% (Sharpe 5.61) |
| spread_estimate | economics | info | rough spread estimate from high and low: about 0 bps (0 bps per side); the model charges 1 bps slippage per side |
| walk_forward_oos | statistics | pass | walk-forward OOS Sharpe/bar +0.0597 vs in-sample best +0.0600 |
| parameter_plateau | statistics | pass | neighbouring parameters keep 76% of the best Sharpe (median of 1) |
| pbo | statistics | pass | probability of backtest overfitting 0.034: the best combination in training ranks below the median in testing in 3% of 12,870 splits; its testing return is a loss in 1% |
| reality_check | statistics | pass | SPA p = 0.001 (Reality Check 0.001): the best of 6 combinations beats cash by more than the search explains |
By period (quarter)
| period | bars | return | buy & hold | Sharpe | exposure |
|---|---|---|---|---|---|
| 2020-Q1 | 2124 | +58.49% | -31.03% | 5.88 | 48% |
| 2020-Q2 | 2184 | +69.38% | -1.07% | 6.69 | 50% |
| 2020-Q3 | 632 | +2.47% | -10.17% | 1.17 | 49% |
By market regime
| market regime | share of bars | strategy | market | Sharpe |
|---|---|---|---|---|
| rising | 43% | +59.84% | -9.56% | 6.13 |
| falling | 57% | +82.41% | -19.23% | 6.14 |
| calm | 50% | +81.94% | -13.48% | 6.67 |
| volatile | 50% | +60.25% | -15.57% | 5.57 |
Regime of a bar: the market's trailing return and volatility over the previous 250 bars.
Parameter search
6 combinations; best {'lookback': 1}.
Walk-forward out-of-sample Sharpe per bar: 0.0597; parameter stability 0.75; neighbouring parameters keep 76% of the best Sharpe.
Sharpe per bar: rows lookback
Where the winner of the search ranks on unseen data, over every split of the sample in two halves (left of the line: below the median).
Reproduce
Costs: 1.00 bps commission + 1.00 bps slippage per side; fills at the next bar's open; long_short; warm-up 60 bars; n_trials 6; min_trades 30.
data e5c0a0d69c46ecd5418a1a5f6433ab494d004f1f28bed057cefe23b8e4dacce4
signals 00712646a5616136b14bba761752bc1c73c8d8170ac8f26bca7140d9c49a8aaf
source cda2b2e7c7ab1ca6d3d0a293963411010b8d6bc2285f8aae968e76d92337bfd2
Re-run with the same data and code: monte-neo verify --recheck CERT --ohlcv DATA --strategy STRATEGY.py
Checks backtest methodology (look-ahead, costs, selection bias), not future profit. Not investment advice.