Moontower #331

Note of an Instagram Experiment

I’m trying something new that has become much easier with Meta’s personal AI assistant Muse: turning Moontower posts into Instagram Stories and Reels.

Math and personal finance ideas, one frame at a time. Muse handles the heavy lifting of reading the posts and synthesizing the arc. I then edit the frames and add music.

This week so far:

  • Why Godzilla can’t exist (stories)
  • You already trade options. You just call it a car lease. (stories)
  • Selling your 3% mortgage incinerates $188,000 (stories)

The feedback has been encouraging!

Follow @kris_to_the_max.


In this issue:

  • the Farmer’s Almanac for Investing
  • the “iron condor destroyer” tool

Friends,

Just a few fun things up here since the bulk of today’s letter is heavy on investing stuff.

I Was the Wedding Planner for the Guns N’ Roses “November Rain” Ceremony and Reception | 4 min read

Oh McSweeneys. I knew your writers must be jaded hipster millennials.

“Uh, no”

And here’s a clip I’m very, very late to, but making up for lost time by replaying it 20x in a row.

I just love how the announcer who gets caught off guard is so quick to come up with the most charitable interpretation of the question. Also that voice?! He was engineered in a lab to do that job.


Money Angle

Exponential Wealth: Centuries of Stock and Bond Returns free PDF · 380 pp.

In 1976, Roger Ibbotson and Rex Sinquefield published “Stocks, Bonds, Bills, and Inflation” (SBBI), the first long-run total-return history of the major asset classes. Economists had talked about the equity risk premium for years but as Ibbotson puts it, “SBBI gave us a measure of it.” The data became the standard reference for historical return assumptions, from asset allocation to cost-of-capital work.

This is the 50th-anniversary update, rebuilt from CRSP after Morningstar discontinued the original indices, with the dataset now spanning a full century, 1926–2025.

It recaps what stocks, bonds, bills, and inflation have delivered, then widens out to global markets since 1900, the US before 1926, commodity futures since 1871, bubbles and crashes since 1792, and a forecast to 2050.

It’s a free, encyclopedic reference I recommend adding to your favorite LLM’s investing project folder. It’s like the Farmer’s Almanac for money.

It’s also a great reference for methodologies since the studies entail constructing price series and indices, measuring their statistical features, and addressing pitfalls such as survivorship bias, float vs full-cap weighting, shifting size definitions, overlapping observations, and effective sample sizes.

A sprinkling of fun facts:

  • $1 in US large caps in 1926 → $14,751 by end of 2025; $814 after inflation. Long Treasuries: $117 nominal, under $8 real. T-bills: $25 nominal, under $2 real.
  • Real compound returns: stocks 6.9%, long Treasuries 1.9%, bills 0.3%.
  • About a third of the century was spent below a prior real high: 1929–WWII, 1966–82 (16 years of zero real growth), 2000–2012.
  • A 50% three-year run-up was followed by another 50% run-up ~3x as often as by a full reversal (144 vs 50 of 394 episodes, 1792–2024). Crashes were followed by full recovery even more reliably.
  • Top 25 companies are ~50% of US market cap, a level last seen in the 1930s. Tech is ~40% of cap.
  • This is a non-obvious logical bit: Index total return is attainable by any investor but not all investors, for example dividend reinvestment can’t scale to everyone. Reminds me of these fallacy of composition peculiarities like “paradox of thrift” or treating government finances as if they are a household.
  • Investors had the least cash when expected returns are highest.
  • Micro cap: 16.5% arithmetic, 11.1% geometric, σ = 37%. Mid cap matches micro on compound return with σ = 24%. Post-1976, micro had the lowest compound return of any size bucket.
  • October 1987 was a 1-in-10¹²⁸ event under lognormal i.i.d. The chapter links fat tails to the persistent apparent overpricing of OTM S&P puts.

The book closes with a forecast for 2026–2050, using the same approach Ibbotson and Sinquefield used in 1976. It has 3 steps:

  1. They anchor interest rates and inflation to today’s Treasury yield curve.
  2. Resample historical risk premiums.
  3. Simulate thousands of possible paths.

How did this method fare from 1976 to today?

Pretty well, actually. Although the composition of the return wasn’t quite what they expected.

From 1976 to 2025, the forecast called for a median of ~13.3% a year, but stocks only returned ~11.9%. However, it assumed ~6.7% inflation (it was the 70s after all) when actual inflation was only a bit more than half at 3.6%. Which means nominal returns fell short of the forecast while real returns beat it (~8.1% vs ~6.2%).

At this time, inflation and rates are closer to their 100-year averages, so the yield curve isn’t pushing the forecast much in either direction. What does it say about 2026–2050?

  • On raw US history: 9.5% nominal, 7.0% real per year.
  • The authors think that bakes in an unusually fortunate US century, so they pull the mean toward the global historical experience.
  • Preferred forecast: 8.0% nominal, 5.6% real, implying an equity risk premium of about 4.7% over cash. In their words, a premium “very close to what it always has been.”

Seems rosy. We’re not allowed to be this optimistic. Let’s get a second opinion. This one comes from the market itself as translated by Elm Wealth. Their capital markets assumptions, out this week, are implied from current bond yields and valuations (a cyclically adjusted earnings yield) instead of historical premiums.

[Whether CAPE is a more or less reliable forecasting tool is up for debate, but any attempt to forecast returns feels about as ill-fitting as using a vacuum to pull out a splinter. I’m in the camp that it’s a pointless exercise, while vols are more predictable and therefore a sounder basis for “know nothing” sizing, which I need because I know nothing.]

Elm reports as of September 30:

  • US stocks: 2.92% real, 5.30% nominal
  • Non-US stocks: 5.78% real, 8.15% nominal
  • 10-year TIPS: 2.91% real
  • US equity risk premium over TIPS: 0.01%

Where do Elm and the authors agree?

  • Both take the rate and inflation pieces from market yields.
  • Both lean away from projecting the US past forward. Ibbotson adjusts toward global history.

Where do they depart from each other?

  • The equity premium. History says ~4.7% over cash. Today’s valuations say roughly zero over TIPS. Measured against the same TIPS yield, Ibbotson’s forecast is still ~2.7 points above it.
  • Ibbotson does address valuation. The chapter flags P/E expansion as inflating the historical record and tests stripping it out, but that actually lowered the forecast less than the global adjustment did. In other words, using global historical valuation was more conservative.
  • There’s some timing mismatch. Ibbotson uses the end-2025 curve while Elm’s publishing 9 months later when we know 10-year real yields are up over a full 100 bps.

Caveats both sides attach

  • Elm: the risk premium is a poor predictor of near-term direction; momentum is positive and its risk indicator reads low.
  • Ibbotson: a forecast is the center of a wide distribution, “not a guarantee.”

A lazy man’s framing

Ibbotson forecasts 5.7% real equity returns for a couple of decades. The CAPE method is close to 0. Split the difference, and you are close to the current 2.90% 10-year TIPS yield you can lock in now (for reference, Treasuries returned 1.9% real over the last 100 years.)

The market in general doesn’t appear to be especially frothy, but the risk-reward in bonds has gotten far more attractive with the latest surge in yields. If AI turns out to be deflationary and hurts employment at the same time that housing rolls over because the cost to own and finance has skyrocketed, then bonds will have looked like insurance policies with ex-ante positive carry. In English, a pretty sweet deal.

But I get it, it’s no spaceship outta the underclass.

It’s funny, when you learn about investing, you associate greed with bullishness. Turns out the textbooks have it exactly backwards in the context of our modern economic pathology psychology.

Money Angle For Masochists

Workflows are Moontower’s screeners organized around what you’re trying to do: sell premium (Income), buy protection (Defensive), finance that protection with your upside (Collars).

We just released a new one to help directional traders scan across the market for the best payoff for a given move: Verticals

About the Verticals Workflow

It starts from a simple need:

How do I compare payoffs across tickers in volatility-adjusted terms?

You don’t want to screen across names for the best bang-for-your-buck on a 10% rally because 10% means something very different in SPY vs MU or TSLA.

Instead we use standard deviations computed from the name’s own surface. Pick a move, say +1 SD by the November expiry, and ask the same question of every name: what’s the cheapest vertical that pays in full if the stock gets there?

The Verticals workflow returns the answer in a grid based on the watchlist you care about.

Let’s see how it works (and learn some option math in the process).

Two knobs

You set two things:

  1. An expiry. The picker lists every expiry any name in your list carries, with a count of how many names list it. Every row in the grid is the same maturity, so you’re comparing like with like.
  2. A signed move. ±0.5, ±1 or ±1.5 SD. Positive means call spreads, negative means put spreads.

For each name, the grid shows the tightest vertical that is fully in the money at that move. Tightest means adjacent listed strikes. Fully in the money means if the stock lands exactly on the target at expiry, you collect the whole strike width.

Finding the breakpoint

The target strike for a z-SD move is:

Then pick strikes:

  • Calls: the short strike is the closest listed strike at or below K_z. The long strike is the next one down.
  • Puts: the short strike is the closest listed strike at or above K_z. The long strike is the next one up.

Both rules keep the whole spread inside the target, so a stock that gets to the breakpoint maximizes the max spread value (ie it pays the width of the strikes.)

Marking the spread

The obvious price is the spread’s mid, but it’s far too noisy if each leg is 40 cents wide and the spread is worth 30 cents.

Collecting an accurate mark for a spread is a bit of an art, combining curve fitting and option pricing. In the app, the Price you see for the spread is not mid but a Moontower fair value which lives within the bid-ask.

moontower.ai

Reading the grid

The headline number is Payout:

 

A 1-point spread priced at $0.20 pays 4 to 1 if the stock gets to the target.

Payout is the first column your eye goes to, but we include several columns to judge how much to trust a mark.

Filtering for confident markets

  • Spread bid / ask: the spread’s own market.
  • Mkt width: the legged market, both legs’ bid/ask widths added together. It’s what you’d pay to cross both legs.
  • Mkt / strike width: Mkt width as a share of the strike width. A 20-cent-wide market on a $1 vertical might be hard to execute nearfair value.
  • Leg width / vol: the wider leg’s bid/ask expressed in vol points, as a share of its IV. It puts a 20-cent market on a $400 stock and a 20-cent market on a $30 stock on the same footing.
  • Mid: Compare with Price. When these two sit close together, the market and the model agree. When they’re far apart, the Moontower fair value is probably more reliable.
  • Liq: the name’s liquidity tier, which we provide in all our filters. It’sa function of how wide the markets as a percent of vol allowing us to compare across names.

The grid also drops names whose markets are too wide to mark at all. They’re counted in the “N names excluded” line under the grid, so you can see what got left out.

A few screens to start with

  • Tight markets only. Mkt / strike width under 20%, Liq High, sorted by Payout. This is the honest version of the leaderboard.
  • Where the market and the model agree. Add the Mid column and keep rows where Price is within a few cents of it.
  • Cheap upside: +1 SD, Call skew %tile low, sorted by Payout.

Everything filters, groups and sorts like the other workflows, and your choices persist between visits.

This tool will let you look at the market and answer where the cheapest put spread or call spread to bet on a .5 or 1 standard deviation move by some expiry date.

You can also just reverse sort if you’re looking for spreads to sell. Knowing how much people love to sell options, I should probably rebrand this as the iron condor destroyer (an iron condor is a package of 2 OTM vertical spreads typically marketed as a less risky way to sell a strangle).

 

Stay groovy

☮️


Moontower Weekly Recap

Leave a Reply