Built-in Models

TraderTape ships with five reference strategies, named V0 through V4. They exist for three reasons:

  1. Calibration baselines. When you build your own strategy, you compare its backtest to V1 / V3 / V4 to know whether it's actually adding edge.
  2. Starting templates. Fork any of them, tweak conditions, and you have a working strategy in minutes.
  3. Live demonstrations. Each one teaches a different style โ€” momentum, breakout, mean reversion, alpha extraction. Run them in paper mode to see how they behave on tomorrow's data.

All five are implemented as DSL strategies (see Strategy DSL). They go through the same DSL interpreter as user strategies, the same backtest engine, the same model scanner. There's nothing special about them in code โ€” they're just well-calibrated reference points.

V0 โ€” Dart Monkey

The null hypothesis. A strategy with no edge. Used to demonstrate what random trading looks like, so you can verify your real strategies actually beat it.

  • Entry: random โ€” 5% probability per stock per scan day
  • Exit: RSI > 70, OR close < SMA20 after 3 bars held
  • Add-ons: none
  • Min hold: 0 (exit can fire immediately)
  • ATR stop: none

If V0 makes money in your backtest period, it's a bull market. If your "real" strategy doesn't significantly beat V0 over 5+ years of data, your "real" strategy doesn't have edge.

V0 is included as a sanity check, not as something you'd actually deploy.

V1 โ€” Momentum

The classic. Buy strength, sell weakness. The original TraderTape model.

  • Entry:
    • Close > SMA(20) (uptrend)
    • RSI(14) โ‰ค 70 (not overbought)
  • Exit (in priority order):
    1. RSI(14) > 70 (overbought)
    2. Close < SMA(20) AND total_bars_held > 2 (trend break with grace period)
  • Add-ons: none
  • Min hold: 10 days
  • ATR stop: none (relies on indicator exits)

When it fires: frequently. V1 is the most active of the built-ins โ€” typically 5-15 signals per scan day on the NIFTY 100 universe.

When it works: trending markets. V1 catches the meat of strong moves and exits when momentum fades.

When it struggles: choppy / mean-reverting markets where SMA20 crossovers are noise. The 10-day min hold helps but doesn't eliminate the problem.

Backtest baseline (NIFTY 100, 6 years, 1 Cr capital, 10L per trade):

MetricValue
Total trades~3,400
Win rate45.1%
Avg P&L per trade+1.25%
CAGR30.0%
Profit factor1.56
Max single-trade drawdown-45.8%

Conviction scoring weights RSI most heavily (the data showed RSI 60-65 is the sweet spot for V1, not the textbook 40-55), with vol_spike preferred over vol_calm (counter-intuitive but data-driven), and trades 2-3% above SMA20 ranked higher than trades right at SMA20.

V2 โ€” Bull Breakout

Long-hold trend rider. Designed for strong setups that you want to hold for a quarter or more.

  • Entry:
    • Close > SMA(20) AND RSI(14) โ‰ค 55 (breakout but not yet overbought)
    • Perfect bull MA stack: SMA(20) > SMA(50) > SMA(200)
    • Vol regime is vol_elevated or vol_spike (institutional interest)
  • Exit: SMA(50) break (after min_hold_days = 30)
  • Add-ons: none
  • Min hold: 30 days
  • Max hold: 120 days (forced exit)
  • ATR stop: none

When it fires: rarely. V2 is the most selective โ€” typically 1-3 signals per scan day, sometimes zero for a week.

When it works: persistent multi-month bull moves. V2 catches stocks that are in a confirmed up-trend with institutional buying and rides them for 60-120 days.

When it struggles: range-bound markets. V2 will sit in cash for weeks if no stocks meet all the conditions.

V2 is the strategy you deploy when you want low-touch operation and don't mind being out of the market for stretches.

V3 โ€” Dip Buyer

Mean reversion with averaging down. Buy pullbacks in confirmed uptrends, average down on controlled dips, exit when the trend resumes.

  • Entry (all required):
    • RSI(14) โ‰ค 45 (oversold)
    • SMA(50) > SMA(200) (larger uptrend intact)
    • Close near SMA(20) (within 1% above)
    • Vol regime is not vol_spike (avoid panic / falling knives)
    • Close โ‰ฅ Bollinger Band Lower(20, 2) (not in extreme panic)
  • Exit (in priority order):
    1. Recovery: close > SMA(20) AND RSI > 50 (the dip reversed, trend is back)
    2. SMA(50) break (the larger trend has broken)
    3. Max hold (45 days, forced exit)
    • No RSI > 70 exit, no SMA(20) crossunder exit (V1's exits are bad for V3)
  • Add-ons:
    • Up to 2 add-ons (3 total entries)
    • Price 3-10% below average entry
    • RSI(14) โ‰ค 40 (deeper than entry)
    • Not in vol_spike
    • Min 3 trading days since last entry
  • Min hold: 15 days from the last entry (resets after each add-on)
  • Max hold: 45 days from the first entry
  • ATR stop: none โ€” relies on SMA(50) break and recovery exits

When it fires: moderately often. V3 is more selective than V1 but less than V2 โ€” typically 3-8 signals per scan day on NIFTY 100.

When it works: trending markets with periodic pullbacks. V3 buys the dips, averages down on continued weakness, and rides the recovery.

When it struggles: sustained downtrends where the SMA(50) > SMA(200) check passes (because the death cross hasn't happened yet) but the actual stock is in free-fall. The vol_spike filter helps but doesn't catch grinding declines.

Known weakness: when ATR stop is disabled (the default), the only loss-taking exits are SMA(50) break and the 45-day max hold. During the 15-day min hold, positions have zero downside protection. The backtest shows this is profitable on aggregate (patience pays) but the worst single-trade drawdown is ~46%.

V3 is the most calibrated of the built-ins. The thresholds (RSI 45, 1% SMA20 zone, 3-10% addon band, 15-day min hold) all came from research on real trading history, not textbook rules.

V4 โ€” Alpha Dip

V3 with looser entry, tighter validation. Tries to capture more alpha by being slightly more aggressive on entry while keeping V3's exit discipline.

  • Entry (all required):
    • RSI(14) โ‰ค 55 (vs V3's 45 โ€” looser)
    • SMA(50) > SMA(200)
    • Close near SMA(20) (within 1% above)
    • Vol regime is not vol_spike
    • Close โ‰ฅ Bollinger Band Lower(20, 2)
  • Exit: same as V3 (recovery, SMA50 break, max hold)
  • Add-ons: none
  • Min hold: 15 days
  • Max hold: 45 days
  • ATR stop: none

When it fires: more often than V3 (because RSI โ‰ค 55 vs 45 lets in more candidates).

When it works: identical conditions to V3 but in markets where V3 is too restrictive.

Backtest result vs V3: ~9.1% additional alpha vs an equal-weight NIFTY 100 baseline over 6 years. V4 is V3's slightly-more-aggressive sibling and was the result of the 2026 V3 calibration research.

V4 doesn't use add-ons because the looser entry already produces enough exposure โ€” adding averaging down on top would over-concentrate.

Choosing a model

If you wantUse
To learn what the system doesV1 (most active, easy to reason about)
To test that your strategy beats noiseV0 (the baseline)
Long-hold, low-touch tradingV2 (selective, few decisions)
Mean reversion with averaging downV3 (the most refined dip buyer)
V3-style with more frequent fillsV4 (aggressive entry, same discipline)

For a first paper portfolio, V3 Dip Buyer is the recommended starting point. It's selective enough to be interesting, refined enough to teach you something, and matches how a human trader would actually think about dip buying.

For a comparison test, run V1 + V3 + V4 in paper mode at the same starting capital and watch them diverge for a few weeks. You'll learn more about market regimes from this than from any backtest.

Forking and customizing

All five built-ins are stored as DSL strategies. To make your own variant:

  1. Go to Strategies
  2. Click any built-in template
  3. Click Fork
  4. Edit conditions in the visual editor
  5. Run a backtest to verify your changes are an improvement
  6. Deploy to a paper portfolio

Common forks:

  • V1 + sector filter โ€” V1 but only for IT and Banks
  • V3 with ATR stop โ€” V3 but with atr_stop_mult = 2.0 for tighter risk control (kills some alpha but caps drawdown)
  • V2 + max hold cap โ€” V2 but force exit after 90 days instead of 120
  • V1 with custom RSI period โ€” V1 but using RSI(7) instead of RSI(14) for faster signals

The DSL is flexible enough to express most reasonable variants. Things that need code changes (custom indicators, regime detection) are on the roadmap.

Inspecting the exact rule trees

Each built-in model is a regular DSL strategy under the hood. To see the precise rule tree for any of them, fork the model on the Strategies page โ€” the visual editor will show every condition, exit rule, addon spec, and conviction dimension that defines it.

Next