{
  "date": "2026-07-22",
  "generated_at_utc": "2026-07-22T14:59:12.947292+00:00",
  "macro_regime": "oil_geopolitical_shock",
  "regime_confidence": 63,
  "primary_driver": "Energy/geopolitical premium",
  "event_risk_score": 32,
  "guardrail_mode": "hard",
  "hmm_regime": {
    "dominant_state": "bull_trend",
    "posteriors": {
      "bull_trend": 0.6219,
      "bear_trend": 0.0232,
      "chop_rotation": 0.1822,
      "vol_shock": 0.1727
    },
    "n_sessions_trained": 7
  },
  "prediction": {
    "directional_call": "neutral",
    "confidence": 42,
    "key_drivers": [
      "Copper strength supports cyclical/growth confirmation",
      "Overnight DAX/Nikkei/Hang Seng tone supports global risk appetite",
      "VIX elevated/watchful at 17.29",
      "SKEW 151.66 shows tail-risk hedging demand"
    ],
    "falsification_conditions": [
      "Sustained two-bar close above R1 or below S1 with cross-asset confirmation required",
      "Large surprise delta or Fed headline would shift posture"
    ],
    "surprise_deltas_used": [],
    "guardrail_applied": true
  },
  "surprise_deltas": [],
  "factor_weights_applied": {
    "vol_vix": 0.4,
    "vol_skew": 0.4,
    "commodity_wti": 0.4
  },
  "similar_sessions": [
    {
      "date": "2026-07-21",
      "regime": "oil_geopolitical_shock",
      "event_risk_score": 32,
      "event_risk_bucket": "low",
      "cross_state": "risk_warning",
      "bull_score": 3.0,
      "warn_score": 6.0,
      "directional_call": "bearish",
      "actual_direction": "bullish",
      "net_points": 15.75,
      "trend_day": true,
      "accuracy": "incorrect",
      "lesson": "Incorporate stronger weight to technical indicators and earnings reports in similar setups.",
      "dominant_factors": [
        "Unexpected positive sentiment in equity markets",
        "Technical buying driven by key support levels holding"
      ],
      "guardrail_mode": "caution"
    },
    {
      "date": "2026-07-21",
      "regime": "oil_geopolitical_shock",
      "event_risk_score": 32,
      "event_risk_bucket": "low",
      "cross_state": "risk_warning",
      "bull_score": 3.0,
      "warn_score": 6.0,
      "directional_call": "bearish",
      "actual_direction": "bullish",
      "net_points": 15.75,
      "trend_day": true,
      "accuracy": "incorrect",
      "lesson": "Incorporate momentum indicators and earnings surprises more heavily in the presence of mixed sentiment signals.",
      "dominant_factors": [
        "Unexpected positive sentiment in equity markets",
        "Technical breakout in key indices"
      ],
      "guardrail_mode": "caution"
    },
    {
      "date": "2026-07-21",
      "regime": "oil_geopolitical_shock",
      "event_risk_score": 32,
      "event_risk_bucket": "low",
      "cross_state": "risk_warning",
      "bull_score": 3.0,
      "warn_score": 6.0,
      "directional_call": "bearish",
      "actual_direction": "bullish",
      "net_points": 15.75,
      "trend_day": true,
      "accuracy": "incorrect",
      "lesson": "Incorporate real-time geopolitical developments and technical support/resistance levels more dynamically in future predictions.",
      "dominant_factors": [
        "Unexpected easing of geopolitical tensions",
        "Technical buying after key support levels held"
      ],
      "guardrail_mode": "caution"
    }
  ],
  "day_trading_framework": {
    "premarket_question": "Is there a Tier-1 catalyst today, or is the session driven by overnight global/rates/FX/commodity flows?",
    "tier1_catalysts": [],
    "surprise_delta_formula": "actual_print_minus_consensus_expectation",
    "surprise_delta_rule": "Do not trade the headline alone; compare actual vs consensus, then confirm through 10Y/ZB/ZN, DXY, VIX/VVIX/SKEW, and ES/NQ reclaim or rejection.",
    "expectation_framing": "Classify every catalyst as priced-in, anticipated, or true surprise before assigning trend odds.",
    "dealer_vol_regime": {
      "regime": "positive_gamma_proxy",
      "data_status": "SqueezeMetrics daily SPX DIX/GEX integrated; direct ES/NQ intraday GEX still not integrated.",
      "dix": 0.4515198425825282,
      "gex": 4771688928.19,
      "playbook": "Positive daily SPX GEX supports range suppression; favor confirmation and fades unless catalysts break the range."
    },
    "decision_mode": "guardrail_hard_overnight_global_driver_and_level_confirmation",
    "execution_rules": [
      "Harmonized bullish: cooler inflation or constructive growth plus falling yields, weaker DXY, VIX crush, then buy first pullback/retest above VWAP or key pivot.",
      "Harmonized bearish: hot inflation/hawkish Fed/weak growth plus rising yields, stronger DXY, VIX expansion, then short retest failures below VWAP/opening range or S1.",
      "Divergence/trap: if ES/NQ spike but 10Y/DXY/VIX refuse to confirm, do not chase; wait for structure break back toward pre-news origin.",
      "Inline/mixed print: expect stop runs and value-area mean reversion; fade extremes unless negative-gamma proxy confirms breakout volatility."
    ],
    "event_risk_score": 32
  },
  "data_source_status": [
    {
      "name": "ES",
      "source": "Yahoo Finance chart API",
      "symbol": "ES=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 7535.75,
      "updated_at_utc": "2026-07-22T14:59:04.967882+00:00",
      "notes": "5D change: -1.04%"
    },
    {
      "name": "NQ",
      "source": "Yahoo Finance chart API",
      "symbol": "NQ=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 29224.25,
      "updated_at_utc": "2026-07-22T14:59:05.013563+00:00",
      "notes": "5D change: -1.58%"
    },
    {
      "name": "YM",
      "source": "Yahoo Finance chart API",
      "symbol": "YM=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 52499.0,
      "updated_at_utc": "2026-07-22T14:59:05.061043+00:00",
      "notes": "5D change: -0.76%"
    },
    {
      "name": "RTY",
      "source": "Yahoo Finance chart API",
      "symbol": "RTY=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 2974.2,
      "updated_at_utc": "2026-07-22T14:59:05.099293+00:00",
      "notes": "5D change: -0.59%"
    },
    {
      "name": "VIX",
      "source": "Yahoo Finance chart API",
      "symbol": "^VIX",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 17.29,
      "updated_at_utc": "2026-07-22T14:59:05.162335+00:00",
      "notes": "5D change: 10.34%"
    },
    {
      "name": "VVIX",
      "source": "Yahoo Finance chart API",
      "symbol": "^VVIX",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 98.39,
      "updated_at_utc": "2026-07-22T14:59:05.232251+00:00",
      "notes": "5D change: 7.12%"
    },
    {
      "name": "SKEW",
      "source": "Yahoo Finance chart API",
      "symbol": "^SKEW",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 151.66,
      "updated_at_utc": "2026-07-22T14:59:05.270321+00:00",
      "notes": "5D change: 4.50%"
    },
    {
      "name": "WTI",
      "source": "Yahoo Finance chart API",
      "symbol": "CL=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 86.79,
      "updated_at_utc": "2026-07-22T14:59:05.338989+00:00",
      "notes": "5D change: 9.03%"
    },
    {
      "name": "GOLD",
      "source": "Yahoo Finance chart API",
      "symbol": "GC=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 4153.9,
      "updated_at_utc": "2026-07-22T14:59:05.388445+00:00",
      "notes": "5D change: 2.72%"
    },
    {
      "name": "SI",
      "source": "Yahoo Finance chart API",
      "symbol": "SI=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 60.565,
      "updated_at_utc": "2026-07-22T14:59:05.461686+00:00",
      "notes": "5D change: 6.05%"
    },
    {
      "name": "COPPER",
      "source": "Yahoo Finance chart API",
      "symbol": "HG=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 6.5015,
      "updated_at_utc": "2026-07-22T14:59:05.526844+00:00",
      "notes": "5D change: 3.30%"
    },
    {
      "name": "10Y",
      "source": "Yahoo Finance chart API",
      "symbol": "^TNX",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 4.657,
      "updated_at_utc": "2026-07-22T14:59:05.589503+00:00",
      "notes": "5D change: 2.46%"
    },
    {
      "name": "ZN",
      "source": "Yahoo Finance chart API",
      "symbol": "ZN=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 108.421875,
      "updated_at_utc": "2026-07-22T14:59:05.653123+00:00",
      "notes": "5D change: -0.80%"
    },
    {
      "name": "ZB",
      "source": "Yahoo Finance chart API",
      "symbol": "ZB=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 110.125,
      "updated_at_utc": "2026-07-22T14:59:05.693013+00:00",
      "notes": "5D change: -0.98%"
    },
    {
      "name": "ZF",
      "source": "Yahoo Finance chart API",
      "symbol": "ZF=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 106.1406,
      "updated_at_utc": "2026-07-22T14:59:05.731476+00:00",
      "notes": "5D change: -0.62%"
    },
    {
      "name": "ZT",
      "source": "Yahoo Finance chart API",
      "symbol": "ZT=F",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 102.78125,
      "updated_at_utc": "2026-07-22T14:59:05.775532+00:00",
      "notes": "5D change: -0.31%"
    },
    {
      "name": "DXY",
      "source": "Yahoo Finance chart API",
      "symbol": "DX-Y.NYB",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 101.101,
      "updated_at_utc": "2026-07-22T14:59:05.828080+00:00",
      "notes": "5D change: 0.60%"
    },
    {
      "name": "USDJPY",
      "source": "Yahoo Finance chart API",
      "symbol": "JPY=X",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 163.09,
      "updated_at_utc": "2026-07-22T14:59:05.898307+00:00",
      "notes": "5D change: 0.56%"
    },
    {
      "name": "EURUSD",
      "source": "Yahoo Finance chart API",
      "symbol": "EURUSD=X",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 1.1414,
      "updated_at_utc": "2026-07-22T14:59:05.980046+00:00",
      "notes": "5D change: -0.09%"
    },
    {
      "name": "GBPUSD",
      "source": "Yahoo Finance chart API",
      "symbol": "GBPUSD=X",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 1.3377,
      "updated_at_utc": "2026-07-22T14:59:06.049941+00:00",
      "notes": "5D change: -0.15%"
    },
    {
      "name": "SPX",
      "source": "Yahoo Finance chart API",
      "symbol": "^GSPC",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 7505.15,
      "updated_at_utc": "2026-07-22T14:59:06.105369+00:00",
      "notes": "5D change: -0.89%"
    },
    {
      "name": "DAX",
      "source": "Yahoo Finance chart API",
      "symbol": "^GDAXI",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 25163.37,
      "updated_at_utc": "2026-07-22T14:59:06.144378+00:00",
      "notes": "5D change: 0.66%"
    },
    {
      "name": "NIKKEI",
      "source": "Yahoo Finance chart API",
      "symbol": "^N225",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 66115.6,
      "updated_at_utc": "2026-07-22T14:59:06.219056+00:00",
      "notes": "5D change: -2.40%"
    },
    {
      "name": "HANG_SENG",
      "source": "Yahoo Finance chart API",
      "symbol": "^HSI",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 24892.66,
      "updated_at_utc": "2026-07-22T14:59:06.349993+00:00",
      "notes": "5D change: 0.86%"
    },
    {
      "name": "USD economic calendar",
      "source": "ForexFactory public widget feed",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 2,
      "updated_at_utc": null,
      "notes": "High/medium impact events filtered into catalyst board; 0 actual values present."
    },
    {
      "name": "Fed/news sentiment",
      "source": "Federal Reserve RSS plus Alpha Vantage NEWS_SENTIMENT when key is present",
      "cadence": "queried at report publish time",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 11,
      "updated_at_utc": null,
      "notes": "Used for Fed, geopolitical, oil, and risk-language checks."
    },
    {
      "name": "RRP",
      "source": "FRED official REST API",
      "symbol": "RRPONTSYD",
      "cadence": "daily",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 0.275,
      "updated_at_utc": "2026-07-22T14:59:11.822076+00:00",
      "notes": "Overnight Reverse Repurchase Agreements"
    },
    {
      "name": "TGA",
      "source": "FRED official REST API",
      "symbol": "WTREGEN",
      "cadence": "weekly",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 756218.0,
      "updated_at_utc": "2026-07-22T14:59:12.367988+00:00",
      "notes": "Treasury General Account"
    },
    {
      "name": "FED_BALANCE_SHEET",
      "source": "FRED official REST API",
      "symbol": "WALCL",
      "cadence": "weekly",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 6743028.0,
      "updated_at_utc": "2026-07-22T14:59:12.586799+00:00",
      "notes": "Fed total assets"
    },
    {
      "name": "BANK_RESERVES",
      "source": "FRED official REST API",
      "symbol": "WRESBAL",
      "cadence": "weekly",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 3142721.0,
      "updated_at_utc": "2026-07-22T14:59:12.865695+00:00",
      "notes": "Reserve balances with Federal Reserve Banks"
    },
    {
      "name": "SPX DIX/GEX dealer-flow proxy",
      "source": "SqueezeMetrics public DIX CSV",
      "symbol": "SPX DIX/GEX",
      "cadence": "daily after market close",
      "used_in_analysis": true,
      "status": "fresh",
      "latest_value": 4.77168892819,
      "updated_at_utc": "2026-07-22T14:59:12.940660+00:00",
      "notes": "DIX 45.15%, GEX $4.77B on 2026-07-21"
    },
    {
      "name": "Direct ES/NQ intraday dealer GEX",
      "source": "vendor required",
      "cadence": "intraday",
      "used_in_analysis": false,
      "status": "source_needed",
      "latest_value": null,
      "updated_at_utc": null,
      "notes": "SqueezeMetrics adds daily SPX aggregate GEX/DIX; direct ES/NQ intraday gamma still needs a vendor."
    },
    {
      "name": "Market breadth internals",
      "source": "exchange/vendor required",
      "cadence": "intraday",
      "used_in_analysis": false,
      "status": "source_needed",
      "latest_value": null,
      "updated_at_utc": null,
      "notes": "YM/RTY provide index participation proxy, not true ADD/TICK breadth."
    },
    {
      "name": "True futures CVD/order flow",
      "source": "broker/platform feed required",
      "cadence": "intraday",
      "used_in_analysis": false,
      "status": "source_needed",
      "latest_value": null,
      "updated_at_utc": null,
      "notes": "Post-market feedback uses a Yahoo volume proxy only."
    },
    {
      "name": "Fed funds futures path",
      "source": "CME/FedWatch or rates data vendor required",
      "cadence": "daily/intraday",
      "used_in_analysis": false,
      "status": "source_needed",
      "latest_value": null,
      "updated_at_utc": null,
      "notes": "Calendar and 10Y/ZB/ZN currently proxy policy-rate sensitivity."
    }
  ],
  "catalyst_board": [
    {
      "event": "President Trump Speaks",
      "time": "2026-07-22T15:00:00-04:00",
      "importance": "Medium",
      "category": "macro",
      "forecast": null,
      "previous": null,
      "actual": null,
      "priced_in_view": "Market will price the release through rates, dollar, and volatility response.",
      "bullish_surprise": "Risk-positive reaction requires ES/NQ confirmation, not just a headline beat.",
      "bearish_surprise": "Risk-negative reaction matters most if VIX, yields, or DXY confirm it.",
      "es_impact": "moderate",
      "nq_impact": "moderate",
      "trade_window_rule": "Reduce size around release; require price confirmation."
    },
    {
      "event": "Unemployment Claims",
      "time": "2026-07-23T08:30:00-04:00",
      "importance": "Medium",
      "category": "labor",
      "forecast": "211K",
      "previous": "208K",
      "actual": null,
      "priced_in_view": "Market wants labor cooling without an abrupt growth scare.",
      "bullish_surprise": "Orderly cooling supports soft-landing/rate-cut optionality.",
      "bearish_surprise": "Too-hot labor pushes yields higher; too-weak labor can flip into growth fear.",
      "es_impact": "moderate",
      "nq_impact": "moderate",
      "trade_window_rule": "Reduce size around release; require price confirmation."
    }
  ],
  "cross_asset_confirmation": {
    "risk_confirmation": "risk_warning",
    "bullish_support": [
      "Copper strength supports cyclical/growth confirmation",
      "Overnight DAX/Nikkei/Hang Seng tone supports global risk appetite",
      "ES constructive_inside_range",
      "NQ constructive_inside_range"
    ],
    "bearish_warnings": [
      "VIX elevated/watchful at 17.29",
      "SKEW 151.66 shows tail-risk hedging demand",
      "10Y yield is rising on a 5D basis",
      "DXY strength is a headwind for risk appetite",
      "WTI is carrying an inflation/geopolitical premium",
      "Gold strength with firm yields can indicate inflation or safe-haven demand",
      "Recent headlines include geopolitical risk language"
    ],
    "bull_weighted_score": 4.0,
    "warn_weighted_score": 5.2
  },
  "scenario_tree": [
    {
      "name": "Bull Continuation",
      "probability": 35,
      "trigger": "Two 5m closes above ES/NQ R1 with vol and cross-asset confirmation.",
      "model_posture": "trend_following_allowed",
      "avoid": "Do not buy the first touch through resistance without retest acceptance."
    },
    {
      "name": "Base Chop",
      "probability": 46,
      "trigger": "ES/NQ hold between S1 and R1 while catalysts remain unresolved.",
      "model_posture": "mean_reversion_preferred",
      "avoid": "Avoid oversizing in the middle of the range."
    },
    {
      "name": "Bear Reversal",
      "probability": 19,
      "trigger": "Loss of S1 with VIX/rates/DXY confirming risk-off pressure.",
      "model_posture": "short_retest_failures",
      "avoid": "Avoid fading downside if breadth and vol expand together."
    }
  ],
  "futures_playbook": {
    "ES": {
      "bias": "constructive_inside_range",
      "best_long_setup": "Acceptance above ES R1 7,575.50 with NQ and vol confirmation.",
      "best_short_setup": "Failed reclaim or loss of ES S1 7,494.50 with VIX/rates confirming.",
      "confirmation_required": true,
      "macro_risk_modifier": 1.0,
      "do_not_trade_windows": []
    },
    "NQ": {
      "bias": "constructive_inside_range",
      "best_long_setup": "NQ R1 29,553.50 reclaim after rates stabilize.",
      "best_short_setup": "NQ S1 28,889.75 failure while 10Y/DXY firm.",
      "confirmation_required": true,
      "macro_risk_modifier": 1.0,
      "do_not_trade_windows": []
    }
  },
  "model_feed": {
    "session_type": "level_driven_day",
    "risk_bias": "neutral",
    "event_risk_score": 32,
    "breakout_quality_score": 40,
    "mean_reversion_quality_score": 54,
    "trend_day_probability": 35,
    "chop_day_probability": 46,
    "reversal_probability": 19,
    "trade_permission": "confirmation_required"
  }
}
