Monte-Neo strategy verdict REJECT

Certificate 8474f55da47515e5 · engine v0.39.0 · 2026-09-29T20:32:50+00:00

Rejected: net total return -3.01% after costs; deflated Sharpe 0.484 over 1 trial(s) (and 1 more).
integrity4 pass
lookahead5 pass
economics1 pass · 1 fail
statistics1 pass · 1 warn · 1 fail
Not signed. Sign with monte-neo verify ... --sign KEY to prove who issued it.

Summary

net return-3.01%
Sharpe (annualized)-0.03
max drawdown-17.19%
closed trades287
Deflated Sharpe0.484
timing p-value—
buy & hold return+29.60%
buy & hold Sharpe1.08
break-even cost8.4 bps
Sharpe 95% interval-1.36 … +1.28
return 95% interval-38% … +49%
spread from high-low24.6 bps
positionssign
symbols6

Equity

0.90×1.11×1.37×2019-03-262021-09-060%-17.2%
strategybuy & holddrawdownlog scale
Monthly returnsJanFebMarAprMayJunJulAugSepOctNovDec2019+0.1%+2.8%-4.1%+0.1%-3.1%+2.0%+4.1%-3.5%-7.9%+6.0%2020+2.6%+6.8%+6.6%-4.2%-0.1%-2.2%+0.6%+4.8%-0.1%+0.1%-6.9%+3.9%2021-4.3%+2.8%+2.0%-4.0%-4.4%-1.2%-0.4%-1.2%+1.3%
Return distributionmean -0.001%-2.11%+1.97%

Per-bar returns after warm-up, bars with a change only.

Rolling Sharpe4.8-3.7

Annualized, trailing window of 63 bars.

Sensitivity to costs+17%-55%0 bps50 bps per sidemodeled 10 bpshalf-spread from high-low 12.3 bps

Net return as the per-side trading cost grows.

What to fix

  1. The strategy loses money after costs: reduce turnover or find a stronger edge.
  2. Sharpe does not survive the number of variants tried: test out-of-sample or reduce the search space.
  3. Recent (holdout) performance does not confirm the earlier sample: check for regime dependence or overfit.

Checks

checkcategorystatussummary
data_integrityintegritypassOHLCV is clean
survivorshipintegritypass1 of 6 symbols stop trading before the end (delistings included)
data_qualityintegritypassno spikes, frozen prices, split jumps or gaps
determinismintegritypasssignal() is deterministic
lookahead_truncationlookaheadpasstruncation probe: no leak detected
lookahead_perturbationlookaheadpassfuture-perturbation probe: no leak detected
external_datalookaheadpassoutside data: none read (df only)
lookahead_static_lintlookaheadpassstatic lint: clean
implausible_accuracylookaheadpassnext-bar hit rate 0.519 over 2037 bars (z 1.8)
costs_modeledeconomicspass10.00 bps per side modeled
net_profitabilityeconomicsfailnet total return -3.01% after costs
cost_margineconomicsskipnot profitable after costs
delay_sensitivityeconomicsskipnot profitable after costs
timing_significancestatisticsskipnot profitable after costs
sample_sizestatisticspass287 closed trades (min 30)
deflated_sharpestatisticsfaildeflated Sharpe 0.484 over 1 trial(s)
trials_disclosedstatisticsinfon_trials not declared (assumed 1)
holdout_consistencystatisticswarnSharpe/bar train +0.0156 vs holdout -0.0478
period_consistencystatisticsskipnot profitable after costs
sharpe_confidencestatisticsinfoSharpe 95% interval -1.36 to +1.28 (return -37.9% to +49.1%); 46% of resamples have a positive Sharpe
track_recordstatisticsinfothe Sharpe is not positive: no history length makes it significant
benchmarkstatisticsinfobuy & hold +29.60% (Sharpe 1.08) vs strategy -3.01% (Sharpe -0.03)
spread_estimateeconomicsinforough 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)

periodbarsreturnbuy & holdSharpeexposure
2019-Q14+0.14%-0.94%0.80100%
2019-Q265-1.34%-3.69%-0.31100%
2019-Q366+2.93%+1.52%0.92100%
2019-Q466-5.75%+10.51%-1.45100%
2020-Q165+16.83%+9.39%5.23100%
2020-Q265-6.41%+4.77%-1.62100%
2020-Q366+5.39%-3.34%1.83100%
2020-Q466-3.23%+5.60%-0.84100%
2021-Q164+0.33%+2.71%0.17100%
2021-Q265-9.21%+3.18%-3.59100%
2021-Q348-0.38%-2.33%-0.11100%

By market regime

market regimeshare of barsstrategymarketSharpe
rising66%-12.55%+23.79%-0.57
falling34%+10.91%+6.87%0.94
calm50%+13.12%+16.71%0.81
volatile50%-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.