Monte-Neo strategy verdict REJECT
Certificate 8474f55da47515e5 · engine v0.39.0 · 2026-09-29T20:32:50+00:00
Summary
Equity
Per-bar returns after warm-up, bars with a change only.
Annualized, trailing window of 63 bars.
Net return as the per-side trading cost grows.
What to fix
- The strategy loses money after costs: reduce turnover or find a stronger edge.
- Sharpe does not survive the number of variants tried: test out-of-sample or reduce the search space.
- Recent (holdout) performance does not confirm the earlier sample: check for regime dependence or overfit.
Checks
| check | category | status | summary |
|---|---|---|---|
| data_integrity | integrity | pass | OHLCV is clean |
| survivorship | integrity | pass | 1 of 6 symbols stop trading before the end (delistings included) |
| 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.519 over 2037 bars (z 1.8) |
| costs_modeled | economics | pass | 10.00 bps per side modeled |
| net_profitability | economics | fail | net total return -3.01% after costs |
| cost_margin | economics | skip | not profitable after costs |
| delay_sensitivity | economics | skip | not profitable after costs |
| timing_significance | statistics | skip | not profitable after costs |
| sample_size | statistics | pass | 287 closed trades (min 30) |
| deflated_sharpe | statistics | fail | deflated Sharpe 0.484 over 1 trial(s) |
| trials_disclosed | statistics | info | n_trials not declared (assumed 1) |
| holdout_consistency | statistics | warn | Sharpe/bar train +0.0156 vs holdout -0.0478 |
| period_consistency | statistics | skip | not profitable after costs |
| sharpe_confidence | statistics | info | Sharpe 95% interval -1.36 to +1.28 (return -37.9% to +49.1%); 46% of resamples have a positive Sharpe |
| track_record | statistics | info | the Sharpe is not positive: no history length makes it significant |
| benchmark | statistics | info | buy & hold +29.60% (Sharpe 1.08) vs strategy -3.01% (Sharpe -0.03) |
| spread_estimate | economics | info | rough spread estimate from high and low: about 24.6 bps (12.3 bps per side); the model charges only 5 bps slippage per side, well below it: costs may be optimistic |
By period (quarter)
| period | bars | return | buy & hold | Sharpe | exposure |
|---|---|---|---|---|---|
| 2019-Q1 | 4 | +0.14% | -0.94% | 0.80 | 100% |
| 2019-Q2 | 65 | -1.34% | -3.69% | -0.31 | 100% |
| 2019-Q3 | 66 | +2.93% | +1.52% | 0.92 | 100% |
| 2019-Q4 | 66 | -5.75% | +10.51% | -1.45 | 100% |
| 2020-Q1 | 65 | +16.83% | +9.39% | 5.23 | 100% |
| 2020-Q2 | 65 | -6.41% | +4.77% | -1.62 | 100% |
| 2020-Q3 | 66 | +5.39% | -3.34% | 1.83 | 100% |
| 2020-Q4 | 66 | -3.23% | +5.60% | -0.84 | 100% |
| 2021-Q1 | 64 | +0.33% | +2.71% | 0.17 | 100% |
| 2021-Q2 | 65 | -9.21% | +3.18% | -3.59 | 100% |
| 2021-Q3 | 48 | -0.38% | -2.33% | -0.11 | 100% |
By market regime
| market regime | share of bars | strategy | market | Sharpe |
|---|---|---|---|---|
| rising | 66% | -12.55% | +23.79% | -0.57 |
| falling | 34% | +10.91% | +6.87% | 0.94 |
| calm | 50% | +13.12% | +16.71% | 0.81 |
| volatile | 50% | -14.26% | +13.34% | -0.87 |
Regime of a bar: the market's trailing return and volatility over the previous 35 bars.
Reproduce
Costs: 5.00 bps commission + 5.00 bps slippage per side; fills at the next bar's open; long_short; warm-up 60 bars; n_trials 1; min_trades 30.
data 9eb14c493d94b806b0f89b4c65eae55318402dc9683b589725ecc3bbe380ecdc
signals 81be4dc70362872f5fb110ad34e415a0510b6c2e1c1f7552bad76be8b700302b
source 4cedf3068043996bda60d566447ab105fbe7d9e2db804e282e212ccd305b0590
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.