■ Vader Hairitai
vader.hairitai@kellogg.northwestern.edu ■

Kalshi causal-chain trading bot

Event-driven Research · 2026

An agentic trading bot that reads 18 RSS feeds in Chinese and English, runs causal-chain analysis through the Anthropic API, and paper-trades Kalshi event contracts on US economic indicators.

STATUSPaper-traded 4 months, 2025-2026 · private
STACKPython · Anthropic API · SQLite
SCALE18 RSS feeds (9 CN + 9 EN), hourly
RESULT12 signals: 8 correct, 3 wrong, 1 expired

An agentic trading bot that reads 18 RSS feeds across Chinese and English business press, runs causal-chain analysis through the Anthropic API, and paper-trades Kalshi event contracts on US economic indicators. The architecture is a study in cross-language convergence as an alpha source.

Chinese commodity and macro coverage tends to land 24 to 72 hours before the same chain reaches English-language wires, particularly around fertilizer prices, base metals, agricultural inputs, and Chinese industrial activity. By the time a US event-contract market reflects the move, the directional signal is sometimes already public abroad.

Eighteen RSS feeds (nine Chinese, nine English) polled hourly, deduplicated, and language-tagged on ingest. Each article passes through a JSON-schema-constrained Anthropic API prompt that extracts the implied causal chain and the directional sign on a US indicator. A convergence detector fires when three CN sources and three EN sources independently land on the same chain within 48 hours; high-confidence chains map to specific Kalshi contracts with size scaled to source diversity, time-to-event, and historical hit rate. Python, feedparser, SQLite signal log, a small VPS at roughly $80/month in inference.

Chinese pressCaixin · fertilizer costs ↑Yicai · phosphate supply tight21st Century · input prices ↑English pressBloomberg · food costs risingReuters · ag inputs climbFT · producer prices firmFERTILIZER PRICES ↑ in bothFertilizer cost ↑Food producer prices ↑CPI surprise upsideBUY YES on CPI > 3.2%
Hover any node for detail.
Cross-language convergence detection. When three CN and three EN sources converge on a causal chain within 48 hours, the system flags a high-confidence Kalshi position.

Cross-language convergence flagged a CPI directional thesis ahead of the early-2026 print. Over four months: 12 high-confidence signals fired, 8 directionally correct, 3 wrong, 1 expired. Net paper P&L modestly positive. Paper-traded only; live capital not pursued for compliance and visa reasons.

SIGNAL OUTCOMES12 high-confidence signals8 CORRECT3 WRONG1 EXPIRED012 signals
Paper-traded late 2025 through early 2026 (~4 months). Counts are exact.

This system is private for reasons of US event-market compliance and F-1 visa considerations, rather than for IP protection. Happy to discuss the architecture and causal-chain prompt design in detail over a conversation.

Paper trading ran from late 2025 through early 2026, approximately four months. Twelve high-confidence signals fired during the window. Eight resolved directionally correct, three resolved against the position, one expired before resolution. Net paper P&L was modestly profitable, sized appropriately for the bet schedule.

The clearest single win was a CPI directional signal in early 2026, driven by convergence on fertilizer-price language across Chinese and English press several days before the US institutional consensus revised. The chain the system extracted was approximately: rising fertilizer input costs to rising food producer prices to upside CPI surprise. The Kalshi contract on the CPI print resolved in the direction the system predicted.

Equally instructive were the misses. Three signals fired on chains that did appear in both press universes but were already priced by the time the bot acted. Convergence detection alone is not sufficient. The system needed an is-this-priced check that I did not get to before pausing the project. That is the natural next iteration.

Python with feedparser for the eighteen RSS feeds (nine Chinese, nine English, polled hourly, deduplicated by URL hash, language-tagged on ingest). Anthropic API with a JSON-schema-constrained prompt for causal-chain extraction, so downstream comparison code can match chains across articles without fragile string matching. SQLite for the signal log. Runs on a small VPS at roughly $80 a month at full polling cadence, with the API as the dominant operating expense.

Cross-language convergence as an alpha source is real but degrading. As more agents do exactly this kind of work, the lead time between Chinese-language press and English-language press for commodity and macro stories will compress. The window in which a cheap independent agent can extract signal is open today and will close.

Free-text LLM summarization is not a substitute for structured extraction. Every minute spent designing the JSON schema for causal chains saved an hour downstream comparing chains. Structured output as the first design decision is the single most important habit I have developed for production LLM systems.

The temptation to log only wins is severe in a paper-trading context. Forcing every signal, including the misses, into the same log was the difference between learning from this project and confirming biases.

Three of the twelve high-confidence signals fired on chains that did appear in both press universes but were already priced by the time the bot acted. Convergence detection alone is not sufficient: the system needs an is-this-priced check that I did not get to before pausing the project. That is the natural next iteration.

■ 2026
Colophon ■