2 key concepts for traders

This past Wednesday I did an AMA with Kris Longmore’s RobotWealth community. Kris’ work and general way of being is a personal inspiration. I’m a big fan.

(His bootcamp is my #1 recommended course for retail trading because it’s grounded in both the practicality of trading but also in the conceptual — what is edge, where to find it and why it might exist)

This is all to say it was quite an honor to nerd out on his channel 🤓

​📽️Watch the replay of our conversation here.

Just a sampling of topics we discussed:

  • Some differences between professional and retail trading
  • How a retail trading operation can be set up to align with your life
  • Good options trades and where to find them
  • How important is modeling time decay?
  • How important is backtesting for options strategies?

2 ideas that received some extra emphasis:

1) Traders are searching for contradiction not prediction

This is a callback to Measurement Not Prediction which explains why trading rests on “seeing the present clearly” as opposed to playing Nostradamus. The distinction might sound abstract or subtle. This section of a thread I wrote this week is a concrete example:

2) On timing vol

The topic of timing vol came up. And I shared something I suspect people might find surprising.

I had no edge in timing vol. In fact, I don’t think most professional vol traders have any edge in this. In other words, their edge doesn’t look anything like “vol in general is cheap here, let’s load up”. I almost always regret drawing lines in the sand about getting net long or short a bunch of vega. Did I tend to be leaning long vol when it was cheap and vice versa? Sure, but I was usually long or short for a considerable amount of time before it bottomed or peaked too, because markets love to stretch like they’re double-jointed ballerinas before reverting.

After getting humbled by a timing opinion gone awry, I always centered myself by going to back to basics. What does that mean?

The most basic decision in a trader’s arsenal, their reliable fastball so-to-speak is some version of:

“I’m buying this for X, because that is Y bid”

“I’m buying 1-month APPL straddles for X vol, because 3-month QQQ puts are Y bid”.

When you get away from decisions that take that grammatical form you are in the realm of “I’m buying this because the line went down”.

When you feel enough pain to accept that you did something wrong you will usually find this subtle switch in decision logic is the source. It stings the ego because re-focusing on the basics is admitting that you haven’t transcended the grind to become some market maven who just knows when something is about to turn.

(I think all traders subconsciously expect that their 10,000 or even 20,000 hours of practice will unlock that ability. These back-to-basic moments, if you are lucky enough to overcome your pride and negative p/l, to rediscover are humble reminders that markets are learning just like you are so the value of the 10,000 hours isn’t exerted on your ability to beat them, but instead on the practice of process so you have a chance of keeping up. There’s no “best”, only “next”.)

Guest Post: Market Impact and Strategic Execution

Quant @imotw2 published Market Impact and Strategic Execution as an article on X.

With permission, I’m cross-posting it here. It turns execution inutition into market quantitative models. I’ll let the quants debate the models — my interest is in how well this post explains the actual dynamics of accessing liquidity, minimizing slippage, and leaking information with trade/bid/offer behavior.

Enjoy! 


The dirty secret of market impact? It’s messier than anyone admits. This article challenges conventional models by looking at how information actually flows through markets. Here’s the real problem: impact hits differently when you’re getting in versus getting out of positions – a fundamental asymmetry that most models miss entirely. Add in the fact that every major player’s algos are scrapping for the same liquidity, and traditional execution models fall apart.

By diving into the weeds of price formation and what drives liquidity providers, we crack open why impact behaves this way. The result? A framework that bridges pure theory and trading reality, giving you both the mathematical firepower and street-smart tools to optimize execution in markets.

1. Introduction

It’s the ultimate catch-22: you’re playing both sides of the impact game whether you like it or not. Every time you trade, you’re leaving footprints in the market while simultaneously trying to read everyone else’s tracks. Consider a large institutional trader executing a significant position. Each clip they trade isn’t just soaking up liquidity – it’s sending smoke signals to every shop watching the tape. The market sniffs out these patterns and adapts, forcing the trader to navigate the mess they’ve created for themselves. Talk about trading against your own shadow..

Impact also isn’t just about what you’re doing now – it’s about what the market thinks you’ll do next. Planning to unwind a monster position? Just prepping for it changes how you trade today.

You’re not the only one playing this game. Every decent-sized player is running their own book, trying to figure out your next move while hiding their own. Your optimal execution strategy? It depends on guessing their guesses about your guesses. Welcome to the hall of mirrors that is modern market microstructure.

2. Foundations of Impact

2.1 Beyond the Square Root Law

Everyone knows the square root law of impact – trade twice the size, eat about 1.4 times the slippage. But that’s not the whole story, actually its not even close. Markets aren’t this clean. Impact comes from a brawl between volatility feeding on itself, how fast the market digests your trades, and dealers trying to figure out if you know something they don’t. This changes how we need to think about moving size in markets.

At the heart of our framework lies the recognition that trading activity both responds to and generates volatility. Consider a large institutional trader executing a significant position. Their trading consumes liquidity and reveals information, and also increases local volatility, that same volatility changes how the market reacts to their next trade. It’s like throwing stones in a pond where each splash affects how the next one ripples. Classic impact models completely miss this self-reinforcing cycle

Sure, cramming all this into one model is like trying to catch lightning in a bottle. But we’ve built something that tries to capture what we see in live markets.


This model implements the volatility feedback term:

But we have to acknowledge some limitations. Trading isn’t as clean as the math suggests. That linear relationship between impact and vol feedback? Markets are messier than that. And β and γ(t)? They jump around – and good luck predicting when they’ll shift. And the volume-volatility interaction f(v)? Probably more complicated than we’re letting on. Plus, markets don’t slide smoothly between states – they snap.

So why bother with this framework? Because it gives us something concrete to work with. It nails the basic idea that impact and vol are stuck in this toxic relationship, and it actually works well in normal markets – which is most of the time. Run this during the 70-80% of trading days when markets behave, and you’ll get solid signals.

No model’s perfect. This one’s useful not because it nails every market move, but because it gives us a solid framework for thinking about how our trading pushes markets around and how markets push back. Use it to shape your execution strategy, but keep your eyes open – markets have a way of humbling anyone who thinks they’ve got them figured out

2.2 Ready, Set, Go!

Impact hits the market in three waves, and each one in its own way. Even in those first few milliseconds, when you’d think simple orderbook mechanics would rule everything, volatility’s already messing with you. Start working a big order, and the vol spike from your first fills immediately changes how the market handles your next batch.

Then things get interesting. Market makers aren’t just looking at your flow anymore – they’re betting on where vol’s heading because of it. You need to get your trade done, but you’re walking on eggshells trying not to kick off a vol spiral that’ll jack up your costs.

Here’s how it plays out in real time: You start hitting bids with size. Not only does price take a hit, but vol spikes. The market makers see this and think, ‘Great, vol’s about to rip – better back off these quotes.’ Now you’re stuck paying up even more for your next fills. Classic feedback loop that can turn a tough trade into a nightmare.

Long-term is where it gets really twisted. Trades that set off these vol feedback bombs? They tend to leave permanent marks on price. Why? Because the market’s reading these vol spikes as smoke signals – where there’s smoke, there must be fire. Throws the whole temporary versus permanent impact debate out the window. Instead, think of it like this: the bigger the vol feedback, the more likely the market thinks you know something they don’t. Price discovery through chaos, basically.

Our framework also reveals the strategic behavior of market makers and other liquidity providers. Their quote adjustment process now explicitly incorporates volatility feedback through a response function:

That λ(σ,t) term? That’s market makers getting twitchy when vol spikes. They’re playing a delicate game – dodge getting picked off versus making bank on those juicy vol-driven dislocations.

This flips everything we thought we knew about smart execution. You might actually want to take a bigger hit upfront if it keeps vol from spinning out of control. Sometimes you’ve got to pay the toll to avoid the avalanche.

We tested it briefly across equities, futures, and crypto. The model crushes it, especially during those nasty regime shifts when traditional models fall flat on their face. It nails the vol feedback effects, giving you a much better read on your true execution costs and how to optimize around them.

Bottom line? Impact isn’t just some tax you pay to trade. Every move you make reshapes the book for your next play. Once you start thinking about impact this way, whole new strategies open up. You’re not just minimizing cost anymore – you’re actively managing how your trades shape the market you’re trading in.

3. Information Theory of Execution

3.1 Order Flow Toxicity and Adverse Selection

The elephant in the room: toxic flow. Your algo’s (seeminly) crushing it, getting fills left and right – but is that actually good news? Could be perfect timing, or could be you’re getting picked off on stale quotes. Classic execution dilemma: go aggressive and risk getting fleeced, or sit back and watch alpha decay while everyone figures out what you’re up to.

We’re looking at how trades cluster in time and how order flow ripples across related products. Because let’s face it, when someone’s running a smart toxic arb, they’re hitting everything in the complex.

Here’s the math behind the magic – for a given order flow sequence, we compute the toxicity score T as:

Where V_i(t) represents the normalized volume in bucket i, C(t,i) captures the temporal correlation structure, S(t,i) measures cross-sectional spread dynamics and ω are weights that reflect market conditions.

This metric provides a measure of order flow toxicity that can be used to adjust execution algorithms’ aggression levels and venue selection strategies.

3.2 Learning and Adaptation

Modern execution algos are constantly learning – but there’s a catch. How do you know when the market’s actually changed versus when it’s just noise? Every trader’s been burned by overreacting to a head fake.

We tackled this by measuring what signals actually matter for execution. Forget trying to predict where prices are headed or cooking up the perfect schedule. Instead, we built a framework that attempts to cut through the noise to find what really drives execution quality.

Our framework splits market signals into three components:

  1. Structural information about liquidity conditions and market dynamics
  2. Temporary effects from specific order flow patterns
  3. Noise terms that should not influence execution decisions

For each signal, we measure how much juice (information ratio) it’s got like so:

where I(S; O) represents the mutual information between the signal and execution outcomes, and H(S) is the entropy of the signal. This tells us how much actual information we’re getting about execution outcomes versus how noisy the signal is. Translation? We can spot real market changes worth adapting to and ignore the head fakes that would otherwise trip us up.

3.3 High-Frequency Market Making and Latency Arbitrage

Evolving market structure has introduced a new layer in the interaction between execution algorithms and high-frequency traders. Your execution algo sees a fat stack of liquidity on the book – but good luck actually hitting it. Modern markets aren’t your grandfather’s NYSE floor where a handshake meant something. That liquidity? It in a way both exists and doesn’t exist until you try to trade it.

Imagine this: you spot 100,000 shares posted at the offer. Traditional models would tell you to size your child orders assuming that liquidity is actually there. Rookie mistake. Those quotes vanish faster than you can even start thinking about your next move. Market makers are running smart playbooks, adjusting their quotes every microsecond based on everything from correlated ETF moves to the temperature in New Jersey. Yeah, seriously.

What you see isn’t what you get. The odds of filling against posted liquidity aren’t just about time priority. This isn’t even academic hair-splitting – it changes how we need to think about modeling impact and designing execution strategies.

The displayed liquidity in the order book represents a conditional commitment that is fundamentally probabilistic in nature. This probability structure manifests through several key mechanisms:

Firstly, quotes don’t just sit there waiting to be hit. They dance. And not randomly – they move in patterns. When a big order hits, market makers don’t just pull their quotes at the affected price – they scatter like cockroaches under a kitchen light, repricing their entire book before you can blink. Why? Because they’re not idiots – they know one big trade usually means more are coming.

Secondly, What looks like a simple limit order is actually a war zone. That 100k share quote? It’s really multiple market makers playing chicken with each other, each one’s algo trying to figure out if the others know something they don’t. Meanwhile, every other trader with a similar strategy is trying to get to the same party.

Finally, there’s the speed game. By the time your order hits the exchange, that juicy quote you saw might be ancient history. We’re talking microseconds here, but that’s an eternity. Between your network latency, the exchange’s matching engine having its morning coffee, and Jump Crypto cooking you with their radio towers – well, good luck. Even if you’re fast, queue position is usually everything. Being second in line might as well be last when the music stops. The order book isn’t a menu, and if you’re modeling it that way, you’re bringing a knife to a gunfight.

We find that the likelihood of a quote remaining available for execution follows a more complex distribution than previously recognized:

Where λ(t,s) represents the base cancellation intensity that varies with both time and market state, τ(v,σ) captures the reaction time that varies with volume and volatility, and f(OFI, IMB) adjusts for order flow imbalance and book pressure. This creates an effective liquidity profile that differs markedly from the observed order book, forcing execution algorithms to operate in a probabilistic framework.

In English? The faster you need to trade, the bigger your order, or the more the market’s moving – the more likely that liquidity is gonna vanish before you get there. And if the order flow’s getting lopsided or the book’s getting thin? Forget about it.

The implications of this extend beyond simple quote availability. Market makers aren’t just watching your stock. They’re watching everything. Hit them too hard in SPY? Watch their quotes disappear in IWM before you can even think about going there. These guys are hunting for any sign that you’re about to unload size.

The presence of latency arbitrage opportunities introduces systematic biases in observed market impact that must be considered. Every microsecond of delay between exchanges is a gold mine for the right setup. While you’re still seeing stale quotes in Jersey City, someone’s already cleaned up in Mahwah. The really fun part? This isn’t just noise – it creates predictable patterns in how markets react and impact spreads. Those theoretical arb profits (αcross)? They’re like a fingerprint showing exactly how quotes are gonna move and where the impact’s gonna hit first.

Market manipulation remains a massive concern in markets, especially in crypto where it’s not just an edge case – it’s a daily reality you need to deal with. Quote stuffing, layering, and other manipulation schemes regularly distort impact measurements. By tracking specific order book patterns – quote stuffing intensity, layer depth stability, and price oscillations – we can build real-time manipulation indicators. This lets execution algorithms adapt dynamically, threading the needle between adverse selection and efficient trading paths.

Speed management is make-or-break in this environment. Every algo faces a core tradeoff: execute faster to dodge adverse selection, or slower to minimize information leakage. It’s an optimization problem where the sweet spot shifts constantly with market conditions, participant behavior, and execution objectives.

The data shows static speed strategies consistently underperform. Effective execution requires continuous adaptation based on market toxicity metrics, participant patterns, and market state. But nailing this in practice? That’s where things get interesting.

Implementation demands extreme precision at the infrastructure level. Microsecond-level clock sync isn’t a nice-to-have – it’s essential. One timing slip and your execution quality falls off a cliff. Network stacks need to handle the market data and order flow and how they interact, seamlessly. Risk controls need to maintain deterministic latency while actually protecting you. Memory management has to deliver rock-solid performance at the microsecond level.

4. Advanced Impact Modeling

4.1 Cross-Asset Impact Propagation

Trading ETFs or index futures? Your impact bleeds everywhere, and not in the neat way most risk models predict. Markets are connected through a nasty web that shift based on regime and time. Worse still, these relationships aren’t symmetric – the way impact flows from futures to stocks isn’t the same as stocks to futures, and good luck if volatility is spiking.

Here’s how we try to model this mess:

Where:

  • K_ij(t) represents the kernel function capturing lead-lag relationships (how moves in one market spill into another over time)
  • α_i(t) models time-varying direct impact sensitivity (how much bang for your buck you get in each market)
  • β_ij(S(t)) are state-dependent coupling coefficients (how strongly markets are linked, which changes with market conditions)
  • S(t) encodes market state including volatility regimes, basis levels, and order book conditions
  • φ(L_i, L_j, t) captures non-linear liquidity interaction effects (how liquidity dynamics in one market screw with impact in another)

The coupling coefficients β_ij(S(t)) follow a regime-switching process:

Where R(t) indicates the market regime based on a multivariate state classification incorporating relative volatility levels, basis spread dynamics, order book imbalances, trading volume ratios and market stress indicators.

The liquidity interaction term φ(L_i, L_j, t) models how the availability and cost of liquidity in one market affects impact propagation in related markets, which essentially ties it all together:

This captures several features absent from traditional correlation-based approaches

  1. Temporal lead-lag relationships through the integral terms
  2. State-dependent coupling strength
  3. Non-linear feedback effects
  4. Regime-switching behavior
  5. Cross-market liquidity interactions

If you’re trading across multiple markets, you need a model that deals with reality, not just correlation matrices and linear spillovers. This framework gives you the tools to handle the mess.

4.2 Queue Position Game Theory

The management of queue position in modern markets creates a game-theoretic problem. When placing passive orders, traders have to consider their position within the queue and the information content of their queue placement decisions. Every time you join a queue, you’re not just picking a spot in line, you’re sending signals to every other algo watching the tape. And trust me, they’re all watching.

Think your queue position is worth what your transaction cost model says? Think again. That premium spot at the top of the book might be fool’s gold when everyone’s running the same playbook. Or it could be pure alpha when the market’s choppy and other players are gun-shy.

You’ve got to price in the option value of that queue spot, factor in what your queue placement tells the market about your book, and figure out what everyone else’s queue dancing means.

5. Implementation

5.1 Engineering in High-Frequency

Developing excecution algorithms in the context of latency creates significant engineering challenges, that if you get wrong, will crushingly affect trading performance. First up: timestamp management. Sounds boring, right? It is, but it could the difference between making money and getting run over.

Here’s the thing about timestamps in modern markets – they’re a mess. That pristine timestamp you think you have? It’s about as accurate as a sundial here in Norway. When you’re building impact-aware algos, you need to know exactly when things happen, but that’s harder than it looks. Here’s what you’re really dealing with:

Where:

  • Δ_netword_send represents outbound network latency including TCP/IP stack and route-specific jitter. Hope you like randomness.
  • Δ_exchange captures exchange gateway processing time and order validation delays. Different by exchange, time of day, etc.
  • Δ_matching accounts for matching engine queueing and processing time. Where your order sits in the queue. Spoiler: not first.
  • Δ_network_recieve represents inbound network latency and potential packet loss recovery (So fun, said no one ever).
  • Δ_market_data includes feed handler latency and order book reconstruction time
  • Sum of epsilon sub i represents a composite error term incorporating:
  • Systematic variations in processing times
  • Random jitter components because why not
  • Regime-dependent uncertainty factors

This model creates option-like properties in order management. For example, the uncertainty in matching engine response times during high-volatility periods effectively grants a free option to other market participants, who can react to price movements before our timestamp uncertainty is resolved.

5.2 Risk Management Under Impact Constraints

Here’s where VaR gets interesting – and by interesting, I mean breaks down completely. You can’t just run standard VaR when your exit price depends on how fast you’re trying to get out. It’s a nasty circular problem: your risk depends on your liquidation strategy, but your strategy depends on your risk limits. Fun times…

We develop a modified risk framework that tries to account for these dependencies:

where E[I(Q, t) | Q, M] represents the expected impact given position Q and market conditions M. This allows for more realistic risk assessment and better integration of risk constraints into execution algorithms. Now your risk numbers might actually mean something.

6. So What? And Where Next?

We’ve built something that tries to bridge the gap between ivory tower theory and reality. By thinking about execution through the lens of information theory, we’re getting at how markets work.

Here’s the big takeaway, TL;DR if you will: stop thinking about impact as just a cost to minimize. It’s actually telling you something about how the market reads your flow and how other players are positioning against you. Once you get that, everything about execution strategy starts looking different.

It’s about making money and, more importantly, not losing it when things get ugly.

“A sale is made on EVERY call”

On Thursday I published a post called laying in the weeds, an expression I used regularly. Whether it was getting ready to pounce on an offer that accumulates suddenly, sniping with electronic eyes while streaming, or just keeping your mouth shut while others leak info, the lingo fits. It’s ultimately about execution — how do I get the price and size I want?

We can use that background to riff about execution which is easy but dangerous to develop lazy habits about (like laying in the weeds this is more of a professional topic because of the imperative to reduce slippage)

Here’s a common scenario in the voice option market.

Assumptions:

  • An option is worth $.90
  • A broker is bidding $.92 for 10,000 lots
  • You and 3 additional market makers are offering at $.94. You know this because the broker, who we will assume is honest, relayed the full picture.

The case of simple 2 choice scenario tree

  1. You hit the bid and get all 10,000. Expected profit = $.02 x 100 x 10,000 = $20,000
  2. Nobody breaks rank, the offer is lifted with 4 market makers getting equal allocation. Expected profit = $.04 x 100 x 2,500 = $10,000

Seems like you should hit the bid. Except for that, if you do, next time all the offers are more aggressive. Tit-for-tat mutually assured destruction.

You get an interesting result if you unravel the game theory. Assuming none of the market makers are particularly axed in the option, and they all have a similar hurdle rate on how much capital they are willing to deploy for some amount of risk/reward you end up with a stable equilibrium that looks similar to what pre-communicated collusion would have resulted in.

[Aside from the dinosaur era: The way to get a lightly capitalized newcomer to your options pit to give up and go home is demoralizing attrition — trade everything for fair until they go away. I even remember days as a clerk on the specialist post where the boss would tell me to offer something so cheap on our exchange to embarrass a specialist on another exchange who ripped off the buyer at a higher price. The away specialist could lift our lower offer and lock-in a profit but they wouldn’t want to because by forcing the print they would make the customer feel bad about their fill. And if they did lock in the profit by trading with us, we were more than happy to incinerate money to make the customer think twice about routing around us in the future. I can remember the boss, crossed arms, still as Vader: “Keep offering. Filled? Reload.”]

More than 2 choices

Realistically, there are many scenarios. The option could have traded $.92 or $.93 with similar splits even if the first trader who hits the bid thinks she is getting the full bid size, but the broker being a diplomat who needs to deal with each of the market-makers daily decides to split it 4 ways anyway at the lower price. This result is common and explains why it doesn’t make sense to break price. They are unlikely to get the benefit unless they clarify with the broker that they are only going to hit the bid if they get full size (the broker weighs whether they should box the other 3 out and consequently piss them off).

How this plays out depends on your business relationship to the broker both in terms of how much you pay them and how useful you are in making fast, tight markets. When I was a local on the NYMEX I didn’t trade huge size but I was super-responsive so I could get those 25 and 50 lot berries. Those tight markets were also useful to the brokers who could use them “cuff” a related market or fish for business. At the fund, my value in the ecosystem was size, so I had leverage in setting the price of a larger order (maybe I could convince the broker to make the splits 4k, 4k, 1k, and 1k where I’m one of the larger allocations) but didn’t get the small layup orders.

We can get bogged down in scenarios forever, but the point is that this little game is being played all day. In the voice market and the electronic algo logic of sophisticated market-makers. If I divide all my profits by how many contracts I traded I end up somewhere in the penny ballpark. That’s the margin. That’s the difference between tossing coins for fair and a highly profitable business. It also means, that without a lot of reps it’s hard to tell if you have an edge.

Let’s do another example of cat-and-mouse.

An option is quoted $.21-$.23

You think it’s worth $.25

What do you do?

The correct answer is “it depends”. The first step to building a model for solving this execution problem is to identify the dependencies.

A few off the top of my head:

  • If I lift, I make $.02 of edge on Y volume
  • If I join the $.21 bid, what’s the probability I get hit (therefore making $.04) and how much volume would I get? Handicapping this depends on if the matching engine is time priority or pro-rata as well as if there is any priority that derives from my designation (customer, pro customer, professional, and more)
  • If I bid $.22 and get hit I make $.03. But would that bid cause someone else to lift $.23s? I need some map of what other market observers think an option is worth.

Broadly, I need some priors about the distribution of what others think this option is worth based on existing bids/offers, the trades that have happened, and trades that have not happened (ie bids/offers that have been displayed but nobody cared on).

You could start with a simple equation.

P(getting hit) * volume when I get hit * edge to the bid_price= volume when I lift * edge to the ask_price

You can solve for P(getting hit) to find a breakeven for how often you’d need to get hit to compensate you for not lifting.

While this is stylized and simple it’s not an attempt to point to some abstract HFT optimization problem. It’s a reminder that reflecting on your execution techniques sharpens your thinking about trading, conditional edge, adverse selection. It’s less important for retail or if you don’t transact often, but for professionals and asset managers it is justifiably top-of-mind.

“A sale is made on EVERY call”

Remember Ben Affleck in Boiler Room:

And there is no such thing as a no-sale call. A sale is made on every call you make. Either you sell the client some stock or he sells you a reason he can’t. Either way a sale is made, the only question is who is gonna close? You or him?

Every time you trade with a broker someone gets the best of it. If you consistently get allocations for 60 contracts when you should have gotten 70 you are destroying 14% of your annual profit. Specialists and DMMs had rules about allocation quantities but there were also unwritten rules. You were expected to fight for even a single contract that you are “entitled” to and advocate forcefully for your interests constantly. The pugilism was built right into the training and culture. The stories of ruthlessness were culturally rewarded. As a junior trader, sticking it to a competitor or getting into a nose-to-nose screaming battle with a broker just to define boundaries was a way to earn stripes.

[This is not my native personality but you adopt what it takes. After all, the only point of this job is to make as much money as possible. Sure, the cost likely bore itself as chronic anxiety about work but only the most well-matched people get the luxury of getting paid and being comfortable. I don’t miss all the daily haggling but I did take it seriously since it was one of the most impactful contributions to profit for the reasons above.

One story I had brought to my attention in the past year — a PM who ran one of the large banks deriv desks reminisced about the AMEX when we were in the same pit. He’s a bit younger than me and apparently I made a big scene sticking up for him to a broker who tried to bully him in the pit. Nice to hear even though I don’t remember the exact incident. I do have a vague memory of lots of battles in that pit because it was a large crowd in a very liquid name.]

Final thoughts on this theme: if you manage a business that’s a game of inches, it’s good to periodically check-in and ask “are we clawing for those inches?

Is everyone at the point-of-sale aware of what needs to be done or are we getting sloppy? Are we leaking info? Are we too nice? Would it pay to be squeakier? Are we paying the brokers we want to be paying? Are we paying the brokers the right amount?

Evergreen:

Tax-Loss Harvesting On Levered Long/Short

Real estate people understand the value of accounting losses in service of deferring taxes while an asset’s returns compound.

In the institutional investing world many investors such as endowments are tax-exempt.

Retail investors in public stocks have less places to hide outside of tax-advantaged accounts which are hard to jam lots of assets into in the first place.

The rise of ETFs have come with some relief on the tax side as you decide when to pay taxes because you decide when to sell even as the holdings are rebalanced. Mutual funds can leave you footing a prorated portion of the pool’s taxes regardless of how long you’ve been an investor.

While the ETF advantage is real it’s relatively minor compared to the ability to tax-loss harvest. By owning the individual components of a stock index you can sell losers, rebalance into peer stocks, and accumulate short-term losses to offset long-term capital gains on the subset of names that moon.

I say minor because of the “brain damage” (more effort, slippage, tracking error although if it’s random only matters if you’re managing money for others) and higher management fees associated with TLH. See Alpha Architect’s The Costs and Benefits of Tax-Loss-Harvesting (TLH) Versus an ETF.

Another restraint on TLH enthusiasm is limitation on writing off losses greater than $3,000 per year. Losses are more valuable in an NPV sense if you can use them to offset significant capital gains when diversifying out of a large gain in a concentrated position. With markets where they are, especially the Mag 7 and BTC, this is common high-class problem.

Still, the fintech world with the rise of robo-advisors and software is enabling both retail and advisors to “direct index” making TLH both easier and less costly.

Getting a sense of proportion

Let’s do some simplistic hand-wavey math to get a sense of proportion for how TLH might work if you were simply long a $1mm basket of stocks.

Assuming individual stocks were i.i.d. (“independent and identically distributed”) with expected mean monthly return of 0 and standard deviation of 10% (10% *√12 ~ 35% annual estimate of single stock volatility) then conditional on a stock being down its expected loss is 6.75%

This is symmetrical. Given that a stock is up the average expected return is +6.75%. We are just using arithmetic returns.

In mathematical expectation you expect the portfolio p/l to be 0, with half the stocks up and half down. Thinking about the portfolio as 2 halves, you expect $500k to earn 6.75% or $33,750 and $500k to lose $33,750.

Now suppose you rebalance the losers into a Wario basket of names that have the same exact characteristics as the ones we sold. You have now crystallized $33,750 of short-term tax losses but our exposure is the same. You have gained an asset to offset future tax liabilities.

Just staying simplistic, if all the stocks proceed to go up by 5% over the next 365 days and you sell on day 366 to get LTCG treatment (assume 23.8% — which is just Federal!) then what is your after tax return?

Winning stocks:

$533,750 * 1.05 = $559,728.75 or $59,728.75 total profit on a basis of $500k

Losing Stocks:

$466,250 * 1.05 = $489,562.50 or $23,312.50 profit on a basis of $466,250

resulting in:

+$83,041.25 LTCG (5% on $1mm exposure)

-$33,750 short term losses

= taxable gain of $49,291.25

tax bill = 23.8% x $49,291.25 = $11,731.32

After cutting the check what do you have in your account?

$1,049,291.25 – $11,731.32 = $1,037,559.93 or a 3.75% after-tax return.

 

💡The tax benefit

You’ll notice that if you bought $1mm of an ETF that went up 5% in a year and sold on day 366 your $50,000 profit less 23.8% taxes would net you about the same after-tax return.

So where’s the benefit?

It’s in the optionality of this pool of short term losses that you have control over. You could just let this $1,050,000 portfolio grow and keep the short-term losses as an asset in your back pocket to use against future tax liabilities, some of which are going to be taxed higher than LTCG rate. Alternatively if you need to divest a large chunk of a profitable position to raise cash, you’ll have a large pool of losses to offset the gain.

The real value of TLH emerges when:

  • Offsetting Higher Tax-Rate Gains
    • Short-term capital gains (STCG) or ordinary income are taxed at higher rates than LTCG. If your harvested losses offset STCG or ordinary income, you reduce your taxes significantly.
  • Perpetual Deferral
    • Step-Up in Basis
      • If you hold the portfolio until death, the heirs may receive a step-up in basis, erasing deferred taxes entirely.
    • Charitable Contributions:
      • Gains on low-basis positions can be avoided by donating appreciated securities to charity.

This toy example is compelling enough to realize it’s important. But there’s also another flavor of TLH on the scene with the potential to generate significant short-term accounting losses while the overall value of the portfolio grows.

TLH on levered long-short portfolios held in a separately managed account (SMA)

Using portfolio margin and a quant framework (this can range fairly basic to factor-intensive), an investor can run the same beta they desired in a typical long-only ETF but generate significant short-term losses by using their stocks as collateral to overlay a long-short portfolio.

This is typically done with an advisor who will in turn be using a sub-advisor whose infrastructure allows them to scale portfolio adjustments across thousands of custom custom portfolios held in SMAs.

I’ve heard some claims of how much more impactful this can be but again it’s critical to sanity check with actual numbers to make sure the sense of proportion is reasonable. From there you start layering common caveats which are easier to handicap in terms of bps per year.

In this case, the sanity checks called for simulation.

A little foreshadowing — if you are in a high tax bracket or trying to work out of a concentrated position with a low cost basis you are going to want to see this.

You get the simulation code, you can run it in your browser and it will even download the full output. I’ll show you a few manipulations for the output so you can get a strong grasp on the mechanics. This is one of those concepts that you can’t unsee once you see it. Multiple bulbs going on at the same time.

(It’s also quite depressing so much time is spent on taxes and the ROI on that time is validated by the math. Both taxes and the time spent on their minimization is deadweight loss. I like markets, I hate structuring and law and tax and basically all the crap that’s probably higher yield to understand. And just going through this exercise depressed me even further because it confirmed how important it is.)

Onwards…

This Jupyter notebook can be run directly in the Google Colab environment.

🔗TLH.ipynb

Open the link and press “play”.

The output will:

Return a summary in the browser of the simulation results

download a CSV to your browser

 

Stepping through the tax-loss harvesting (TLH) simulation

This simulation models a tax-loss harvesting strategy applied to a hypothetical stock portfolio over a 12-month period. The objective is to demonstrate how TLH can potentially reduce taxes by systematically harvesting losses on individual stocks while maintaining the portfolio’s market exposure.

Key Steps and Mechanics of the Simulation

  1. Portfolio Setup: $1mm long equity portfolio
    • The portfolio consists of two parts:
      • Long Positions: $1,300,000 allocated across 100 individual stocks.
      • Short Positions: $300,000 allocated across another 100 individual stocks.
    • Each stock in the long portfolio has a starting price of $100 and is equally weighted. Each stock in the short portfolio also has a starting price of $100 and is equally weighted.
  2. Return Simulation:
    • Every month, the returns for each stock are randomly and independently generated based on a normal distribution with:
      • Mean Return: .80% per month (approximately 10% annualized compound return).
      • Volatility: 10% per month
  3. Monthly Rebalancing for Tax-Loss Harvesting:
    • Harvesting Criteria: At the end of each month, the simulation checks each position to see if it meets the tax-loss harvesting criteria.
    • Long Positions: If the price of a long stock falls below its cost basis ($100), the position is “harvested.”
      • Harvesting Process:
        • The position is closed, and the realized loss is calculated based on the difference between the cost basis and the current price.
        • This loss is recorded as a crystallized loss, and the realized loss amount is added to the cumulative short-term losses for the portfolio.
        • A new stock is bought in its place with a fresh cost basis of $100 using the harvested amount. Since the original position suffered a loss, the proceeds will be less than $13,000 ($100 * 130) worth of shares. Since the new stock is also $100, the share quantity must be less than 130.
    • Short Positions: If the price of a short stock rises above its cost basis ($100), the position is similarly harvested.
      • Harvesting Process:
        • The position is closed, realizing a loss based on the difference between the cost basis and the current price.
        • This loss is recorded as a crystallized loss, and the amount is added to the cumulative short-term losses.
        • A short position in a new name is established to match the notional amount of the covered position. A fresh cost basis of $100, but the short share quantity will necessarily be less than 30 shares.
    • No Harvest for Profitable Positions: Positions that remain above (long) or below (short) their cost basis are not harvested and continue with their updated prices and fixed share quantities into the next month.
  4. Tracking Results:
    • For each month, the simulation tracks:
      • Monthly Short-Term Losses: The sum of all realized losses from harvested positions within the month.
      • Cumulative Short-Term Losses: The running total of all realized losses harvested up to that point in the year.
      • Monthly Tax Benefit: Calculated as the monthly short-term losses multiplied by a specified long capital gains tax rate (assumed to be 23.8%) since that’s what they will be used to offset.
      • Cumulative Tax Benefit: The running total of tax savings from all harvested short-term losses over the year.
  5. Assumptions:
    • Consistent Cost Basis: Each new position, whether long or short, always has a fresh cost basis of $100, regardless of the prior stock’s price at liquidation.
    • Monthly Frequency: The portfolio is evaluated and rebalanced for TLH at the end of each month, meaning opportunities to harvest losses are considered 12 times over the year.
    • Independent Stock Movements: Each stock’s returns are generated independently of others, with no correlation among stock prices.
    • Equal Allocation and Reinvestment: Both the long and short portfolios are equally allocated across the stocks, and any harvested amount is fully reinvested into a new position with the same initial investment amount.
    • Static Portfolio Size: The portfolio maintains 100 long and 100 short positions, with new stocks replacing harvested ones to keep the portfolio composition stable.
  6. Output:
    • At the end of the simulation, the following information is displayed:
      • Detailed Monthly Summary Table: Includes individual stock performance, crystallized losses, and other details for each stock every month.
      • Month-End Summary: Shows monthly and cumulative short-term losses and tax benefits. This provides insights into how the strategy’s tax benefits accumulate over the year.
      • Overall Portfolio Statistics: Total portfolio gain/loss, gross return, accumulated short-term losses, and the final tax benefit as a percentage of the initial portfolio value.

Summary

I address a few of the real-world considerations further below.

But to put the value of this concisely:

Making a $100k capital gain on an investment is not as useful as making $300k with $200k of short-term losses even though the net is the same.

[Notice how you might not have enough capital gains to take advantage of all these short-term losses. Which is why a strategy like this is especially useful for investors sitting on concentrated profits — they can work out out of it much with smaller tax impact. Holdings can be used to collateralize shorts with portfolio margin!]

Real World Considerations

  • In practice, a TLH strategy would seek to rebalance into names with similar characteristics (whether by factor, sector etc) to avoid wash-sale rules. In the simulation each stock has the same vol but this proxies using equal-vol weighting in the real world.
  • There is a cost of leverage although it is partially offset by the short-stock rebate on shorts.
  • Note that as the market rises, the number of positions that are underwater declines. Names you recently rebalanced into will have a better chance to experience loss to harvest than a name that you have been holding for years of a bull market. However the levered version of TLH which includes shorts and longs offers far more opportunity to harvest than a long only portfolio which might have very few losers after several years.
    • As time passes the surface area for loss harvesting stabilizes towards something of a steady state.
  • The strategy is meant to maintain a 100% long exposure (130 long vs 30 short) so if volatility increases it is still bad news. But the tax loss harvesting portion can actually benefit from higher volatility so there’s a natural buffer.
  • Monthly turnover means slippage costs. Those will increase with volatility.

Wrapping up

I leave it to you to decide how interesting this all might be.

(I find it compelling but still taking it apart.)

I’m not a tax expert. I’m not a simulation expert. Hell, it was a long battle with ChatGPT to get that code to a place that felt right. (It was about 50 iterations of “run code”, “pivot table the CSV data”, “see if the lifecycle of trade/rebalance/accounting made sense”, “tell ChatGPT how the desired behavior of the code diverged from the actual behavior”, “repeat”).

Example of stitched together images of pivot tables to investigate:

  • This one allowed me to see crystallized losses by month. You can see how they decline over time. That’s because as the market rises the further stocks are above their cost basis which means less opportunity for harvesting. This would be much more pronounced if there you did not employ shorting.

This table lets you see price paths

 

Position and portfolio values over time

I hope some of you will get your hands dirty with this as well. I want to know what I’m missing or flat-out misunderstanding. Even placing sane error bars around the real-world considerations would be helpful.

Option Spellbooks

When you learn a new language you ascend levels of competence. You start with everyday words and basic grammar with a goal of at least being comprehensible. This will unlock simple conversations, a milestone that enables and encourages regular practice. Like getting through the first month of guitar when you just wrestle with physical finger placement and learning your A, E, G, C, D open chords. The moment you can fluidly switch between the chords you can play the majority of music you hear on the radio. That’s when your learning takes off.

With enough practice in language or music you can think outside your native tongue or improvise in real-time. In skill acquisition terms, you have achieved “unconscious competence”.

Options are the language of risk

You start by mapping basic vocabulary to real-world sensation. “Long call” = “happy if stock go up”. With practice, you develop taste in how to use this vocabulary. In English, “I know how you feel” expresses empathy but you don’t say that to someone who just lost a loved one both because it’s not true (you don’t know how they feel) and because this comment awkwardly makes the moment about you. Well-intentioned commiseration clumsily executed.

Trade structuring can be clumsily executed too. You think something could double in the next 6 months and you…sold puts? If you are right, congratulations on making a tiny bit of cash on direction but opportunity costing yourself a small fortune by expressing the trade with a short vol position when your entire thesis insinuates orgasmic levels of vol!

You touched options without understanding that they are always about vol. Like knowing the words but not how to use them. You’re still stuck at “unconscious incompetence”.

Before you go further it will take 4 minutes to review this idea directly…see Translating to “option surface” language

Wizardry

You have a book of spells. You desire stealth so you look up “cloak of invisibility” and see you need some a salamander tail, a runestone and peroxide to conjure it. Common ingredients in a sorcerer’s home.

In investing you have a sense that a stock is “probably going higher but if I’m wrong I’m really wrong.” That’s a natural language description of a somewhat routine scenario. You need to translate that to code. Option code.

  • What instrument is levered to the “probability that a stock goes up”?
  • What instrument is levered to “if down, magnitude is yuuuge”?
    • far OTM put

So the package of “probably going up, but if down, then down big” can be represented in option language as “long a call spread plus a teeny put”.

That’s the name of the spell.

Now, as a wizard you can adjust the size, ratio, and particular strike to both

a) suit your taste and

b) take “what the option market is giving you”.

What the option market is giving you

This ties right back to the most underappreciated concept in trading….is it bid or offered?

If you believe that an asset’s upcoming moves are distributed so it probably goes up but if not it crashes, you know what spell to cast. That’s half the battle.

Next question:

Is the option market offering you the ingredients for the spell at an attractive price? Or is every wizard trying to cast the same spell and bidding for the same ingredients?

We are going to look at a couple spells and their cost of ingredients.

You’ll learn how to measure price, decompose recipes, and if you read between the lines you’ll notice — even when no trade is indicated you receive a valuable update to your assumptions or an opportunity to express the bet in a way that exploits the price anomaly. There’s a beautiful yin and yang to options. If the cost of a one spell gets expensive there’s a counterspell that gets cheaper with respect to your view!

Let’s get to some data.

Setup

We are going to look at 2 spells that can make sense for betting on “probably going up, but if down, then down big”. An interesting thing about this distribution how its kinda the base case distribution for SPY right? Both history and the options market agree that the SPY proposition looks like “hey you’ll make some money on average and every now and then there will be a big drawdown. also, don’t expect the market to crash up overnight”.

[💡That fact in itself is useful because if you think another market conforms to that distribution you know how the SPY option market prices that spell! You may even adopt a prior that the SPY price for that spell could be an upper-bound or be considered “expensive” if another asset started trading that way. If that’s hard to understand, don’t sweat it, it’s a slightly more advanced inference that a relative value trader might make.]

We are going to price the spells and look at charts.

  • Our universe will be: SPY, TLT, GLD, USO and BITO
  • Our date range is almost 4 years (Jan 2021 – Nov 15, 2024…except for BITO which start 10/21)
  • We are looking at the closest listed expiry to the 90-day maturity (based on what option chains are listed there is about 15% tolerance on DTE around 90 but BITO chains are more sparse so DTE can vary by as much as 30 days or 33% tolerance)
  • We are choosing strikes closest to breakpoints that are 1 or 2 standard devs OTM depending on the spell. If we measure strike distance with standard deviation we are using the ATM vol to define the SD. So if 2 assets are both $100 a 1 standard deviation OTM call will be further away (ie a higher strike) in the higher vol asset. This concept is detailed in these series of posts:

There will be lots of little observations along the way so in the spirit of “enough with the rulebook, let’s just play”, we’ll proceed.

Learning the method via SPY

The first spell we’ll examine is a package of:

1-s.d. / 2-s.d. call spread

+

2-s.d. OTM put

measured as a percentage of the spot price.

For example, on 1/12/2021 the details were:

The package cost 1.16% of the spot price on that day.

Exploring the long call spread + long far OTM spell

Let’s move on to charts. I will point out notable features of each chart. I’ll point out the bits of learning in each one.

Chart 1

🌙The red line is the price of the package. It ranges from about 70-150 bps for a 3-month expiry

🌙The blue line is the ATM call as a percentage of spot. If you remember the straddle approximation formula you know that by dividing the spot price out this measure will track implied volatility.

🌙The package is long volatility (you lay out premium for it) so it’s not surprising that its price is correlated with the vol level. You also see that the package price itself varies between something like 20% and 50% of the ATM call value. When vol is low, it’s a higher percentage of the call price. Ponder that for a moment. It means OTM options are a bit “stickier”. Skew as a percentage of ATM vol (aka ”normalized skew”) flattens as vol increases and steepens as vol softens. We’ve talked about before in the context of conditioning skew percentiles on vol levels by using scatterplots to see that skew has a curved relationship to vol.

Chart 2

🌙Same data in scatterplot form. You can see the correlation clearly (r = .76). Red dot is the recent observation (11/15/24). The package price is high compared to the vol level. I don’t like to anthropomorphize markets and say “the vol surface agrees with the statement that the market is likely to go up but if not crash” but the price of that expression or spell is high. The market is not offering it cheaply.

Chart 3

🌙Lots of smoothing — dark red line is the 200d moving avg of the package. The dark pink is the rolling 200d standard deviation of the package price. Dashed pink is the 200d MAD (mean absolute deviation — just another measure of deviation. If it’s close to .80 then the distribution of the stat is close to normal, if it’s less it’s fatter tailed. It costs nothing to add this metric so I tend to do it whenever I look at a standard dev just in case there’s a disparity from .80. The dashed light blue line shows that its stable at .80 even if it’s hard to see on that axis).

🌙The dark blue dashed line is the z-score of the observation vs a 200 day lookback. You can see the spike on 8/5/24

Chart 4

🌙I was just curious so I threw up a scatter of the package price vs the trailing 1-week return. It gets cheaper when the market rallies but that’s just the spot-vol effect. On large moves either way it does look like there’s some modest smile effect where even on a large up move the package is more likely be on the more expensive side. Maybe the most interesting part of the chart is the X-axis itself. You can see the left skew of weekly returns. There are more large up moves than down moves but 2 largest moves are negative and out of bounds compared to the rest of the blob.

Decomposing the spell: the price of the ingredients

Let’s look at the building blocks of the spell to see what’s driving the value of the package.

🌙In 2022, the bulk of the package price was driven by the far OTM put. But you can see some small stretches like October 2022 when equity markets bottomed for the year (lows that haven’t been touched since) where the call spread was actually more expensive than the puts! We’ll chart the ratio of the package to the ATM call price directly to see that the package got cheap relative to the vol — again the skew flattening (shaded region was Oct 2022 lows). In this case, it was the put skew especially that got hammered.

 

[I remember 2022 in vol markets as the year tail and defensive strategies massively underperformed because funds had boughts puts at the end of 2021, a frothy year in from which a sell-off was actually consensus. If a sell-off is stabilizing, and restores order to the force, the skew is not gonna perform.

Markets are biology not physics he shouts into the void. It’s poker all the way down. Notice how I don’t try to create rules from what has happened or play technical analysis. I just look for prices that are anomalous, which doesn’t mean wrong, it just means it deserves attention. From there you have to like think and stuff. Get used to sitting in paradox. There is no closure. Markets are utterly indifferent to your need for coherence.

For what it’s worth a similar setup happened in late 2018 — vols ripped into the Q4 sell-off but skew got crushed because of a large overhang of recycled downside vega from the autocallable structured products. There was an inflection point in the open interest though so a clever cat would realize you could load up on the hated, supplied region of the skew because the market’s outstanding vega profile would flip on a second leg down (ie well supplied to flat).

So what do you do there? One thing that you can do (and it worked) was buy the puts and hedge on a heavy delta in expectation of a rally. If it rallies, you win on the outsize delta plus the puts sliding up the skew curve as they become further OTM. If the market sells off into the abyss where the open interest and market-wide greeks quickly decay you are long vega into an exploding vol market. It was one of the easier risk-reward setups that comes along every now. I know I’m gonna get emails from retail traders asking about how you can plug into this and I’ll just preempt it now. You can’t. It’s an information game the propagates out from the OTC market and the all the risk reshuffling that gets farmed out in chunks to institutional vol desks. At some level it gets “into” the listed market but the scent has to be picked up higher in the chain of issuance to understand the arrows, dependencies, and inflections.]


Exploring the 1 sd collar spell

The next spell is the 1 sd collar (also known as a risk reversal or god help you if you trade commodities, “a fence”)

Long 1-s.d OTM.put

1-s.d. OTM call

Notice how this is put “minus” call. that means if the collar trades for a positive value then the put price > call price.

Again we will divide the package price by the spot price to normalize and we are still using 90 day maturity.

Let’s use USO, the oil etf. Instead of pointing out what’s interesting in each of the charts I will cherry-pick questions so you can practice.

USO:

Chart 1

🌙What does it mean that the collar price sometimes goes negative? Do you think you can spot the Ukraine invasion in the chart?

Chart 2

🌙 The collar price can get extreme in favor of the put OR the call at high volatility. Why might that make sense for oil?

Chart 3

🌙The chart starts in January 2021. The puts started the year high relative to the calls declined over the course of the year then flipped in 2022. What’s the story behind the change?

Chart 4

🌙Compared to the SPY chart’s x-axis earlier what do you notice about oil’s weekly returns?

 

The decomposition of the collar into the separate call and put legs will let you see the drivers.

In early 2022, you can see the put leg was relatively stable after peaking at the end of 2021 but the collapse in collar pricing was driven by the calls exploding higher.

🌙Can you see the Oct 7, 2023 Hamas attacks in the chart?

SPY collars

I’ll just point out the animal spirits in the stock market. SPY collars are relatively cheap these days.

The contribution of the legs to the cheapness looks balanced. Puts are a bit low and calls are a bit high.

BITO collars

BITO is an etf that tracks BTC futures. It’s performance is marred for the same reason VXX stinks. Negative roll returns as the prompt future must be rolled into a premium 2nd month in a contango (upward-sloping) futures market.

You can see the effect clearly in the BITO cumulative return chart but it’s still useful to see the point to point changes. Even though the cumulative return since its inception is -35% you can see that in the past 2 months its surged from -60% to -35% mirroring BTC giant rally.

Interestingly, it looks like when they were first listed, the calls were premium to the puts (negative collar prices) before establishing the familiar regime we see in many assets — the puts are premium.

[More story time: In the mid-aughts during the commodity “supercycle” there was a lot of noise about commodities as an asset class, financialization, yada yada. I was on the NYMEX floor when WTI first breached $100. IIRC a trader overpaid for a one-lot in the pit lot to own the memorialized print.

Anyway, call skew in the oil markets got annihilated with financialization. Why? Because to passive investors, calls are free money to be sold. So as something becomes financialized you have some prior about what will happen to the call skew. Something to consider for all those bulled up on IBIT calls these days. I’m not exactly sure what happened in BITO when it got listed, but maybe the first option quoter was still wearing footie pajamas back when commodities became an asset class.

As you can see from the USO charts, the skew in oil is fascinating because barrel prices can crash down like during COVID or up. From a long history of trading oil, owning the call skew has been positive expectancy because hedgers are a steady supply of upside-vol yet the true distribution includes crash-up potential.

This was also true in heating oil and gasoline. Gasoline is a smaller market than crude oil and less liquid. My approach to OTM calls in RBOB — buy em’ when they’re cheap, only sell them closing. Never open on the short side “because they screen high.” Same attitude in nat gas or anything that gets real sloppy on the upside as liquidity evaporates. There’s probably edge in being short because that’s where you’d expect the risk premia to live but the risk/reward and survival imperatives mean only those messing with other people’s money get wide-eyed at that stuff. I guess you could always trade it small but also maybe find other ways to deal with your boredom.]

Spellbooks

I’m not going to show charts for each asset but just summarize just show this self-explanatory spellbook.

You could imagine columns for decomposing the legs and their stats. On and on. You could see how one might want 10 screens.

[We don’t have this in moontower.ai but we’re excited about all the wood we’re gonna chop in 2025 😉]

Actually on the 10 screens bit — a normal human thinks that sounds like a nightmarish work environment. But you have to have some faith that this works just like walking and chewing gum. You get used to it. Plus all the dashboards are the survivors of the evolutionary screen-space tournament. What’s left is a bunch of tables and charts that your eyes easily scan and process into a gestalt. It’s like the market is having conversations all around you but a well-constructed cockpit will simulate the cocktail party effect — you’ll identify the most prominent features of what market parameters are changing today. This is the “science” part. The actions are the art.

Wrapping up

Some repetition and a smattering of observations that might not be obvious to learners

  • Using 90 day options means we need to multiply the typical cost of these structures by 4 to annualize
  • Assets vary in what a “typical” vol surface looks like. SPY always has a pronounced put skew. Coffee and VIX have inverted skews. Gold is usually a true smile with both far OTM puts and calls trading at premium vols to ATM. The same spell therefore varies in cost across markets.
  • Decomposing spells will let you see what legs are driving the cheapness or expensiveness of the package.
  • In keeping with the “options as a language” metaphor, volatility metrics like “implied vol” and “skew” can be seen as a abbreviations. Like if the put skew is high, the price of the collar will be high. But when you trade you don’t trade “skew” or “vol” directly but you trade contracts with actual prices. The vol metrics are handy ways to normalize in the same way that P/E is an attempt to normalize for comparison. But you trade actual instruments not metrics. As an option user, you open an option chain but its gibberish. Vol surfaces and metrics help you make sense of “all the numbers” on the screen with curves and historical context. We use the metrics to zero-in on what we want to do, but for execution we shift gears back into prices and strikes not vols and deltas. These spells are like a transformer layer between vol lens thinking and price thinking.
  • You have an opinion about the market, but is your opinion bid or offered? The options market can tell you. Remember stock and asset prices in general are low resolution. Options are surgical. Just like parlays, the relative prices between the propositions imply tradeable ideas. Options are the coding language in which ideas are scripted into trades.

insights from a moontower.ai user

I had a long chat with a user who’s been trading as a primary means of income for over a decade. I was deeply impressed to watch how this individual followed the recipe we lay out in The Moontower Mission Plan while incorporating their own spice.

How they combine “volatility lens” with “directional bias”

  1. Uses the Dashboard to find a name and term where the volatility stands out as cheap or expensive
  2. Then checks if the stock is near an extreme (using technical indicators they’ve tuned over time)
    1. Employs contrarian/reversion delta bias + volatility bias to spark a trade (e.g., if at the low end of range and volatility is cheap, buy volatility with bullish bias—i.e., calls, depending on where skew might prescribe, or sell puts if volatility is high).
    2. If the stock is in “no man’s land,” then does nothing.

 

Notes on the user’s activity and some feedback I offered:

  • Primary tool is DASHBOARD.
  • There’s a trade to do every few days, but the practice of stepping through the progression daily every morning has built up a memory. This primes action when the situation sets up.
  • Sometimes looking for the cheapest source of beta — inexpensive ETF options or cheap options in single stocks that have a large weight in an index.
    • Gave a recent example of this. User bought options that looked cheap to get long. The directional bias worked and it was a profitable trade BUT volatility got smashed so won less on the calls than expected (another way to frame that is the option behaved on a smaller delta than you expected)
    • As volatility fell even further from low levels, I explained how it’s possible to monetize the delta (ie directional) victory while taking advantage of the even more attractive volatility by buying puts or rolling—selling the calls and, if still bullish, buying 2 OTM calls. You can be more creative but these are just a few ideas. You can use a combination of your directional bias and surface metrics like skew to pick strikes

Finally, an important point that is a bit harder to internalize outside of professional trading contexts.

Just because a vol looked cheap earlier and got cheaper doesn’t mean it’s still cheap!

Why?

Because it depends on what the rest of the “blob” did.

If the rest of the universe saw vols dive even faster you might actually think the vol you own is now expensive.

This is why you don’t think about the history of trades. It’s no longer relevant that it used to be cheap. Now it might be expensive. There should be zero notion of “taking profits” or “locking in a loss”.

It’s always day zero (to use a Bezos-ism out of context. )


Euan and Andrew have an adjacent riff about this in Retail Option Trading. Note how p/l is not a factor in deciding to trade!

The thinking below is exactly how I thought about my trading portfolio and how I think today about my personal portfolio.

Actually, this way of thinking is so ingrained it’s one of those “curse of knowledge” things where I don’t realize that beginners don’t see this as obvious. (And it’s not obvious — you learn it which is what this is all about).

Stop thinking in terms of shares or options. Think in terms of risk exposures. Don’t anchor yourself to the fact that you own 1,000 shares. Instead, think of it as having 10% of your portfolio in that stock.

Always have a target portfolio allocation. For example, based on some analysis, you decide you want to have 10% of your $1,000 portfolio in Stock A. Now the stock doubles and the allocation goes to $200/$1,100 or 18.2%. This doesn’t match what you want, so sell $90 worth to get the allocation back to $110/$1,100 or 10%.

Don’t get hung up on terms like “taking profits,” “letting profits run,” or “looking for an exit.” You don’t have the position you want, so do what it takes to get to the position you want!

People often struggle with this concept, but it doesn’t matter whether we’re talking about shares, vega, theta, or any other risk factor. The answer is always the same:

  1. Have a desired position.
  2. Compare what you have to what you want.
  3. Change what you have.

It’s honestly that simple.

Kind of…

In reality, adjusting your position incurs costs. You need to let your portfolio move around your target allocation by a bit. Exactly how much variance you allow is a balancing act:

  • High costs? Allow more imprecision in your portfolio weight.
  • Low costs? Allow less variance.
  • Higher tolerance for being unbalanced? Trade less often.

The Most Underappreciated Aspect of Trading

A little experiment — talking into a camera instead of writing.

The topic… “the most underappreciated aspect of trading”


A rough script

The Most Underappreciated Aspect of Trading

In the world of trading and investing, there’s a lot of talk about modeling and methods and all kinds of geekery. This is all well and good. If you read Moontower, you’ll see plenty of that stuff. But I want to talk about the most underappreciated aspect of trading today.

Before we get to that, think about what it must be like to make a market in newly listed options. It’s a relevant question today since it’s listing day for IBIT options. IBIT is the spot BTC ETF. If you’re opening the market for IBIT options, you have both Deribit and BITO options to help you triangulate a decent opening line.

If you were the first person to make a market in Pepsi options, you could look at KO vols as a starting point on how to model them. Just like a bookie who sets a line, you’d start with a good guess and then iterate based on flows. The key is you start with some model and adjust. Just like Newton’s method or any procedure that iteratively solves for the roots of a math function, the first guess isn’t that important and doesn’t even have a large impact on how long it takes to get to the “right answer.”

You just need something. A starting guess. A starting model. The iterative process matters more than the model, which you know is wrong anyway.

Let’s hold that thought.

A Bit of Crafty Wisdom

I’ll share a bit of crafty wisdom that market makers understand:

When you look at a price, you wish you could have traded it as counterparty to the aggressing order.

A simple demo: A quote is $1 bid, offered at $1.20 and it trades $1.15, and I ask you to pick what you’d want to do at $1.15.

You say “sell”. This isn’t a trick scenario. That’s the right instinct on average

Again, when you look at a price, you wish you could have traded it as counterparty to the aggressing order.

Now for the anti-climax.

It’s a fake idea because had you been on the price, the price would have been different. You would have affected it. This idea is like a painting to be viewed from afar. It’s not of any practical value, um, other than the fact that it holds the deepest insight in all of trading.

I don’t say this lightly. I can’t prove it. There’s a lot of nuance around it. But it comes from something deeply felt from spending the first half of my institutionalized career as an options market maker and the second half as a buyside options PM. I’ve traded tens of millions of option contracts. Far less than half electronically, too.

The Most Important Question

The first thing you should classify when looking at a price: is this thing bid or offered?

Do they love it, or do they hate it?

I’m hesitant to generalize to other forms of trading, but vol trading is a fundamentally contrarian endeavor. You hold your nose when you trade. If you like your trade, you should be nervous.

You’re uncomfortable? Get used to it. Bruh, that’s the job. To fade everyone else’s greed and fear.

Analysis vs. Price

I said I can’t prove it, and taking even a pro’s word for something is hard. I’m with you. Skepticism is a good reflex, especially in finance. But I’ll take a stab at making my point more concrete.

I saw a tweet this morning from a mutual who I respect. It was about how he liked selling puts on names that have plenty of cash, flooring the value of the stock much higher than 0. Let’s accept this, and we’ll call it analysis.

“I did analysis, and this stock is worth, by sum of concrete parts, at least $10, whatever.”

In a poker context, he’s playing the cards. He’s done the work. He’s done the math. The motivation to trade is resting on analysis. On the cards.

However…the outcome of the trade depends on the interaction between the price and future states of the world, both seen and unseen. You must think of any trade as an instance of a decision process that you are repeating over the course of time, albeit with different details each time.

The analysis in this case was focused on states of the world, which is great. It’s part of what drives the outcome of the trade. But let’s zoom in on the idea of price, since it’s as critical to the trade as the health of your Siamese twin. The outcome is no less about the price than the analysis.


Critical Price Considerations

I don’t need to use a concrete price. We just need to consider: is this option—this put option—bid or offered? Forget the option surface, forget the dollar price, forget any quantitative analysis.

Does the world look at this option and think, “this thing deserves to be sold”?

You need some theory of mind here.

When you imagine how other people look at this option, what do you think they think? How hard was it to see how much cash the company has?

Let’s say that you have reasoned that, in fact, no reasonable person would care to buy this option.

So, what do we know about the price?

Well, if there’s any volume, we know it’s trading. And if everyone who does analysis comes to the sanest conclusion that this option should be sold, then the price has a crowd on the offer, and the buyer is a market maker who either:

  1. Thinks the price is cheap against something else in the market they can sell against it.
  2. Thinks there’s enough discount baked into the price that it’s worth owning.

The Mechanism of How Crowded Sentiment Gets Disappointed By The price

It’s so often the case in options that extreme one-way sentiment sows the seeds of the counter.

The market buys so many call options that it causes a gamma squeeze. BUT if the options were so expensive that the gamma was actually quite small despite the number of options bought, then as the stock goes up to the immediate delight of the longs, it disappoints.

See, the longs were all motivated by a quick strike, not long-term holding. So, the once-call buyer is a future stock seller. If the stock doesn’t go up quickly and far enough, the call holder starts wondering if they are a bag holder on a rapidly decaying option contract.

A build-up of open interest on one side of an option contract can be thought of as an order book distributed across time. There’s stock to buy or sell in the future—it’s just which side of the open interest will need to do it and what are the properties of that cohort when averaging their behavior.

(If you don’t trade options, you may have heard a similar framing in pure stock trading: every short is eventually a bid for the stock, but this is not as strongly true for longs.)


If You Only Have Room For 1 Takeaway

For a trade to be successful in expectation, it must be attractive NET of the fact that it is bid or offered.

This means you can make guesses about the good side of a trade without doing any analysis. Ask yourself, “What would everyone want to do with this contract or instrument?” and recognize that the price that is actually trading is sufficiently profitable to find a counterparty who is willing to tolerate loneliness and ridicule.

Always ask yourself, “At this price, what is the market begging for?”

The inner monologue as I would trade against someone was always:

“Eh, you’re probably right, and holding this is gonna suck for me, but the price you’re paying is gonna disappoint you.”

You are welcome and invited to do all the analysis you want, as if investing were a problem set. But remember: the exams are graded on a curve.

Did you beat the spread NET of it being bid or offered?


Practical Tips

General tip:

  • If you do finance, then study finance. Balance sheets, accounting, and so on.
  • If you’re in trading, study gambling and actually do trades.
  • If you’re in investing, you need to do it all.

    (Topic for another time, but that last fact is why you would expect the number of exceptional investors to be far smaller than what the investing world would have you believe. Said otherwise: the number of good investors is smaller than the number of good track records.)

 

F-innovation

I went on Resolve Riffs with Adam Butler and Rodrigo. It was a totally free-form no prep episode. We mostly talked education and parenting stuff. There’s investing repartee on the back end.

 

It’s worth an evergreen reminder — The InvestResolve team did a great podcast series teaching risk-parity which is another term for diversified portfolio (it’s just that the term “risk-parity” implies the weightings depend on the volatility and cross-correlations of the portfolio components).

I published a summary a few years ago:

InvestResolve Masterclass On Risk Parity (Moontower guide)

If you are short on time focus on the first 3 parts:

In addition to his work at InvestResolve, Rodrigo collaborates with Corey Hoffstein to lead the Return-Stacked ETF push which is a way to maximize the benefit of diversification, namely maximizing return per unit of risk, via capital efficient leverage.

I think one of the coolest aspects of these products and the education around them is what it says about the waterline of investing knowledge — it’s constantly rising. What the institutional world understands about portfolio construction trickles down to retail on a lag but it does trickle down.

The lag depends on a mix of:

  • regulation (ie portfolio margining)
  • complexity (advisors are the messengers of new financial innovation to most of the public although there’s plenty of asset manager blogs or even blogs like this one that reach DIY investors)
  • cost (fintech can scale the some of the analytical, data, execution, and funding over large user bases)

The Return Stacked funds bring the same techniques for structuring efficient portfolios that professional fund mangers have understood for decades to retail investors.

Corey does an amazing job explaining the principles in this video interview in a simple way:

🎙️Building a 100% Stock Portfolio Using Return Stacking (Millennial Investing)

My notes:

Rethinking How Your Portfolio is Constructed

Modern Portfolio Theory tells us to find the most diversified portfolio and lever it up. AQR’s Cliff Asness showed that if you take a portfolio that looks very close to a 60-40 and lever it up 1.5 times, historically, you would’ve had a higher return and about the exact same risk as equities. They call diversification “the only free lunch in markets”. It largely is. There’s no benefit really to foregoing diversification, but often you have to use leverage to really unlock those benefits.

Most people in 100% equities know that when you go to a 60-40, you’re de-risking your portfolio — you’re selling stocks to buy bonds that are less risky. The only way a 60-40 can compete, even though it’s more diversified, over the long run is by levering it back up to the same amount of risk.

  • Notes on tax efficiency
  • Leverage
    • optimal math number vs behaviorally prudent number (difference bt risk capacity and risk tolerance)
    • Leverage has bad reputation but if only if you pair it with concentration. All disasters have leverage at the scene of the crime but usually to increase a concentrated position.
    • leverage + true diversification is an unlock and really the big thing that institutional investors understand that the average investor doesn’t. That’s the key innovation here — capital-efficient exposure to leverage while diversification keeps the risk unchanged
  • Fees are lower than they appear because need to normalize them to amount of risk

Finally in the spirit of retail investing strategies getting smarter, the post I wrote on Thursday is on the topic you are going to hear a lot more about using your existing portfolio to collateralize a long/short overlay enabling the possibility of generating additional alpha as well a bank of short-term tax losses which can be applied in the future to match the timing of selling your large winners.

the option market’s point spread (part 2)

In part 1, the option market’s point spread, we introduced the idea of the VRP or volatility risk premium which sets the line on whether an option buyer or seller will win. Usually the sellers win but that statement is uselessly low res.

💡When we say “win” we mean even in expectancy terms. In frequency terms it’s even more true. From Straddles, Volatility, and Win Rates:

Expectancy and win rate are not the same. Remember that the most you can lose is 12% but since there is no upper bound on the stock, your win is theoretically infinite. So the expectancy of the straddle is balanced by the odds of it paying off. You should expect to lose more often than you win for your expectancy to be zero since your wins are larger than your losses.

So how often do you theoretically win?

A fairly priced straddle quoted as percent of spot costs 80% of the volatility. We know that a 1-standard deviation range encompasses about 68% of a distribution. How about a .8 standard deviation range?

Fire up excel. NORMDIST(.8,0,1,True) for a cumulative distribution function. You get 78.8% which means 21.2% of the time the SPX goes up more than .8 standard deviations. Double that because there are 2 tails and voila…you win about 42% of the time.

So in Black-Scholes world, if you buy a straddle for correctly priced vol your expectancy is zero, but you expect to lose 58% of the time!

My teaser for this week’s post claimed:

[This week] we will go a bit deeper to appreciate how you can manipulate the inputs into VRPs to identify potential vol trades. I said VRP is the option market’s point spread.

Except for a tiny wrinkle.

There’s no single line.

The VRP computation (IV/RV) is just one measure of relative value. There’s no single point spread.

It’s easy to demonstrate this by casting doubt on the denominator. Here’s a thought exercise:

Stock ABC has a VRP of 10%.

Its IV is 17.6%

Its realized vol based on the last 20 days of daily log returns is 16%

📅16% annual vol is approx 1% per day…16%/sqrt(251)

17.6/16 = 1.10 – 1 = 10% VRP

…but

Now I tell you that the stock went up every single day by 1%.

💡If you compute the standard deviation the standard way by subtracting the sample mean (ie x̄) you’ll actually get a standard deviation of zero. If an asset has exhibited a steady trend this is obviously misleading since calling a stock that went up 1% per day for 20 days “zero vol” drains all semantic meaning from “vol”. The fix is easy…when you compute realized vol just don’t subtract the mean or use mean = 0 before squaring the individual returns. This caveat wasn’t the point of this exercise but if your antennae went up, fair play to you.

What’s the volatility of this stock?

Sampling daily returns we get 16%. But the stock is up 22% in 20 days.

We can annualize that point-to-point return:

22% * sqrt(251/20) ~ 78% realized vol

We can annualize the weekly (ie every 5 day returns):

5% * sqrt(251/5) ~ 35.4% realized vol

You get the picture.

What is the right vol for the option?!

16% seems way too cheap given what just happened.

So depending on what vol you pick your VRP ranges from 10% on the high end to 17.6/78 – 1 = -77% on the low end.

There’s not one point spread!

Realized vol is sensitive to your sampling periods. And I’m not even getting into super-fast updating vols (computing realized vols from tick data, a fun rabbit hole of its own).


On the desk, I was always on alert for highly divergent vol readings based on sampling periods.

[This is hardly a silver bullet. The implied vol on the hypothetical stock above is likely to be higher than 16%. The market’s not stupid.]

Honestly, I didn’t screen for those scenarios explicitly. I traded commodity options. The universe was relatively small so whenever I looked at realized vol numbers, which I did often, I had a feel for whether they made sense. If the realized vol (sampled daily) in gold is 12% but the metal is up 7% in 2 weeks I know the realized vol is misleading.

7% * √(52/2) ~ 36%

That’s like a 36-vol move. If near-dated options are trading at a 10% or even 20% VRP to 12% realized (or 13.2% to 14.4%) I’m out there accumulating a long gamma position.

I didn’t have a tool to necessarily flag these scenarios but if you trade a relatively short list of names all the time you build a mental history. I’d know which brokers were selling vol in the name, I might ask them where their customers are offering, or I might even go to brokers who were buying at cheaper vol levels before the move and see if they want to sell at the higher IVs and “take profits”.

[The game is a mix of what the cards are (examples include implied and realized vols) and human behavior —who has an axe to buy or sell and how do those axes change with the cards.]

The point is there’s a bunch of tacit knowledge that I don’t bother displaying on yet another monitor.

[There’s a wiseguys-trying-to-outdo-wiseguys snark about having lots of monitors. Like real Gs need nothing more than a laptop. You know something, being Warren Buffet or a VC is nice work if you can get it…but if you get the chance to visit the office of a market-making group you’re gonna see a LOT of screens. My set-up had 6 24s, a tablet for Cloud9, and windows into several virtual machines. What do you want me to say…professional trading is a video game. Put a price on 100k vega in comp, you have about as much time as it takes to move your eyes while chatting them up about last night’s World Series game.

I can see how a normal business person might think this is crazy. Lucky for them, most jobs are civilized. If you want to look down on the animals who need a wall of monitors you’re only soothing yourself — the feral don’t give a f what tool you use to convert time to cash.]

Using the data and background on VRP in last week’s post we can examine my tacit hunches more closely.

The goal of the post is to:

  1. inspire seasoned traders to explore fresh inputs into pricing volatility
  2. for novice traders, to have each of the building blocks in the exposition expand their frontier of knowledge a little further.

Ratio of realized vols sampled at different frequencies

In Risk Depends On The Resolution, we see that volatility depends on the sampling frequency. In general, more frequent sampling results in higher levels of measured volatility. This is a relevant observation for all investors not just option traders. It means that simply looking at an asset’s annual or even monthly returns smooths (if you are a long-term investor) or masks (if you run a strategy whose stakeholders are shorter-term oriented) the path. It’s a warm blanket for the patient and dragon for the churner. Whether the observation is reassuring or a warning depends on the context.

(I leave it to the reader to spot the asset management marketing departments who use this observation to flatter themselves by invoking it inappropriately).

For our purposes today we will measure 1-month realized volatility at 2 sampling frequencies:

  • daily (day-over-day logreturns)
  • weekly (5-day point-to-point logreturns)

Our monthly window will constitute 20 business days, therefore 1-month vol sampled:

daily means 20 returns or data points

weekly means 4 returns or data points

🗓️As a reminder we are using data from the past year (10/11/23 to 10/16/24).

 

Across our 43 names, the average ratio of volatility sampled weekly vs volatility sampled daily is 94%.

By example, that means a stock that realized 10% volatility using daily returns for the past month, would have realized 9.4% volatility if we sampled weekly instead.

Only 5 names had a realized vol that was higher when sampled weekly instead of daily.

This is in keeping with the general empirical principle — volatility sampled less frequently tends to be lower.

However, there is tremendous variation in this ratio even if it averaged 94% over the full sample. The standard deviation of the ratio is a whopping 35% meaning 2/3 of the time the ratio was between:

  • 59% — the daily sampled vol was 66% higher the weekly sampled vol!
  • 129% — the weekly sampled vol was 29% higher than the daily sampled vol.

The lower measured vol effect from less frequent sampling holds generally, but it’s very noisy.

A word on trending vs mean-reversion

Going back to our introductory puzzle, if a stock goes up 1% per day for a month its vol, if we sample weekly, is much larger than if we simply annualize that typical daily volatility.

The ratio of vol sampled weekly / vol sampled daily is much greater 100%. This scenario corresponds to our colloquial understanding of the word “trend”. The stock “trended” higher. A quant might say the drift dominated the volatility. As far as I know, this ratio being > 1 is not an accepted definition of “trend”. But even if it is not formally defining, I suspect it’s a common characteristic of a market that is labeled “trending”. (I have a post in the queue that will unpack this further so we will put a pin it in for now.)

Regardless of how the wider quant community views trend, the ratio and its suggestion of trend is deeply relevant to option traders.

If the ratio is greater than 1, the long option holder will have wished “they let their gamma run” while the short option trader will have wished to hedge more frequently.

I suspect any option trader reading this will drink to that since the memory of how they hedged is inseparable from large p/l events, positive or negative.


Ya know what, let’s take a breath and acknowledge something…”ratio of realized vols sampled at different frequencies” is a miserable mouthful. Just take a moment to digest it. It refers to the same window of time, it’s just that the numerator (weekly sampling) is less frequent.

Another way to think of it: it takes longer to converge to a estimate of the volatility

If we computed volatility based on 10-year returns you’d die before you felt like you had a reasonable guess of the asset’s volatility. A long sampling period is a slow-moving measure of variation. Higher frequency sampling gets us to a reliable measure of volatility much faster.

While we’re at it, I have another simplification.

Sacrificing formality for ease of readability, let’s call the “ratio of realized vols sampled at different frequencies” the trend ratio. If the weekly sampled vol exceeds the daily sampled vol we are trending, if it’s lower there’s mean-reversion. (Again, not officially, and don’t tell the quant police or the publishers over at Wiley.)

From trend ratio to VRP

We typically measure VRP as the ratio of implied vol to realized vol sampled daily. But there’s no single VRP. We could make the denominator realized vol sampled weekly or any other interval.

Let’s consider a VRP using the weekly sampled vol.

If the weekly sampled vol is greater than the daily sampled vol (a trend ratio greater than 1), the VRP is algebraically pulled lower. Options appear cheaper.

We expect the options market to correct for this when the trend ratio is much greater than 1 by bidding the implied vol higher.

We expect that a trend ratio greater than 100% will coincide with elevated VRPs when the VRP is computed traditionally (ie with a daily sampled realized vol denominator).

Just looking at the bulk data across names (we limit the x-axis to 2 standard deviations on either side of mean of .94), there’s no relationship.

Let’s look by name.

This is a table of VRPs partitioned by trend ratio. The names that are mostly green have low VRPs and the red ones have had lots of volatility risk premium.

My hunch was that high trend ratios (where weekly sampled vol is much higher than daily sampled vol) would correspond to higher VRPs as the market understands that the traditional measure of realized vol is understating the variance. It’s like the variance is smuggled into a steady trend.

It’s a noisy table. At best maybe BITO and MSFT conform to my expectation. In fact, the broad indices (SPY, QQQ, IWM) and SPY sector indices (the “XL’s”) seem to have an even lower VRP when the trend ratio is highly positive. Considering that the market is up substantially from a year ago, the trend has been positive which tends to correspond with vol dampening option selling. This can push down the VRP via the numerator. Algebraically, it implies IV is well below realized vols that are computed using weekly sampling.

I did not expect this. My intuition is mostly tuned on commodities. I don’t see my hunch turned on its head there, but I don’t see a relationship either.

I have another idea. Since each name has its own mean VRP, let’s redo the table where each cell is a diff from the name’s own mean VRP.

I’m getting the same feeling from this table especially in those broad indices. When the trend ratio has been much greater than 1, the VRP nosedives below its average. My suspicion is the vol is getting trashed on those steady “frog-in-the-pan” rallies.

Since the trend ratio is positive, the VRP based on the weekly sampled vol is even lower still!

This begs the question…were the options therefore cheap?

Trend ratios and lagged VRP

One way we can assess if the options were cheap is to look ahead in time to see if the realized VRP was less than 100%. In other words, did the realized vol that prevailed the subsequent month outperform the IV? We call this realized VRP a lagged VRP.

[Lagged VRP was a core topic in last week’s the option market’s point spread]

This table once again partitions by trend ratio but now it displays the subsequent lagged VRP.

We do notice a preponderance of green amongst the XL sector indices suggesting the realized vols did in fact perform well vs the seemingly cheap IVs we spotted earlier.

But we did not see this hold for the broader indices. It also doesn’t mean that the IVs were absolutely cheap — after all, the lagged VRP’s on average are still higher than 100%…these options turned out to be fairly priced vs the subsequent realized vol.

Overall nothing stands out as blatantly interesting. At the same time, the non-finding, is also not a dead end. This exploration is incapable of being conclusive. It’s a year of data in 43 names with overlapping windows which means it’s not much data at all. Furthermore, the sample sizes in these individual cells is also small — sure when the XLU trend ratio was between 1.5 and 1.6 the options turned out to be cheap the following month but how often did that happen? That could be a sample size of 1. FXI and URNM never even experienced a trend ratio greater than 1.6.

Wrapping up

Like the last post, this was a demonstration of how to explore a vol idea. We started with the premise that realized vol measures can be a poor reflection of what an asset’s future volatility might be because its sensitive to the sampling period.

By choosing a different sampling period (which is what we effectively did by partitioning by trend ratio) we change the VRP which means changing how cheap or expensive the options appear. Then we see if our adjustments singled out vols that did in fact turn out to be mispriced.

There are so many parameters to play with. These were just a few from this post but you can imagine so many more:

  • Realized vols from different sampling periods
  • Different ways to compute realized vol (close-to-close vs range aware computations)
  • Any number of implied vols you can choose from the surface.
  • Asset classes, sectors, individual tickers

Personally, I start with ideas that make sense. If I measure realized volatility in 2 different ways and get vastly different numbers, it seems possible that the market might blend them incorrectly. Seems like a good place to look.

[💡General observation: The downside of an interpretable hypothesis, is you’ll probably have company. There are quant funds that generate signals they don’t even understand. The downside is when it goes wrong, it’s harder to troubleshoot. But at least nobody else is likely to find the edge while it persists.

In any case, that style of trading sounds like alien hunting. I am incapable of putting myself into the mind of alien to understand what it might do so it’s not a sport I’d think to play.]

case study on becoming a partner at a trading firm

Today I have a great read for both professional and retail traders. By another “Kris”.

Kris Longmore at RobotWealth (many of you will recognize that name because of his terminally online collaborator @theRobotJames) published:

How I Built My Trading Business as a Finance Outsider: A Case Study (63 pages)

This mini-book is so good because of the raw honesty, reflection, tactics, story, and because it’s a rare play-by-play of what it looks like to go from not even knowing what you don’t know to zeroing on on the right ways to think about trading. It’s just outstanding. Takes less than an hour to read. Much less if your in brain is in airplane mode.


The full version is fun to read and worth it but since I snip excerpts you may as well have’em:

Making all the beginner mistakes

Along the way, my friend started talking about “mindset” and “keeping a trading diary.”

The idea was that the key to trading was having the right mindset and controlling your emotions so that your biases and perceptions didn’t interfere with the serious business of interpreting price patterns in real time.

I even read a book devoted to this very topic.

And this was when the alarm bells started going off so loudly that I couldn’t ignore them anymore.

The unsaid premise of the book was that there’s some sort of objective truth in these made-up technical analysis patterns, if only we could see through the noise and take it all in effectively.

That our single biggest battle is to get out of our own way in responding to them.

That the key to trading profits is to deal with our emotional baggage.

Literally the entire book was dedicated to emotional control in pursuit of responding to these signals effectively. It seemed to be saying, “If you can master yourself, you will see the matrix and make loads of money.”

The reality is that mindset does play a big role in trading. But it’s much more boring than you might think.

Primarily, you need the discipline to turn up every day and follow boring processes without having a boss to crack the whip. You also need to have the ability to not believe your own bullshit and to think deeply about the assumptions you are making.

I’ll have much more to say about these aspects of mindset later. But let’s move on.

While reading this book, I remember having a light bulb moment where I was like, “This is insanely, incredibly, and undeniably stupid.”

Chapter 2: The backtest cycle of doom

The answer was so obvious I barely even thought about it – backtesting!

In hindsight, I wish I’d thought about this a little more deeply, instead of buying into the assumptions implicit in those trading forums and books I’d buried myself in.

The lesson this person had learned was “the importance of backtesting my strategies.”

And so my brain connected backtesting with the work of actual hypothesis testing – even though this, too, turned out to be complete bollocks.

Maybe I was just letting hope and ambition interfere with clear thinking again. After all, backtesting is an entirely technical problem, requiring little to no nuanced thinking or decision-making in the face of uncertainty. You just write some code that simulates your trading rules and get your answer.

That doesn’t mean that it’s trivial. Backtesting takes work and technical skill.

But it doesn’t require wrestling with difficult problems – problems that don’t have a clear-cut answer and require weighing up evidence and dealing with uncertainty.

In that sense, it’s easy. And I was being seduced that I could “solve trading” by doing something easy.

Example of backtesting is not research:

I’ll describe the system I set up, even though today, this makes me absolutely cringe.

I had this idea that currency markets would see most of their trading volume in the business hours of the specific currency and thus be most likely to move at those times. For example, that the Australian dollar would move most during Australian business hours.

So I created a system that would calculate the range that, say, AUD/USD moved in outside of Australian business hours, and then traded it during Aussie business hours in line with the longer-term trend.

For example, say AUD/USD was in a longer-term down trend, I would sell the pair when it broke out of its overnight range to the downside.

I had no real economic basis for thinking this might be a real effect. And there are hidden assumptions littered all through that description that it didn’t even occur to me to dig up and critique.

I now know that I was looking at it all wrong – trading is not about something being “likely to move” – trading is about buying stuff cheap and selling it rich.

A better way to look at this trade would be to ask under what conditions is the AUD likely to be cheap? When is it likely to be expensive?

A subtle but important difference.

I won’t go into a ton of detail here, but this paper is a good example of looking at the trading problem in a sensible way.

Compare the description in the abstract, where the author describes a risk premium for holding certain currencies at certain times, with the description of my system above. One has a plausible basis for when currencies might be expensive or cheap, the other… not so much.

Excerpts

As I continued to lose money, my anxiety grew.

I had no idea what was going on. The only feedback I had was my trading P&L, which had gone up quickly, but was now coming down just as fast.

Should I stop trading?

This sort of anxiety is a real problem when your only feedback is your trading returns.

And returns are extremely noisy. Even if you have a real edge, you can easily be underwater for months or longer.

Imagine having a solid edge that would make money in the long run, but turning it off because your short-term P&L is lousy!

On the other hand, if your edge has some basis in reality, then you’re in a much better position to decide whether you think it’s worth continuing to trade or not. You’re not beholden to the fluctuations of noisy, mostly random market moves.

So how do you find edges that are based in reality?

  • Think about and question the assumptions you’re making when you talk about a market effect.
  • A good question is What needs to be true for this to be a good idea? For example, for breakout to work, the market would need to trend. Markets trend when past movements predict future movements. This gives you something you can actually test.
  • When your trading P&L is your only feedback, things become way more difficult than they need to be. Have a good reason for an edge to exist.

Chapter 3: Machine Learning is not an edge

You could use machine learning to model an edge. But you don’t find an edge because you’re doing machine learning.

Said differently, you never start with the technique;

you start with the edge

In my case, I’m sad to say that I started with the modelling technique and assumed I would just find an edge.

The second big mistake was becoming enamoured with a vanity project. I was very attracted to the idea of building something complicated and flexing some creative muscles.

But if you’re serious about trading, then you need a relentless focus on things you can do to make money today.

I allowed myself to be distracted by a shiny object with an entirely unknown payoff. I was trying to solve a problem I didn’t have or even understand yet.

This is another thing that you need to flip on its head. You always start with the simplest acceptable thing and only solve the problems you have right now.

For example, don’t set up complicated walk-forward frameworks. Just split your data into subsets and see how different the factor plots look.

When you’re doing it right, trading feels like problems emerging one after another as you learn more. So, you start with the simplest thing, come up against some problems, and then deal with them.

In that way, we move forward.

You should be taking your trading way too seriously to worry about problems you don’t yet know that you’ll have. You’ll have enough real and present problems – you definitely don’t need to go find possible future ones to deal with before you need to.

Convos with professional traders

I met some people who were actually working in the business of trading – some worked in proprietary trading firms, others worked more on the institutional side. I remember there being lots of people who worked in other areas of finance who wanted to become traders.

I found that many of the proprietary trading people were surprisingly open. They didn’t talk in exact terms about things that they were trading, but we had many great discussions. They seemed to like being helpful.

A lot of these people were using Python to do research and data analysis as part of their work, but I very much came from the world of R, which I’d used extensively in my career.

Some of these people were interested in learning about R and what it could do. I was very interested in anything these people would tell me.

So I found myself catching up with these people informally and showing them some of my stuff in R. This was way back when machine learning was just starting to catch on, and people were particularly interested in seeing what I was doing in that space.

I remember proudly showing someone my machine learning framework, and they were like, “That’s really cool, but what’s your edge?”

My blank look prompted further prodding.

“What effect are you trying to model?”

Not really knowing what to say, I mumbled something about feeding returns of correlated assets into the machine to predict SPY.

“Ah OK. So you’re doing lead-lag stuff. How do you know that stuff predicts SPY?”

“I don’t,” I replied, “but I was hoping the machine would figure it out.”

It was extremely gracious of him not to laugh in my face.

This was really the lightbulb moment for me. I’m not sure why I had this assumption baked in that the past price process was predictive – if only I used the right modelling tools. But at this point, thanks to some gentle prodding, I saw how ludicrous it was to just take that for granted.

It was at this point that I became really fixated on edges and what good ones looked like.

We also had some productive conversations around what good trading research really looks like.

One conversation went something like this:

“You’ve got to remember that researching edges isn’t like the sort of data analysis you do in your regular job. The data sets you’re looking at likely have a ton of signal, and they probably don’t change much over time.”

“Financial data isn’t like that at all. It’s highly non-stationary – everything is changing all the time – and the signal-to-noise ratio is super low. Any relationship you do find will be noisy as hell.”

“That’s both a blessing and a curse. It means that your edges are going to have a ton of variance. But it also means that simple tools tend to not only get the job done, but tend to save you from thinking you can be overly precise.”

Say I’m talking to a distinguished options trader, and he says to me “Volatility has been realising significantly under implied, it’s good to be short vega here.”

Can you spot the hidden assumptions?

The first one is obvious: that if volatility has been realising under that implied by the options market, then options might have been too expensive.

I’m OK with that assumption, so long as we don’t equate it with “selling options would have made money”, which will likely follow, on average, but with no guarantees.

The other assumption is a little insidious. We tend to make it a lot without even realising we’re doing it.

Our distinguished options trader is assuming that since options were expensive in the previous period, they’re likely to be expensive in the next period too.

This is another example of autocorrelation. You could also call it persistence.

And it’s super important not to just assume it – you must look for it!

So how would you look for it?

I’m so glad you asked.

A lot of beginners, including me, would try to do a backtest or a simulation of a trading strategy and see if it makes money.

That’s nearly always a bad idea.

Backtesting is complicated and subject to a lot of arbitrary decisions, luck and path dependency (path dependency means that the results depend not just on the final prices of the assets in the backtest, but on the sequence of prices over time).

Instead, you want to move quickly and use your data more efficiently.

First, we consider what data we need.

Ideally, we would have at-the-money implied volatility of 30 days-to-expiry SPX options, and SPX returns (for calculating realised volatility).

It would take quite a bit of work to get this data. But we want to move fast. We know that disproving things is easier than proving them, and that we can always loop back if we need to.

So rather than trying to acquire the perfect data up front, we use the closest thing that’s easy to get, so that we can get moving.

The closest thing to our ideal data is VIX index data from CBOE and realised volatility calculated from SPY returns (available from Yahoo Finance and other free sources).

Once we have that data, we calculate monthly realised volatility from SPY returns. We can then compare that with implied volatility for the same month.

In summary, at a very high level, good research for trading requires the following:

  • Always question hidden assumptions.
  • Make small, testable hypotheses in an attempt to quickly disprove your ideas. Ask things like What would I expect to see in the data if this were true? What would I expect to see if it weren’t?
  • Test your ideas by looking in the data as directly and simply as you can.
  • Seek understanding, not a result. Cultivate the mindset of a curious scientist, not an engineer with the end goal in mind.
  • Favour simple data analysis tools and techniques.
  • Precision is unattainable.
  • Start with the simplest, easiest data that could disprove your idea. You can always loop back later if things look promising.
  • Learn to deal with the anxiety that you’ll never figure things out perfectly. The evidence will often be less clear cut than you’d like.

Chapter 4: My Dream Job

[a deeply personal story with loads of wisdom compacted into this chapter]

Chapter 5: Solo trading and building robotwealth

Narrowing the problem

We knew that it wouldn’t make sense to compete with firms like the one I’d worked at. We simply did not have the technology or the resources to do so.

So we spent some time putting together a plan for our trading, one that was organised around the unique constraints of independent traders:

  • Low-frequency, at least at the start while we build out our tools
  • Forgiving to trade – liquid assets, end-of-day trading

James has always been big on focussing on what you can do to make money today, given the tools and resources that you have at your disposal right now.

That means prioritising simple, obvious trades over complicated projects.

This has time and again proven to be some of the best trading advice I’ve ever received.

Things move fast and won’t look the same in the future as when you started building the things you thought you needed. And without some actual experience in the market, you don’t even know what you need right now.

And the whole time you’ve got your head down building stuff, you’re not interacting with the market. You’re not making trades. You’re not getting feedback.

If you’re building for the future, you’re not solving real problems; you’re solving future problems that you assume you’ll have.

And not only were you not learning market lessons, you weren’t making any money because you weren’t trading!

If you focus on making money today, you find yourself dealing with real problems, not problems you imagine you might have if only you can finish that backtesting framework, optimisation routine, or whatever it is you think you need.

Do something that “sucks”

Again,a simple edge that makes sense in terms of the market and its players.

But one thing that you should always ask yourself is Why would I be able to participate in this edge?

For example, if this trade exploits “predictable” rebalance flows, why aren’t the bigger, faster, better-resourced players eating up this entire edge? Why would there be any left for someone like me, trading on my laptop in my underpants on a crappy Australian internet connection?

And if you can’t answer this, or if your answer is Because I’m better/faster/smarter than everyone else, then it’s very likely that you don’t have a trade*.*

It makes sense, right?

If there’s “easy money” on the table, why on earth would the likes of Citadel and SIG leave any of it for you or me?

The answer has huge ramifications for how you think about your trading business.

The reason that you or I can participate in an edge is that there’s something that sucks about it.

For you or I to have a chance at an edge, there must be something about it that makes it unattractive to the big players. There must be a good reason for them to leave it alone or not absorb it fully. Otherwise, being the best players in a competitive game, they would leave nothing for us.

Some reasons that an edge might suck include:

  • It’s very noisy – maybe it only plays out on average in the long-term, or is very slow to converge. The big players tend to like things that give them a smooth equity curve.
  • It’s capital-constrained – maybe you can only get a small amount of capital into it before you move the market so much that the edge disappears. Such a trade might not be worth the time and attention of the bigger players.
  • It’s margin-intensive – it chews up a lot of buying power relative to its expected returns. The bigger players tend to favour capital efficiency.
  • It has a horrible skew profile – maybe it tends to blow up big time when it goes wrong, meaning you can only trade it at small size.
  • It’s operationally awkward – maybe it requires opening a bank account in a foreign jurisdiction or something equally as tedious.

You get the picture, but I’ll say it again:

All of the things that you and I can trade have something that sucks about them.

The things that tend to work in the markets also usually look a lot like “doing something useful that the market values” – just like any business.

For example, a useful thing would be to provide liquidity to traders who need to trade right now.

Another useful thing would be to trade against positioning dislocations such that you push the market towards “fair value” – this is the source of the profits from trading the futures roll, for example.

Yet another would be to trade against behavioural effects that push the market away from fair value – for example, the post-earnings announcement drift effect.

So we have this mental framework of what a good edge looks like: doing useful things that suck.

The Lab

Around 2021, we started getting interested in crypto and we were really keen to explore this brand new (for us) asset class from the ground up.

By this time, inside RW Pro, we had built out some neat collaborative research tools that we and the wider community use.

We call this collection of tools The Lab.

The Lab is all about facilitating a scalable, reproducible research effort.

It includes a hosted Jupyter notebook service connected to curated, automatically updated data sets. Research notebooks are hosted in GitHub.

What this means in practice is that I can connect to the runtime via my browser, load the latest version of a dataset, create a research notebook, and upload it to GitHub. Then, anyone in the RW Pro community can open that notebook in the same environment as it was created in simply by clicking a button in GitHub. They can run my code, take a copy, or modify it and save the changes for others to see.

Research is organised around themes that we call Research Pods.

This set up is useful for people at all levels of experience:

  • Beginners can see what proper research looks like, run the code, copy it, and experiment with it. This shortens the learning curve dramatically.
  • More experienced people can submit their own research to the community, receiving valuable feedback and growing the group’s resources.

Essentially, people get a leg up in learning how to do research for trading. Plus they get a bunch of stuff to trade, clean data, clear direction for research efforts, and feedback.

This means that for individuals, two things grow faster than they otherwise would:

  1. Your research and trading skills.
  2. The number of edges available to you to trade.

It’s a very cool concept and aims to replicate the environment you’d get in a trading firm, but for part-time solo traders.

Of course, we don’t share everything in The Lab. We’re mostly focused on low-frequency edges on liquid assets, for two main reasons:

  1. These are more forgiving to trade and don’t rely on execution skill (great for part-time soloists).
  2. We don’t cut each other’s grass too much.

James and I also trade some more capital-constrained edges, as well as some faster stuff that most people aren’t set up to do. This stuff doesn’t really belong in The Lab.

Anyway, when we got interested in crypto trading, we set up a Crypto Research Pod in The Lab, and the whole ecosystem really matured.

We used it to explore the crypto asset class from the ground up, taking many other newcomers along for the ride…

The beautiful thing is that, since the research is all connected to automatically updating data, anyone can go in there at any time and update the research with the latest data.

We also built a dashboard tool for the strategy that tracks the performance of all the factors that go into it, as well as the weights of the tickers in the tradeable universe.

We also serve this data via an API so that RW Pro people can use it in their trading applications.

As a result, we’ve had community members contribute all sorts of tools that they built on the API that help with trading: everything from Google Sheets that calculate positions and trades for manual click trading, to automated trading scripts for various exchanges and platforms, some of which I use in our own trading stack.

The crypto trading that we do today is truly the result of a team effort – entirely enabled by The Lab.

We’ve explored and traded loads of other edges with the RW Pro community as well. Some of these have come and gone over time – some we’ve retired because they seemed to die, others because we got too busy trading other stuff:

  • A portfolio of FX strategies
  • VX futures calendar trades
  • Straddle over earnings trades
  • Post-earnings announcement drift trades
  • A meta-labelling strategy for directional trading of US equities
  • We compiled a database of equity factors that can be combined into a long/short quant equity type strategy

Your greatest edge as a systematic trader – trade more stuff

This entire section on the glorious synergy of diversification is the basis of every successful professional trading org and seeing it applied to individual trading so effectively is uplifting even if it’s expected. It’s a simple idea taken seriously.

What I hope you take away from these examples is the realisation that systematic trading can work for the individual part-time trader, especially if you harness your greatest edge: the ability to trade multiple edges simultaneously.

Solo trading looks different to the world of professional trading in many respects – you won’t have the tools, resources, or the time to compete in the most lucrative areas.

But if you pick the right games by focusing on doing useful things that suck, and leverage your greatest edge by trading multiple strategies, and do the work well and diligently and consistently (and the reality is that it’s more work than most people imagine), then you can absolutely make good money as a solo trader.

Chapter 6: Lifestyle and expectations

I’ve been lucky enough to build a lifestyle that’s aligned with my goals and values. And while your goals and values will differ from mine, I can share some lessons on thinking about the sort of life you want to engineer for yourself, and what it’s really like in the trenches.

I think it’s important to ask yourself what you want from your trading.

  • Do you want to pursue a career in trading?
  • Do you want to trade for someone else?
  • Do you want to trade your own account for a living?
  • Do you want to create a part-time business that grows your capital or provides an income?
  • How much of a life outside of trading do you want?

There are no right or wrong answers to these questions, but they will have an impact on the sorts of things you’ll trade, the time you’ll need to put into it, and your performance expectations.

Some people want to do nothing but trade. And I totally respect that.

Personally, my objectives have changed over time.

I’ve gone long periods where I’ve traded every single day as if it were my last day in the markets – spending long hours doing intense work. When you’re a solo trader, you’re working on your trading business and doing the actual trading in parallel. It’s not for the faint of heart.

I’ve also taken things easier from time to time. I’ve taken time out of active trading and just run some risk premia harvesting positions so that I could pursue other projects or go on holidays.

There’s no rule that says just because you trade, you have to do it full steam ahead all the time.

It’s a balancing act and a trade off.

Sometimes an edge will come along that you know won’t be around for long, and so you whack it as hard as you can for as long as you can.

But you also recognise that there will always be things to trade, and so you don’t have to go after absolutely everything right now.

If you have the motivation and energy to do so, then go for it. But don’t think that you have to. Do it on your own terms.

it’s not all roses. It always feels like there’s work to do, but the rhythm is conducive to the life I want to live. And I think that ultimately that’s what it’s all about – doing things you enjoy that provide meaning, and bringing in enough financial support to enable that lifestyle.

Actively trading for a living is a big job.

As a solo trader, you’ll need to wear a few different hats. You’ll do the trading, do the research, manage your own data, look after business administration, and a bunch of other things.

In that respect, it’s harder than professional trading where you have a team to do the things you’re not good at or don’t want to do.

You also need to be prepared for some boring work. Trading is less glamorous than most people think and more of a grind. A lot of it is running processes and not messing up.

Be realistic about your return expectations, and don’t expect to quit your day job in the near future. Having some sort of regular income is a great offset to the reality that trading income fluctuates and is highly uncertain.

There are other upsides to teaching and running a membership business as well.

When you explain something to someone, you’re forced to really understand it on a deep level. When someone asks you to explain something in a different way, you come at it from another angle, again deepening your own understanding.

In addition, through our membership community, I’ve been privileged to form relationships with people I’d have never otherwise met. Trading solo can be a lonely existence, so having access to a community of likeminded people has made a huge difference for me. You can’t put a price on that.

Some social media gurus sell confident answers to trading problems. They make it look like you can make a quick, easy buck trading.

That’s almost never true.

Someone long ago told me that trading is the hardest way to make easy money.

This rings truer than ever.

The reality of trading is that it is messy and complex. There are no rules. No right answers. Only trade-offs and varying degrees of uncertainty.

It takes a special kind of maniac to trade solo.

It takes the kind of person who finds this reality much more exciting than the simple, confident answers some would have you believe.