Alpha Algo Trading Research

From The Lab: ES Daily 1368% (Return/Max Drawdown) – Proven Since 1997

This daily ES model has run since 1997 and delivered 1368 percent return to drawdown using one single contract with no compounding

Alpha Algo Trading Research's avatar
Alpha Algo Trading Research
Dec 03, 2025
∙ Paid

This is a daily model for S&P 500 futures. It buys deep dips while momentum is still down.

Now I know what you’re thinking, aren’t we just buying a “falling knife”?

The bet is mean reversion: in ES, strong sell-offs often bounce back toward the average, and this model capitalises on that move.

It has held up since 1997, including through black-swan events.

Risk is managed with ADX: if trend strength isn’t there or fades, we cut quickly. That check gives us an answer within about one bar, either strength meets our threshold and we keep the position, or it doesn’t and we exit.

Simple idea. Clear rules. Short holds.

Every week, I share what’s working in my lab. Systems, filters, and edges you can actually use. Subscribe to get it first.

Share

This simple model produced a profit factor of 1.85 and a 1,368 percent return on max drawdown, with an average trade of $375 across 27 years and 9 months. All results use a fixed size of one contract with no compounding so comparisons remain fair across the full sample.

Why ES for mean reversion: Edge Lab profiling shows ES performs best with long-side mean reversion. After sharp down days it often overshoots and then snaps back once urgent selling dries up. If you want more on Edge Lab, see the article below.

Get My Edge Lab Code FREE: Find the Raw Edge Before You Build Any Futures Strategy

Get My Edge Lab Code FREE: Find the Raw Edge Before You Build Any Futures Strategy

Alpha Algo Trading Research
·
Sep 12
Read full story

🧭 The setup

One. Location. Only act when price is deeply oversold for the recent window.

Two. State. We buy while weakness is still present.

Three. Entry. Take the trade only when both conditions align on the same day.

Four. Exits. Risk is managed with ADX: if strength isn’t there or it fades, we cut quickly. We also use a time cap and a protective stop.

📈 Results of strategy

🧷 Robustness testing

I trust results only after they pass the usual Stress tests.

Monte Carlo parameters

We vary the parameters to test stability; if performance holds, it’s a green flag that the strategy isn’t reliant on precise settings.

Monte Carlo extreme parameter stress test

In this test we are more looking to see what happens if we stretch the parameters to see if the strategy falls apart.

Monte Carlo randomise and skip trades

We shuffle the order of historical trades and randomly remove some to mimic misses, slippage, or bad fills. If performance stays healthy, the edge is not just luck in trade order. In this situation we are in the lower percentile which shows that we are not over optimistic in the results

Extended out of sample equity (Since 1997. This is the first time the model is seeing data before 2007. This run is a single pass with no touching.)

Walk Forward Matrix

We split history into rolling windows, select parameters on one window, then run the next window out of sample. Consistent results across many windows mean the model adapts rather than being overfit on the data.

System Parameter Permutation test

We run many nearby parameter combinations around the chosen parameters. If most versions work, the model is stable and not tuned to one narrow sweet spot. As you can see our net profit on the model is within the Median value which is a sign the model isnt lucky.

Results on alternative market (To check if robust or overfit) run on NQ since 1999

We apply the same model on Nasdaq futures without adjusting the model (raw out of sample). If the results are acceptable, the idea is general and not tied only to ES.

Results on alternative market (To check if robust or overfit) run on YM since 2002

We repeat the check on Dow futures without retuning. If it still holds up, that is further evidence the model is robust rather than overfit.

🛡️ MAE and the stop

Stops are for safety. I place the stop where normal noise ends and failure begins using the MAE picture. The time exit remains the main way out. The stop is there to cap the tail.

Ready to put it to work? The full EasyLanguage code is below.

Dont forget this code can be easily converted to any other trading platform using LLMs and of course this can be run on Micro ES aswell.

User's avatar

Continue reading this post for free, courtesy of Alpha Algo Trading Research.

Or purchase a paid subscription.
© 2025 Alpha Algo Trading Research · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture