{
  "audit_date": "2026-04-27",
  "strategy_id": "ASYM_MOO_1100_V1 organic_pump (sub5_pump SHORT)",
  "spec_source": "moo_1100_asym/strategy.yaml + plugins/organic_pump.py",
  "forecast_under_audit": {
    "year1_dollar_no_slip": 96000,
    "daily_sharpe_clean": 7.58,
    "daily_sharpe_30bps_slip": 6.55,
    "mean_pnl_per_trade_clean_pct": 0.968,
    "wr_pct": 25.2,
    "trades_per_year_after_filters": 660
  },
  "summary": {
    "verdict": "INFLATED",
    "honest_realistic_year1_dollar_phase1_15K": 8000,
    "honest_realistic_year1_dollar_phase3_75K": 35000,
    "inflation_factor_estimate": 2.5,
    "key_caveats": [
      "Universe parquet is a single SNAPSHOT (ticker+value only, no date column). Backtests filtered by current 2M-ADV universe = survivorship bias. Tickers that died/delisted before 2026-04 NEVER enter the backtest, but the backtest credits us for those that survived.",
      "MOO routing is BROKEN per Apr 26 logs (598 MOO orders sent as session=EXT, 1% fill within 1s, 54% past 30s). 30s delay = -169bps shift = edge dies. Backtest assumes fill at 09:30:00 open EXACTLY; that fill is not happening in production today.",
      "Daily Sharpe 7.58 EXCEEDS the strategy's own audited cap (yaml line 12: 'NEVER claim Sh > 8' and line 20: daily_sh_realistic = 5.0). Forecast is at the upper boundary of what the strategy's own authors flagged as illusory.",
      "Per-trade Sharpe inflates 2-3x vs daily Sharpe (per memory research_moo955_3auditors_apr26.md). If 7.58 was computed per-trade not daily-aggregated, real daily is ~3.0-3.8.",
      "v3 pre-period validation showed PF 2.17 \u00e2\u20ac\u201d solid but NOT extraordinary. PF 2.17 maps to roughly Sh 2-4 daily, not 7-8.",
      "April 2026 real-trade replay (this audit) shows WR 30.8% / mean +1.34%/trade on 26 raw signals BUT that uses conservative AMBIG_SL assumption AND signals weren't yet filtered by no-news / pm_dvol_z>=3 / earnings skip / FOMC / SPY-5d skip.",
      "After production filters (no-news, dvol_z, earnings, FOMC, max 2 concurrent, one-per-ticker-day), realistic signal count is ~30-40% of raw -> ~250-330 trades/yr, NOT 660."
    ]
  },
  "checks": [
    {
      "id": 1,
      "topic": "Cache cutoff vs entry signal time",
      "finding": "CLEAN",
      "evidence": "cache_daily/daily_bars_cache.parquet max date = 2026-04-24, gap parquet same. organic_pump.py uses gap_pct from prev_close vs open which are point-in-time. No future-data leak in feature definitions per code inspection.",
      "impact_pct_estimate": "0%"
    },
    {
      "id": 2,
      "topic": "Universe selection survivorship bias",
      "finding": "RED",
      "evidence": "enrichment_data/calc_avg_daily_volume_20d.parquet has only ['ticker','value'] columns - it is a SNAPSHOT taken 2026-04-27, not a historical rolling 20d ADV. Universe membership for 2023-2026 backtest applies a 2026-snapshot filter retroactively. Tickers that pumped+collapsed+delisted before 2026-04 are excluded entirely.",
      "impact_pct_estimate": "-15% to -30% on apparent edge (survivorship inflates WR for SHORT pump-fade because dead-pumps that never came back ARE the easy short wins)"
    },
    {
      "id": 3,
      "topic": "RSI/ATR .shift(1) lookahead bug (per Apr 26 M13 v5 audit)",
      "finding": "YELLOW",
      "evidence": "daily_bars_cache.parquet contains atr14, rsi14, prev_day_ret columns. Per memory research_moo955_M13v6_post_a1_fix_apr26.md the .shift(1) bug was fixed Apr 26 and cache rebuilt. organic_pump.py does NOT directly reference rsi14/atr14 in setup detection (only gap_pct + prev_close + dvol_z). Risk LOW for this strategy specifically. But if any layer_gates or dvol_z computation uses pre-fix cache snapshots saved as separate files, residual contamination possible.",
      "impact_pct_estimate": "-0% to -10% (depends on whether dvol_z baseline was rebuilt)"
    },
    {
      "id": 4,
      "topic": "MOO fillability \u00e2\u20ac\u201d backtest fill@09:30 vs reality session=EXT",
      "finding": "RED",
      "evidence": "Per memory research_tradingapp_quickwin_apr26.md: ALL 598 MOO + 152 MOC sent as session=EXT (NOT OPG/CLO), 1% fill within 1s of 09:30, 54% past 30s. strategy.yaml line 147 demands entry_time_et='09:30' MOO TRUE auction. Backtest assumes that fill price; reality is reactive market-order at 30s+. Per strategy_moo1100_asym_FINAL.md memory: 30s delay = -169 bps shift, edge dies. M14_DEPLOY_APR27.md flagged 'TradingApp OPG routing fix' as P0 BLOCKER.",
      "impact_pct_estimate": "-50% to -100% on real-money edge until routing fixed; backtest entry price is fictional for production today"
    },
    {
      "id": 5,
      "topic": "Sharpe claim 7.58 vs strategy's own audit cap of 8.0",
      "finding": "RED",
      "evidence": "strategy.yaml lines 11-12: 'NEVER claim Sh > 8'. Line 20: daily_sh_realistic = 5.0. Line 22: daily_sh_lower_ci = 1.3. Forecasted 7.58 is at the upper limit (only 6% below the explicit cap). Per Apr 26 audit memory: 'v5 layered overlays = STATISTICAL ILLUSION, 0/12 stacks robust to permutation'. The 7.58 is consistent with v5-layer-stack number, not Tier 1 alone.",
      "impact_pct_estimate": "Realistic daily Sh = 3.0-5.0, not 7.58. Edge inflation ~30-50%."
    },
    {
      "id": 6,
      "topic": "Per-trade Sharpe vs daily Sharpe inflation",
      "finding": "YELLOW",
      "evidence": "Per memory research_moo955_3auditors_apr26.md: 'per-trade Sh inflates 2-3x vs daily; bootstrap \u00d0\u00bf\u00d0\u00be dates != trades'. If 7.58 was computed as per-trade Sh aggregated naively, true daily Sh likely 3.0-3.8. Cannot verify without seeing the original aggregation code.",
      "impact_pct_estimate": "-50% if per-trade was used (worst case)"
    },
    {
      "id": 7,
      "topic": "Slippage assumption 'no slippage' = upper bound only",
      "finding": "YELLOW (honest if disclaimed)",
      "evidence": "User explicitly asked for 'no slip'. Theoretical maximum is honest IF clearly disclaimed as upper bound. strategy.yaml line 151 spec is 25 bps. Per tradingapp_quickwin_apr26: actual OPEN_5m mean 30 bps p95 184 bps. So 0-bps clean Sh 7.58 implies real Sh ~5.0 at 25bps and ~3.5 at 50bps. The forecast clean number is honest as a ceiling but should NEVER be quoted as 'expected'.",
      "impact_pct_estimate": "-15% at 25bps, -35% at 50bps"
    },
    {
      "id": 8,
      "topic": "Filter parameter optimization in-sample",
      "finding": "YELLOW",
      "evidence": "gap_pct_min=10, prev_close_max=5, stop_pct=1, target_pct=7 - these were chosen during research not by external theory. v3 pre-period 2023 PF 2.17 IS proper OOS validation. But the joint stack of (gap+px+SL+TP+11:00 exit) was tuned in-sample. Some param sensitivity expected.",
      "impact_pct_estimate": "-10% to -20% on real-OOS performance"
    },
    {
      "id": 9,
      "topic": "Trades/year claim 660 after v2 filters",
      "finding": "YELLOW",
      "evidence": "April 2026 raw signals (gap>=10 + prev_close<5 + 2M ADV) = 38 in ~18 trading days = ~875/yr extrapolated. After production filters (no-news, dvol_z>=3, earnings skip, FOMC skip, SPY 5d>+3 skip, max 2 concurrent, one-per-ticker-day): realistic 30-40% pass rate -> 260-350/yr. The 660 claim is high.",
      "impact_pct_estimate": "-50% on trade count -> -50% on $/yr at same per-trade edge"
    }
  ],
  "honest_year1_calc_phase1_15K": {
    "trades_realistic": 280,
    "mean_pnl_pct_after_slip_25bps": 0.45,
    "size_per_trade_dollar": 750,
    "year1_pnl_dollar": "$280 * $750 * 0.0045 = $945. Plus typical fee/borrow: ~$700-$1000/yr at $15K BP",
    "phase1_realistic_low": 700,
    "phase1_realistic_mid": 1500,
    "phase1_realistic_high": 3000,
    "note": "Phase 1 is CALIBRATION sandbox at $10K BP with $1000/trade max - cannot reach $96K/yr at this size; that figure assumed full Phase 3 capital ($75K BP)."
  },
  "honest_year1_calc_phase3_75K_fully_routed": {
    "preconditions": "MOO routing fixed (P0), 1 month live verification at Phase 1 passed, no decay observed",
    "trades_realistic": 280,
    "mean_pnl_pct_after_slip_25bps_borrow_5bps": 0.4,
    "size_per_trade_dollar": 5000,
    "year1_pnl_dollar": "$280 * $5000 * 0.0040 = $5600. Compounding + boost layers (+15-25% per audit) -> $7K-$10K. With max 2 concurrent and risk gates: $10K-$25K plausible upper.",
    "phase3_realistic_low": 8000,
    "phase3_realistic_mid": 18000,
    "phase3_realistic_high": 35000,
    "note": "Even Phase 3 fully-routed scenario is 60-90% BELOW the $96K forecast. Forecast appears to assume both Sh 7.58 (strategy's own cap-violator) AND 660 trades AND Phase 3 capital simultaneously - triple-stacked optimism."
  },
  "april_2026_real_trades": {
    "filter_applied": "gap_pct >= +10% AND prev_close < $5 AND ticker in 2M-ADV universe (1,777 tickers) AND date in 2026-04-01..2026-04-25 AND complete intraday bar (high != low)",
    "filters_NOT_applied_in_replay": [
      "no-news filter (news catalyst skip)",
      "pm_dvol_z >= 3 sigma (z-score gate)",
      "earnings +/- 1 day skip",
      "FOMC release day skip",
      "SPY 5d ret > +3% skip",
      "halt within 30d skip",
      "max 2 concurrent positions cap (would drop ~30% of Apr 8 cluster)",
      "one trade per ticker per day (already deduped via single signal)",
      "MOO 09:30 strict routing (assumes ideal fill at open)"
    ],
    "n_signals_found_raw": 26,
    "n_signals_after_strict_yaml_filters_estimate": 9,
    "trades": [
      {
        "date": "2026-04-02",
        "ticker": "BATL",
        "prev_close": 3.85,
        "gap_pct": 35.06,
        "open": 5.2,
        "high_day": 5.4,
        "low_day": 4.12,
        "close": 4.21,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-02",
        "ticker": "USEG",
        "prev_close": 0.8788,
        "gap_pct": 11.8,
        "open": 0.9825,
        "high_day": 0.99,
        "low_day": 0.82,
        "close": 0.854,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-02",
        "ticker": "WTI",
        "prev_close": 3.01,
        "gap_pct": 12.29,
        "open": 3.38,
        "high_day": 3.44,
        "low_day": 3.08,
        "close": 3.15,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-06",
        "ticker": "MAXN",
        "prev_close": 0.6839,
        "gap_pct": 11.01,
        "open": 0.7592,
        "high_day": 1.35,
        "low_day": 0.72,
        "close": 1.06,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-06",
        "ticker": "SPCE",
        "prev_close": 2.46,
        "gap_pct": 10.16,
        "open": 2.71,
        "high_day": 3.09,
        "low_day": 2.68,
        "close": 3.07,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-07",
        "ticker": "ORGO",
        "prev_close": 2.24,
        "gap_pct": 11.16,
        "open": 2.49,
        "high_day": 2.63,
        "low_day": 2.23,
        "close": 2.26,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "EOSE",
        "prev_close": 4.48,
        "gap_pct": 11.16,
        "open": 4.98,
        "high_day": 5.19,
        "low_day": 4.51,
        "close": 4.59,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "EVTL",
        "prev_close": 2.18,
        "gap_pct": 11.74,
        "open": 2.436,
        "high_day": 2.56,
        "low_day": 2.29,
        "close": 2.48,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "GPUS",
        "prev_close": 0.1404,
        "gap_pct": 21.08,
        "open": 0.17,
        "high_day": 0.17,
        "low_day": 0.142,
        "close": 0.142,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-08",
        "ticker": "JBLU",
        "prev_close": 4.55,
        "gap_pct": 12.42,
        "open": 5.115,
        "high_day": 5.215,
        "low_day": 4.94,
        "close": 5.04,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "QNCX",
        "prev_close": 1.63,
        "gap_pct": 104.85,
        "open": 3.339,
        "high_day": 3.8429,
        "low_day": 1.695,
        "close": 1.831,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "SNBR",
        "prev_close": 1.1,
        "gap_pct": 10.91,
        "open": 1.22,
        "high_day": 1.77,
        "low_day": 1.2032,
        "close": 1.76,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-08",
        "ticker": "SPCE",
        "prev_close": 2.99,
        "gap_pct": 10.2,
        "open": 3.295,
        "high_day": 3.32,
        "low_day": 2.91,
        "close": 2.97,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-08",
        "ticker": "TMC",
        "prev_close": 4.41,
        "gap_pct": 10.2,
        "open": 4.86,
        "high_day": 4.88,
        "low_day": 4.59,
        "close": 4.68,
        "exit_reason": "EOD",
        "pnl_pct": 3.704,
        "size_at_phase1_15K_dollar": 555.56
      },
      {
        "date": "2026-04-08",
        "ticker": "ULCC",
        "prev_close": 3.62,
        "gap_pct": 10.5,
        "open": 4.0,
        "high_day": 4.16,
        "low_day": 3.7301,
        "close": 3.79,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-09",
        "ticker": "EFOI",
        "prev_close": 1.96,
        "gap_pct": 13.27,
        "open": 2.22,
        "high_day": 2.22,
        "low_day": 1.91,
        "close": 2.0,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-13",
        "ticker": "ALLO",
        "prev_close": 2.72,
        "gap_pct": 50.37,
        "open": 4.09,
        "high_day": 4.46,
        "low_day": 3.01,
        "close": 3.06,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-13",
        "ticker": "BATL",
        "prev_close": 3.2,
        "gap_pct": 28.13,
        "open": 4.1,
        "high_day": 4.13,
        "low_day": 3.47,
        "close": 3.69,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-13",
        "ticker": "BFRG",
        "prev_close": 0.8857,
        "gap_pct": 33.23,
        "open": 1.18,
        "high_day": 1.18,
        "low_day": 0.9549,
        "close": 1.05,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      },
      {
        "date": "2026-04-13",
        "ticker": "FFAI",
        "prev_close": 0.3198,
        "gap_pct": 14.29,
        "open": 0.3655,
        "high_day": 0.3756,
        "low_day": 0.2965,
        "close": 0.3436,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-14",
        "ticker": "GPRO",
        "prev_close": 0.9349,
        "gap_pct": 18.73,
        "open": 1.11,
        "high_day": 1.14,
        "low_day": 0.87,
        "close": 0.8795,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-14",
        "ticker": "SANA",
        "prev_close": 3.21,
        "gap_pct": 24.3,
        "open": 3.99,
        "high_day": 4.08,
        "low_day": 3.41,
        "close": 3.48,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-16",
        "ticker": "DGNX",
        "prev_close": 0.56,
        "gap_pct": 12.93,
        "open": 0.6324,
        "high_day": 0.6634,
        "low_day": 0.5003,
        "close": 0.5556,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-16",
        "ticker": "EVTL",
        "prev_close": 2.66,
        "gap_pct": 13.16,
        "open": 3.01,
        "high_day": 3.55,
        "low_day": 2.89,
        "close": 3.34,
        "exit_reason": "SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-16",
        "ticker": "MYSE",
        "prev_close": 1.44,
        "gap_pct": 283.33,
        "open": 5.52,
        "high_day": 5.7699,
        "low_day": 2.96,
        "close": 3.3,
        "exit_reason": "AMBIG_SL",
        "pnl_pct": -1.0,
        "size_at_phase1_15K_dollar": -150.0
      },
      {
        "date": "2026-04-16",
        "ticker": "SLDP",
        "prev_close": 3.26,
        "gap_pct": 15.03,
        "open": 3.75,
        "high_day": 3.78,
        "low_day": 3.21,
        "close": 3.26,
        "exit_reason": "TP",
        "pnl_pct": 7.0,
        "size_at_phase1_15K_dollar": 1050.0
      }
    ],
    "summary": {
      "total_trades": 26,
      "wins": 8,
      "losses": 18,
      "tp_hits": 7,
      "sl_hits_incl_ambig": 18,
      "eod_exits": 1,
      "wr_pct": 30.8,
      "mean_pnl_pct": 1.335,
      "total_pnl_pct": 34.7,
      "total_dollar_at_15K_per_trade": 5205.56,
      "annualized_extrapolation_dollar": 72877.84,
      "honest_caveats": [
        "AMBIG_SL = both SL+TP touched same day (daily bar resolution); conservative coded as SL. In reality intraday minute resolution would split these ~50/50 between SL and TP wins.",
        "If we re-class AMBIG_SL as 50% TP / 50% SL: WR jumps from 30.8% to ~52%, total PnL goes from +$5,206 to ~+$11,000 on 26 trades.",
        "Production yaml filters (no-news, dvol_z, earnings, FOMC, max 2 concurrent) would cut 26 raw down to ~9 trades for the month.",
        "Sample N=26 too small for any Sharpe claim - this is verification snapshot, NOT validation.",
        "Apr 16 MYSE +283% gap and Apr 13 ALLO +50% gap are exactly the kind of news-catalyst events that the no-news filter would skip in production."
      ]
    },
    "honest_april_takeaway": "Strategy fires real signals on real tickers (BATL, USEG, WTI, MAXN, SPCE, SLDP, EVTL, JBLU etc \u2014 all real low-priced 2M-ADV pumps). Conservative replay shows positive total PnL ($5,206 on $15K BP for ~18 trading days = ~$72K/yr extrapolated). However: (a) post-filter trade count would be ~35% of raw, scaling to ~$25K/yr; (b) MOO routing broken means real fills are not at backtest prices; (c) AMBIG_SL conservative bias means real outcome is between $5K and $11K for the month. Realistic Phase 1 ($15K BP) annualized: $15K-$25K BEFORE routing fix, $25K-$45K AFTER routing fix. NOT $96K."
  }
}