A comprehensive reference on why high-probability trades surrendered open profits during Oct 6–9, 2026, the quantitative mathematics behind profit giveback, and the engineered solutions deployed to bank early alpha and protect accumulated gains.
Analysis of all 24 forward trades executed on NIFTY index options between October 6 and October 9, 2026.
Booked 20% at +1.5R (+₹650), held 80% with stop at BE (177.20). Market reversed, exiting 80% at scratch. Transaction fees (₹41.91) left only +₹23.09 Net.
Hit +3.0R milestone. Old engine pegged stop at +1.5R (172.44), leaving a massive 1.5R giveback gap. When price retraced, ₹1,800+ of gain was surrendered.
Trade achieved +3.0R before 14:00 IST. Spot index went sideways for 90 minutes. Afternoon theta decay bled option from 232 to 206.50, forfeiting ₹2,500+.
Detailed dissection of how traditional mechanical rules failed in index options and how each vulnerability was solved.
What was happening: At +1.5R, only 20% of quantity was booked, leaving 80% open with stop at Breakeven. When price peaked at +2.2R and returned to entry, 80% surrendered all open gains.
What was happening: `runner_engine.evaluate_runner()` was only invoked when trade_state == TradeState.RUNNER (≥ 5.0R). Trades in PARTIAL_1 (+1.5R to +3.0R) had their stop frozen at Breakeven!
PARTIAL_1, PARTIAL_2, and RUNNER. Peak retrace protection and 5m structural trailing now actively protect trades the instant +1.5R is breached.
What was happening: At +3.0R, the stop was set at +1.5R. If price rose to +3.5R and pulled back, the trade relinquished 2.0R of profit before triggering an exit, surrendering 57% of accumulated gain.
The Mathematical Flaw: A standard rule of peak_premium × 0.80 on a ₹171 option peaking at ₹224 places the stop at ₹179.20. That 20% total drop consumes 85% of the ₹53 profit!
entry + (gain × 0.75) = ₹210.75. Guarantees 75% of profit is locked into cash.
What was happening: In weekly index options, time decay accelerates non-linearly after 13:00 IST. When spot consolidates sideways for 30–60 minutes, the option loses 15–30 points of premium pure theta decay even with zero adverse spot movement.
now ≥ 13:00 IST and gain ≥ +1.5R, if the option fails to make a new high for 25 minutes, the stop immediately ratchets to 85% of peak gain. Exits stagnant trades while green before theta cannibalizes them.
Compare trade execution step-by-step on real market trajectories from last week's sessions.
The rigorous algorithmic mechanics implemented in runner_engine.py and trade_manager.py.
NSE options trade exclusively in whole lot multiples (e.g., NIFTY 25 shares/lot or 65 shares/lot). Partial bookings are quantized to whole lots without fractional drops:
Instead of allowing 20% drawdown of the total option premium (which wipes out smaller point moves), the stop directly anchors to accumulated dollar gains:
Why calculating drops from total premium failed so catastrophically on high-cost options:
Time-decay triggers based on session clock and local peak timestamp:
Complete state progression from trade origination to runner termination.
Position initialized with initial stop below structural swing / FVG.
Bank 40% Qty. Stop moved to Breakeven (+2 pt buffer). Runner engine activated.
Bank 30% Qty (Cumulative 70%). Stop ratcheted to +2.0R Lock floor or 75% peak gain.
Bank 15% Qty. Remaining 15% holds with 5m structural swing trailing & 80% gain lock.
Exit executed via trailing stop hit, opposing CHoCH reversal, theta stagnation, or 15:20 EOD.
Files modified, tested, and actively executing on AWS EC2 systemd service.
highest_premium_time timestamp field to Trade model for stagnation tracking.