kalshi-research

Kalshi implied probabilities → normalized event signals → equity joins. Research alt-data for prediction markets — not a trading bot.

● 9 tests passing 6 CLI commands Fed MVP dataset live ~10.8k Kalshi series discoverable

1) What you can do right now

Discover
List macro or company series from Kalshi API
Archive
Pull markets + portfolio history to local JSON
Research
Build parquet with prob + surprise + equity returns

Now End-to-end Fed decisions pipeline

cd ~/Develop/kalshi-research
source .venv/bin/activate
pip install -e ".[dev]"
ln -sf ../weather-arb/.env .env

kalshi-archive --series KXFEDDECISION
kalshi-build-research

Produces ~/.kalshi-research/data/research/fed_decisions.parquet with Kalshi probs joined to SPY, TLT, and KRE returns.

Now Other immediate workflows

Research signals available today: level (prob_yes), surprise (resolved − pre-event consensus via candlesticks), equity returns at event horizons, daily Δprob once you archive on multiple days.

CLI reference

CommandPurpose
kalshi-list-seriesDiscover series; use --core-macro or --macro-only
kalshi-archiveArchive markets (--series, --core-macro) and/or portfolio
kalshi-export-panelLatest archive → flat CSV panel
kalshi-build-daily-panelAppend snapshot → rolling daily.parquet
kalshi-build-researchFed MVP: Kalshi + SPY/TLT/KRE event study parquet
pytest9 tests: normalize, snapshots, event study, ontology
Kalshi API kalshi-archive markets/*.json daily.parquet fed_decisions.parquet

Data outputs

~/.kalshi-research/data/
  markets/KXFEDDECISION/*.json     # raw + normalized rows
  panels/KXFEDDECISION/daily.parquet
  panels/KXFEDDECISION.csv         # from export-panel
  research/fed_decisions.parquet   # MVP research dataset
  research/fed_decisions.csv
  portfolio/fills_latest.json

Load Fed dataset in Python

import pandas as pd

df = pd.read_parquet("~/.kalshi-research/data/research/fed_decisions.parquet")
resolved = df[df["resolved"].notna()]
print(resolved[["event_ticker", "contract_ticker", "prob_yes", "surprise", "spy_ret_1d"]])

Fed MVP — live preview

From your local build of fed_decisions.parquet (snapshot: Jun 10, 2026).

75
Total contract rows
5
Settled contracts (1 FOMC meeting)
70
Open future meetings

Settled — KXFEDDECISION-26APR (Apr 29, 2026)

ContractP(YES) T-1ResolvedSurprise SPY 0dSPY 1dTLT 1dKRE 1d

Open — sample future meeting (Jan 2028)

ContractEvent dateP(YES) nowResolved

Company-specific & Bloomberg path

Kalshi has ~173 Companies series and ~96 KPI brackets — closer to single-name fundamentals than macro Fed markets.

VerticalExample seriesEquity / BBGSettlementStatus
KPI brackets KXTSLA, KXABNB, KXSPOTIFYMAU TSLA, ABNB, SPOT US Equity Fiscal.ai Next MVP
Earnings mentions KXEARNINGSMENTIONAAPL AAPL US Equity → ERN Bloomberg Next MVP
Corporate catalysts KXAAPLCEOCHANGE, KXACQANNOUNCE* Single-name event study News wires Planned
Macro (built) KXFEDDECISION SPY, TLT, KRE Kalshi Live
Why Bloomberg gets interesting: earnings-mention contracts already certify Bloomberg as settlement source. KPI brackets resolve on reported fundamentals (Fiscal.ai) — joinable to BBG ERN / EE / BQL estimate fields via a bbg_ticker bridge layer (not built yet).

What Kalshi gives you that BBG alone doesn't

Roadmap

Now

  • Fed decisions research parquet
  • Daily prob panel snapshots
  • Core macro archive preset
  • yfinance equity joins
  • Candlestick T−1 consensus for surprise

Next

  • finmap/bloomberg_bridge.yaml — series → BBG ticker
  • TSLA KPI vertical (second MVP)
  • Earnings mention vertical (Bloomberg-settled)
  • Scheduled daily archives for Δprob

Later

  • BQL/PORT-compatible export keyed on bbg_ticker
  • Calibration (Brier) panels at scale
  • Lead/lag: ΔKalshi vs next-day equity open
  • Multi-venue (Polymarket) — ask first

Not in scope

  • Order execution / Kelly sizing
  • weather-arb scanner / launchd pipelines
  • Websocket live stream (optional later)

Architecture

kalshi_core/     dumb REST client, models, archival, candlesticks
pm_research/     prob panels, daily snapshots, calibration metrics
finmap/          ontology, equity joins, event study, export
scripts/         CLI entry points