Strategy library
The built-in strategies live in backend/ats/strategies/ and are registered at import time. They are
deliberately diversified by edge type so the validation gauntlet can
discriminate genuine signal from drift — not because all of them work. Each is a Nautilus Strategy
plus a typed config; the same code runs in backtests and live. To write your own, see
the strategy contract; to generate one from a description, see
the Studio.
Every strategy here is a hypothesis. Whether it holds is decided by the gauntlet, not by its backtest. Run any of them through the research ladder to see its readiness score; the honest finding across this library is that simple edges win and added machinery rarely adds signal.
Daily — trend, breakout & momentum
Section titled “Daily — trend, breakout & momentum”| Key | Name | What it does |
|---|---|---|
donchian_breakout |
Donchian Channel Breakout | Long when the close breaks the prior N-bar high; flat when it breaks the prior M-bar low. |
donchian_trend |
Trend-Filtered Donchian | The Donchian breakout, taken only when the close is also above the trend SMA; same M-bar-low exit. |
macd_enhanced |
Enhanced MACD | MACD/signal cross up while price is above a slow trend EMA; exit on the cross down. |
atr_trailing_stop |
ATR Trailing Stop | Long while the close is above the EMA; exit on a ratcheting (highest close − k·ATR) trailing stop. |
tsmom |
Time-Series Momentum | Long while the trailing-lookback return is above an entry threshold; flat below an exit threshold (hysteresis avoids churn). |
sma_cross |
Dual SMA Crossover | Long while the fast SMA is above the slow SMA, flat otherwise. The classic trend baseline / control. |
ma_regime |
Moving-Average Regime | Hold while the close is above the N-day SMA, else sit in cash. Faber-style tactical timing — trades a little upside for much smaller drawdowns. |
Daily — mean reversion
Section titled “Daily — mean reversion”| Key | Name | What it does |
|---|---|---|
rsi_pullback |
RSI(2) Pullback | Buy short, sharp dips (low RSI) inside an uptrend (close above the trend SMA); exit when the close recovers above a short SMA. |
bollinger_reversion |
Bollinger Band Reversion | Buy dips below the lower Bollinger band while above the trend SMA; exit when the close recovers to the middle band. |
ibs_reversion |
Internal Bar Strength Reversion | Buy when the close lands near the day’s low (low IBS); exit when it recovers toward the high (or by a time / first-up / SMA exit). Short-term ETF reversion. |
down_streak |
Down-Streak Reversal | Buy after N consecutive lower closes; exit on the first up close or after a max hold. Classic short-term pullback reversal. |
vol_reversion |
Volatility-Conditioned Reversion | Buy oversold closes (low IBS) only when volatility is elevated (fast ATR running hotter than slow ATR); exit on the snap-back. |
Daily — volatility, calendar & confluence
Section titled “Daily — volatility, calendar & confluence”| Key | Name | What it does |
|---|---|---|
squeeze_breakout |
Volatility-Squeeze Breakout | Buy a Donchian breakout only when it bursts out of a low-volatility coil (fast ATR well below slow ATR just before the break); exit on the prior-low. |
turn_of_month |
Turn-of-Month Seasonality | Hold across the turn-of-month window (last days of the month + the first few of the next), flat otherwise. A calendar edge. |
regime_ibs_confluence |
Regime + IBS Confluence | Buy an oversold dip (low IBS) only inside a bull regime (close above the N-day SMA) — two uncorrelated signals must agree. |
Intraday (1-minute bars)
Section titled “Intraday (1-minute bars)”Intraday strategies are still single-instrument registry strategies (same contract, same rule-test switch) but subclass a session harness: they rebuild per-session state from 1-minute bars (VWAP, opening range, minutes-since-open) and are flat by the close (no overnight risk). They need intraday data ingested and are judged net of the measured spread. See ingestion and the strategy contract.
| Key | Name | What it does |
|---|---|---|
intraday_vwap_reversion |
Intraday VWAP Reversion | Buy when price stretches below the session VWAP; exit on reversion to VWAP or a time stop. Flat by close. |
intraday_vwap_exhaustion |
Intraday VWAP Exhaustion | At the US-lunch measure time, latch a below-VWAP stretch (Z-score), then enter on exhaustion; flat by close. |
intraday_orb |
Intraday Opening-Range Breakout | Buy when price breaks above the first range_min minutes’ high; exit on a stop or by the close. |
intraday_first30_momentum |
Intraday First-30-Min Momentum | If the first signal_min minutes are strongly up, buy and hold to near the close. |
A note on the honest findings
Section titled “A note on the honest findings”ClearEdge records what did and didn’t survive validation. Highlights from the built-in research (full notes in the research ladder and the repo’s research notes):
- IBS-style short-term mean reversion on broad, liquid equity ETFs is the most replicated daily edge and proved structural across many names — the basis of the deployable book.
- The low-vol cross-sectional factor is refuted on equity universes (it’s a beta tilt, not a timing edge); cross-asset/country momentum is the cross-sectional edge that clears the bar.
- Every intraday archetype here is, so far, a negative net of the measured spread — the capability is the deliverable, not yet an edge.
- Added machinery (extra filters, a time-varying pair hedge) rarely raised rule-test significance over the simple version — the recurring lesson the gauntlet keeps teaching.
The point of the library is not that all of it works; it’s that the validation stack can tell you, per strategy and per instrument, which parts do.