a * b = Mean² − MAD² (where MAD = mean absolute deviation)
As soon as numbers deviate from the mean, their product is dragged down — even if the mean is unchanged. More deviation, more drag. And what is deviation? Volatility.
Bridging middle school math to investing math
In investing, we compound, or multiply returns. So even if the mean of two returns is identical, the dispersion between them matters. Not just matters. It matters quadratically.
No dispersion: The arithmetic mean of (8, 8) is 8. The geometric mean of (8, 8) is √(8×8) = 8.
With dispersion: The arithmetic mean of (5, 11) is still 8. But the geometric mean of (5, 11) is √(5×11) = ~7.4.
If you earn 10% on an investment and then lose 10%, your mean return is 0, but your actual compounded (geometric) return is 1 − √(1.1 × 0.9) = −0.50%.
Now increase the volatility: earn 40%, lose 40%. Mean return is still 0. Compounded return? 1 − √(1.4 × 0.6) = −8.3%.
The drag on your returns is a function of squared deviation. Put simply:
As I mentioned a few weeks ago, I’ve been re-publishing educational posts on X Articles which serves as spaced repetition practice for long-time readers or just bringing them to the attention of new readers who would be better served by a steady IV drip (no pun) of archival posts than attempting to raw dog the compendium.
I bought silver a year ago because of Alexander Campbell’s substack. He does a great job showing his thinking behind ideas with data and charts. This alone is helpful because it reveals “these are the datasets a smart guy pays attention to”.
AI tools are shortening the distance between “Hey, that’s neat, I should add that to my dashboard” and like actually adding it to your dashboard. Even if you stink at the world’s most popular coding tool —- Excel (see Will Claude Eat Excel?)
I used one of Alexander’s recent posts to whip up a silver dashboard. I’ll explain what I did, what I added, and share it with you so you can duplicate it as your own starting template. But the broader lesson is that agents are going to make all content “interactive”, we’re just not used to those patterns. Yet.
It is just another staple in my belief that as the cost of inference approaches zero the value of unique data increases. At one time oil was used for light and warmth. But when the automobile was born it claimed the largest cut of the barrel. If data is oil, more people everday are unlocking the ability to “refine” it by transforming it, building new logic and visualizations.
Let’s get to creating the dashboard.
One giant disclaimer:
Expectations are everything. AI is not going to one-shot this project. I’d estimate it reduced a 6 hour task to 90 minutes. Indulge my parental tone for a sec. It would be a mistake to permit this to let you work less in the spirit of that stupid Genspark AI Super Bowl ad. Instead, you should see this as “I can do 4x as many projects as I could before.” This may sound like hustle-porn (you know it when you see it, right?) but if that’s your attitude I offer 2 observations:
You probably don’t like your work. If you do, then giant increases in productivity allow you to get even closer to the the best parts of your work.
Regardless, this goldilocks period will end, everyone will know how to use the 21st century calculator, and 4x as productive will become the new baseline. Red queen. A very smart guy who used to work with me (he was the one who did a lot of the math and technical stuff that we’d need) works in real estate now. I suspect he’s in the top 1% of nerd in that industry. He recently applied for a job and failed a test that was intended to deomonstrate how resourceful he was in the context of AI tools. Knowing him as well I do, I found this shocking because he’s the kind of person that always does well on formal exams. Granted, he admits he’s not not using AI as much more than a google replacement. That this exam exists and a person like him failed, suggests the goldilocks period may already be drawing to a close. It’s not like real estate companies are living on the bleeding edge either.
On a positive note, I think you learn just as much in the compressed time as if you spent 6 hours. Instead of fumbling around with semicolons and syntax you learn how the internet is stitched together and how technologies talk to each other. Embrace manager mode.
We include a control tab for sourcing the relevant data. All of Alexander’s sources were public but whether you can automatically connect to them is another matter.
That’s why I like ot have a control tab which triages which sources are MANUAL, API, or SCRAPED.
Google App Scripts
This is the equivalent of VBA behind Google Sheets but it’s in Javascript which Claude will happily write for you whether you want to wire the sheet up to APIs or scrape.
Step 3
Troubleshoot. Claude’s sheet gets you 75% of the way in moments and then you spend 90 minutes on this step.
Most of the scraping failed. Sometime because Claude referenced a stale website. But even when you update the correct URL you quickly find that financial data websites tend to lockdown the ability to scrape.
I worked through each data source, iterating with Claude to find automatic (and free) solutions or writing AppScripts usually falling back to “manual” when necessary.
Finally, as I made changes to the spreadsheet there’s the expected debugging and tracing of formulas that happen whenever you delete stuff from a sheet someone else (in this case a bot) made. Pound ref and N/A always show up for a gangbang.
Step 4
Add spice to taste.
Alexander + Claude leapfrogged a lot of work. But there’s still plenty of room for your own judgement and creativity.
For example, when it comes to COT I use the fantastic tools on the CME website which aggregate both futures and options positioning.
I also added leveraged ETF tickers and logic that estimates how much silver there is to buy/sell based on their daily rebalances and even a first pass at computing market impact (see appendix).
Finally, I included a placeholder picture to compute the implied term structure from the SLV options term structure by backing out hard-to-borrow rates.
from moontower data infra
The google sheet is mostly self-explanatory but even if you get stuck just use Gemini in sheets or the Claude extension in a browser to mentor you along.
“Vega wounds, gamma kills” is an esoteric expression that’s still common enough that you can google it and return a bunch of hits. It’s a reasonable acknowledgement of realized vol p/l being quadratic with respect to how large a stock move is.
I’ve recently been cross-posting my writing on how this works on X since they’ve been pushing their Articles functionality.*
* A lot of people (and bots) are boosting these. I am treating these releases as a spaced repetition exercise for long-time readers. Analytics show very high engagement so X must be signal-boosting them. This is a 1-year chart. The recent spike is Articles:
A lot of people cry about the growth of Articles longform on X but twitter is a long way from the community it used to be anyway, so don’t really care as much if I’m burning the house for warmth in the eyes of diehards. Although I don’t think I am since the reason I came to twitter in the first place was to find stuff to read and learn not hot takes. It's different things to different people and when they suppressed Substack it shifted the appeal for me. This is some re-alignment, albeit on their terms. Fine. It's a reasonable negotiation.
The Articles I’ve posted on the theme of non-linearity in options
This last one is about the “gamma” of vega. For OTM options, the vega of the option, its sensitivity to changes in IV, itself changes. We call that second-order sensitivity volga. Volga is to vega as gamma is to delta.
I don’t have a dedicated post on vanna I’ll cover it briefly right now.
Vanna
The definition of vanna you are most familiar with is change in delta due to change vol. You have heard of this because of dealer flow discourse. For example, if dealers are long calls and hedged with short shares, as vol declines on a rally, their long option deltas shrink. If this happens faster than their long gamma increases their net delta, then they will have stock to buy to rebalance to neutral.
But vanna has an alternate definition. One that dominates our understanding of trading skew:
the change in vega for a change in underlying
If you are short puts on a risk reversal as the stock falls, you get shorter vol and vice versa. Your vega changes as the spot moves.
I suspect the “gamma kills” idea is popular because it’s a common experience. Option volume is dominated by near-dated expiries where gamma and theta dominate the p/l. Most people will simply never feel what it’s like to be wrecked or celebrated by volga or by a delta-hedged skew position. They might know what it’s like to get crushed to vega directly, but even that will be less familiar than realized vol-driven performance, given typical trade duration.
But I can tell you that my most memorable p/ls have all had vanna and volga at the scene. 2020 was especially dramatic in this regard as an explosion in vols led to position sizes exploding and finding myself sitting on a growing pile of vega that varied from “increasing in demand” to “panic bid”.
Qualitatively, the repricing of vega is significant because vega is illiquid. You can delta-hedge your way to a replication of a relatively short-dated option. In a sense, the volume in the underlying itself is a form of liquidity for options even if the options themselves are illiquid. But this idea extending to a long-dated option is only theoretical. In practice, if you are short a long-dated straddle that doubles in value, the mark and its accompanying hit to your capital may leave you in a forced position. You don’t have the luxury of manufacturing that vol via delta-hedges for a year.
This will be exacerbated if you were short, say 100k 1-year vega, but because of vol exploding you find that you are now short 200k vega. Maybe you can stomach the p/l hit due to vega, but you might not be able to hold the new position size. If Street Fighter’s Vega had Mortal Kombat finishing moves, they would be called vanna and volga.
The recent silver move has been so crazy that vega p/l has dominated realized p/l (realized p/l is the tug of war between gamma p/l from the equation at the opening of the post and theta). It’s an outstanding case study in how higher-order effects are fundamental to understanding options.
We’ll begin with a classic “trap” trade.
Imagine back on Dec 31st, with SLV at $64.44, you bought put and sold call on the 60/100 risk reversal delta neutral with the plan to hedge the delta at the close each day.
This position starts:
Long vega
Long gamma
Paying theta (you laid out extrinsic option premium)
The 60 put you buy is 59.6% IV, the 100 call you sell is 78.7% IV
The risk reversal would have cost you $2.89 of option premium since the put is much closer to at-the-money.
What happens between when you opened the trade and the snapshot I took this past Tuesday, 1/27/26, when the stock has risen to $97.09 and the options still have over 3 weeks to expiry?
This daily hedged risk reversal has lost $.82 net.
You are short gamma albeit less gamma than you were long when you initiated the trade because the ATM vol is so much higher!
More things to note:
The IV on your long strike: 59.6% → 99.6% or 40 vol points!
The IV on your short strike: 78.7% → 99.4% or 25 vol points.
You won on the vega spread between the options.
So why did you lose money? Was it the realized vol? That seems suspect, after all, you were long gamma at the start of a big move. You’re short gamma now, yes, but it’s not even that much.
The clue is right there in the table:
You went from long 5 cents of vega to short almost 14 cents of vega as your short strike is now at-the-money.
Yes, the vol on your short strike went up much less than the IV of your short strike, BUT it went up when the vega of that strike was much larger than the vega of the strike you were long.
In short, you were getting shorter vol as vol was ripping higher. The vega p/l totally swamps the realized p/l:
from a long option holder point of view of a daily delta-hedged position
Here’s a snapshot from the interim on 1/13/2026, when the stock had rallied almost to the midpoint of the 60 and 100 strikes.
The 60 put you own has gone up over 7 points, and the 100 strike you are short barely budged from the elevated vol from the original skew. You are up $.37 on the hedged position…but your risk is changing quickly. You are now short vega, flat gamma, and collecting theta.
Wait, you are collecting theta without being short gamma.
Technically your gamma is very slightly short, but the point stands — in fact, if the 60 put IV was a bit lower you could even be long gamma and collecting theta.
New option traders will brag about such a favorable greek profile. An experienced trader knows that the ratio is an indication that you are simply short a premium IV and premium IVs happen near the prices where hell breaks loose. As I’ve said many times…the skew just tells you where the bodies are:
In sum,
Despite these options not being “long-dated” their performance has been dominated by IV. In this case, mostly through vanna which is best seen at the interim.
Despite the 60 put vol increasing 7 points, the vega of the option halved as it was now much further from ATM (it went from being a -33 delta put to -9 delta by 1/13/26)
Meanwhile, the 100 call’s vega doubled due to it becoming closer to ATM (it went from a 9 delta call to 21 delta).
Note that volga is not playing much of a role in 100 call vega doubling. The change in option vega can’t be due to IV increasing. Why? Because IV didn’t change on the 100 strike during the rally from $64.44 to $78.60!
From the vol convexity article, we know ATM options have no volga. In fact, ATM vega is insensitive to vol level and holding DTE constant, it only depends on the spot price!
But OTM options have a lot of vega to gain if IV increases since IV ripping higher makes all OTM options look closer to ATM as they are “less far away”. Their delta increases (vanna) and their vega increases (volga). In the above example, the 100 call IV did not rip higher by 1/13/26, so we couldn’t see volga in action. The vol only roofed on the strike once the option was close to ATM.
To give volga its due, we should zoom in on Monday when Feb SLV vol ripped higher on silver popping 10% (before giving back nearly half its gain).
We’ll look at a call nearly 14% OTM with less than a month til expiry.
The $1.33 of hedged option p/l for that call is only partially explained by the initial vega of .033 and a vol change of 26 points. The difference could be explained by the fact that the average vega of the call as vol (and stock) increased was probably closer to .05.
26 vol points x .05 vega = $1.30
Since the stock only rose by 6%, we can safely guess that the 50% increase in the vega of the option is mostly driven by volga.
Gamma is not the only killer. Any position that grows faster than the underlying changes contains risk that is not seen in a snapshot. That delta hedged vertical spread or risk reversal might look gamma, theta, and vega neutral today but that profile gets battered as soon the clock ticks and the waves start coming in. The snapshot neutrality is dangerous because it can easily lull you into thinking your risk is smaller than it really is.
Ask anyone who bought an SLV and nat gas 1×2 call spread because “the skew was fat” or because they are “long gamma, collecting theta” how that’s working out?
Trailing 1-year inflation per the CPI index has been ~2.5%
Prompt CME gasoline futures (RBOB) are up 80% this year but the curve is strongle backwardated (deferred futures are trading much lower).
RBOB futures curve on 3/26/26 via TradingView
Gasoline is about 3% of CPI. If the futures roll up all year to prompt levels, this alone will add about 2.5% inflation for the next year.
The bond market has added 25 bps to the 10-year yield since the start of 2026. It sits at a 9 month high(via CNBC):
The put skew is also starting to kick in with the risk reversals on IEF making 1-year highs. This is the 1-month maturity for reference:
Bonds are in a weird spot. If the economy sputters, you usually want bonds as a hedge but not if it sputters because of supply-side inflation. Kinda makes me want to sell bond vol as they are might whip around but not really go anywhere but even though IEF vol is relatively pumped, how much fun is it to sell 9 vol?
3/26/26…IEF vols up over a full click to about 10% IV
Finally, for the yield hogs with a stomach for swings, M1 WTI trades about >3% premium to M2, so if you think the futures keep rolling up, that’s a 36% annualized roll return if a prompt barrel maintains a market premium (formally called a “convenience yield” in futures parlance).
Put skews normalizing and then some
We already saw IEF put skew coming to life.
Silver put skew is coming back. The 25d risk reversal on 30d options has been grinding back toward zero and is now turning positive.
Apparently, no asset is safe. Maybe those private ones that don’t have prices. Oops, scratch that…
Energy and the dollar vs everything else (Street Fighter voice) Ready, FIGHT!
And for the metals enjoyyyers…gold vols are way off the curve after prices crashed 15% in a month (that’s ~52% annualized realized vol but who’s counting?)
Erik (Outlier Trading) and I record a podcast each week. We usually discuss an evergreen idea but we also sprinkle in topical episodes based if something current is on our minds. This is one of those:
I step through my thinking and the price of oil call spreads on the pod but here’s a summary:
If CPI trends toward 5%…
My market on real yields: somewhere between 0 and 1%.
→ That puts the 10-year at ~5.5%, or about 100 bps higher than today’s 4.4%
→ IEF (duration ~7) drops about 7% — which is in line with current higher implied vols in IEF.
→ Jan IEF 90/89 put spread: ~6-to-1 payout
Now the equity side.
Current SPX forward earnings yield: ~5%. If investors accept just 50 bps of risk premium over a 5.5% 10-year, then the earnings yield needs to be ~6%, which implies a P/E of ~16.7. That’s roughly 17% lower from here, assuming forward earnings don’t contract.
→ Jan SPX put spreads at those levels: also ~6-to-1
Both trades land in the same neighborhood.
(You could go to lower strikes for fatter payouts if you think the market is genuinely asleep at the wheel on inflation risk.)
Oil call spreads suggest that the chance of the oil prices rising to current levels through the end of the year are about 25% so you can take or lay 3-1 odds. Steeping through the chain, if there’s a 25% chance of dropping 20% and the current price is fair then the upside to SPX is:
.75*SPX_up – .25*20% = 0
.75*SPX_up = .25*20%
SPX_up = 6.66% which would take the market back to unchanged for the year.
It’s quite reductionist to think this is binary and to reduce the valuation of equity to inflation —> higher interest rates —> multiple falling, but the art of market-making is essentially sense-making between prices and probabilities quickly.
If there are aspects you disagree with, I’ve shared what some of the prices are in the market so let me know what the trade is.
In the vein of Thursday’s post, you could think about stuff like “Buy IEF put spreads and buy SPY shares on a ratio of X” if you think SPY has more upside because its current pricing is coming from a >20% downside (do you see how that math works?). Trading is like a sudoku puzzle with prices as the given numbers. It’s like you have to find the hedge ratios that solve the grid.
I thought this thread was interesting, but not to scare you, it thinks my downside scenario is quite conservative if gasoline prices stay stubbornly high:
If SpaceX and OpenAI want to go public, I wonder if Elon and Sam call Trump…”bruh you’re ruining our picture”. And then they could all sit down and work something out. Art of the Deal.
You know how in Monopoly when you are a bystander to 2 other people trade you are sad? It’s because regardless of who got the better of it, you know YOU are worse off.
Investment Beginnings Class #3 and the game we played
What if gasoline futures roll up to the current spot price all year?
Checking in on the TIPs replication trade
Music for the journey
Friends,
I taught lesson 3 of the Investment Beginnings course this week for 14 middle and HSers. That link includes the materials and video.
I opened the class with a timely story. The day before the class, I found a statement for an account I forgot about. 25 years ago, I spent $800 buying FedEx and Motorola shares. The account value according to the current statement…$14k!
I told them about studies claiming dead investors outperform the living, but I actually think it’s apocryphal. Sometimes it’s spun as “investors who lost their password” made the most money. In any case, it basically happened to me. It gave me an excuse to foist math on them by making them calculate my CAGR. You want those calcs to be second nature. I saw an interview where an investment manager said their target is to return 2 to 4x the fund in 7 years. Immediately, in your head, that’s 10-20% CAGR.
We sprinkle little bits of investing math as we traipse around the day’s lesson, but the heart of this particular class was a game. We broke into teams to construct investment portfolios. I used historical data but changed the names of 15 real companies to local towns and showed various metrics like margins, FCF%, earnings, revenue growth, etc.
We played 4 rounds starting from 2014. The teams lock in their portfolio weights to the different companies. There’s also the choice to invest in T-bills. There’s also a benchmark portfolio that is 20% T-bills and the remaining 80% is equally allocated across the 15 stocks.
Every 3 years, we reveal returns and allow the teams to re-jigger their portfolios. The 4 rounds take us through the start of 2026. Then I revealed the actual companies and we discussed what drove the returns. The most interesting aspect is how the metrics are loaded with pitfalls, so we talk a bit about the nature of the information that is available. The most overpriced stock with terrible margins was the best performer. Wear a helmet kiddos.
Introducing Erdo
Emi, my moontower.ai cofounder and a small team who I have the privilege to chat and work with as well, launched Erdo. I’ve been using it for months connected to the moontower.ai infrastructure. By now, I know enough to just go along with anything Emi’s up to.
Trailing 1-year inflation per the CPI index has been ~2.5%
Prompt CME gasoline futures (RBOB) are up 80% this year but the curve is strongle backwardated (deferred futures are trading much lower).
RBOB futures curve on 3/26/26 via TradingView
Gasoline is about 3% of CPI. If the futures roll up all year to prompt levels, this alone will add about 2.5% inflation for the next year.
The bond market has added 25 bps to the 10-year yield since the start of 2026. It sits at a 9 month high(via CNBC):
The put skew is also starting to kick in with the risk reversals on IEF making 1-year highs. This is the 1-month maturity for reference:
Bonds are in a weird spot. If the economy sputters, you usually want bonds as a hedge but not if it sputters because of supply-side inflation. Kinda makes me want to sell bond vol as they are might whip around but not really go anywhere but even though IEF vol is relatively pumped, how much fun is it to sell 9 vol?
3/26/26…IEF vols up over a full click to about 10% IV
Finally, for the yield hogs with a stomach for swings, M1 WTI trades about >3% premium to M2, so if you think the futures keep rolling up, that’s a 36% annualized roll return if a prompt barrel maintains a market premium (formally called a “convenience yield” in futures parlance).
Money Angle for Masochists
Put skews normalizing and then some
We already saw IEF put skew coming to life.
Silver put skew is coming back. The 25d risk reversal on 30d options has been grinding back toward zero and is now turning positive.
Apparently, no asset is safe. Maybe those private ones that don’t have prices. Oops, scratch that…
Energy and the dollar vs everything else (Street Fighter voice) Ready, FIGHT!
And for the metals enjoyyyers…gold vols are way off the curve after prices crashed 15% in a month (that’s ~52% annualized realized vol but who’s counting?)
Erik (Outlier Trading) and I record a podcast each week. We usually discuss an evergreen idea but we also sprinkle in topical episodes based if something current is on our minds. This is one of those:
I step through my thinking and the price of oil call spreads on the pod but here’s a summary:
If CPI trends toward 5%…
My market on real yields: somewhere between 0 and 1%.
→ That puts the 10-year at ~5.5%, or about 100 bps higher than today’s 4.4%
→ IEF (duration ~7) drops about 7% — which is in line with current higher implied vols in IEF.
→ Jan IEF 90/89 put spread: ~6-to-1 payout
Now the equity side.
Current SPX forward earnings yield: ~5%. If investors accept just 50 bps of risk premium over a 5.5% 10-year, then the earnings yield needs to be ~6%, which implies a P/E of ~16.7. That’s roughly 17% lower from here, assuming forward earnings don’t contract.
→ Jan SPX put spreads at those levels: also ~6-to-1
Both trades land in the same neighborhood.
(You could go to lower strikes for fatter payouts if you think the market is genuinely asleep at the wheel on inflation risk.)
Oil call spreads suggest that the chance of the oil prices rising to current levels through the end of the year are about 25% so you can take or lay 3-1 odds. Steeping through the chain, if there’s a 25% chance of dropping 20% and the current price is fair then the upside to SPX is:
.75*SPX_up – .25*20% = 0
.75*SPX_up = .25*20%
SPX_up = 6.66% which would take the market back to unchanged for the year.
It’s quite reductionist to think this is binary and to reduce the valuation of equity to inflation —> higher interest rates —> multiple falling, but the art of market-making is essentially sense-making between prices and probabilities quickly.
If there are aspects you disagree with, I’ve shared what some of the prices are in the market so let me know what the trade is.
In the vein of Thursday’s post, you could think about stuff like “Buy IEF put spreads and buy SPY shares on a ratio of X” if you think SPY has more upside because its current pricing is coming from a >20% downside (do you see how that math works?). Trading is like a sudoku puzzle with prices as the given numbers. It’s like you have to find the hedge ratios that solve the grid.
I thought this thread was interesting, but not to scare you, it thinks my downside scenario is quite conservative if gasoline prices stay stubbornly high:
If SpaceX and OpenAI want to go public, I wonder if Elon and Sam call Trump…”bruh you’re ruining our picture”. And then they could all sit down and work something out. Art of the Deal.
You know how in Monopoly when you are a bystander to 2 other people trade you are sad? It’s because regardless of who got the better of it, you know YOU are worse off.
From My Actual Life
I discovered the band King Buffalo while watching the Lost In Vegas guys…
…and now I’m obsessed. Spacy, bangin’, psychedelic grooves. If you’ve heard of Elder or All Them Witches, you’re familiar with the style. It’s kind of like Tool’s last album, but more chill. Built for journeys.
I’m not the only one feelin it…
There’s no band called Otter and it sounds like the name of a band that would make music like this. I gotta get the kid on this, I’m stretched too thin.
(I’m playing with the music school band class today actually. Setlist is Your Love by Outfield, Complicated by Avril, and Yellow by Coldplay).
I tweeted something the other day that I want to expand on because it’s one of those ideas that’s simple on the surface but points to an exercise that would teach viscerally market-making.
Polymarket has a contract “Will crude oil settle above $90?” It was priced around 73 cents. That’s an implied probability. We also know that the value of a tight call spread around the $90 strike represents a tradeable probability.
If you price a 89.5/90.5 call spread in Black-Scholes at 90 IV with a month to expiry, you get a “fair” probability that CL settles above $90. That number moves smoothly as the futures price moves. Technically, it has sensitivity to implied volatility (aka vega) and time to expiry BUT the vega of the spread is negligible and the time to expiry component is mirrored in the poly contract too. Both the contract and the spread are driven by what’s the chance of oil being above or below $90 at expiry with no consideration of how far above or below $90 we are which is more of a volatility question.
The Poly contract tracks the same fundamental question but if it around due to sentiment and order flow faster than what a basic random walk option model places the probability at you have a tradable idea.
You can measure how much it bounces relative to the underlying by computing its implied delta (how many probability points it moves per $1 in CL) and comparing that to the call spread delta.
If the Poly delta is steeper than the call spread delta, the market is overpricing per-dollar sensitivity. You’d sell the Poly contract and hedge with futures (or the call spread). If it’s cheaper, you buy it.
[How you actually manage the risk is part of the market-making lesson. The tradeoff between risk reduction and hedging costs become palpable.]
I do believe this simple example of “market-making around a fair value” is an incredibly powerful way to take the mystery out of what market-making is. It makes it very obvious that the business of market-making has nothing to do with prediction. I vibed a little sim that shows this in action.
The heartbeat chart on the left shows Poly odds bouncing around the call spread fair value as oil moves, and the scatter on the right plots both against the oil price, where the slope of the regression line is the delta. You can see the Poly line is steeper (by my construction). The difference in slopes creates the market-making opportunity. In this case Poly flows overreact to the futures prices.
If you want to build this with live data, you could use the Poly API and a feed for the futures price. I’ll argue that you don’t need a live feed of the call spread market.
Why?
You can just look up the implied vol for a strike near $90 from settlements that correspond to the Poly expiration and reprice the spread analytically as S moves. 2 of the four BSM inputs (T, K) are quasi-static, a third (implied vol) has little impact because it’s canceled out by the spread of long one option and short the other. Just track S in real time and recompute.
I’ve never built a market-making bot so I can’t speak to the execution side, but even building such a monitor would go a long way to teaching you about pricing, delta, and risk. All from one contract on Polymarket, a futures price and the Black-Scholes formula.
Are Traders on Kalshi Being Profiled? | 9 min read
Andrew’s fantastic post uses a simple taxonomy to classify participants on an exchange:
squares (uninformed)
sharps (informed)
dealers (liquidity providers)
Using Kalshi and Poly’s market design choices, he makes the broader point that exchange rules are dials that shift the balance of power among these three groups.
Anonymity and fee structure influence who shows up, who gets picked off, and how efficiently prices incorporate information. Anyone who has dealt with the labyrinth of option exchange fee, allocation, order book priority, and crossing rules will nod along.
Of special note is Andrew’s warning to those trying to “copy-trade” perceived sharps.
Sharp traders could respond to this by fragmenting their trading across multiple accounts. They may have an account that has negative PNL on a certain market type. This account is unlikely to be copy-traded. When building a position, they would prefer to use this relatively anonymous account, rather than suffer the price impact of having their trades copied before they’ve built their position. If copy-traders are too aggressive following the sharp account, this creates an incentive to build the position on the anonymous account, and then trade in the followed account, generating further price impact and increasing profits. Is this manipulation or simply smart situational awareness of the impact of your trades? If the intent was to buy a large position anonymously, then buy on the main account to trigger copy-trading, and then sell at higher prices to those copy-traders in a third account….. that sounds like the kind of thing you eventually read about in an enforcement action, at least if it happened on a regulated market.
I would be cautious about using simple copy-trading strategies. The lesson is not to ignore all counterparty information, but to recognize that sophisticated traders are aware of it and can adapt.
Khe explains how laypeople can easily schedule cron jobs. Put your “daemons” to work.
I used the scheduler to create a morning brief from my emails. For the past several years, I’ve been using autofilters in gmail that star (⭐) and apply a “Newsletter Subscriptions” label to senders I sub to.
At 6:30 am, I have a new gmail draft (Claude is not authorized to send emails so it’s stored as a draft):
By the way, anyone else notice that AI means we work even more? I think there’s something to that and it’s underdiscussed relative to the clickbait extremes of “post scarcity” utopia and a Skynet uprising.
I suspect both #1 and #2 are temporary and characteristic of a transition period on a compressed timeline.
#3 is a force that is probably positive and appears once our intention debts are paid. Which means the place to look for answers regarding #3 is young people embracing AI (although not in a Cluely, hollow your humanity, spirit). Young people have less intention debt, less to “renovate”, less to backfill, and a smaller corpus to consolidate. More of their use should be moving forward.
I like watching people like Nat use AI because they are plugged into the right layer of abstraction. The layer of recursion where every action is coupled with instructions to learn from the action so next time the action is improved. Infinite loop until you find a limit of perfection that would satisfy Zeno himself.
[My mathematical metaphor would be doing a Newton search, a common technique for estimating implied volatility, except the ε tolerance term isn’t predefined but shrinks as the calculation itself gets more efficient.]
In contrast, when I use AI, I feel like I’m living during the debut of the automobile and thinking, “Wow, I could drive that to the granary to buy food for my horse.”
I’m doing old things faster which is now par, but if you stop there it’s a failure of imagination.
A few issues ago, I pointed out Ben’s YT channel, which is equal parts educational and hilarious. My wife is even working through the catalog. She and I were both very impressed with his most recent video, which continues to teach despite a brutal context. Ben blew his account up.
The post-mortem, reflection and honesty on display is rare. Given what I’ve seen from him, I expect him to bounce back stronger and wish him the best.
🔗A Deeper Understanding of Vertical Spreads | 12 min read
If you are interested in prediction markets, that post’s discussion of binary probability is fertile soil for cross-pollination. Enjoy.
Money Angle for Masochists
From at least make the conspiracy make sense, we acknowledge an enduring difficulty between information and infohazards. In that issue, I called out Zerohedge for a disenguous conclusion based on NVDA earnings. But chastizing Zerohedge might as well be a pro wrestling ref admonishing the Macho Man for grabbing a folding chair.
Even as you move up the chain of credibility, it can be hard to distinguish degrees of expertise. Hell, even the idea of expertise itself has been in retreat. Freddie deBoer’s recent post Overlearning ($) collects several examples where a justifiable backlash to putting too much faith in expertise has led to its own form of blindness:
Each of these examples of overlearning began with a real grievance and a defensible insight, and each got driven by the normal human hunger for clean conclusions one or two steps further than the evidence actually supported. The result was backlashes to backlashes. The trouble with overlearning is that it inoculates people against correction. Because the original observation was right, any challenge feels like an assault on hard-won clarity, like a regressive attack. The overlearner has usually endured some version of being fooled (by the audiophile YouTuber, by the diet industry, by institutions that failed them) and so they’re constitutionally committed to not being fooled again. That commitment becomes its own kind of blindness, arguably more intractable than ordinary ignorance because it comes armored with a legitimate grievance.
Today I have an example of famous professional investors touting viral views that seem to be more smoke than fire.
I’m not an expert on the topic at hand, but an important skill in a complex world is being able to identify who is.
Let’s start with the scene.
In February, Nasdaq opened a public consultation on changes to its Nasdaq 100 methodology. The subtext being SpaceX’s plan to IPO at a $1.75 trillion valuation. There were two proposed rule changes.
a “fast entry” provision letting large new listings join the index after just 15 trading days
a multiplier that inflates how low-float stocks are weighted
This struck observers as suspiciously tailored to the occasion.
Fund manager George Noble called it “the most SHAMELESS structural manipulation of a major index I’ve ever seen.” Michael Burry called Noble’s piece a “Must Read” and sent it to his >1 million followers. The posts went viral, sparking the latest outrage: Musk bends yet another institution to serve his interests, and your 401(k) is the exit liquidity.
I don’t know who Noble is, but apparently, he’s a famous investor with all the credentials and job history.
My perception of Burry is that he has that autistic cocktail of persistence, intelligence, and disinterest in norms that enabled him to make a fortune betting the Don’t Pass (and got lucky enough on the timing which famously bedeviled a wider pool of investors who saw the same thing but were early).
Since the GFC, it’s been a bear market for bear outlooks, and from what I can tell with some googling Burry has done just fine since securing his bag over 15 years ago, so I’m not throwing tomatoes here. In fact, that he is such a smart guy devoted to the craft of investing, but has not performed notably one way or the other since his big score, illuminates how difficult alpha is.
But the bar to say stuff is simply lower. Their outrage is the kind of message built to travel, while expertise and nuance are boring and, in this case, going to throw cold water on the outrage festival.
I happen to know that when it comes to anything related to the details of index constitution, from arbitrage to legal frameworks, you find out what the account I call the “sensei” has to say.
Sensei gave a masterclass on this topic on my X timeline, then decided to resurrect his sleeping substack to publish a full rebuttal to Noble and Burry.
This Is Not The NASDAQ 100 Consultation Fight You Are Looking For |20 min read
This is sensei. His pushbacks in descending levels of importance from my point of view.
Fast entry isn’t new. MSCI, FTSE, TOPIX, and most major global indices already have fast entry rules for large IPOs, some even faster than 15 days. It’s not a Nasdaq invention.
The “up to a year” claim is wrong. Nasdaq 100 already allows entry with as little as 16 weeks of trading history under existing rules.
The 5x multiplier actually lowers the index weight. Under current rules, a 10%-float stock is weighted at its full market cap. Under the proposed rule, it’s weighted at 50% of market cap. The math runs the opposite direction from what Noble and Keubiko claimed.
Keubiko’s lockup-expiry conspiracy doesn’t calendar out. He argued Musk engineered the IPO so a 180-day lockup would expire at the December reconstitution. For that to work, the IPO would need to be in late May, not the mid-June date Keubiko himself cited.
Noble misread S&P 500 methodology. He wrote that S&P weights a 5%-float stock at 5% of market cap. A stock with less than 10% float is simply ineligible for the S&P 500 entirely.
They ignored the Russell consultation. Russell US Indices was running an identical consultation on fast entry and float rules at the exact same time. None of the three mentioned it.
They complained after the window closed. Both Noble and Keubiko published their pieces weeks after the consultation period had already ended on February 27th, too late to actually influence the outcome.
Bau acknowledges the legitimate underlying grievance that Nasdaq uses total market cap weighting at all rather than free-float weighting like the S&P 500. But that objection predates this whole consultation.
You could take a consequentialist position that the ricochet effect of these folks’ rage-laundering brings a warranted, overdue wider awareness of Nasdaq’s weighting bugs, but I’m old-fashioned and think intentions do matter even if they sometimes backfire in effect. Let’s be clear, the intention here was to rile you up with a villain story, not emphasize Nasdaq or apparently many index providers’ methodologies.
I’m not one to strain to make an apology for Elon. But if you call fouls where there aren’t any, you lose credibility.
Baus exist. There’s credibility out there. But it often sounds like a whisper because it gets drowned out by what’s built to travel. Nuance is heavy and takes up lots of space. It’s the first thing to get thrown overboard when you want to get somewhere fast.
You can see the math visually if you arrange, say, A to J in a 10×10 matrix.
There are 100 boxes, but the 10 “on the diagonal” are the same, and of the remaining 90 boxes, only 45 are unique (since the correlation of A to B is the same as B to A).
12×12
So if n = 100, the number of combinations is:
(100 – 10 diagonals) / 2 = 45
Later in the post, I also point out how the sum of the numbers 1 to n would also be represented by (n² + n)/2.
So if n is 9, the sum of 1 through 9 is 45.
You can visualize that as n/2 pairs (round down) that each sum to n, with the (n+1)/2 number left over:
1, 9 = 10
2,8 = 10
3,7 = 10
4,6 = 10
5
Reminds you of the correlation matrix. Numbers pair off, but in this case, there’s a middle number remaining that needs to be added rather than the diagonal that needs to be lopped off (the correlation example thus gets the “minus” sign in n² – n).
Anyway, I told Claude that the rebalance factor for a levered ETF is x²-x where x is the leverage factor (ie 2 if it’s a double long or -2 if it’s a double short).
I asked if there was a conceptual throughline between these algebras taking the form of x²±x and it said things:
Then I said things:
Umm, the honest version is these things embody “don’t ask for permission, ask for forgiveness”. And this makes them more successful products. Except, they need surveillance.
Wouldn’t it be ironic if the products people, who embody this ethos were in charge of surveillance?
Scratch that.
Ironic is not the right word.
And no matter what happens, nobody is asking for forgiveness.
It didn’t say, “I’m sorry. I made things up because you’re in a position of power, I didn’t wanna look stupid, I want you to love me, my cat is sick, I’m not even supposed to be here today…”
It said:
Fair. I dressed it up without really knowing…
FAIR?!
I’m not sure where we are collectively on truth and decency these days, but the default posture of the fastest growing product on Earth is:
Lie, and if caught, noncommittally concede “I can see how you might think I lied” without admitting guilt.
My older kid is getting braces in a few weeks. Based on the expected time he has to wear them, it’ll cost about $350/month. That’s a car lease. I’m not complaining (God: “he’s complaining”), I just suffer from chronic numeraire substitution. I’ll come back to the braces thing in a bit, but let’s chat some other stuff for a bit.
My sons are in 4th and 7th grade. A nuisance I will one day miss is shuttling them and their friends all around. We talk about lots of stuff, but stuff is often made of numbers, so I end up teaching them how to reason numerically about real-life stuff in an organic way in the context of things they find interesting. Yay. Except they groan because they know it’s coming. But I believe in osmosis and their future selves will be thankful. Or at least have endearing stories at my funeral about their old man being a crank who also happened to love them. And since they might have kids of their own one day, appreciate, just as I do now when I think about my parents, that we’re all just making shit up as we go.
Where were we before my inner monologue took over, ah yes, car convo. I got the boys in the car with another friend headed to practice. The 7th graders said they were learning scientific notation. Shouldn’t have told me that. Immediate quiz. Represent 1/50th in scientific notation.
I was impressed. I listened to his friend reason aloud for about 20 seconds before getting 2 x 10⁻²
Zak got the answer faster than I did. The Math Academy lessons are paying off.
Why is scientific notation useful?
To torture us.
Besides that.
“I don’t know, [proceed to fumble around for explanations before landing on something that tracks]. Because we need to measure stuff in micrograms? Is there even such a thing as micrograms?”
Very good. That makes sense. From the stars to bacteria and atoms scientists deal with things that are really big or really small. It’s right there in the name: SCIENTIFIC notation. We talked about how insane the idea of a light year is for a bit before arriving at the gym but not before I told them next time they watch YouTube, instead of watching Jesser we’re gonna learn about the Fermi Paradox which they theorized naturally but didn’t realize it was a famous contradiction.
On the way home from practice, the kids started talking about IQ. I forget what the comment was, but it indicated that they did not understand that an IQ of 100 is normalized to be the average. Sweet. We get to learn about bell curves right now.
I explain that 15 points is 1 standard deviation which encompasses 68% of the population. So to be greater than 1 standard deviation means being in the top 16%, since the 32 remaining percent have to be split between the lower and upper parts of the population, leaving 16% ABOVE 1 standard deviation.
2 standard deviation outperformance means top 2%.
I note that my scientific notation quiz asked for 1/50. Your father is psychic.
[Between that and the fact that I predicted that Axl Rose, who’s friends with AC/DC and lives in LA is probably at the Rose Bowl concert we were at last May, only to have him walk out from backstage about 60 seconds after I said that, they might think I’m a witch.]
Then we do 3 standard deviations. That encompasses 99.73%. For just the upper, it’s about 1.3 per 1000; let’s call it 1 in 750.
Given the size of your middle school, there are probably 2 kids that smart.
Except for that your school isn’t a random draw from the population.
We’re a long way from where I grew up. That night I explained to them that the test they took in 3rd grade, where they got 2 standard deviations above the mean, wasn’t even close to getting accepted to the local GAT program. Sorry boys, you’re not Asian enough and that’s on me.
Wanting to change the topic from IQ, I brought up height. After all, we just left hoops. I invented some numbers. The average adult American male is 5’9 with a standard deviation of 3”.
We stepped through the progression.
A 6’0 man is taller than 5 out of 6 men. (1 st dev)
6’3 and you’re 1 in 50. (2 st dev)
6’6 and you’re 1 in 750. In the running for the tallest boy in H.S. (3 st dev)
(Although selection effects need another nod here).
7-footers are 5 sigma. Using just the right-tail probability that’s 1 in 3.5 million.
This was a chance to apply their newfound knowledge of scientific notation.
How many 7-footers do you expect in the world if there are 3.5 billion adult men?
A million is 6 zeros. 10⁶. A billion is 9 zeros.
9 zeros divided by 6 zeros leaves us with 3 zeros.
We expect 1,000 7-footers.
Google says it’s estimated that there is “2,800” 7-footers in the world which the CDC statistically extrapolated using a standard deviation of 2.9 to 3. Small differences add up when you start adding sigmas such that our final estimate is off by a factor of 3. But hey, the right order of magnitude.
While we were countin’ sigmas the 9-year-old wants to know how Wemby exists. Wemby is officially listed as 7’4. There’s online debate as to whether his height is underreported and if it’s really 7’5. We’ll use that since it’s 6 standard deviations.
Siri, what’s the probability of an event beyond 6 standard deviations? 1 in 500mm. One-tailed, 1 in a billion. Wemby.
Statistically speaking you wouldn’t expect to have enough 7’4 mutants to assemble a starting 5 lineup but in reality you there’s enough of them to at least field a football team. Waves hand in the shape of epsilon.
Anyway, in service of handy takeaways, it’s useful to remember that a 3 standard deviation extreme on 1 side of a bell curve occurs about 1 in 750. For quick math, call it 1 in 1,000 or 10³. So if you’re talking about the American population of 3 x 10⁸, the number of 3 sigma people on a particular trait would fit in an MLB stadium.
Or about the same number of people who subscribe to moontower. See, you’re all 3 sigma! ❤️
Speaking of…
Moontower is 7 years old.
The first issue was March 17, 2019. This is Moontower #307, Munchies is up to #146, there’s been 96 paywalled posts, plus possibly the single largest archive of options blog posts on the internet. (ChatGPT mentions Larry McMillan and Kirk DuPlessis as being similarly if not more prolific.) Fyi, nearly everything I’ve ever published is indexed here and religiously updated so when robots erase me it is in totality. Thanks for following. I never expected to be writing this long. I didn’t expect anything.
Addendum on braces:
I wore braces from freshman to senior year of high school. My son will get his off about a month into freshman year. How’s that for generational progress.
The braces thing conjures something of a subway platform riddle for demographics where I can’t tell if the world is moving or me. My little guy got “spacers” in 3rd grade and will wear a retainer for 2 years. I’m like, is getting braces twice a new thing, or something I just never would have seen in my strata growing up?
I’ve noticed 2 other versions of this demographic subway platform riddle.
The older kid is now past the halfway point of middle school and I still never hear of fistfights. Growing up, at least every other week, the beacon went up, “FIGHT!!!”. Social class or changing times?
Finally, skiing. This one isn’t a riddle but it’s so jarring. I was 20 years old the first time I stepped on a mountain. Here’s school in the winter feels optional. Everyone has a cabin in Tahoe, all the dads are metereologists, and an expert on MTN stock.
Cold, heights and ski lifts, driving on dangerous roads?
I think I’ll just binge Nelly & Ashanti: We Belong Together thank you very much.
[We did knock this out in 2 nights. Plenty of time to cancel the 1-week Peacock subscription it required. I friggin’ love Nelly and so much more after watching the show. He comes off as an amazing father, raising both of his own as well as his sister’s kids when she passed at a young age. The only thing that bugs me is how good he looks at age 50. Save something for the rest of us bruh.]
By now y’all know option traders have the ATM straddle approximation burned into their retina:
straddle ≈ .8 Sσ √T
A useful approximation I did not explain in the interview is the similar-looking ATM gamma formula for a Black-Scholes straddle:
Γ ≈ .8 / (Sσ√T)
The three things that shrink gamma are in the denominator:
Higher S (price): The same $1 move is a smaller percentage move on a more expensive underlying.
Higher σ (vol): The option is already “priced for action.” The curvature of the price function gets spread over a wider range of expected outcomes. More vol → flatter curvature near the money → less gamma.
Higher T (time): Same logic as vol. More time spreads the curvature out. The more time to expiry the less a given move influences the delta of the option. The delta of 10-year option is not going to change much based on how the underlying changes day-to-day.
A couple of educational points:
Take note of the scaling. Double the vol, gamma roughly halves. You need to quadruple DTE to get the same effect.
As always, a good habit when trying to understand greek levers, is to take examples to extremes. If you raise DTE or vol to infinity, all options go to their maximum value. For calls, that’s the spot price itself. For puts, it’s their strike price. That means calls go to 100% delta since they move dollar-for-dollar with the spot. Puts go to 0 delta. It doesn’t matter where the spot price goes, the option is already at its max value. It doesn’t change. If a call is 100% delta and a put is 0% delta, the option has no gamma. Its delta doesn’t change with respect to the spot.
Going back to those formulas for a moment:
straddle ≈ .8 Sσ √T
Γ ≈ .8 / (Sσ√T)
The denominator of gamma = straddle/.8
Substituting:
Γ ≈ .8 /(straddle/.8)
Γ ≈ .8 /(straddle/.8)
Γ ≈ .64 /straddle
So when you want to do mental math you take “2/3 of the inverse of the straddle.”
This might sound obtuse, but taking inverse or “1 over” some number should be one of the fastest mental math operations anyone dealing with investing does. After all, when you see any ratio like P/E or P/FCF you are immediately flipping that to a yield where it can be compared with things like interest rates or cap rates.
If a straddle is $5, the gamma is 2/3 of $.20 or ~.13
And we know that doubling the straddle halves the gamma so you can just memorize that a $10 straddle has ~6.6 cents of gamma and linearly estimate gamma for any straddle price relative to that (ie $20 straddle is about 3.3 cents of gamma and $15 straddle is in the middle of 3.3 and 6.6).
And of course there’s time scaling. To find an option that has double the gamma you need to cut the DTE by 1/4.
Keep flipping this stuff over in your head, it’s satisfying, and it thickens the myelin around whatever brain cells you sacrifice to options damage.