V5 Paper Trading
Market Date: 2026-07-13 · Updated: 2026-07-13 08:39:05
Based on 25-year backtest CAGR of 6.09% (179-stock universe). Profits compound — realized P&L adds to cash for next trades.
Equity Curve
Open Positions (2/8)
| Stock | Sentiment | Sector | Tier | Entry Date | Entry | Now | 1D | Peak | P&L | P&L ₹ | Days | Shares | Invested | Value |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| COALINDIA | ● -0.1 | Oil Gas & Consumable Fuels | T1 | 2026-06-30 | ₹445.60 | ₹429.30 | +0 | ₹445.60 | -3.66% | -196 | 13/12 | 12 | ₹5,347 | ₹5,152 |
| NTPC | ▲ +0.2 | Power | T1 | 2026-06-30 | ₹354.75 | ₹344.55 | +0 | ₹356.40 | -2.88% | -2,968 | 13/12 | 291 | ₹103,232 | ₹100,264 |
Exit Triggers
| Stock | Stop Loss (-7%) | Trailing Stop | Profit Target (+8%) | Time Exit | Status |
|---|---|---|---|---|---|
| COALINDIA | ₹414.41 | inactive | ₹481.25 | 0d left | EXPIRING |
| NTPC | ₹329.92 | inactive | ₹383.13 | 0d left | EXPIRING |
Trade Stats
Pending Orders (execute at tomorrow's open 9:15 AM)
| Action | Stock | Sector | Signal Price | Tier | Est. Shares | Est. Cost | Reason |
|---|---|---|---|---|---|---|---|
| BUY | EICHERMOT | Automobile and Auto Components | ₹7,409.00 | T1 | 23 | ₹170,407 | RSI=0.00 |
| BUY | UNITDSPR | Fast Moving Consumer Goods | ₹1,378.70 | T1 | 126 | ₹173,716 | RSI=0.00 |
| BUY | BAJFINANCE | Financial Services | ₹1,006.10 | T1 | 346 | ₹348,111 | RSI=0.00 |
Recent Activity
| Date | Action | Stock | Price | Shares | Reason | P&L |
|---|---|---|---|---|---|---|
| 2026-07-13 | SELL | COALINDIA | ₹427.0 | 12 | MAX_HOLD_DAYS | -4.2% |
| 2026-07-13 | SELL | NTPC | ₹344.75 | 291 | MAX_HOLD_DAYS | -2.8% |
| 2026-07-07 | SELL | TITAN | ₹4624.9 | 100 | PROFIT_TARGET | 8.1% |
| 2026-06-30 | BUY | COALINDIA | ₹445.6 | 12 | RSI=0.00 | |
| 2026-06-30 | BUY | NTPC | ₹354.75 | 291 | RSI=0.00 | |
| 2026-06-30 | BUY | TITAN | ₹4277.5 | 100 | RSI=0.00 | |
| 2026-06-15 | SELL | DRREDDY | ₹1284.7 | 275 | MAX_HOLD_DAYS | 0.3% |
| 2026-06-10 | SELL | SBIN | ₹1004.05 | 72 | MAX_HOLD_DAYS | 3.8% |
| 2026-06-08 | SELL | SUNPHARMA | ₹1784.6 | 2 | MAX_HOLD_DAYS | -2.5% |
| 2026-06-02 | BUY | DRREDDY | ₹1280.2 | 275 | RSI=0.00 | |
| 2026-06-01 | SELL | ADANIPORTS | ₹1810.7 | 92 | MAX_HOLD_DAYS | 3.5% |
| 2026-05-29 | BUY | SBIN | ₹967.8 | 72 | RSI=0.00 | |
| 2026-05-29 | SELL | CUMMINSIND | ₹6034.0 | 31 | PROFIT_TARGET | 15.3% |
| 2026-05-26 | BUY | SUNPHARMA | ₹1830.0 | 2 | RSI=0.00 | |
| 2026-05-26 | SELL | TATASTEEL | ₹209.9 | 341 | stale_exit | -1.57% |
| 2026-05-20 | BUY | ADANIPORTS | ₹1749.0 | 92 | RSI=0.00 | |
| 2026-05-19 | SELL | DRREDDY | ₹1333.0 | 58 | profit_target | 7.0% |
| 2026-05-19 | SELL | POWERGRID | ₹295.85 | 422 | stop_loss | -6.1% |
| 2026-05-19 | SELL | RELIANCE | ₹1340.2 | 92 | stop_loss | -6.0% |
| 2026-05-13 | BUY | TATASTEEL | ₹213.24 | 341 | RSI=0.00 |
📖 Dashboard Metrics & Charges
Metric Definitions
Total Equity — Cash + current value of all open positions
Portfolio P&L — Total Equity − ₹500,000 initial capital. Includes unrealized + realized − all costs
Today's P&L — Change in equity since previous trading day
Drawdown — How far equity has fallen from its peak (0% = at all-time high)
Cash — Available for trading. Charges already deducted from this
Unrealized P&L — Paper profit/loss on positions still held (not yet sold)
Realized P&L — Gross profit from closed trades (before deducting charges)
Peak Equity — Highest total equity ever reached
Closed Trades — Number of completed round-trip trades
Trading Charges — Total STT + Exchange + SEBI + Stamp + GST + DP across all trades
Est. STCG (20%) — Estimated tax on net realized gains after charges (informational, not deducted from equity)
Net Realized P&L — Realized P&L − Charges. Actual profit from completed trades
Key Relationships
Portfolio P&L = Total Equity − ₹500,000
Net Realized P&L = Realized P&L − Trading Charges
Total Equity = ₹500,000 + Portfolio P&L
Charges (per trade)
STT — 0.1% on both buy and sell (equity delivery)
Brokerage — ₹0 (models Groww/Zerodha equity delivery)
Exchange — 0.00325% NSE transaction charges
SEBI — 0.0001% regulatory turnover fee
Stamp Duty — 0.015% on buy value only
DP Charges — ₹14.75 flat on sell only
GST — 18% on Exchange + SEBI + DP charges
STCG — 20% on net realized profit after charges (estimated, not deducted)
Position Table
Invested — Entry price × shares (what you paid)
Value — Current price × shares (what it's worth now)
Win Rate — % of closed trades that were profitable
Profit Factor — Total gains ÷ total losses (>1 = profitable)
📖 V5 Strategy Reference
Strategy (V5 Mean Reversion)
RSI(2) — Relative Strength Index over 2 days. Measures how oversold (0) or overbought (100) a stock is. Below 5 = deeply oversold
T1 (Tier 1) — RSI < 5 at entry, deeply oversold. Gets 60% of capital allocation
T2 (Tier 2) — RSI 5-7 at entry, moderately oversold. Gets 40% of capital allocation
SMA(200) — 200-day moving average. Stock must be above it to qualify for buy (uptrend filter)
Mean Reversion — Buys stocks after sharp drops, betting they'll bounce back to their average
Regime Filter — Blocks ALL new buys when NIFTY 50 is below its 200-day average (bear market protection)
Breadth Filter — % of 179 stocks above 50-day SMA. Strong (>60%), Neutral (40-60%, reduces position size by 40%), Weak (<40%)
Sector Cap — Max 3 stocks from the same NSE sector at any time (prevents sector concentration risk)
Exit Rules (whichever hits first)
+8% Profit Target — Auto-sell when stock gains 8% from entry price
-7% Stop Loss — Auto-sell when stock drops 7% from entry price
Trailing Stop — Activates at +3.5% gain. Then if price drops 2.5% from peak, sell to lock in gains
12-Day Time Exit — Auto-sell after 12 trading days (extended to 15 if still gaining >1%)
How It Works
Pending Orders — Signals generated at market close, executed next day at 9:15 AM open price
Max 8 Positions — Never more than 8 stocks held at once (diversification)
Max 2 New Buys/Day — At most 2 new entries per day to avoid overcommitting
80% Deployment — Max 80% of capital invested, 20% stays as cash buffer
Universe — 179 stocks (Nifty 200 + legacy large caps + 5 curated). Sector cap: max 3 per sector
Liquidity — Stocks must have avg daily turnover > ₹5 crore (prevents slippage on illiquid names)
Backtest — 25yr CAGR: 6.09% | MaxDD: 31.4% | PF: 1.55 | WR: 51.7%
Walk-Forward Validation (5 windows, 8yr train → 5yr test)
| Window | CAGR | MaxDD | PF | WR |
|---|---|---|---|---|
| 2008-2012 (GFC) | -3.2% | 20.8% | 0.96 | 49.3% |
| 2011-2015 | +1.6% | 15.1% | 1.15 | 47.8% |
| 2014-2018 | +4.7% | 15.2% | 1.23 | 46.9% |
| 2017-2021 (COVID) | +10.9% | 20.7% | 1.59 | 48.3% |
| 2020-2026 | +8.4% | 25.7% | 1.33 | 48.5% |
| Mean (excl GFC) | +6.4% | 19.2% | 1.33 | 47.9% |
4/5 windows profitable. GFC loss -3.2% vs Nifty -50%+. PF CoV: 0.17 (consistent edge).
Data Sources
yfinance — Historical data (2 years OHLC) for SMA, RSI, regime calculations
NSE India — Today's live/closing prices (source of truth, always fetched fresh)
Commands
Daily run: ./run_daily.sh
Manual run: trader/.venv/bin/python trader/live_signals.py
Dry run: trader/.venv/bin/python trader/live_signals.py --dry-run
Reset: trader/.venv/bin/python trader/live_signals.py --reset --capital 500000
Dashboard: trader/.venv/bin/python trader/dashboard.py
Force re-run: rm .last_run_date && ./run_daily.sh
Check log: tail -50 run_daily.log
View crontab: crontab -l
V5 Mean Reversion Strategy · Paper Trading