{
  "generated_at": "2026-07-20T07:02:10.934892+00:00",
  "snapshot": "C:\\Workspace\\signal-platform\\backtest_snapshots\\research.sqlite",
  "snapshot_depth": {
    "manifest": {
      "schema_version": 1,
      "snapshot": "research.sqlite",
      "snapshot_resolved": "C:\\Workspace\\signal-platform\\backtest_snapshots\\research.sqlite",
      "complete": true,
      "finished_at": "2026-07-19T14:22:15.706192+00:00",
      "ticker_count": 4650,
      "ohlcv_row_count": 5081073,
      "rank_only_count": 4144,
      "sources": {
        "pool": "source_snapshot"
      },
      "history_days": 5000,
      "min_bars": 1262,
      "fetch_ok": 505,
      "fetch_fail": 1,
      "limit": null,
      "extra": {
        "prod_symbols_at_start": 506,
        "pool_size": 506,
        "to_fetch": 506,
        "source_symbols_only": true,
        "benchmark_spy_rows": 2649
      },
      "live_counts": {
        "ticker_count": 4650,
        "ohlcv_row_count": 5081073,
        "rank_only_count": 4144
      }
    },
    "requested_symbols": 506,
    "tradable_symbols": 505,
    "missing_symbols": [],
    "zero_bar_symbols": [
      "RHM"
    ],
    "bar_count": {
      "min": 24,
      "median": 2649,
      "max": 2649
    },
    "symbols_with_pre2021_bars": 491,
    "symbols_with_pre2021_bars_pct": 97.2,
    "shallow_symbols_lt_1000_bars": [
      {
        "symbol": "SPCX",
        "first_bar": "2026-06-12",
        "last_bar": "2026-07-17",
        "bars": 24
      },
      {
        "symbol": "Q",
        "first_bar": "2025-11-03",
        "last_bar": "2026-07-17",
        "bars": 176
      },
      {
        "symbol": "PSKY",
        "first_bar": "2025-08-07",
        "last_bar": "2026-07-17",
        "bars": 237
      },
      {
        "symbol": "SNDK",
        "first_bar": "2025-02-13",
        "last_bar": "2026-07-17",
        "bars": 357
      },
      {
        "symbol": "GEV",
        "first_bar": "2024-04-02",
        "last_bar": "2026-07-17",
        "bars": 575
      },
      {
        "symbol": "SOLV",
        "first_bar": "2024-04-01",
        "last_bar": "2026-07-17",
        "bars": 576
      },
      {
        "symbol": "VLTO",
        "first_bar": "2023-10-02",
        "last_bar": "2026-07-17",
        "bars": 700
      },
      {
        "symbol": "KVUE",
        "first_bar": "2023-05-04",
        "last_bar": "2026-07-17",
        "bars": 803
      },
      {
        "symbol": "GEHC",
        "first_bar": "2022-12-15",
        "last_bar": "2026-07-17",
        "bars": 898
      }
    ],
    "price_window": {
      "min": "2016-01-04",
      "max": "2026-07-17"
    },
    "benchmark_spy": {
      "rows": 2649,
      "min": "2016-01-04",
      "max": "2026-07-17"
    },
    "gate_threshold": {
      "min_tradable_symbols": 505,
      "max_missing_or_zero_bar": 1,
      "min_symbols_with_pre2021_bars_pct": 80.0,
      "benchmark_min_rows": 1000,
      "benchmark_must_begin_pre2021": true
    },
    "gate_pass": true
  },
  "data_quality": {
    "window": {
      "from": "2020-01-22",
      "to": "2026-07-17"
    },
    "prod_symbols": 505,
    "events": 12414,
    "symbols_with_any_event": 504,
    "symbols_with_ge8_announcements": 498,
    "symbols_with_ge8_announcements_pct": 98.6,
    "symbols_with_ge8_paired_announcements": 495,
    "symbols_with_ge8_paired_announcements_pct": 98.0,
    "events_with_actual_and_estimate": 12311,
    "events_with_actual_and_estimate_pct": 99.2,
    "duplicate_rows_in_table": 0,
    "duplicate_rows_fetched": 0,
    "restated_rows_fetched": 940,
    "dedupe_policy": "UNIQUE(symbol, announce_date); normalise dot/dash symbols; retain one calendar row per key; preserve existing non-null session/EPS values from the prior FMP/Alpha Vantage partial backfill, then fill nulls and all remaining symbols from DoltHub; attach DoltHub period-end alignment",
    "events_per_symbol_year": {
      "mean_active_span_rate": 4.08,
      "expected": "approximately 4",
      "far_off_rule": "active-span rate <2 or >6, plus zero-event symbols",
      "far_off_count": 1,
      "far_off_symbols": [
        {
          "symbol": "SPCX",
          "events": 0,
          "events_per_year": 0.0
        }
      ]
    },
    "announcement_session": {
      "recognised_bmo_amc_or_during": 11520,
      "recognised_pct": 92.8,
      "reliable": true,
      "assessment": "usable"
    },
    "point_in_time_policy": "announce_date_plus_1_trading_day_for_all_events",
    "sue_scaling": {
      "primary": "eps_surprise_over_stdev_of_prior_8_surprises_min_4",
      "fallback_trigger": "paired event coverage <50% or symbols with >=8 paired events <50%",
      "fallback_needed": false,
      "fallback_name": "not_used"
    },
    "backfill": {
      "mode": "dolthub_public_bulk_clone",
      "window": {
        "from": "2020-01-22",
        "to": "2026-07-17"
      },
      "coverage_amendment": {
        "approved_by_user": true,
        "reason": "FMP free tier blocks historical bulk earnings",
        "original_start": "2016-01-04",
        "amended_announcement_start": "2020-01-22"
      },
      "source": {
        "repository": "https://www.dolthub.com/repositories/post-no-preference/earnings",
        "commit": "9n0et3hpj9j7vue8f3qsldon3qa5sdjj",
        "license": "CC-BY-SA-4.0",
        "upstream_provider_documented": false
      },
      "bulk_windows_total": 1,
      "bulk_windows_done": 1,
      "bulk_requests_logged_total": 1,
      "bulk_exports": 2,
      "calendar": {
        "raw_rows": 117482,
        "universe_rows_in_window": 12342,
        "deduped_rows_in_window": 12342,
        "duplicate_rows": 0,
        "restated_rows": 0
      },
      "eps_history": {
        "raw_rows": 165050,
        "universe_rows": 18515,
        "deduped_rows": 18515,
        "duplicate_rows": 0,
        "restated_rows": 0,
        "complete_actual_and_estimate": 18304
      },
      "pairing": {
        "method": "minimum-cost monotonic alignment per symbol",
        "allowed_announce_minus_period_end_days": [
          -14,
          90
        ],
        "matched_calendar_events": 12271,
        "unmatched_calendar_events": 71,
        "unmatched_periods_in_pairing_window": 538,
        "announce_minus_period_end_days": {
          "min": -10,
          "median": 30,
          "max": 89
        },
        "pre_2020_eps_history_use": "trailing_surprise_stdev_only; never treated as an announcement or live signal event"
      },
      "duplicate_rows_logged_total": 0,
      "restated_rows_logged_total": 940,
      "conflicting_existing_rows": 940,
      "conflicting_existing_fields": 1526,
      "preserved_existing_fields": 2945,
      "existing_enrichment_events_not_in_dolthub_calendar": 72,
      "dedupe_policy": "UNIQUE(symbol, announce_date); normalise dot/dash symbols; retain one calendar row per key; preserve existing non-null session/EPS values from the prior FMP/Alpha Vantage partial backfill, then fill nulls and all remaining symbols from DoltHub; attach DoltHub period-end alignment",
      "events_in_window": 12414,
      "events_with_actual_and_estimate": 12311,
      "symbols_done": 506,
      "symbols_universe": 506,
      "symbols_with_dolthub_calendar": 504,
      "symbols_without_dolthub_calendar": [
        "RHM",
        "SPCX"
      ],
      "announce_date_range": {
        "min": "2020-01-22",
        "max": "2026-07-17"
      },
      "complete": true
    }
  },
  "production_impact": "none",
  "experiment": "2a",
  "result": {
    "verdict": "INFORMATIONAL",
    "costs": {
      "per_side": 0.001,
      "r_is_net_of_round_trip_costs": true
    },
    "closed_trades": 574,
    "q1_loss_concentration": {
      "loss_definition": "realized_net_R <= -1.0",
      "holding_period_definition": "announcement strictly after entry and before exit",
      "losses_count": 266,
      "losses_with_announcement_count": 23,
      "losses_with_announcement_fraction": 0.0865,
      "all_trades_with_announcement_count": 115,
      "all_trades_with_announcement_fraction": 0.2003
    },
    "q2_entries_within_3_trading_days_before_announcement": {
      "pre_earnings": {
        "count": 27,
        "mean_r": 0.4837,
        "median_r": -1.0265,
        "win_rate": 0.3333,
        "p05_r": -1.1463,
        "p95_r": 5.981,
        "min_r": -1.2449,
        "max_r": 8.8996
      },
      "all_other_entries": {
        "count": 547,
        "mean_r": 0.2734,
        "median_r": -0.8316,
        "win_rate": 0.3565,
        "p05_r": -1.1228,
        "p95_r": 4.5888,
        "min_r": -6.0161,
        "max_r": 19.98
      },
      "tail_deltas_pre_minus_other": {
        "p05_r": -0.0235,
        "p95_r": 1.3922
      },
      "directional_tail_condition_present": false,
      "tail_read": "Registered directional tail condition is not present."
    },
    "q3_stop_exits_within_1_trading_day_after_announcement": {
      "stops_after_earnings": {
        "count": 26,
        "mean_r": -0.6434,
        "median_r": -0.9753,
        "win_rate": 0.2308,
        "p05_r": -2.4614,
        "p95_r": 1.1142,
        "min_r": -2.6413,
        "max_r": 1.7012
      },
      "all_other_stops": {
        "count": 433,
        "mean_r": -0.5035,
        "median_r": -1.0278,
        "win_rate": 0.1963,
        "p05_r": -1.1373,
        "p95_r": 1.3591,
        "min_r": -6.0161,
        "max_r": 19.98
      },
      "all_other_exits": {
        "count": 548,
        "mean_r": 0.3273,
        "median_r": -0.8361,
        "win_rate": 0.3613,
        "p05_r": -1.0644,
        "p95_r": 4.7224,
        "min_r": -6.0161,
        "max_r": 19.98
      }
    },
    "implementation": "REPORT_ONLY_NO_FILTER_ARM_NO_FILTER_CHANGE",
    "analysis_window": {
      "from": "2020-01-22",
      "to": "2026-07-17",
      "rule": "entry_on_or_after_start_and_exit_on_or_before_end",
      "simulation_trades_total": 574,
      "trades_excluded_outside_earnings_coverage": 0
    },
    "run_config": {
      "universe_symbols": 505,
      "fill_mode": "close",
      "cost_per_side": 0.001,
      "momentum_cutoff": 80.0,
      "exit_policy": "atr_trail3",
      "hold_days": 30,
      "max_positions": 10,
      "risk_per_trade": 0.01
    },
    "sim_summary": {
      "start_date": "2020-01-22",
      "end_date": "2026-07-13",
      "trades": 574,
      "sharpe": 1.03,
      "cagr_pct": 22.9,
      "max_drawdown_pct": 26.6,
      "total_return_pct": 280.6
    }
  }
}
