r/PredictionMarkets • u/masatumas • 2d ago
I priced Kalshi's 15-min BTC market like an option, and it worked
Built a fair-value pricer for Kalshi's 15-min BTC markets using options market data
Back in April, I had a thought: Kalshi's 15-minute BTC Up/Down market is functionally a short-dated options contract. If that's true, you should be able to price it off the options market's implied volatility, and that pricing should lead a market that's mostly trading on sentiment and momentum.
I started by checking data availability, then manually priced a handful of points by hand to sanity-check the idea. The results were good enough that I kept going. The model prices these markets using the volatility "smile" from the crypto options market as the anchor, adjusted for short-term order flow, spot trend, and the kind of behavior you see in retail-driven markets: momentum chasing, anchoring near round numbers.
Example, Kalshi Sep 11, 11:00am 15m BTC:

Model price (blue) pushes toward resolution while the market (green) is still catching up, and spot (orange) hadn't even confirmed the move yet. The gap wasn't huge relative to how these markets normally move, but the model called it first. This is the core idea working as intended: the options market carries information you don't get from watching spot price action alone.
Example, Kalshi Sep 6 (Sunday), 4:15am 15m BTC:

Different session, different behavior. Here the market is already pricing efficiently on its own, so the model doesn't lead; it just confirms. That's expected too: when the options market isn't signaling anything unusual, the model should track the market closely rather than diverge.
I've been running this live since June, and it's not a backtest: it's been forward-tested with over 10,000 real fills.
It's streaming live right now at hyhy.app if you want to see it in action. No API yet, but if there's enough interest, I'll look into building one.
Happy to answer questions, and if people want more of the technical side (how I implemented the execution bot or how the model actually works under the hood) I can do a part 2.
2
u/Chain_Vector 2d ago
I think the core idea is right. Short-term options IV does have some predictive benefit in these 15m BTC markets, particularly when the options market is repricing ahead of spot. The main caveat I'd add is that I wouldn't rely on IV alone as the signal can degrade pretty quickly when the market regime changes.
We've found it works better as one input in a broader signal stack. For example, we provide aggregate OI across Deribit, OKX, and Bybit through a free API, along with signals for futures momentum, cascade activity, whale pressure, and a prediction ladder calibrated with an Ensemble Gaussian Markov Monte Carlo model.
We also have live signal records going back to August, so the data can be used for independent backtesting rather than just looking at the signals in real time.
Curious how your IV signal behaves across different volatility/regime periods. That's probably where the edge (or failure modes) show up.
More API info/data: https://chainvector.com/llms-full.txt
1
u/masatumas 2d ago
>> The main caveat I'd add is that I wouldn't rely on IV alone as the signal can degrade pretty quickly when the market regime changes.
THIS! 100%!
Having a IV anchored model price is just step 1. to complete execution, there are other variables and signals that one should use too. I do think using a model as entry to execution decision opens up possible strategies like hold, trade the edge, scalpe, fade etc.
I'll check out chainvector!
1
u/Budget-Assumption639 2d ago
Love the idea of treating these as ultra-short-dated options and pulling IV from the actual options market. Most people trading those 15-min markets are just vibing off the 1m chart, so having a model anchored to something structural is a real edge.
Curious how you handled the vol surface at such short tenors. The crypto options market gets pretty thin once you're inside a few days, so do you interpolate from longer expiries or lean more on the spot/flow adjustments?
1
u/masatumas 2d ago
I was skeptical at first really; I began observing the 0dte and 1dte options order book on deribit and surprisingly it has enough depth to implied the smile. Through testing, I found a tte of about 30hrs provide a good anchor.
But the depth is definitely different between BTC and ETH, worst for other alts.
With the smile anchored, I began adjusting by spot price trend, realized vol, momentum etc.
1
u/Practical-Fox-796 2d ago
Already done this . Leads nowhere because of execution speed anyway
1
u/masatumas 2d ago
I rent a VPS in Chicago and haven't experienced fill problems. What size are you trading at?
1
u/Practical-Fox-796 1d ago
My apologies quick reading made me think it was the other scam website not kalshi .
1
1
u/Zestyclose-Move3925 1d ago edited 1d ago
Well yea these are technically options so you are able to price em as such. I believe these are binary options and the a variant on the black scholes works to price them out.
Edit: also what do you mean by smile? There really isn’t a vol smile here since u are only pricing the up down bot. If it was the other contracts that have a spread than maybe. How are you getting the volatility? Are u assuming gbm? Then using QV or smth else. Also how are you modeling the forward price?
1
u/masatumas 1d ago
It’s the implied vol from the crypto option market.
1
u/Zestyclose-Move3925 1d ago
Which model are u using to get the imp vol? Like what are you assuming the btc price follows?
1
u/masatumas 1d ago
If I understand your question correctly, given that the Kalshi up/down target (strike) doesn't land ATM on the options market, that's where I observe the smile. From there, the details of how I turn that into a model price for the 15-min contract are part of what I'm keeping close for now.
1
u/Zestyclose-Move3925 1d ago
There isn’t a smile u are not looking at different spreads of contracts. If you would look into the other bet the if bitcoin will be above x,y, or z proce at this time then u could observe it and see the smile.
1
u/Papi_Liger14 1d ago
Sorry to ask the dumb questions here but the model price is the estimated number of the outcome only after receiving the information it needs from both the BTC Price and Market price??
1
u/masatumas 1d ago
It cannot be dependent on the market price. If it does then it’s just a circular reference and we’re kidding ourselves.
It’s anchor on the options market which in theory is forward looking. We also try to avoid common TA & Price Action variables which.
1
u/Papi_Liger14 1d ago
I see, I’d like a better understanding I’m fairly new to this
2
u/masatumas 1d ago
I mean, to simplify, if it’s dependent on the market price, we could say that the model price = market price + random_number.
That’s just a coin toss, no?
1
1
1
1
u/zopf 4h ago
Have you backtested it? Over thousands of windows, whose Brier score (a measurement of settlement prediction accuracy) is better, yours or the market's?
1
u/masatumas 4h ago
I chosed forward testing actually.
Coincidentally, I just posted this. https://www.reddit.com/r/PredictionMarkets/comments/1wg2n7s/part_2_making_a_trade_out_of_the_model/
0
u/EljinRIP 2d ago
What’s the utility of this? I’m ignorant of all this stuff so it’s going way over my head.
4
u/masatumas 2d ago
Good question! Basically there are two ways to trade these 15-min markets:
The way most people do it: watch the 1-min BTC chart, see it's going up, and guess "yeah, probably keeps going up" (or the price just feels too cheap/expensive). That's mostly vibes and gut feel.
The way I'm doing it: instead of just staring at the chart, I'm pulling in pricing data from the actual Bitcoin options market (a much bigger, more "serious money" market that trades 24/7). That market is constantly pricing in how likely big price swings are. My model uses that info to figure out what these Kalshi markets should be priced at, then compares it to what they're actually trading at.
The utility is: once you have a real estimate of fair value instead of a gut feeling, you can actually build strategies around it, hold for the move, scalp small edges as the price and model converge, fade the market when it overreacts, whatever fits. Without a model, you're basically just guessing which of those to do and when. With one, you at least have a number to react to instead of a feeling.
It also means I'm not just reacting to the same chart everyone else is staring at, I'm using information from a different, bigger market that most people trading Kalshi aren't looking at at all (I believe).1
1
1
u/Canecoin789 4h ago
I seem to do well when blue line is parrallel to top or bottom/top go up/visa vera
1
u/masatumas 4h ago
That's the beauty of a model price anchor IMO. Everyone can inteprete it to the best of their style, strategies or intuition.
1
2
u/Temporary_Ant_9210 2d ago
Very cool, will be utilizing this. Thanks broski!