{
  "dataset": "market-events-v1",
  "version": "event-study-six-spot-1.2",
  "fields": {
    "row_id": {
      "type": "string",
      "description": "SHA256 of public event identity or fixed control time; no account identity.",
      "nullable": true
    },
    "dataset": {
      "type": "string",
      "description": "Allowlisted product identifier.",
      "nullable": true
    },
    "calculation_version": {
      "type": "string",
      "description": "Product formula and scope version.",
      "nullable": true
    },
    "sample_type": {
      "type": "string",
      "description": "event or control.",
      "nullable": true
    },
    "symbol": {
      "type": "string",
      "description": "One of six fixed Binance USDT spot pairs.",
      "nullable": true
    },
    "venue": {
      "type": "string",
      "description": "Price/reference venue: Binance Spot.",
      "nullable": true
    },
    "event_kind": {
      "type": "string",
      "description": "Public rule family; null for control.",
      "nullable": true
    },
    "direction": {
      "type": "string",
      "description": "up/down public signal; null for control.",
      "nullable": true
    },
    "event_timeframe": {
      "type": "string",
      "description": "Trigger rule timeframe; null for control.",
      "nullable": true
    },
    "control_status": {
      "type": "string",
      "description": "No recorded qualifying event within [sample_time-3600,sample_time], not a confirmed negative rule evaluation.",
      "nullable": true
    },
    "feature_status": {
      "type": "string",
      "description": "locally_known, retrospective or missing_candle.",
      "nullable": true
    },
    "taker_status": {
      "type": "string",
      "description": "usable, invalid_or_zero_volume or missing_candle; no fabricated zero.",
      "nullable": true
    },
    "derivative_venue": {
      "type": "string",
      "description": "Hyperliquid context, not Binance Spot or a mapped equivalent contract.",
      "nullable": true
    },
    "derivative_status": {
      "type": "string",
      "description": "Normalized funding type unavailable or no locally-known recent observation.",
      "nullable": true
    },
    "excursion_reference": {
      "type": "string",
      "description": "long for controls/up events, short for down events; reference not executable trade.",
      "nullable": true
    },
    "sample_time": {
      "type": "number",
      "description": "UTC Unix seconds: event recorded time or fixed hourly control grid.",
      "nullable": true
    },
    "event_time": {
      "type": "number",
      "description": "Source event time, UTC seconds; null for control.",
      "nullable": true
    },
    "event_recorded_at": {
      "type": "number",
      "description": "Public signal database creation time; not exchange publication proof.",
      "nullable": true
    },
    "trigger_value": {
      "type": "number",
      "description": "Original trigger metric; interpret with kind/timeframe, not comparable across families.",
      "nullable": true
    },
    "trigger_threshold": {
      "type": "number",
      "description": "Original threshold in same units as trigger_value; not a probability.",
      "nullable": true
    },
    "price": {
      "type": "number",
      "description": "Most recent locally-known closed 5m price within 30m, else last closed bar marked retrospective; USDT.",
      "nullable": true
    },
    "price_time": {
      "type": "number",
      "description": "Close time of selected candle, UTC seconds.",
      "nullable": true
    },
    "feature_age_seconds": {
      "type": "number",
      "description": "sample_time - price_time; explicit age of selected price context, not latency or freshness guarantee.",
      "nullable": true
    },
    "quote_volume_5m": {
      "type": "number",
      "description": "Executed quote volume in USDT, not deposits or withdrawals.",
      "nullable": true
    },
    "taker_buy_quote_5m": {
      "type": "number",
      "description": "Validated aggressive-buy quote volume in USDT; invalid becomes null.",
      "nullable": true
    },
    "taker_buy_fraction": {
      "type": "number",
      "description": "Valid aggressive buys / quote volume, 0..1, null for zero volume.",
      "nullable": true
    },
    "net_taker_quote_5m": {
      "type": "number",
      "description": "2*aggressive-buy quote - total quote, USDT; not capital deposits.",
      "nullable": true
    },
    "volume_ratio_20": {
      "type": "number",
      "description": "Selected closed 5m quote volume / mean of its prior 20 contiguous 5m volumes; null if incomplete.",
      "nullable": true
    },
    "feature_available_at": {
      "type": "number",
      "description": "Maximum last archive-write timestamp of included candle features; conservative local availability.",
      "nullable": true
    },
    "funding_hourly_pct": {
      "type": "number",
      "description": "Hyperliquid normalized percentage points/hour; native type/settlement not known.",
      "nullable": true
    },
    "oi_usd": {
      "type": "number",
      "description": "Same observed Hyperliquid row OI notional, USD; not net inflow.",
      "nullable": true
    },
    "derivative_time": {
      "type": "number",
      "description": "Source observation bucket time UTC seconds, age <=1800 seconds.",
      "nullable": true
    },
    "derivative_available_at": {
      "type": "number",
      "description": "That derivative version's archive-write time, <=sample_time.",
      "nullable": true
    },
    "reference_start": {
      "type": "number",
      "description": "ceil(sample_time/300)*300 UTC seconds; start of the first full subsequent 5m interval.",
      "nullable": true
    },
    "feature_pit_eligible": {
      "type": "boolean",
      "nullable": false,
      "description": "Included candle features were locally archived by sample_time; NOT proof of full PIT universe/history."
    },
    "status_15m": {
      "type": "string",
      "nullable": false,
      "description": "15m: pending/gap/invalid_price/not_applicable/complete; a future label."
    },
    "return_pct_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: 100*(final_close/reference_open-1), percentage points; never use as a feature."
    },
    "direction_adjusted_return_pct_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: raw return signed by event direction; null for controls; never use as a feature."
    },
    "mfe_pct_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: nonnegative maximum favorable reference excursion, percentage points; never use as a feature."
    },
    "mae_pct_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: nonnegative maximum adverse reference excursion, percentage points; never use as a feature."
    },
    "missing_candles_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: missing/invalid-duration 5m bars if gap; null otherwise; never use as a feature."
    },
    "expected_candles_15m": {
      "type": "number",
      "nullable": true,
      "description": "Future 15m label: expected 5m bars when computed; null for uncomputed/pending; never use as a feature."
    },
    "status_1h": {
      "type": "string",
      "nullable": false,
      "description": "1h: pending/gap/invalid_price/not_applicable/complete; a future label."
    },
    "return_pct_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: 100*(final_close/reference_open-1), percentage points; never use as a feature."
    },
    "direction_adjusted_return_pct_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: raw return signed by event direction; null for controls; never use as a feature."
    },
    "mfe_pct_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: nonnegative maximum favorable reference excursion, percentage points; never use as a feature."
    },
    "mae_pct_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: nonnegative maximum adverse reference excursion, percentage points; never use as a feature."
    },
    "missing_candles_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: missing/invalid-duration 5m bars if gap; null otherwise; never use as a feature."
    },
    "expected_candles_1h": {
      "type": "number",
      "nullable": true,
      "description": "Future 1h label: expected 5m bars when computed; null for uncomputed/pending; never use as a feature."
    },
    "status_4h": {
      "type": "string",
      "nullable": false,
      "description": "4h: pending/gap/invalid_price/not_applicable/complete; a future label."
    },
    "return_pct_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: 100*(final_close/reference_open-1), percentage points; never use as a feature."
    },
    "direction_adjusted_return_pct_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: raw return signed by event direction; null for controls; never use as a feature."
    },
    "mfe_pct_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: nonnegative maximum favorable reference excursion, percentage points; never use as a feature."
    },
    "mae_pct_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: nonnegative maximum adverse reference excursion, percentage points; never use as a feature."
    },
    "missing_candles_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: missing/invalid-duration 5m bars if gap; null otherwise; never use as a feature."
    },
    "expected_candles_4h": {
      "type": "number",
      "nullable": true,
      "description": "Future 4h label: expected 5m bars when computed; null for uncomputed/pending; never use as a feature."
    },
    "status_24h": {
      "type": "string",
      "nullable": false,
      "description": "24h: pending/gap/invalid_price/not_applicable/complete; a future label."
    },
    "return_pct_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: 100*(final_close/reference_open-1), percentage points; never use as a feature."
    },
    "direction_adjusted_return_pct_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: raw return signed by event direction; null for controls; never use as a feature."
    },
    "mfe_pct_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: nonnegative maximum favorable reference excursion, percentage points; never use as a feature."
    },
    "mae_pct_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: nonnegative maximum adverse reference excursion, percentage points; never use as a feature."
    },
    "missing_candles_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: missing/invalid-duration 5m bars if gap; null otherwise; never use as a feature."
    },
    "expected_candles_24h": {
      "type": "number",
      "nullable": true,
      "description": "Future 24h label: expected 5m bars when computed; null for uncomputed/pending; never use as a feature."
    },
    "status_7d": {
      "type": "string",
      "nullable": false,
      "description": "7d: pending/gap/invalid_price/not_applicable/complete; a future label."
    },
    "return_pct_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: 100*(final_close/reference_open-1), percentage points; never use as a feature."
    },
    "direction_adjusted_return_pct_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: raw return signed by event direction; null for controls; never use as a feature."
    },
    "mfe_pct_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: nonnegative maximum favorable reference excursion, percentage points; never use as a feature."
    },
    "mae_pct_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: nonnegative maximum adverse reference excursion, percentage points; never use as a feature."
    },
    "missing_candles_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: missing/invalid-duration 5m bars if gap; null otherwise; never use as a feature."
    },
    "expected_candles_7d": {
      "type": "number",
      "nullable": true,
      "description": "Future 7d label: expected 5m bars when computed; null for uncomputed/pending; never use as a feature."
    }
  },
  "limitations": [
    "Six fixed selected Binance Spot markets, not the historical all-market universe.",
    "Hourly controls exclude a recorded qualifying public event in the preceding hour; absence of a record is not proof that no rule triggered or collection was complete.",
    "Events and controls are observational, unmatched and potentially overlapping, not independent trials or causal estimates.",
    "Late/backfilled features are marked retrospective. Filter feature_pit_eligible=true for locally available inputs; even that does not guarantee complete historical universe or unbiased backtests.",
    "Forward outcomes are future labels, never predictor inputs; reference prices exclude fees, slippage and fills.",
    "Old normalized funding omits native settlement/type. Hyperliquid context is not a Binance contract or settled funding payment.",
    "Recent nine UTC days are refreshed hourly; older releases persist but old gaps are not automatically guaranteed to heal."
  ]
}