{
  "candidate_count": 2,
  "generated_at": "2026-09-22T03:00:03Z",
  "market_set_id": "senate_control_2026",
  "prints": [
    {
      "calculation": {
        "final_math": {
          "configured_rule": "weighted_mean",
          "formula": "sum(median * weight) / sum(weight)",
          "published_value": "0.620",
          "raw_value": "0.6197670145638861166141783736",
          "rule": "weighted_mean",
          "weight_sum": "1.000000000000000000000000000",
          "weighted_sum": "0.6197670145638861166141783736"
        },
        "published_value": "0.620",
        "rounding": "round half up to 0.001, then clamp to [0.001, 0.999]",
        "rule": "weighted_mean",
        "venues_contributing": 4,
        "weighted_terms": [
          {
            "median": "0.603406620209059233449477352",
            "median_x_weight": "0.1016949286557998284381204279",
            "venue_id": "betfair",
            "weight": "0.1685346584705452882313401945"
          },
          {
            "median": "0.6050",
            "median_x_weight": "0.211750",
            "venue_id": "kalshi",
            "weight": "0.35"
          },
          {
            "median": "0.635",
            "median_x_weight": "0.22225",
            "venue_id": "polymarket",
            "weight": "0.35"
          },
          {
            "median": "0.6395",
            "median_x_weight": "0.08407208590808628817605794568",
            "venue_id": "predictit",
            "weight": "0.1314653415294547117686598056"
          }
        ],
        "window_end": "2026-09-22T03:00:00Z",
        "window_start": "2026-09-22T02:00:00Z"
      },
      "candidate_id": "democratic_party",
      "candidate_name": "Democratic Party",
      "canonical_document": "prints/senate_control_2026__democratic_party/20260922T030000Z.json",
      "canonical_question_hash": "sha256:daa7c66457d68a2e672ed0d05872ce2f76e0fa5365eb257b25221dd8d03f9191",
      "core_offered_venue_count": 2,
      "detail_path": "details/senate_control_2026__democratic_party.json",
      "liquidity_window": {
        "end": "2026-09-22T01:00:00Z",
        "lag_hours": 1,
        "start": "2026-08-23T01:00:00Z",
        "statistic": "median",
        "target_hours": 720
      },
      "market_id": "senate_control_2026:democratic_party",
      "market_set_id": "senate_control_2026",
      "offered_venue_count": 5,
      "print": {
        "dispersion": "0.036",
        "flags": [],
        "value": "0.620",
        "venues_contributing": 4,
        "weight_contributing": "1.0000"
      },
      "type": "print",
      "venues": [
        {
          "avg_spread_q": "0.0127",
          "depth_history_hours": 357,
          "depth_history_samples": 20393,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "2276.2100",
          "median": "0.603406620209059233449477352",
          "valid_samples": 60,
          "venue_id": "betfair",
          "weight": "0.1685"
        },
        {
          "avg_spread_q": "0.0100",
          "depth_history_hours": 426,
          "depth_history_samples": 25347,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "87740.8292",
          "median": "0.6050",
          "valid_samples": 60,
          "venue_id": "kalshi",
          "weight": "0.3500"
        },
        {
          "avg_spread_q": "0.0100",
          "depth_history_hours": 426,
          "depth_history_samples": 25367,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "39385.0569",
          "median": "0.635",
          "valid_samples": 60,
          "venue_id": "polymarket",
          "weight": "0.3500"
        },
        {
          "avg_spread_q": "0.0380",
          "depth_history_hours": 379,
          "depth_history_samples": 22336,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "1523.5700",
          "median": "0.6395",
          "valid_samples": 60,
          "venue_id": "predictit",
          "weight": "0.1315"
        }
      ],
      "window_end": "2026-09-22T03:00:00Z",
      "window_start": "2026-09-22T02:00:00Z"
    },
    {
      "calculation": {
        "final_math": {
          "configured_rule": "weighted_mean",
          "formula": "sum(median * weight) / sum(weight)",
          "published_value": "0.379",
          "raw_value": "0.3793724260566346003724868992",
          "rule": "weighted_mean",
          "weight_sum": "1.000000000000000000000000000",
          "weighted_sum": "0.3793724260566346003724868992"
        },
        "published_value": "0.379",
        "rounding": "round half up to 0.001, then clamp to [0.001, 0.999]",
        "rule": "weighted_mean",
        "venues_contributing": 4,
        "weighted_terms": [
          {
            "median": "0.3948023205801450362590647662",
            "median_x_weight": "0.06404051771547840397773992593",
            "venue_id": "betfair",
            "weight": "0.1622090711659790056568153364"
          },
          {
            "median": "0.3950",
            "median_x_weight": "0.138250",
            "venue_id": "kalshi",
            "weight": "0.35"
          },
          {
            "median": "0.365",
            "median_x_weight": "0.12775",
            "venue_id": "polymarket",
            "weight": "0.35"
          },
          {
            "median": "0.35802",
            "median_x_weight": "0.04933190834115619639474697326",
            "venue_id": "predictit",
            "weight": "0.1377909288340209943431846636"
          }
        ],
        "window_end": "2026-09-22T03:00:00Z",
        "window_start": "2026-09-22T02:00:00Z"
      },
      "candidate_id": "republican_party",
      "candidate_name": "Republican Party",
      "canonical_document": "prints/senate_control_2026__republican_party/20260922T030000Z.json",
      "canonical_question_hash": "sha256:1c08f73662a2cbc31a13dff2f0f20b18e59c6156d1094d961b12a0c752c43799",
      "core_offered_venue_count": 2,
      "detail_path": "details/senate_control_2026__republican_party.json",
      "liquidity_window": {
        "end": "2026-09-22T01:00:00Z",
        "lag_hours": 1,
        "start": "2026-08-23T01:00:00Z",
        "statistic": "median",
        "target_hours": 720
      },
      "market_id": "senate_control_2026:republican_party",
      "market_set_id": "senate_control_2026",
      "offered_venue_count": 5,
      "print": {
        "dispersion": "0.037",
        "flags": [],
        "value": "0.379",
        "venues_contributing": 4,
        "weight_contributing": "1.0000"
      },
      "type": "print",
      "venues": [
        {
          "avg_spread_q": "0.0144",
          "depth_history_hours": 346,
          "depth_history_samples": 19798,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "2182.8300",
          "median": "0.3948023205801450362590647662",
          "valid_samples": 60,
          "venue_id": "betfair",
          "weight": "0.1622"
        },
        {
          "avg_spread_q": "0.0100",
          "depth_history_hours": 426,
          "depth_history_samples": 25345,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "66830.6407",
          "median": "0.3950",
          "valid_samples": 60,
          "venue_id": "kalshi",
          "weight": "0.3500"
        },
        {
          "avg_spread_q": "0.0100",
          "depth_history_hours": 426,
          "depth_history_samples": 25367,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "24900.8190",
          "median": "0.365",
          "valid_samples": 60,
          "venue_id": "polymarket",
          "weight": "0.3500"
        },
        {
          "avg_spread_q": "0.0493",
          "depth_history_hours": 368,
          "depth_history_samples": 21700,
          "depth_source": "lagged_30d_median",
          "depth_usd_30d": "1673.7600",
          "median": "0.35802",
          "valid_samples": 60,
          "venue_id": "predictit",
          "weight": "0.1378"
        }
      ],
      "window_end": "2026-09-22T03:00:00Z",
      "window_start": "2026-09-22T02:00:00Z"
    }
  ],
  "title": "Senate Control 2026",
  "type": "latest_index",
  "visible_candidate_count": 2
}
