How To Trade Event Contracts on Kalshi
A statistical arbitrage approach to trading global, political, and economic events
Kalshi is an exciting new platform that allows users to bet on the outcome of a broad array of global, political, and economic events. In this article, I will explain exactly how Kalshi works and how to trade event contracts. I will also outline some important theoretical underpinnings for participating in this new and exciting market.
The common property of all markets is that they aggregate information through price discovery. A market is a complex dynamic system with dependency relationships that cannot be modeled by a single individual. The power of a healthy market is in synthesizing the knowledge of agents with varying levels of rationality and expertise.
Introducing Prediction Markets
The purpose of a prediction market is to provide accurate quotes on the probabilities of global events. In an efficient market - the price of an event contract should reflect all pertinent information affecting the outcome. Our task as event traders is to find underpriced contracts - and update the markets with the correct probability through the action of buying or selling.
How The Contracts Work
A Kalshi event contract has two components - a “yes” and a “no”. Each side of the contract is traded on an exchange. The price of a contract ranges from 0-1 dollar and is priced to reflect the probability.
If the contracts are perfectly priced, the “yes” and “no” side of the contract should sum to $1. However, since both sides of the contract are traded individually, price discrepancies naturally arise. In some cases, this allows for arbitrage by purchasing both sides of the contract to net the spread. This practice is called “netting” and allows you to make money regardless of the event outcome.
If you’re currently running an event-driven equity/futures/currency portfolio, you can likely benefit from using Kalshi to hedge or directly gain exposure to your views without carrying intermittent risk from extraneous factors.
Major Advantages of Trading on Kalshi
Easier Portfolio Construction: Rather than predicting events and their market response, predict the event itself and profit
Largely Retail Focused: The market is new, clean of institutional money and ripe with inefficiencies
Pure Alpha: All returns are pure alpha. you carry zero intermittent beta exposure
Disjoint Exposure: Traditional financial instruments carry joint exposure to more events than you could enumerate. Kalshi enables disjoint and targeted exposure
True Diversification: Your bets across various contracts are statistically independent. If you’re running multiple trades you don’t have to worry about your diversification suddenly evaporating as is often the case with market drawdown periods
Hedge Your Existing Portfolio: Bet on tail-risk events to protect your equity portfolio from drawdowns
Strategy
The strategic approach I will be outlining in this article is called statistical arbitrage (stat-arb). Stat arb is a commonly practiced portfolio management approach in the quantitative hedge fund space and involves building portfolios of recurring predictive signals. My approach to stat-arb on Kalshi is simple:
Find weekly and daily recurring contracts
Filter for events that are associated with dense data-sets
Build a probability/machine-learning/time series model and use it to identify under-priced contracts
Build a portfolio of predictive signals
Defining an Underpriced Contract
Let c be the cost of a contract, and let p be the probability of the event occurring. When we correctly predict the event, we win (1-c) dollars. When we are wrong, we lose the cost of the contract c.
Therefore, the expected value of purchasing a contract is the difference between the probability of the event occurring and the cost of the contract.
If a contract is correctly priced (p=c), there is no stochastic advantage in purchasing the contract. Our task is two-fold
Determining the probability p
Purchasing the contract at a discounted price
The presence of trading activity naturally creates opportunities to purchase contracts at discounts. Additionally, you can place resting orders in the limit order book that give you a solid shot at locking in the right price.
The Limit Order Book
Before diving into the limit order book let’s define some terminology
Bid - an offer to buy a security at a specified price
Ask - An offer to sell a security at a specified price
Bid-Ask Spread - The difference between the highest bid and the lowest ask (most compelling buy offer and most compelling sell offer)
Yes-No Spread - 1 - [ (highest yes bid) + (highest no bid)]
There are two kinds of orders a trader can place in a market - limit orders, and market orders. A market order satisfies an immediate demand for liquidity by purchasing a finite number of contracts at the market price.
A limit order (bid or ask) supplies liquidity to the market rather than demanding it. It is a resting offer to purchase or sell a security at a specified price. Limit orders sit on the book until they are matched to a corresponding market order.
Market orders serve those who have an immediate need to take a position
Limit orders serve those who who want a position locked in at a specific price
Limit orders do not incur transaction costs on Kalshi as they supply a market making service to the exchange.
Higher bids and lower asks get filled faster
As statistical arbitrageurs, we primarily care about entering positions at +EV prices than +EV times. We would rather not hold a position at all than enter it at the wrong price, as such - the limit order book is our best friend.
Market Making
When the demand for liquidity (market orders) is greater than the supply (limit orders), prices fluctuate. Market making opportunities are created when this inequality is present.
Suppose the highest bid on the price of a “yes” contract is 56 cents, and the highest bid on the “no” side of a contract is 40 cents. The yes-no spread is
You can place limit orders for both sides of the contract at 57 and 41 cents respectively. You are now offering a more compelling price than the current market. The yes-no spread generated by your offers is .02 dollars. When your orders on both sides are filled you pocket the spread. You also played a role in re-pricing the contracts by offering more competitive exit-liquidity. You are thus compensated for making the market more efficient.
This approach is not dis-similar to that of high frequency traders. The risk present in market making is that only one side of your order is filled. You can accidentally end up with exposure on your book that you don’t actually want.
Market making requires a deep understanding of the mechanics of trading and a great deal of speed.
Mutually Exclusive Events
Kalshi offers contracts on mutually exclusive events. Mutually exclusive contracts allow for more complicated bets that can win in more than one outcome.
2 Mutually Exclusive Events Example
Contract A: “Donald Trump Wins Election” - Yes/No
Contract B: “Joe Biden Wins Election” - Yes/No
These events are mutually exclusive. You have two possible results at settlement.
A = yes, B = no | A = no, B = yes
You have 4 possible bets using both contracts:
Bet on A = yes, B = yes
Profitable if the price of A_yes + B_yes < 1 (arbitrage)
Bet on A = yes, B = no
Sub-optimal trade. You should buy min[A_yes, B_no] to gain cheapest exposure
Bet on A = no, B = yes
buy min[A_no, B_yes] instead
Bet on A = no, B = no
Profitable if the price of A_no + B_no < 1 (arbitrage)
In an arbitrage-free pricing scenario:
If any of these equalities fail you have arbitrage/market-making opportunities.
3 Mutually Exclusive Events Example
Contract A: “Donald Trump Wins Election” - Yes/No
Contract B: “Joe Biden Wins Election” - Yes/No
Contract C: “Kanye West Wins Election” - Yes/No
You have 3 possible outcomes:
A = Yes, B = No, C = No | A = No, B = Yes, C = No | A = No, B = No, C = Yes
You have 8 possible bets using all 3 contracts:
A_no, B_no, C_no
A_no, B_no, C_yes
A_no, B_yes, C_no
A_no, B_yes, C_yes
A_yes, B_no, C_no
A_yes, B_no, C_yes
A_yes, B_yes, C_no
A_yes, B_yes, C_yes
We’ll dive deeper into optimally trading mutually exclusive events in later articles.
Joint Events
Joint event contracts involve events that overlap with one another. Multiple contracts can resolve to “yes” simultaneously. The contract with the more restrictive view supersedes the contract with the less restrictive view.
Joint Event Example
A = “GDP is >= 3%”
B = “GDP is >= 6%”
C = “GDP is >= 8%”
If you buy “yes” on C, B, and A, you know that if you win C, you win all others. However, if you lose on B and C, you could still win at A. Joint events are modeled well with a cumulative distribution function.
Wrapping it up
I hope you enjoyed this first lesson on event trading. Future posts will include predictive models, alphas, code, and trading strategies. This content will be reserved for my premium subscribers. I highly recommend upgrading your membership if you haven’t already. I look forward to seeing you inside!
Thanks for this post - this is a great read with interesting takes on stat arb.
I particularly love the point about supply/demand imbalance creating market making opportunities! Excited to see this in action.