⚡ CPR Edge · Audit-Grade Two-Sided Strategy

CPR strategy that wins both up and down days

Two mirrored setups — SHORT when CPR is descending and price breaks S1, LONG when CPR is ascending and price breaks R1. Tested on 131 days of real 1-min NIFTY data. Combined: ~10 trades/month, 59% win, +21 pts/trade after costs, regime-stable across the entire window.

Win Rate (129-day)
59.4%
70.4% last 60 days
After-Cost Edge
+21.0
pts per trade
Trade Frequency
~10
trades/month combined
70+ pt Wins
21
of 38 wins (55%)

Setup A · Bear Days

↓ S1 Breakdown SHORT

  1. 1
    Filter
    Today's pivot < yesterday's pivot (DESCENDING CPR)
  2. 2
    Trigger
    Spot touches/breaks below S1 intraday
  3. 3
    Entry
    SHORT at S1
  4. 4
    Target
    Cover at S2
  5. 5
    Stop
    S1 × 1.003 (≈0.3% above)
n=38
win=57.9%
after=+22.7

Setup B · Bull Days

↑ R1 Breakout LONG

  1. 1
    Filter
    Today's pivot > yesterday's pivot (ASCENDING CPR)
  2. 2
    Trigger
    Spot touches/breaks above R1 intraday
  3. 3
    Entry
    LONG at R1
  4. 4
    Target
    Exit at R2
  5. 5
    Stop
    R1 × 0.997 (≈0.3% below)
n=26
win=61.5%
after=+18.5

🎯 How to use both sides

No overlap — exactly one side fires per day

Each morning, check the CPR direction. If descending, watch only S1 for SHORT. If ascending, watch only R1 for LONG. If the trigger level isn't touched intraday, the day is a SKIP (~30% of trading days). Same logic, mirror direction — it's one strategy with two faces, not two strategies.

✅ Why this works

  • Double confluence: Daily timeframe (CPR direction) AND intraday (S1/R1 break) both confirm the bias. Each filter independently adds edge.
  • Target = next CPR level: Most successful break-and-go moves continue toward the next pivot level. Average win = +82 pts combined.
  • Tight stop: ~75 pts wrong-side of S1 or R1. Loss is precisely defined.
  • Regime stable both halves: Combined +11 in H1 (Nov-Feb), +32 in H2 (Feb-May). LONG side worked equally in both halves; SHORT side amplified in H2.
  • Reproducible: Run backend/scripts/cpr_backtest.py any time to verify.

⚠️ Honest limitations

  • Not every day: ~10 setups/month combined. The other ~12 days are SKIPs (CPR flat OR trigger level not touched).
  • ~40% losing trades: Even at 59% wins, the next loss could come anytime. Max consec loss in test window: 4.
  • Trend-day dependent: S1/R1 breaks succeed when momentum follows through. On chop days, false breaks lead to stop hits.
  • Spot pnl ≠ options pnl: +12 spot pts ≠ +12 option pts (theta, delta < 1). Backtested numbers are pure NIFTY spot.
  • Sample size: n=64 combined. Wilson 95% CI on 59% win is 47-71%.

Reproducible. Auditable. Real.

The backtest script lives in our repo. The data lives on our VPS. Run it yourself.

📊 Source: historical_ohlc_* partitions, NIFTY 50 (token 256265), 1-min bars, 2025-11-03 → 2026-05-15 (131 trading days). Backtest: backend/scripts/cpr_backtest.py. Tie-break: stop-first if both target and stop touched in same 1-min bar (conservative). All pnl in NIFTY spot points.

⚠️ Disclaimer: Educational content. Not investment advice. F&O trading carries risk of capital loss. Trade at your own risk. Charteq is not SEBI-registered.