{
  "schema_version": "swing-input-1.0",
  "payload_kind": "template_not_market_data",
  "analysis": {
    "request_id": null,
    "evaluation_at": null,
    "generated_at": null,
    "horizon_trading_sessions": {
      "min": 1,
      "max": 3
    },
    "current_session": null
  },
  "instrument": {
    "symbol": "GLW",
    "name": "Corning Inc",
    "asset_type": "common_stock",
    "exchange_mic": "XNYS",
    "currency": "USD",
    "exchange_timezone": "America/New_York",
    "sector": null,
    "industry": null,
    "sector_etf": null,
    "exchange_name": null
  },
  "conventions": {
    "timestamps": "RFC3339 with explicit UTC offset; UTC Z preferred",
    "bar_interval": "[start,end)",
    "row_order": "ascending start; unique per timeframe and interval",
    "session_codes": {
      "PRE": "premarket",
      "RTH": "regular",
      "POST": "after-hours",
      "OVERNIGHT": "feed-defined overnight"
    },
    "trading_date": "exchange-calendar session date, not derived from UTC date",
    "price_unit": "USD_per_share",
    "volume_unit": "shares",
    "pct_unit": "percentage_points: 2.5 means 2.5 percent",
    "ratio_unit": "fraction_or_multiple: 0.25 is a fraction; RVOL 1.5 is 1.5x",
    "price_adjustment": "split_adjusted_to_evaluation_basis_not_dividend_adjusted",
    "volume_adjustment": "inverse_price_split_factor",
    "missing_value": null,
    "nan_and_infinity_allowed": false,
    "zero_denominator_policy": "null_with_unavailable_reason",
    "point_in_time_policy": "only source versions observed and available by evaluation_at; future scheduled events permitted if already announced"
  },
  "sources": {},
  "session_calendar": {
    "source_id": null,
    "observed_at": null,
    "exchange_timezone": "America/New_York",
    "sessions": [],
    "data_as_of": null,
    "availability": null,
    "next_session": {
      "date": null,
      "open_utc": null,
      "close_utc": null,
      "early_close": null,
      "status": null
    }
  },
  "corporate_actions": {
    "source_id": null,
    "observed_at": null,
    "adjustment_as_of": null,
    "records": [],
    "data_as_of": null,
    "availability": null
  },
  "quote": {
    "source_id": null,
    "observed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "last": null,
    "last_session": null,
    "last_trade_at": null,
    "bid": null,
    "bid_size_shares": null,
    "ask": null,
    "ask_size_shares": null,
    "nbbo_at": null,
    "spread": null,
    "spread_bps": null,
    "current_session_volume_shares": null,
    "previous_rth_close": null,
    "previous_rth_date": null,
    "halted": null,
    "quote_age_seconds": null
  },
  "ohlcv": {
    "1m": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "requested_window": "current and previous trading session; include relevant extended sessions",
      "session_filter": ["PRE", "RTH", "POST"],
      "aggregation": "session_open_anchored_no_cross_session_bars",
      "columns": ["start", "session", "open", "high", "low", "close", "volume", "complete"],
      "interval_seconds": 60,
      "rows": [],
      "coverage": {
        "first_start": null,
        "last_end": null,
        "last_complete_end": null,
        "expected_completed_bars": null,
        "received_completed_bars": null,
        "missing_intervals": [],
        "no_trade_intervals": [],
        "halt_intervals": [],
        "synthetic_bars_present": false
      }
    },
    "1h": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "requested_window": "60 completed trading sessions plus current session",
      "session_filter": ["PRE", "RTH", "POST"],
      "aggregation": "session_open_anchored_no_cross_session_bars",
      "columns": ["start", "end", "session", "open", "high", "low", "close", "volume", "complete"],
      "interval_seconds": 3600,
      "rows": [],
      "coverage": {
        "first_start": null,
        "last_end": null,
        "last_complete_end": null,
        "expected_completed_bars": null,
        "received_completed_bars": null,
        "missing_intervals": [],
        "no_trade_intervals": [],
        "halt_intervals": [],
        "synthetic_bars_present": false
      }
    },
    "1d": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "requested_window": "300 completed regular sessions plus current forming session",
      "session_filter": ["RTH"],
      "aggregation": "exchange_regular_session",
      "columns": ["start", "session", "open", "high", "low", "close", "volume", "complete"],
      "interval_seconds": 86400,
      "rows": [],
      "coverage": {
        "first_start": null,
        "last_end": null,
        "last_complete_end": null,
        "expected_completed_bars": null,
        "received_completed_bars": null,
        "missing_intervals": [],
        "no_trade_intervals": [],
        "halt_intervals": [],
        "synthetic_bars_present": false
      },
      "stale": null,
      "age_seconds": null
    }
  },
  "indicator_definitions": {
    "trend": {
      "sma": {
        "periods": [20, 50, 200],
        "input": "close"
      },
      "ema": {
        "timeframes": ["1d"],
        "periods": [9, 20, 50, 200],
        "input": "close",
        "alpha": "2/(period+1)",
        "seed": "first valid close (single-value seed), not an SMA seed — this is what the system computes (routes/watchlist._compute_signals)",
        "seed_note": "A single-value seed leaves a decaying bias that the SMA seed does not. It is immaterial for ema8/ema21 over the 220-bar window used, and visible in the third decimal for ema200. Consumers comparing against a textbook implementation should expect that difference rather than treat it as an error."
      },
      "adx_dmi": {
        "period": 14,
        "smoothing": "Wilder",
        "outputs": ["adx", "plus_di", "minus_di"]
      },
      "ema20_slope_5bars_pct": {
        "timeframes": ["1d"],
        "formula": "100*(ema21[t]/ema21[t-5]-1)"
      },
      "crossover": {
        "timeframes": ["1d"],
        "pairs": ["ema9_over_ema20", "ema20_over_ema50"],
        "fields": "state (above|below), candles_since (completed sessions since the last cross), direction (golden|death), no_cross_within_bars when the pair did not cross inside the window"
      }
    },
    "momentum": {
      "rsi": {
        "period": 14,
        "input": "close",
        "smoothing": "Wilder"
      },
      "cci": {
        "period": 20,
        "price": "HLC3",
        "dispersion": "mean_absolute_deviation",
        "constant": 0.015
      },
      "roc": {
        "periods": [5, 10, 20],
        "formula": "100*(close[t]/close[t-period]-1)"
      },
      "macd": {
        "fast": 12,
        "slow": 26,
        "signal": 9,
        "ma_type": "EMA",
        "histogram": "line-signal"
      }
    },
    "volatility": {
      "atr": {
        "period": 14,
        "smoothing": "Wilder",
        "true_range": "max(high-low,abs(high-prev_close),abs(low-prev_close))"
      },
      "atr_pct": {
        "formula": "100*ATR14/close"
      },
      "bollinger": {
        "period": 20,
        "ma_type": "SMA",
        "stdev_multiple": 2,
        "stdev_ddof": 0,
        "bandwidth_pct": "100*(upper-lower)/middle",
        "percent_b": "(close-lower)/(upper-lower)"
      },
      "realized_vol20_annualized_pct": {
        "timeframes": ["1d"],
        "formula": "100*stddev(last 20 close-to-close log returns,ddof=1)*sqrt(252)"
      }
    },
    "volume": {
      "obv": {
        "seed": 0,
        "rule": "add volume if close rises, subtract if falls, unchanged if equal",
        "anchor": "declared calculation_history_start"
      },
      "obv_change_5bars": {
        "formula": "OBV[t]-OBV[t-5]"
      },
      "cmf": {
        "period": 20,
        "formula": "sum(((2*close-high-low)/(high-low))*volume)/sum(volume)",
        "zero_high_low_policy": "money_flow_multiplier=0"
      },
      "volume_sma20": {
        "formula": "mean volume of previous 20 completed same-timeframe bars; exclude evaluated bar"
      },
      "bar_rvol20": {
        "formula": "evaluated completed bar volume / mean volume of previous 20 completed same-timeframe bars"
      },
      "obv_slope_20bars": {
        "formula": "ordinary least squares slope of last 20 OBV values",
        "units": "shares_per_bar"
      }
    },
    "relative_strength": {
      "excess_return_pp": {
        "formula": "asset_return_pct-benchmark_return_pct",
        "alignment": "identical start/end times, session filters and adjustment basis"
      },
      "ratio_sma20": {
        "formula": "SMA20(asset_close/benchmark_close)",
        "alignment": "matched completed 1d RTH bars"
      }
    },
    "vwap": {
      "session_rth": {
        "reset": "each RTH open",
        "input_interval": "1m",
        "price_proxy": "HLC3",
        "formula": "sum(HLC3*volume)/sum(volume)"
      },
      "session_extended": {
        "reset": "declared extended-session anchor",
        "input_interval": "1m",
        "price_proxy": "HLC3",
        "formula": "sum(HLC3*volume)/sum(volume)"
      },
      "anchored": {
        "reset": "explicit event anchor",
        "input_interval": "1m",
        "price_proxy": "HLC3",
        "formula": "sum(HLC3*volume)/sum(volume)"
      }
    }
  },
  "indicators": {
    "1m": {
      "source_id": null,
      "computed_at": null,
      "as_of_bar_end": null,
      "availability": "not_populated",
      "session_filter": ["PRE", "RTH", "POST"],
      "include_forming_bars": false,
      "reset_at_session_open": false,
      "calculation_history_start": null,
      "calculation_bars": null,
      "implementation": {
        "library": null,
        "version": null,
        "formula_spec_version": "swing-input-1.0",
        "warmup_passed": null
      },
      "snapshot": {
        "trend": {
          "ema9": null,
          "ema20": null,
          "sma20": null,
          "adx14": null,
          "plus_di14": null,
          "minus_di14": null
        },
        "momentum": {
          "rsi14": null,
          "cci20": null,
          "roc5_pct": null,
          "roc10_pct": null,
          "roc20_pct": null,
          "macd12_26": null,
          "macd_signal9": null,
          "macd_histogram": null
        },
        "volatility": {
          "atr14": null,
          "atr14_pct": null,
          "bb20_middle": null,
          "bb20_upper": null,
          "bb20_lower": null,
          "bb20_bandwidth_pct": null,
          "bb20_percent_b": null
        },
        "volume": {
          "obv": null,
          "obv_change_5bars": null,
          "obv_slope_20bars": null,
          "cmf20": null,
          "volume_sma20": null,
          "bar_rvol20": null,
          "bar_rvol20_basis": null
        }
      },
      "recent_history": {
        "columns": ["bar_end", "adx14", "rsi14", "cci20", "roc10_pct", "macd_histogram", "atr14", "bb20_bandwidth_pct", "obv", "cmf20"],
        "rows": [],
        "recommended_completed_observations": 20
      },
      "unavailable_fields": [],
      "observed_at": null,
      "data_as_of": null,
      "last_bar_session": null
    },
    "1h": {
      "source_id": null,
      "computed_at": null,
      "as_of_bar_end": null,
      "availability": "not_populated",
      "session_filter": ["PRE", "RTH", "POST"],
      "include_forming_bars": false,
      "reset_at_session_open": false,
      "calculation_history_start": null,
      "calculation_bars": null,
      "implementation": {
        "library": null,
        "version": null,
        "formula_spec_version": "swing-input-1.0",
        "warmup_passed": null
      },
      "snapshot": {
        "trend": {
          "ema9": null,
          "ema20": null,
          "ema50": null,
          "sma20": null,
          "sma50": null,
          "sma200": null,
          "adx14": null,
          "plus_di14": null,
          "minus_di14": null
        },
        "momentum": {
          "rsi14": null,
          "cci20": null,
          "roc5_pct": null,
          "roc10_pct": null,
          "roc20_pct": null,
          "macd12_26": null,
          "macd_signal9": null,
          "macd_histogram": null
        },
        "volatility": {
          "atr14": null,
          "atr14_pct": null,
          "bb20_middle": null,
          "bb20_upper": null,
          "bb20_lower": null,
          "bb20_bandwidth_pct": null,
          "bb20_percent_b": null
        },
        "volume": {
          "obv": null,
          "obv_change_5bars": null,
          "obv_slope_20bars": null,
          "cmf20": null,
          "volume_sma20": null,
          "bar_rvol20": null,
          "bar_rvol20_basis": null
        }
      },
      "recent_history": {
        "columns": ["bar_end", "adx14", "rsi14", "cci20", "roc10_pct", "macd_histogram", "atr14", "bb20_bandwidth_pct", "obv", "cmf20"],
        "rows": [],
        "recommended_completed_observations": 20
      },
      "unavailable_fields": [],
      "observed_at": null,
      "data_as_of": null,
      "last_bar_session": null
    },
    "1d": {
      "source_id": null,
      "computed_at": null,
      "as_of_bar_end": null,
      "availability": "not_populated",
      "session_filter": ["RTH"],
      "include_forming_bars": false,
      "reset_at_session_open": false,
      "calculation_history_start": null,
      "calculation_bars": null,
      "implementation": {
        "library": null,
        "version": null,
        "formula_spec_version": "swing-input-1.0",
        "warmup_passed": null
      },
      "snapshot": {
        "trend": {
          "ema9": null,
          "ema20": null,
          "ema50": null,
          "ema200": null,
          "sma20": null,
          "sma50": null,
          "sma200": null,
          "ema20_slope_5bars_pct": null,
          "adx14": null,
          "plus_di14": null,
          "minus_di14": null
        },
        "momentum": {
          "rsi14": null,
          "cci20": null,
          "roc5_pct": null,
          "roc10_pct": null,
          "roc20_pct": null,
          "macd12_26": null,
          "macd_signal9": null,
          "macd_histogram": null
        },
        "volatility": {
          "atr14": null,
          "atr14_pct": null,
          "bb20_middle": null,
          "bb20_upper": null,
          "bb20_lower": null,
          "bb20_bandwidth_pct": null,
          "bb20_percent_b": null,
          "realized_vol20_annualized_pct": null
        },
        "volume": {
          "obv": null,
          "obv_change_5bars": null,
          "obv_slope_20bars": null,
          "cmf20": null,
          "volume_sma20": null,
          "bar_rvol20": null
        },
        "crossover": {
          "ema9_over_ema20": {
            "state": null,
            "candles_since": null,
            "direction": null
          },
          "ema20_over_ema50": {
            "state": null,
            "candles_since": null,
            "direction": null
          }
        }
      },
      "recent_history": {
        "columns": ["bar_end", "ema9", "ema20", "adx14", "rsi14", "cci20", "roc10_pct", "macd_histogram", "atr14", "bb20_bandwidth_pct", "obv", "cmf20"],
        "rows": [],
        "recommended_completed_observations": 20
      },
      "unavailable_fields": [],
      "observed_at": null,
      "data_as_of": null
    }
  },
  "checklist": {
    "source_id": null,
    "observed_at": null,
    "availability": "not_populated",
    "last_price": null,
    "last_price_source": null,
    "_note": "How the last price sits against eight metrics on 1d/1h/1m. Computed in-house, not by a model. One entry per timeframe, each with eight checks in a fixed order; status is YES/NO/NA where NA means the input cannot answer it.",
    "timeframes": [],
    "data_as_of": null
  },
  "session_features": {
    "source_id": null,
    "computed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "trading_date": null,
    "previous_rth": {
      "trading_date": null,
      "high": null,
      "low": null,
      "close": null,
      "volume": null
    },
    "current_rth": {
      "open": null,
      "high_so_far": null,
      "low_so_far": null,
      "volume_so_far": null,
      "elapsed_minutes": null,
      "gap_from_previous_close_pct": null,
      "cumulative_rvol_same_time20": null,
      "rvol_baseline_sessions": null,
      "volume_window": null
    },
    "premarket": {
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "last": null,
      "volume": null,
      "complete": null
    },
    "after_hours": {
      "trading_date": null,
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "last": null,
      "volume": null,
      "complete": null,
      "availability": null
    },
    "overnight": {
      "trading_date": null,
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "last": null,
      "volume": null,
      "complete": null,
      "availability": null
    },
    "opening_range_5m": {
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "volume": null,
      "complete": null,
      "availability": null
    },
    "opening_range_15m": {
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "volume": null,
      "complete": null
    },
    "opening_range_30m": {
      "start": null,
      "end": null,
      "high": null,
      "low": null,
      "volume": null,
      "complete": null,
      "availability": null
    },
    "vwap": {
      "rth": null,
      "rth_anchor_at": null,
      "extended": null,
      "extended_anchor_at": null,
      "method": "1m_HLC3_volume_approximation",
      "anchored": []
    },
    "rvol_definition": "current RTH cumulative volume / mean RTH cumulative volume through the identical elapsed minute across previous 20 comparable completed sessions",
    "rvol_comparable_session_policy": "exclude halted sessions and sessions shorter than evaluated elapsed time; report actual baseline count",
    "observed_at": null
  },
  "price_structure": {
    "source_id": null,
    "computed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "pivot_confirmation": {
      "method": "fractal",
      "left_bars": 2,
      "right_bars": 2,
      "require_completed_right_bars": true,
      "note": null
    },
    "swings": {
      "note": "Confirmed fractal pivots, most recent first: {trading_date, kind (high|low), price, bars_ago}. Emptied in the agent context projection — the clustered levels below are the read.",
      "1m": [],
      "1h": [],
      "1d": []
    },
    "rolling_extremes": {
      "basis": "last N completed 1d RTH bars, exclude current forming day",
      "high20d": null,
      "low20d": null,
      "high60d": null,
      "low60d": null,
      "high252d": null,
      "low252d": null
    },
    "support_resistance": [],
    "volume_profile": {
      "source_id": null,
      "method": null,
      "window_start": null,
      "window_end": null,
      "session_filter": ["RTH"],
      "bin_size": null,
      "value_area_fraction": 0.7,
      "poc": null,
      "vah": null,
      "val": null,
      "nodes": [],
      "sessions": null
    },
    "pivots": {
      "method": null,
      "source_trading_date": null,
      "formula_version": null,
      "pp": null,
      "r1": null,
      "s1": null,
      "r2": null,
      "s2": null
    },
    "support_resistance_note": "Equal highs / lows: swing pivots clustered at ~the same price, which mark resting liquidity (stops above equal highs, below equal lows). Each level carries kind (equal_highs|equal_lows), price (cluster mean), touches, spread, most_recent_bars_ago, dates, tolerance and tolerance_basis. Tolerance is ATR-relative so the test means the same thing on a $5 and a $500 stock. A level needs 3 touches: with an ATR-width window two adjacent swings fall inside it by coincidence. Nearest-to-now first; an empty list is a real answer.",
    "market_structure": {
      "trend_dir": null,
      "sequence": [],
      "last_high": null,
      "last_low": null,
      "last_event": {
        "kind": null,
        "direction": null,
        "level": null,
        "trading_date": null,
        "bars_ago": null
      },
      "trend_dir_before_event": null,
      "trend_dir_basis": null
    },
    "market_structure_note": "HH/HL/LH/LL off the confirmed pivots in `swings`. Each pivot also carries its own `label`. trend_dir: up (HH+HL), down (LH+LL), broadening (HH+LL — the range is widening), contracting (LH+HL — it is narrowing). Broadening and contracting are NOT chop: calling them that discards the one thing a structure read is for. `sequence` is the last six labels, chronological. This is independent of structure_checks.higher_highs_lows / lower_highs_lows, which compare first- against second-half extremes over 20 sessions; when the two disagree the sequence is the finer instrument.",
    "structure_events": [],
    "structure_events_note": "BoS / CHoCh off the confirmed pivots, oldest-first. BoS (Break of Structure) is a CLOSE beyond the most recent swing in the direction structure already runs — continuation. CHoCh (Change of Character) is the first close beyond the OPPOSING swing — the character change that precedes a reversal. Each event carries kind, direction, level (the swing broken), trading_date, close and bars_ago. Close-based, not wick-based: a wick through and back is a liquidity sweep, a different event. A level breaks ONCE — later closes beyond it are not new events until a new swing forms past it. The first event in the window has no prior direction and is reported as BoS rather than guessed at as a reversal. market_structure.last_event repeats the most recent one.",
    "rsi_divergences": [],
    "rsi_divergences_note": "Price vs RSI14 at consecutive same-kind confirmed pivots. regular_bearish (price higher high, RSI lower high) and regular_bullish (price lower low, RSI higher low) are reversal signals; hidden_bearish and hidden_bullish are continuation. Each carries from/to {trading_date, price, rsi}, span_sessions, bars_ago, price_change_pct and rsi_change. Three guards, because this is the most false-positive-prone pattern here: the pivots must be within 40 sessions, RSI must differ by >= 3 points, and the PRICE legs must differ by more than the same ATR tolerance `support_resistance` uses — a pair that counts as an equal high cannot also be a higher high. Unguarded the median was 9 per symbol; guarded it is 2. Read price_change_pct: a divergence that clears the tolerance by a hair is a weak one.",
    "observed_at": null
  },
  "relative_strength": {
    "source_id": null,
    "computed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "return_basis": "completed RTH close-to-close on aligned split-adjusted price series; excludes dividends",
    "vs_spy": {
      "excess_return_3d_pp": null,
      "excess_return_5d_pp": null,
      "excess_return_10d_pp": null,
      "excess_return_20d_pp": null,
      "ratio": null,
      "ratio_sma20": null,
      "ratio_high20d": null,
      "beta60d": null,
      "correlation60d": null
    },
    "vs_sector": {
      "symbol": null,
      "excess_return_3d_pp": null,
      "excess_return_5d_pp": null,
      "excess_return_10d_pp": null,
      "excess_return_20d_pp": null,
      "ratio": null,
      "ratio_sma20": null
    },
    "observed_at": null
  },
  "market_context": {
    "benchmarks": {
      "SPY": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "session_filter": ["RTH"],
        "availability": "not_populated",
        "last": null,
        "session_return_pct": null,
        "return_1d_pct": null,
        "return_3d_pct": null,
        "return_5d_pct": null,
        "return_10d_pct": null,
        "return_20d_pct": null,
        "sma20": null,
        "sma50": null,
        "sma200": null,
        "ema21_slope_5bars_pct": null,
        "atr14_pct": null,
        "cumulative_rvol_same_time20": null
      },
      "QQQ": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "session_filter": ["RTH"],
        "availability": "not_populated",
        "last": null,
        "session_return_pct": null,
        "return_1d_pct": null,
        "return_3d_pct": null,
        "return_5d_pct": null,
        "return_10d_pct": null,
        "return_20d_pct": null,
        "sma20": null,
        "sma50": null,
        "sma200": null,
        "ema21_slope_5bars_pct": null,
        "atr14_pct": null,
        "cumulative_rvol_same_time20": null
      },
      "IWM": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "session_filter": ["RTH"],
        "availability": "not_populated",
        "last": null,
        "session_return_pct": null,
        "return_1d_pct": null,
        "return_3d_pct": null,
        "return_5d_pct": null,
        "return_10d_pct": null,
        "return_20d_pct": null,
        "sma20": null,
        "sma50": null,
        "sma200": null,
        "ema21_slope_5bars_pct": null,
        "atr14_pct": null,
        "cumulative_rvol_same_time20": null
      },
      "RSP": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "session_filter": ["RTH"],
        "availability": "not_populated",
        "last": null,
        "session_return_pct": null,
        "return_1d_pct": null,
        "return_3d_pct": null,
        "return_5d_pct": null,
        "return_10d_pct": null,
        "return_20d_pct": null,
        "sma20": null,
        "sma50": null,
        "sma200": null,
        "ema21_slope_5bars_pct": null,
        "atr14_pct": null,
        "cumulative_rvol_same_time20": null
      }
    },
    "sector_benchmark": {
      "symbol": null,
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "session_filter": ["RTH"],
      "availability": "not_populated",
      "last": null,
      "session_return_pct": null,
      "return_1d_pct": null,
      "return_3d_pct": null,
      "return_5d_pct": null,
      "return_10d_pct": null,
      "return_20d_pct": null,
      "sma20": null,
      "sma50": null,
      "sma200": null,
      "ema21_slope_5bars_pct": null,
      "atr14_pct": null,
      "cumulative_rvol_same_time20": null
    },
    "breadth": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "universe_id": null,
      "universe_membership_as_of": null,
      "coverage_fraction": null,
      "advancers": null,
      "decliners": null,
      "unchanged": null,
      "advance_decline_ratio": null,
      "up_volume_fraction": null,
      "pct_above_sma20": null,
      "pct_above_sma50": null,
      "pct_above_sma200": null,
      "new_highs_52w": null,
      "new_lows_52w": null
    },
    "volatility": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "vix": null,
      "vix_change_points": null,
      "vix_sma20": null,
      "vix3m": null,
      "vix_to_vix3m_ratio": null
    },
    "rates_credit": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_populated",
      "treasury_2y_yield_pct": null,
      "treasury_10y_yield_pct": null,
      "curve_10y_2y_pp": null,
      "hy_oas_bps": null,
      "hy_oas_change_5d_bps": null,
      "effective_fed_funds_pct": null,
      "dollar_index_return_5d_pct": null
    },
    "sector_rotation": [],
    "note": null
  },
  "fundamentals": {
    "source_id": null,
    "observed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "latest_quarter": {
      "fiscal_period": null,
      "period_end": null,
      "published_at": null,
      "filing_url": null,
      "accounting_basis": null,
      "reported_currency": null,
      "revenue": null,
      "revenue_yoy_pct": null,
      "gross_margin_pct": null,
      "operating_margin_pct": null,
      "eps_diluted": null,
      "eps_consensus": null,
      "eps_actual_reported": null,
      "eps_surprise_pct": null,
      "revenue_consensus": null,
      "revenue_surprise_pct": null,
      "net_income": null,
      "operating_cash_flow": null,
      "free_cash_flow": null,
      "availability": null
    },
    "ttm": {
      "period_end": null,
      "published_at": null,
      "revenue": null,
      "eps_diluted": null,
      "free_cash_flow": null,
      "net_debt": null,
      "cash": null,
      "net_debt_to_ebitda": null,
      "current_ratio": null,
      "forward_pe": null,
      "market_cap": null,
      "trailing_pe": null,
      "price_to_sales": null,
      "price_to_book": null,
      "dividend_yield_pct": null,
      "debt_to_equity": null
    },
    "revenue_segments": {
      "fiscal_year": null,
      "period_end": null,
      "product": [],
      "geographic": []
    },
    "guidance": [],
    "analyst_revisions": [],
    "material_developments": [],
    "next_earnings": {
      "scheduled_at": null,
      "date_precision": null,
      "release_session": null,
      "confirmed": null,
      "announced_at": null,
      "observed_at": null,
      "source_id": null,
      "eps_consensus": null,
      "revenue_consensus": null
    },
    "analyst_targets": {
      "status": null,
      "endpoint": null,
      "provided": null,
      "message": null
    }
  },
  "news": {
    "coverage_start": null,
    "coverage_end": null,
    "retrieved_at": null,
    "availability": "not_populated",
    "deduplication_method": "canonical URL plus event clustering",
    "symbol_scope": null,
    "sources": [],
    "item_fields": ["published_at", "retrieved_at", "source_id", "publisher", "headline", "summary", "url", "canonical_url", "symbols", "is_primary_symbol", "category", "sentiment", "sentiment_score", "relevance_score", "is_duplicate_of"],
    "sentiment_scale": "sentiment: negative | neutral | positive. sentiment_score: -1..1. Attention, not direction — a high count means the name is being talked about, never that the talk favours either side.",
    "counts": {
      "total_24h": null,
      "total_72h": null,
      "distinct_events_24h": null,
      "by_sentiment_24h": {
        "negative": null,
        "neutral": null,
        "positive": null
      }
    },
    "items": [],
    "source_id": null,
    "observed_at": null,
    "data_as_of": null
  },
  "events": {
    "retrieved_at": null,
    "coverage_start": null,
    "coverage_end": null,
    "availability": "not_populated",
    "items": [],
    "source_id": null,
    "observed_at": null,
    "data_as_of": null
  },
  "liquidity_and_shorting": {
    "source_id": null,
    "observed_at": null,
    "data_as_of": null,
    "availability": "not_populated",
    "average_daily_volume20_shares": null,
    "average_daily_dollar_volume20": null,
    "median_rth_spread_bps20": null,
    "borrow_available_shares": null,
    "borrow_fee_annualized_pct": null,
    "locate_required": null,
    "locate_confirmed": null,
    "short_sale_restriction_active": null,
    "short_interest": {
      "source_id": null,
      "settlement_date": null,
      "published_at": null,
      "observed_at": null,
      "shares": null,
      "float_pct": null,
      "days_to_cover": null
    },
    "short_sale_volume": {
      "source_id": null,
      "trading_date": null,
      "published_at": null,
      "observed_at": null,
      "venue_scope": null,
      "short_volume": null,
      "reported_total_volume": null,
      "short_volume_fraction": null
    }
  },
  "optional_context": {
    "enabled_modules": [],
    "options": {
      "source_id": null,
      "observed_at": null,
      "data_as_of": null,
      "availability": "not_requested",
      "iv30_annualized_pct": null,
      "iv_rank_252d": null,
      "put_call_volume_ratio": null,
      "put_call_open_interest_ratio": null,
      "expected_move": {
        "expiry": null,
        "horizon_sessions": null,
        "method": null,
        "usd": null,
        "pct": null
      },
      "gamma": {
        "model_id": null,
        "units": null,
        "expiry_scope": null,
        "spot": null,
        "net_exposure": null,
        "flip_level": null,
        "call_walls": [],
        "put_walls": [],
        "magnet_level": null,
        "nearby_flip_levels": [],
        "by_strike": {
          "columns": ["strike", "call_gex", "put_gex", "net_gex"],
          "rows": []
        }
      },
      "material_flow": [],
      "greek_exposure": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "availability": "not_populated",
        "units": null,
        "expiry_scope": null,
        "note": "charm, vanna and delta exposure arrive on the same per-strike call as gamma",
        "by_strike": {
          "columns": ["strike", "call_delta", "put_delta", "call_charm", "put_charm", "call_vanna", "put_vanna"],
          "rows": []
        },
        "totals": {
          "net_delta": null,
          "net_charm": null,
          "net_vanna": null,
          "call_delta": null,
          "put_delta": null
        }
      },
      "max_pain": {
        "source_id": null,
        "observed_at": null,
        "availability": "not_populated",
        "by_expiry": {
          "columns": ["expiry", "max_pain", "next_lower_strike", "next_upper_strike"],
          "rows": []
        },
        "front_expiry_max_pain": null,
        "front_expiry_distance_pct": null
      },
      "nope": {
        "source_id": null,
        "observed_at": null,
        "availability": "not_requested",
        "definition": "net options pricing effect: dealer delta from option volume, scaled by share volume",
        "latest": null,
        "latest_at": null,
        "intraday": {
          "columns": ["t", "nope", "nope_fill"],
          "rows": []
        }
      },
      "net_premium_intraday": {
        "source_id": null,
        "observed_at": null,
        "availability": "not_requested",
        "session_filter": ["RTH"],
        "note": "when the positioning arrived, not just the session total",
        "ticks": {
          "columns": ["t", "net_call_premium", "net_put_premium", "net_call_volume", "net_put_volume", "net_delta"],
          "rows": []
        }
      },
      "volatility_surface": {
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "availability": "not_populated",
        "term_structure": {
          "columns": ["expiry", "dte", "volatility", "implied_move", "implied_move_perc"],
          "rows": [],
          "front_month_annualized_pct": null,
          "slope_30d_to_90d_pp": null,
          "state": null
        },
        "realized_vs_implied": {
          "realized_vol_20d_annualized_pct": null,
          "implied_vol_30d_annualized_pct": null,
          "spread_pp": null
        },
        "variance_risk_premium": {
          "latest": null,
          "window_days": null,
          "percentile_252d": null
        },
        "risk_reversal_skew": {
          "delta": null,
          "latest": null,
          "percentile_252d": null,
          "direction": null
        },
        "iv_changes": {
          "iv30d_1d_change_pp": null,
          "iv30d_1w_change_pp": null,
          "iv30d_1m_change_pp": null
        }
      },
      "net_premium_session": {
        "net_call_premium": null,
        "net_put_premium": null,
        "bullish_premium": null,
        "bearish_premium": null,
        "gex_call": null,
        "gex_put": null,
        "gex_net": null,
        "gex_ratio": null,
        "gex_net_change": null,
        "gex_date": null
      },
      "oi_changes": {
        "net_call_oi_change": null,
        "net_put_oi_change": null,
        "top": []
      },
      "hot_chains": []
    },
    "insiders": {
      "source_id": null,
      "observed_at": null,
      "coverage_start": null,
      "coverage_end": null,
      "availability": "not_requested",
      "transaction_code_note": "Form 4 codes: P open-market purchase, S open-market sale, A grant/award, M option exercise, F tax withholding. Only P and S are discretionary signals; A/M/F are compensation mechanics.",
      "transaction_fields": ["filed_at", "transacted_at", "insider_name", "insider_title", "is_officer", "is_director", "transaction_code", "acquired_or_disposed", "shares", "price_per_share", "value_usd", "shares_owned_after", "pct_of_holding_change", "is_10b5_1_plan", "filing_url"],
      "cluster_summary": {
        "window_days": null,
        "buyers": null,
        "sellers": null,
        "open_market_buy_value_usd": null,
        "open_market_sell_value_usd": null,
        "net_value_usd": null,
        "distinct_officers_buying": null,
        "note": "cluster buying by several officers carries the signal; a single sale rarely does"
      },
      "transactions": [],
      "data_as_of": null
    },
    "off_exchange": {
      "source_id": null,
      "observed_at": null,
      "published_at": null,
      "period_start": null,
      "period_end": null,
      "availability": "not_requested",
      "venue_scope": null,
      "volume_fraction": null,
      "data_as_of": null,
      "polygon_dark_pool": {
        "ticker": null,
        "days": [],
        "avg_vwap_discount_pct": null,
        "signal": null
      }
    },
    "indicator_extensions": {
      "availability": "not_requested",
      "definitions": {
        "stochastic_14_3_3": {
          "fast_k_period": 14,
          "slow_k_sma_period": 3,
          "slow_d_sma_period": 3
        },
        "mfi14": {
          "period": 14,
          "price": "HLC3"
        },
        "accumulation_distribution": {
          "formula": "cumulative(((2*close-high-low)/(high-low))*volume)",
          "zero_high_low_policy": "multiplier=0",
          "seed": 0
        },
        "donchian20": {
          "period": 20,
          "exclude_evaluated_bar": true,
          "outputs": ["highest_high", "lowest_low", "midpoint"]
        },
        "keltner20_2atr10": {
          "center": "EMA20(close)",
          "bands": "center +/- 2*ATR10(Wilder)"
        },
        "vwap_volume_weighted_stdev_bands": {
          "method": "same 1m HLC3 proxy and volume weights as selected VWAP anchor",
          "stdev_multiples": [1, 2]
        }
      },
      "values": {
        "opds": {
          "opds": null,
          "D": null,
          "P": null,
          "O": null,
          "C": null,
          "signal": null,
          "direction": null,
          "coverage": null,
          "ranked": null,
          "components": {
            "M": null,
            "T": null,
            "RS": null,
            "V": null,
            "F": null,
            "OI": null,
            "S": null,
            "IV": null,
            "B": null,
            "Liquidity": null,
            "OpeningConfidence": null,
            "FlowAgreement": null,
            "StrikeBreadth": null
          },
          "drivers": []
        },
        "intraday": {
          "h1_trend": null,
          "h1_last": null,
          "h1_ema9": null,
          "h1_ema21": null,
          "m15_trend": null,
          "m15_last": null,
          "m15_ema9": null,
          "m15_ema21": null,
          "rvol_intraday": null,
          "as_of_et": null
        },
        "premarket_path": null,
        "structure_checks": {
          "price_above_all": null,
          "ema_stacked": null,
          "ema20_rising": null,
          "ema50_rising": null,
          "adx_over_30": null,
          "higher_highs_lows": null,
          "lower_highs_lows": null,
          "near_20ema": null
        },
        "dist_20ema_pct": null,
        "momentum_checks": {
          "roc_over_5": null,
          "rsi_in_band": null,
          "macd_expanding": null,
          "top_quartile_3d": null,
          "no_big_down": null,
          "near_high": null
        },
        "pattern_frequency": [],
        "sector_trend": {
          "etf_trend": null,
          "leading": null,
          "rs_5d": null
        },
        "trend_dir_20d": null
      },
      "note": null
    },
    "etf_flows": {
      "definition": "net creation/redemption: change in shares outstanding x close. Not volume — turnover is matched buyers and sellers and carries no direction.",
      "availability": "not_requested",
      "self": {
        "symbol": null,
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "availability": "not_requested",
        "aum_usd": null,
        "expense_ratio_pct": null,
        "holdings_count": null,
        "daily": {
          "columns": ["trading_date", "net_flow_shares", "net_flow_usd", "close", "volume"],
          "rows": [],
          "sum_5d_usd": null,
          "sum_20d_usd": null,
          "sum_20d_pct_of_aum": null,
          "direction_20d": null,
          "coverage": {
            "first": null,
            "last": null,
            "sessions": null,
            "note": null
          }
        }
      },
      "sector_etf": {
        "symbol": null,
        "source_id": null,
        "observed_at": null,
        "data_as_of": null,
        "availability": "not_requested",
        "aum_usd": null,
        "expense_ratio_pct": null,
        "holdings_count": null,
        "daily": {
          "columns": ["trading_date", "net_flow_shares", "net_flow_usd", "close", "volume"],
          "rows": [],
          "sum_5d_usd": null,
          "sum_20d_usd": null,
          "sum_20d_pct_of_aum": null,
          "direction_20d": null,
          "coverage": {
            "first": null,
            "last": null,
            "sessions": null,
            "note": null
          }
        }
      }
    }
  },
  "risk_policy": {
    "provided_by": "application_or_user",
    "allow_long": null,
    "allow_short": null,
    "allow_extended_hours_entries": null,
    "min_reward_risk_after_costs": null,
    "max_holding_trading_sessions": null,
    "max_spread_bps": null,
    "max_quote_age_seconds": null,
    "max_market_data_age_seconds": null,
    "max_risk_per_trade_pct_equity": null,
    "max_position_pct_equity": null,
    "max_order_pct_adv20": null,
    "allow_holding_through_earnings": null,
    "allow_holding_through_major_macro_events": null,
    "estimated_round_trip_slippage_bps": null,
    "estimated_round_trip_fees_bps": null,
    "required_data_paths": ["ohlcv.1m", "ohlcv.1h", "ohlcv.1d"],
    "execution_data_paths": ["quote"],
    "on_missing_critical_data": "NO_ACTION",
    "on_missing_execution_data": "CANDIDATE",
    "on_invalid_critical_data": "NO_ACTION"
  },
  "portfolio_context": {
    "availability": "not_requested",
    "equity_usd": null,
    "buying_power_usd": null,
    "positions": [],
    "constraints": []
  },
  "data_quality": {
    "status": "TEMPLATE_NOT_VALIDATED",
    "checked_at": null,
    "critical_issues": [],
    "warnings": [],
    "missing_fields": [],
    "conflicts": [],
    "stale_sources": [],
    "point_in_time_checks_passed": null,
    "adjustment_checks_passed": null,
    "ohlcv_integrity_checks_passed": null,
    "empty_but_valid": [],
    "not_requested": []
  }
}