{
  "schema": "quantiv.research-snapshot.v1",
  "kind": "symbol_research",
  "source": {
    "symbol": "BAC",
    "as_of_date": "2026-09-30",
    "forecast_receipt_id": "sha256:3db03b17a45f7d9a749540cab764007049566e003ecbbdc7f99245eacfd9e871",
    "forecast_validated_at": "2026-10-16T11:53:08.138496+00:00",
    "forecast_quality": "passed",
    "control_generated_at": "2026-10-16T12:14:35.648573+00:00",
    "control_status": "failed",
    "publication_eligible": false
  },
  "decision_scope": "end_of_day_research",
  "live_trading_eligible": false,
  "live_quote_overlay_included": false,
  "spot_updated_prediction_included": false,
  "research": {
    "symbol": "BAC",
    "as_of_date": "2026-09-30",
    "spot_price": 55,
    "expected_move": {
      "earnings_date": "2026-10-14",
      "timing": "bmo",
      "expiration": "2026-10-16",
      "dte": 16,
      "lead_time_days": 14,
      "atm_strike": 55,
      "atm_iv": 0.3147,
      "straddle_abs": 2.91,
      "straddle_pct": 0.052909,
      "iv_pct": 0.065889,
      "em_ml_pct": 0.031947,
      "em_ml_abs": 1.738875,
      "model_horizon": 14,
      "ml_snapshot_date": "2026-09-30",
      "p10": 0.007576,
      "p25": 0.02076,
      "p50": 0.032176,
      "p75": 0.048752,
      "p90": 0.064889,
      "em_method": "ml_lightgbm",
      "display_forecast_pct": 0.031947,
      "display_forecast_method": "ml",
      "display_forecast_as_of": "2026-09-30",
      "ml_status": "available",
      "options_status": "decision_eligible",
      "forecast_frozen": true,
      "forecast_id": "911e9253d0da672fd3240ff0279edefe610c0ae582f97d342c6a880ed44623d6",
      "forecast_model_bundle_id": "4d1ab76dc3401072f1c9a809c71aa76d0c905e5117f7d98d31928219a79a8b78",
      "forecast_scored_at": "2026-10-01T06:41:03.752995+00:00",
      "forecast_published_at": "2026-10-01T08:08:33.491438+00:00",
      "forecast_feature_cutoff_at": "2026-10-13T20:00:00+00:00",
      "forecast_prediction_deadline_at": "2026-10-14T04:00:00+00:00",
      "forecast_feature_snapshot_at": "2026-09-30T20:00:00+00:00",
      "forecast_feature_hash": "39793203940e4737e584734aa5ea9b8379da64396a4c9ebb99c110b40f7790c7",
      "forecast_frozen_eligible": true
    },
    "straddle_features": [
      {
        "expiration": "2026-10-16",
        "dte": 16,
        "atm_strike": 55,
        "atm_iv": 0.3147,
        "atm_call_iv": 0.314,
        "atm_put_iv": 0.3154,
        "straddle_mid": 2.91,
        "em_straddle": 2.91,
        "em_straddle_pct": 0.052909,
        "em_iv": 3.623873,
        "em_iv_pct": 0.065889,
        "call_delta": 0.4673,
        "call_gamma": 0.1112,
        "call_vega": 0.0453,
        "call_theta": -0.049
      },
      {
        "expiration": "2026-10-30",
        "dte": 30,
        "atm_strike": 55,
        "atm_iv": 0.2819,
        "atm_call_iv": 0.2853,
        "atm_put_iv": 0.2785,
        "straddle_mid": 3.555,
        "em_straddle": 3.555,
        "em_straddle_pct": 0.064636,
        "em_iv": 4.445002,
        "em_iv_pct": 0.080818,
        "call_delta": 0.4838,
        "call_gamma": 0.0895,
        "call_vega": 0.0622,
        "call_theta": -0.0328
      },
      {
        "expiration": "2026-11-20",
        "dte": 51,
        "atm_strike": 55,
        "atm_iv": 0.26185,
        "atm_call_iv": 0.2635,
        "atm_put_iv": 0.2602,
        "straddle_mid": 4.3,
        "em_straddle": 4.3,
        "em_straddle_pct": 0.078182,
        "em_iv": 5.383366,
        "em_iv_pct": 0.097879,
        "call_delta": 0.5044,
        "call_gamma": 0.0744,
        "call_vega": 0.0812,
        "call_theta": -0.0243
      }
    ],
    "earnings_history": [
      {
        "date": "2026-10-14",
        "timing": "before_market_open",
        "q": "Q3 26",
        "fiscal_year": 2026,
        "fiscal_q": "Q3",
        "actual": null,
        "implied": null,
        "implied_as_of": null,
        "implied_expiration": null,
        "implied_dte": null,
        "implied_lead_days": null,
        "implied_atm_strike": null,
        "implied_straddle_abs": null,
        "implied_atm_iv": null,
        "implied_quality_status": null,
        "eps_actual": null,
        "eps_estimate": 1.1941,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": 31530779111,
        "rev_surprise_pct": null,
        "realized_target_protocol": null,
        "realized_label_source": null,
        "em_ml_pct": 0.031947,
        "em_ml_abs": 1.738875,
        "model_horizon": 14,
        "ml_snapshot_date": "2026-09-30",
        "forecast_id": "911e9253d0da672fd3240ff0279edefe610c0ae582f97d342c6a880ed44623d6",
        "forecast_model_bundle_id": "4d1ab76dc3401072f1c9a809c71aa76d0c905e5117f7d98d31928219a79a8b78",
        "forecast_scored_at": "2026-10-01T06:41:03.752995+00:00",
        "forecast_published_at": "2026-10-01T08:08:33.491438+00:00",
        "forecast_feature_cutoff_at": "2026-10-13T20:00:00+00:00",
        "forecast_prediction_deadline_at": "2026-10-14T04:00:00+00:00",
        "forecast_feature_snapshot_at": "2026-09-30T20:00:00+00:00",
        "forecast_feature_hash": "39793203940e4737e584734aa5ea9b8379da64396a4c9ebb99c110b40f7790c7",
        "forecast_frozen_eligible": true,
        "p10": 0.007576,
        "p25": 0.02076,
        "p50": 0.032176,
        "p75": 0.048752,
        "p90": 0.064889,
        "display_forecast_pct": 0.031947,
        "display_forecast_method": "ml",
        "display_forecast_as_of": "2026-09-30",
        "ml_status": "available",
        "options_status": "unavailable",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2026-07-14",
        "timing": "bmo",
        "q": "Q2 26",
        "fiscal_year": 2026,
        "fiscal_q": "Q2",
        "actual": 0.018824,
        "implied": 0.043644,
        "implied_as_of": "2026-07-13",
        "implied_expiration": "2026-07-24",
        "implied_dte": 11,
        "implied_lead_days": 1,
        "implied_atm_strike": 59,
        "implied_straddle_abs": 2.575,
        "implied_atm_iv": 0.30715,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": 1.21,
        "eps_estimate": 1.1428,
        "eps_surprise_pct": 0.058803,
        "revenue_actual": 31721000000,
        "revenue_estimate": 31029300436,
        "rev_surprise_pct": 0.022292,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.053321,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2026-07-13",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2026-04-15",
        "timing": "bmo",
        "q": "Q1 26",
        "fiscal_year": 2026,
        "fiscal_q": "Q1",
        "actual": 0.018182,
        "implied": 0.047963,
        "implied_as_of": "2026-04-14",
        "implied_expiration": "2026-05-01",
        "implied_dte": 17,
        "implied_lead_days": 1,
        "implied_atm_strike": 54,
        "implied_straddle_abs": 2.59,
        "implied_atm_iv": 0.27485,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.059316,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2026-04-14",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2026-01-14",
        "timing": "bmo",
        "q": "Q4 25",
        "fiscal_year": 2025,
        "fiscal_q": "Q4",
        "actual": -0.03777,
        "implied": 0.04789,
        "implied_as_of": "2026-01-13",
        "implied_expiration": "2026-01-30",
        "implied_dte": 17,
        "implied_lead_days": 1,
        "implied_atm_strike": 54.5,
        "implied_straddle_abs": 2.61,
        "implied_atm_iv": 0.2771,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.059802,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2026-01-13",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2025-10-15",
        "timing": "bmo",
        "q": "Q3 25",
        "fiscal_year": 2025,
        "fiscal_q": "Q3",
        "actual": 0.043721,
        "implied": 0.058812,
        "implied_as_of": "2025-10-14",
        "implied_expiration": "2025-10-31",
        "implied_dte": 17,
        "implied_lead_days": 1,
        "implied_atm_strike": 50.5,
        "implied_straddle_abs": 2.97,
        "implied_atm_iv": 0.3387,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.073096,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2025-10-14",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2025-07-16",
        "timing": "bmo",
        "q": "Q2 25",
        "fiscal_year": 2025,
        "fiscal_q": "Q2",
        "actual": -0.0026,
        "implied": 0.0525,
        "implied_as_of": "2025-07-15",
        "implied_expiration": "2025-08-01",
        "implied_dte": 17,
        "implied_lead_days": 1,
        "implied_atm_strike": 46,
        "implied_straddle_abs": 2.415,
        "implied_atm_iv": 0.30335,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.065467,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2025-07-15",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2025-04-15",
        "timing": "bmo",
        "q": "Q1 25",
        "fiscal_year": 2025,
        "fiscal_q": "Q1",
        "actual": 0.035997,
        "implied": 0.064521,
        "implied_as_of": "2025-04-14",
        "implied_expiration": "2025-04-25",
        "implied_dte": 11,
        "implied_lead_days": 1,
        "implied_atm_strike": 36.5,
        "implied_straddle_abs": 2.355,
        "implied_atm_iv": 0.4627,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.080325,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2025-04-14",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2025-01-16",
        "timing": "bmo",
        "q": "Q4 24",
        "fiscal_year": 2024,
        "fiscal_q": "Q4",
        "actual": -0.009766,
        "implied": 0.048229,
        "implied_as_of": "2025-01-15",
        "implied_expiration": "2025-01-31",
        "implied_dte": 16,
        "implied_lead_days": 1,
        "implied_atm_strike": 48,
        "implied_straddle_abs": 2.315,
        "implied_atm_iv": 0.28005,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.058634,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2025-01-15",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2024-10-15",
        "timing": "bmo",
        "q": "Q3 24",
        "fiscal_year": 2024,
        "fiscal_q": "Q3",
        "actual": 0.005488,
        "implied": 0.043929,
        "implied_as_of": "2024-10-14",
        "implied_expiration": "2024-10-25",
        "implied_dte": 11,
        "implied_lead_days": 1,
        "implied_atm_strike": 42,
        "implied_straddle_abs": 1.845,
        "implied_atm_iv": 0.3159,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.05484,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2024-10-14",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2024-07-16",
        "timing": "bmo",
        "q": "Q2 24",
        "fiscal_year": 2024,
        "fiscal_q": "Q2",
        "actual": 0.053473,
        "implied": 0.041786,
        "implied_as_of": "2024-07-15",
        "implied_expiration": "2024-07-26",
        "implied_dte": 11,
        "implied_lead_days": 1,
        "implied_atm_strike": 42,
        "implied_straddle_abs": 1.755,
        "implied_atm_iv": 0.3012,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.052288,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2024-07-15",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2024-04-16",
        "timing": "bmo",
        "q": "Q1 24",
        "fiscal_year": 2024,
        "fiscal_q": "Q1",
        "actual": -0.035327,
        "implied": 0.046667,
        "implied_as_of": "2024-04-15",
        "implied_expiration": "2024-04-26",
        "implied_dte": 11,
        "implied_lead_days": 1,
        "implied_atm_strike": 36,
        "implied_straddle_abs": 1.68,
        "implied_atm_iv": 0.33665,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.058442,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2024-04-15",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      },
      {
        "date": "2024-01-12",
        "timing": "bmo",
        "q": "Q4 23",
        "fiscal_year": 2023,
        "fiscal_q": "Q4",
        "actual": -0.010558,
        "implied": 0.047761,
        "implied_as_of": "2024-01-10",
        "implied_expiration": "2024-01-26",
        "implied_dte": 16,
        "implied_lead_days": 2,
        "implied_atm_strike": 33.5,
        "implied_straddle_abs": 1.6,
        "implied_atm_iv": 0.2837,
        "implied_quality_status": "decision_eligible_eod",
        "eps_actual": null,
        "eps_estimate": null,
        "eps_surprise_pct": null,
        "revenue_actual": null,
        "revenue_estimate": null,
        "rev_surprise_pct": null,
        "realized_target_protocol": "quantiv.session-reaction.v2",
        "realized_label_source": "ohlcv_session_close",
        "display_forecast_pct": 0.059398,
        "display_forecast_method": "options_math",
        "display_forecast_as_of": "2024-01-10",
        "ml_status": "unavailable_event",
        "options_status": "decision_eligible",
        "fallback_reason": null,
        "forecast_frozen": true
      }
    ],
    "next_earnings": "2026-10-14",
    "vol_regime": {
      "iv_current": 0.284,
      "iv_rank": 0.483167,
      "iv_year_high": 0.393,
      "iv_year_low": 0.1821,
      "hv_current": 0.2329,
      "hv_rank": 0.552057,
      "iv_mom_week": 0.0066,
      "iv_mom_month": null
    },
    "next_earnings_timing": "bmo"
  },
  "snapshot_id": "sha256:42be9964b403ab6b56223f04786e4d6583a4cdfb424b87b5bbbbbf4424112f79"
}
