2026-05-18 - The put side is structurally unprofitable, and we found the mechanism

The corpus number (settled, not anecdote)

Realized outcomes.pnl_dollars, full corpus, split by side:

SidenWin rateNet P&LAvg/trade
CALL / BULL21762%+$5,600+$26
PUT / BEAR15157%-$15,411-$102

The call book is net positive. The put book has lost more than the call book has ever made. System-wide flatness is the put book. Win-rate gap is small (62 vs 57); the killer is per-trade asymmetry (+102). Puts win often enough but losers dwarf winners. Consistent with 2026-05-14-impulse-vs-composite-empirical-tier-analysis and the prior finding “lowering the BEAR threshold makes win rate worse.”

The live archetype: trade #531, SPY 739P, 2026-05-18

Morning: clean down-leg ~09:20–09:35. Gates blocked entry on the real move (meta take_prob 0.31, “flow PASS-THROUGH insufficient flow data 250k”, SKIPPED_NO_CHANGE). Then at 09:48, after the leg was over and price was basing on the lower Bollinger band, the engine entered 79x 739P @ $2.61 via the IMPULSE TRIGGER ... bypass=True path with:

  • meta take_prob = 0.27 - lower than the 0.31 it skipped on the real move
  • options positioning call-heavy: stack_call 31M
  • composite score 32, conv=0.60 strike_stack, bypass=True
  • 3 minutes later the engine read BULLISH score=62. It shorted the bottom.
  • PRICE_STOP @ 09:51, **-2,751; the outcomes/partial P&L-divergence trap, separate issue 2026-05-15-trailing-day1-and-the-partial-exits-undercount).

Same morning: winner #529 BULL 739C capped at **+4.7% / +6k → ~flat. Winner +4.7% in 4 min, loser -29.4%. The geometry is inverted and it is worst on puts.

Mechanism (why puts specifically bleed)

  1. Downmoves are violent and V-snap back. Latency that is survivable on the call side (uptrends grind, forgive late entry) is fatal on puts: the engine fires at climax/exhaustion (conv=1.00 = documented anti-signal, climax-reversal-pattern) and buys the put into the bounce.
  2. bypass=True overrides the meta-gate. meta 0.27 should have blocked it; the impulse-trigger bypass punched it through anyway.
  3. Against-flow entry. Bought puts while the option stack was call-heavier.
  4. Inverted payoff geometry, concentrated on the short side: put winners trailed/scaled out fast for small gains, put losers ride to the -25/-30% stop into the V-bounce. See 2026-05-14-sl-and-peak-stop-corpus-validation (V-recovery winners dip 28% past -15% - the same snapback that kills late puts).

Also surfaced: the broker-truth disease, live

At 09:51–10:14 the dashboard showed “No open positions” while the broker held two untracked positions (SPY 740P x50 and 738P x83) for ~23 minutes, unmanaged (no TP/SL/trail), alert-only (ORPHAN_BROKER_POSITION CRITICAL, never acted). Flattened manually via scripts/flatten_all.py (clientId=2, no engine kill): 740P@3.36, 738P@2.05, broker verified flat. This is the GH #46 invariant violation and the structural reason MK3 must derive position

  • P&L from broker OrderFilled events (Nautilus), not a parallel ledger.

MK3 SPY Hunter implications (carried into the spine)

  1. Puts and calls are not symmetric instruments on 0DTE SPY. Model the short side separately: earlier entry (leg start, never exhaustion), stronger confirmation, tighter invalidation, faster profit-take, and a hard “do not hold a put through a V-bounce” rule.
  2. No entry at/after a completed leg at a band/range extreme (exhaustion exclusion). This one rule kills today’s -$6k.
  3. No bypass override on the put side - puts must respect the meta gate.
  4. Directional-flow agreement required for puts - never buy puts into a call-heavier stack.
  5. Payoff-geometry-first is the master objective, not win rate.
  6. Strategic option: SPY Hunter may be call-biased until a specific, OOS-validated bearish setup exists. “Figuring out puts” may mean default-flat on the short side rather than firehosing -$102-EV puts - consistent with the SPY Hunter selectivity thesis 2026-05-15-mk3-setup-hunter-architecture.