← Return to Terminal

Basket Construction Methodology

Systematic Framework for Prediction Market Portfolio Construction
LAST UPDATED: 2026-01-20

Overview

This methodology describes how to systematically construct, maintain, and rebalance prediction market baskets. Each basket represents exposure to a set of risk factors, constructed from contracts on Polymarket and Kalshi.

Part 1: Risk Factor Taxonomy

Risk factors are the atomic building blocks. Every contract maps to exactly one risk factor.

Energy (12 risk factors)

ID Risk Factor Description
E1 OPEC Production Policy OPEC+ production decisions, quotas, compliance
E2 US Oil Policy Drilling permits, SPR releases, export policy
E3 Oil Sanctions Iran, Russia, Venezuela export restrictions
E4 Oil Infrastructure Pipelines, refineries, tanker routes, storage
E5 European Gas Supply LNG imports, Russian pipeline dependency, storage
E6 Asian Gas Demand LNG contracts, demand growth, competition
E7 US Gas Policy LNG export terminals, drilling, pipeline approvals
E8 Nuclear Policy Restarts, new builds, shutdowns, SMR approvals
E9 Renewable Mandates Solar/wind targets, subsidies, permitting
E10 EV Policy ICE bans, EV subsidies, charging infrastructure
E11 Carbon Pricing Carbon taxes, cap-and-trade, border adjustments
E12 Grid Reliability Blackouts, capacity shortfalls, transmission

Commodities & Supply Chain (10 risk factors)

ID Risk Factor Description
C1 Grain Export Policy Export bans, quotas, tariffs on wheat/corn/soy
C2 Agricultural Weather El Niño, La Niña, drought, flooding
C3 Fertilizer Supply Potash, nitrogen export restrictions, prices
C4 Base Metals Mining Copper, aluminum, zinc strikes, disruptions
C5 Steel/Iron Trade Tariffs, dumping, capacity cuts
C6 Rare Earth Policy China export controls, non-China supply
C7 Lithium Supply Chile, Australia policy, DRC cobalt
C8 Semiconductor Supply Fab capacity, export controls, shortages
C9 Shipping Chokepoints Suez, Panama, Hormuz, Malacca passage
C10 Port & Freight Strikes, congestion, container availability

Political & Regulatory (14 risk factors)

ID Risk Factor Description
P1 US Government Funding Shutdowns, continuing resolutions
P2 US Debt Ceiling Breach, suspension, default risk
P3 US Electoral Process Contested elections, certification disputes
P4 US Presidential Health Incapacitation, succession
P5 US Regulatory Shift Major agency policy changes
P6 EU Treaty Stability Treaty changes, veto crises, reform
P7 EU Membership Exit movements, Article 50, referendums
P8 EU Regulatory Shift Digital, climate, competition enforcement
P9 China Leadership Transitions, purges, succession
P10 China Tech Regulation Platform crackdowns, data rules
P11 China Capital Controls Outflow restrictions, FX policy
P12 China Foreign Business Restrictions, nationalizations, exits
P13 EM Government Stability Coups, impeachments, constitutional crises
P14 EM Policy Shift Nationalizations, populist reversals

Part 2: Contract Selection

2.1 Initial Universe

Pull all active contracts from Polymarket and Kalshi.

2.2 Filtering Criteria

Filter Threshold Rationale
Minimum volume >$50,000 Ensures executable liquidity
Minimum open interest >$10,000 Active positions exist
Bid-ask spread <10% Not too illiquid
Time to expiration 30 - 365 days Not stale, not too speculative
Resolution criteria Binary, verifiable No ambiguous outcomes
Platform status Active Tradeable

2.3 Relevance Scoring

Each contract is scored against each risk factor:

Only contracts with score ≥ 2 are eligible for that risk factor.

Part 3: Side Assignment

Rule:

IF yes_means_disruption = TRUE
   THEN basket_holds = NO
ELSE
   basket_holds = YES

Classification Guide

YES Outcome Contains yes_means_disruption
"invades," "attacks," "strikes" TRUE
"cuts," "bans," "restricts," "blocks" TRUE
"shuts down," "defaults," "collapses" TRUE
"disrupted," "closes," "fails" TRUE
"recession," "crisis," "outbreak" TRUE
"peace," "deal," "agreement," "ceasefire" FALSE
"avoids," "prevents," "survives" FALSE
"grows," "expands," "stabilizes" FALSE

Part 4: Basket Price Calculation

Formula:

Basket_Price = Σ (side_price_i × weight_i)

Where:

Interpretation

Basket Price Meaning
0.80 Market implies 80% probability of stability
0.50 Market is neutral
0.20 Market implies 80% probability of disruption


End of Methodology Document