Kalshi BTC Up Down Contract Analysis (IN PROGRESS, WILL GET FULLY UPDATED SOON)
THIS BLOG IS STILL IN PROGRESS OF BEING WRITTEN, COME BACK LATER
Today’s blog is is a bit different from the normal agentic trading or fundamental / discretionary side of trading I’ve normally discussed. Over the past couple of weeks, I’ve recorded data on Kalshi’s 15 minute BTC Up Down contracts, now I want to show off the data and use this blog as a way to record my thoughts and get me thinking about the next step on this project.
First thing’s first, let’s define Z = [ln(F/K) − 0.5·σ²·T] / (σ·√T). I think the formal name is “standard deviation of log-returns over the horizon”, and this is used by black scholes. What I do is compute Z by using the forward and strike prices as well as a measure of sigma (using rolling window lookback).
So, what does the data look like? Plotted below is the empirical average market price vs every Z in blue. Then in yellow is Phi(Z), or what a normal distribution would assign probabilities to each Z. As we can see, the market’s empirical average prices are different from the normal distribution by quite a bit. The “temperature”, to borrow a term from machine learning, is higher. In plain english, the curve has a steeper slope in the middle and converges towards higher probabilities faster.
So obviously, if we wanted to price this option, then using a normal distribution would give us outputs way off from the market. But how could we price this option? Well the first idea I had was to use the average prices from the market empirically as a curve that could tell us at any Z what a potential fair value for the option is. So that’s what I did, I smoothed out the curve that the empirical averages gave us and made sure it was monotonically increasing. You can see the curve in blue below. I plotted a red curve with the median market price at various Z’s and also show the range of prices the market empirically provides at any Z.
Sidenote: (Also, I know in my last blog post, I argue against the idea of “fair values”. I still hold that belief, I still think we’re predicting human behavior fundamentally and not prices. For sake of ease of understanding, I’ll just say fair value though).
As we can see, the range is quite large, but our smooth curve fits the median and fits well within the range. I think though that this large range actually presents quite a bit of a problem, but I’ll get more into that at the end though.
Anyways, now we want to know if our curve and the market is correct. Well the way I thought of to measure this was to check at every Z what was the average rate of contract settlement and plot it against our curve. You can see that below:
