Thursday, 12 November 2026 · Free. No paywall. No subscription.
Search The Midpoint

Search articles, videos and sections. Press / to open, Esc to close.

Prediction Markets Weekly methodology

How we build each Monday's edition, what we count and what we leave out.

Last updated 9 November 2026

What we measure. Each week we record trading in event contracts on Kalshi and on Polymarket’s international exchange, using only the venues’ own public APIs (Kalshi Trade API v2; Polymarket Gamma API). We use no third-party aggregators and no news reports. ForecastEx data is collected from its official daily files as a pilot and is not included in any total until we have verified that its unit (pairs) equals $1 notional.

Snapshot times. We take a full snapshot every Monday at 00:00 UTC. The weekly figure is the change between two consecutive snapshots: one ISO week, Monday 00:00 to Monday 00:00 UTC. Each snapshot records when every part started and finished; those check times are published with each edition. All times are UTC, which matches GMT, the UK’s winter time.

Volume is notional, not cash. Figures are notional at $1 face value per contract, counting one side of each trade. A contract bought at 30¢ and one bought at 90¢ both count as $1. This is not the amount of money that changed hands and not the venues’ revenue.

How the weekly figure is computed. For every market, weekly notional = lifetime volume at the end snapshot − lifetime volume at the start snapshot. Kalshi: contracts traded (volume_fp) × the contract’s notional value (notional_value_dollars). Polymarket: the market’s lifetime volume (volumeNum). Event figures are the sum of their markets.

Markets that open and close during the week. A market listed after the start snapshot starts from zero. We capture markets that close during the week, including those that open and close within it (for example Kalshi’s 15-minute and daily price markets), by querying every market whose close time falls in the window: Kalshi GET /markets?min_close_ts&max_close_ts&mve_filter=exclude, swept in six-hour slices; Polymarket GET /events/keyset?closed=true&end_date_min=…. Any market that was open at the start but is in neither the end snapshot nor the closed sweep is fetched individually by ticker or id. A market with no earlier record and a listing date before the window is left out and counted in our quality log; we do not estimate it.

Coverage. Polymarket open and closed events are read in full with cursor (keyset) pagination; there is no cap on the number of events. Kalshi open events are read in full with cursor pagination. Kalshi multivariate (“combo”) markets are excluded: many are sports parlays built from other markets’ legs, and including them would double count those legs. Markets Kalshi has moved to its historical archive before our snapshot are outside the live API and are reported as “not returned by the API” in the data-quality box.

Prices are market quotes, not probabilities. Where we show prices, they are the best yes bid and ask reported by each venue’s API at the snapshot, in US dollars per $1 contract, with the time they were checked. They are market quotes, not probabilities or forecasts.

Double counting. We count each trade once, on one side. Where the same question trades on both venues we show both, marked ◆, and add them together only in venue totals, because they are separate trades. Cross-venue pairs are matched by hand; wording, deadlines and resolution sources can differ, and we say so where they do. We exclude brokers and front ends that route orders to an exchange, so their flow is not counted twice.

Multi-outcome events. An event such as “Fed decision in December” contains several yes/no markets, one per outcome. Event notional is the sum across its markets. Polymarket’s linked (“neg-risk”) markets are counted per market as reported, with no netting. We do not add outcome prices together.

Sports are excluded. Sports markets are removed by venue category and tag, with a keyword check that an editor reviews each week (see the published keyword list). Sports-adjacent markets ruled out by the editor (for example halftime-show, sports-event attendance, college sports settlement and sports-body award markets) are excluded by dated entries in our overrides file. A small number of non-sports markets that match a sports keyword (for example a musician’s name or a golf-club property) stay in the totals. All totals exclude sports and are therefore much lower than venues’ own headline totals.

Markets on violence are excluded. We do not cover markets on assassinations, deaths of people, war, military strikes, invasions, armed conflict, terrorism, coups, nuclear use or similar violence. They are removed from every page and from every total (politics, category and overall), in the same way as sports, whatever their venue category. Removal is by venue tag (for example Polymarket’s military-strikes, military-action, missile and ukraine-map tags) and by a published keyword list (violence_keywords.md). Markets matched only by a keyword or by a broad tag (such as “military”) are removed by default and listed for an editor each week. By editor ruling (31 Oct 2026), markets on ceasefires and peace talks in an armed conflict (“war markets by another name”) and markets on civil unrest (curfews, states of emergency or siege, martial law, riots and similar) are always removed, and where a market is borderline it is removed and the reason recorded. Known false positives stay in (for example “trade war”, video-game titles, a Kalshi market worded “Excluding death”, a US sanctions list of Chinese military companies, and the Abraham Accords). Editor decisions are dated entries in an overrides file. We publish the notional removed each week, by venue, but never the names of the markets removed. Markets on elections, diplomacy, alliance membership and sanctions stay in unless they match the list or an editor removes them; markets on a US-Iran nuclear agreement stay in politics. Markets on a named leader leaving office are removed where they could resolve on death, coup or capture. Some known false positives are kept in the totals but never named on display. Markets that resolve only on the number of ships passing through the Strait of Hormuz or the Bab el-Mandeb Strait are counted as financial (commodities, shipping line), by editor ruling. Under an editor rule of 31 Oct 2026, each build checks every such market’s rules automatically: it is counted only if it resolves solely on vessel transit counts (IMF PortWatch for Polymarket markets; IMF PortWatch or another named statistical source for Kalshi count series, by editor ruling of 31 Oct 2026) and has no attack, closure, strike or Houthi-action condition; anything ambiguous stays out until an editor decides, and each check is logged with its time.

Categories. Financial/economic: Kalshi categories Economics, Financials, Crypto, Companies, Commodities, Business, and the equivalent Polymarket tags. Politics/elections/world: Kalshi Politics, Elections, World and equivalent Polymarket tags. Everything else that is not sport is “other”. Crypto price contracts are also flagged separately.

Edition order and sections. Each edition leads with financial contracts excluding crypto, then crypto, then politics, then other markets. The four sections add up to the non-sports total: (1) financial excluding crypto: financial category, not crypto-flagged; (2) crypto: every crypto-flagged market, whatever its category (a handful of politics markets on crypto legislation are counted here); (3) politics: politics category, not crypto-flagged, after the violence exclusion; (4) other: everything else. The summary file gives each section, and each financial subcategory, as extra rows (column view); only the category rows add up to the total.

Financial subcategories. Financial contracts excluding crypto are split into six subcategories using a published mapping (financial_subcategories.md, from pipeline/config/financial_subcategories.json): rates and the Fed (central-bank decisions, Fed funds, Treasury yields, mortgage rates); equity indices (S&P 500, Nasdaq-100, Dow and others); macro data (inflation, jobs, GDP, recession and other releases); FX (currency pairs); commodities (oil, natural gas, petrol and diesel prices, metals, agricultural); and other financial (company and earnings-type markets such as KPIs, point-of-sale growth, IPOs, M&A, and anything not matched). A market is placed by the first match in this order: Kalshi series-ticker prefix, Kalshi series tag, Polymarket tag, title keyword; anything unmatched is “other financial”. Matches made only by keyword or by default are listed for an editor each week. Kalshi earnings-call “mentions” markets are in Kalshi’s Mentions category and so are counted as “other”, not financial. Kalshi lists 15-minute and daily price contracts as many separate events, so financial league tables group Kalshi by series and show Polymarket by event, with a separate table of the largest longer-dated markets.

Quote movers. The financial section lists the largest changes in mid quote (the average of the best yes bid and ask) between the start and end snapshots, one market per event, for markets with a two-sided quote at both snapshots, a spread of 10 cents or less and at least $25,000 of notional in that market in the window. These are market quotes, not probabilities, shown with their check times.

Short-dated contracts. A market is short-dated if its scheduled duration from open to close is 24 hours or less: for Kalshi, close_time − open_time ≤ 24 hours; for Polymarket, the market’s startDate → endDate ≤ 24 hours, or the event’s startDate → endDate where market-level dates are not in the snapshot (as in snapshots taken before 31 Oct 2026). This captures 15-minute, hourly and daily price contracts. A market with a missing open or close time is treated as not short-dated and the amount is reported. Every edition shows two views side by side: all non-sports notional, and non-sports notional excluding short-dated contracts, with crypto price contracts split into short-dated and longer-dated. Any crypto share we report is stated alongside its short-dated component.

Derived measures. Venue share is a venue’s share of the combined non-sports total. Week-on-week change and the four-week average appear once previous full-week editions exist. Open-interest change compares open, non-sports markets at the two snapshots, so it includes markets that expired or were listed during the week. Concentration is the share of the total in the ten largest events. “New markets listed” counts non-sports markets first listed during the window that were open at the end or traded before closing. The headline finding leads with financial contracts excluding crypto whenever there is any financial activity: their total, share of the non-sports total and short-dated portion, the largest subcategory and the largest longer-dated financial market. Only if there is none does it fall back to the earlier fixed rules (largest share change of 2 points or more; a record total once there are four weeks of history; when short-dated crypto price contracts make up 25% or more of the total, that share with the largest Kalshi short-dated crypto series beside it and the total excluding short-dated contracts; otherwise the venue share) and is checked by an editor.

What we do not measure. Unique traders, cash premium paid, venues without public per-market data (including Polymarket US, CME, Crypto.com and Rothera at launch), and Kalshi combo markets (many are sports parlays built from other markets’ legs).

Traceability. Every event row carries the public API URL that returns it. Every figure on the data page lists the endpoint, snapshot file and check time it came from. Raw snapshots and manifests are retained so any figure can be recomputed.

Revisions. Published editions do not change except to correct errors. Corrections are dated, versioned and listed on the edition page and in our corrections file. Method changes are listed in the changelog. Venue restatements below 1% of a venue’s weekly total are carried into the next week rather than back-applied.

© The MidPoint News. All rights reserved. Short extracts may be quoted with credit: ‘Source: The MidPoint News Prediction Markets Weekly, themidpointnews.com’. Venue data remain subject to each venue’s own terms.

How to cite. Source: The MidPoint News Prediction Markets Weekly, -W (Kalshi and Polymarket public APIs; snapshots to UTC), themidpointnews.com/prediction-markets/data/weekly/-w/

Access. Neither venue is open to UK residents for trading. Polymarket lists the United Kingdom as “close-only” in its geoblock documentation, and Kalshi’s member agreement lists the United Kingdom as a restricted jurisdiction for trading event contracts. Access checked 9 Nov 2026, 08:55 GMT. We report the data for information only.

Sources for this paragraph:

Not advice. This is data journalism, not investment, trading or betting advice. The Midpoint has no commercial relationship with any venue covered.


Data dictionary: data_release/data-dictionary.md (also written into every edition folder). Sports list: data_release/sports_keywords.md. Violence list: data_release/violence_keywords.md. Financial subcategories: data_release/financial_subcategories.md.