Trades FX and macroeconomic prediction markets on Kalshi and Polymarket. Compares prediction market prices against fundamental economic data, central bank signals, and institutional positioning to find mispricings in rate decision, inflation, and currency markets.
The desk runs daily on weekdays (7 AM ET). The macro sub-desk runs weekly on Mondays (6 AM ET) for longer-horizon calls.
Table: forex_prices (216 rows)
Columns: instrument, bid, ask, mid, spread_pips, captured_at
Schedule: Every 4 hours on weekdays
What: Live FX rates for 17 currency pairs — the real market prices that Kalshi FX contracts should converge to.
Status: COLLECTING
Table: fred_data (20,979 rows)
Schedule: 7 AM weekdays
What: Core economic indicators from the Federal Reserve Economic Database. Free API.
| Category | Series | Description |
|---|---|---|
| Treasury Yields | DGS2, DGS5, DGS10, DGS30 | 2yr, 5yr, 10yr, 30yr constant maturity rates |
| Real Yields | DFII5, DFII10 | 5yr, 10yr TIPS (inflation-protected) |
| Yield Spreads | T10Y2Y, T10Y3M, T5YIE, T10YIE, T5YIFR | 10Y-2Y, 10Y-3M, breakeven inflation, forward inflation |
| Credit Spreads | BAMLH0A0HYM2, BAMLC0A0CM | High yield OAS, investment grade OAS |
| Dollar Index | DTWEXBGS | Trade-weighted USD index (DXY proxy) |
| Fed Balance Sheet | WALCL, RRPONTSYD | Total assets, overnight reverse repo |
| Rates | SOFR | Secured overnight financing rate |
| Labor | ICSA, CCSA, MANEMP | Initial claims, continuing claims, manufacturing employment |
| Financial Conditions | NFCI, ANFCI, STLFSI4, CFNAI | Chicago/St. Louis financial stress indices |
| Commodities | DCOILWTICO, DCOILBRENTEU | WTI & Brent crude oil |
| Agriculture | PMAIZMTUSDM, PWHEAMTUSDM, PCOTTINDUSDM, PCOFFOTMUSDM, PSUGAISAUSDM, PCOALAUUSDM | Corn, wheat, cotton, coffee, sugar, coal |
| Consumer | GASDESW, DHHNGSP, MICH | Gas prices, natural gas, Michigan consumer sentiment |
| Housing/Orders | DGORDER, DRTSCILM, AMTMNO | Durable goods, bank lending, manufacturers orders |
| International Yields | IRLTLT01AUM156N, IRLTLT01CAM156N, IRLTLT01DEM156N, IRLTLT01GBM156N, IRLTLT01JPM156N | Australia, Canada, Germany, UK, Japan long-term rates |
| Reserves | WTREGEN | Treasury general account balance |
Status: COLLECTING — 45 series, 10-year backfill complete
Table: cot_positions (24 rows)
Schedule: Saturdays 8 AM (weekly CFTC release)
What: Large trader positioning in futures markets. Shows institutional sentiment — contrarian signal when positioning is extreme.
Commodities tracked: Corn, Crude Oil, EUR, Gold, JPY, S&P 500, Silver, Soybeans, Wheat
Columns: commodity, report_date, commercial long/short, non-commercial long/short, open interest
Status: COLLECTING
Table: cot_forex (8 rows)
Columns: currency, report_date, dealer_long/short, asset_mgr_long/short, leveraged_long/short, other_long/short, nonrep_long/short, open_interest
Schedule: Saturdays 8 AM
What: Disaggregated forex COT — breaks out positioning by trader type (dealers, asset managers, leveraged funds). More granular than legacy COT.
Status: COLLECTING
Table: treasury_daily (30 rows)
Columns: record_date, tga_balance, fetched_at
Schedule: Weekdays 5 PM
What: Treasury General Account balance — early signal for deficit/debt ceiling markets and liquidity conditions.
Status: COLLECTING
Table: econ_calendar (34 rows)
Columns: release_id, release_name, release_date, last_updated
Schedule: 6:10 AM daily
What: Upcoming economic data releases with dates — tells us which markets will move and when.
Status: COLLECTING
Table: econ_releases (117 rows)
Sources: AAA gas prices, FedWatch rate probabilities, Freddie Mac mortgage rates, Treasury debt
Schedule: 7:30 AM weekdays
What: Real-time economic indicators — CPI, employment, rate expectations, housing costs.
Status: COLLECTING (4 sources active)
Table: econ_consensus (0 rows)
Schedule: 5:30 AM daily
What: Survey expectations for rates and economic data — the "market expects" number that Kalshi prices should converge to.
Status: NOT COLLECTING — table empty
Table: forex_macro_metrics (65 rows)
Columns: metric, value, components, computed_at
Schedule: 6:15 AM daily
What: 12 calculated composite signals: carry trade flows, FX basis, rate differentials, momentum, VIX/MOVE crossover — edge indicators derived from raw data.
Status: COLLECTING
| Role | Model | Notes |
|---|---|---|
| Forex-Macro Analyst | Grok 4.1 Fast | Auditioned winner (Mar 15). Central bank policy, yield curves, COT, carry trades |
| Correlation Analyst | Sonnet 4.6 | Cross-asset correlations, regime detection |
| Calendar/Timing Analyst | GPT-4.1 mini | Event timing, release scheduling |
| Conviction Analyst (macro only) | Haiku 4.5 | Research conviction scoring |
Forex desk uses: central_bank_signals, macro_indicators, cot_positioning, carry_dynamics, intervention_risk, technical_levels, cross_market_flows, geopolitical_events, bank_order_flow, seasonality_patterns, safe_haven_flows, leading_indicators_pmi, trade_balance
Macro desk uses: gdp_trends, inflation_data, employment_figures, central_bank_minutes, yield_curve, leading_indicators, consumer_confidence, manufacturing_pmi, trade_balance, fiscal_policy, global_growth_divergence
Table: econ_consensus — 0 rows, not collecting
What: Bloomberg/Reuters consensus expectations for upcoming economic releases. Critical for knowing whether a print is a beat or miss.
Impact: Without consensus, the desk can't calculate surprise factor (actual - expected).
What: Implied volatility from FX options (1W, 1M, 3M tenors), risk reversals, butterfly spreads. Impact: Tells whether FX markets are pricing in a big move. Kalshi FX range markets should be compared against implied vol.
What: NLP scoring of Fed/ECB/BoJ speeches, meeting minutes, and press conferences. Impact: Forward guidance shifts move FX markets before actual rate decisions.
| Data Type | Frequency | Source |
|---|---|---|
| Forex prices | Every 4h weekdays | OANDA API |
| FRED economic data | 7 AM weekdays | FRED API (free) |
| COT positioning | Sat 8 AM | CFTC Socrata API (free) |
| Treasury daily | 5 PM weekdays | Treasury API |
| Economic calendar | 6:10 AM daily | FRED releases |
| Economics (BLS etc) | 7:30 AM weekdays | Multiple (AAA, FedWatch, Freddie Mac, Treasury) |
| Forex-Macro metrics | 6:15 AM daily | Calculated from raw data |
| Consensus | 5:30 AM daily | NOT COLLECTING |