13 Comments
User's avatar
Rick Sullivan 🦆's avatar

A 1.45 Sharpe and 19% returns on a basis reversal will always make for great reading, but let’s keep it honest: by the time an edge hits Quantitativo or Substack, it’s already being gnawed on by every quant desk from Chicago to Singapore.

Pietro nailed it in the comments: if your backtest relies on settlement prices, not what you can actually fill in the real market, you’re living in a spreadsheet fantasy.

The theory is sharp, but live trading means slippage, roll costs, and a crowd of faster, bigger players all chasing the same ghost. Test small, measure what you really get (not what the backtest promises) and remember, the best edges never see the light of day.

Expand full comment
Quantitativo's avatar

Great points. Theoretical Sharpe is one thing, what you can actually capture in the live market is another. The settlement price issue is real, and as I mentioned in my reply to Pietro, we discussed this in today’s study group and came up with a couple of creative execution approaches to mitigate it. Now we need to test them and see how they perform in the real world.

Also worth noting: not every edge scales to large players. Some of these basis reversals, especially in less liquid contracts, may be perfectly tradable for small or mid-sized books but impossible to size for big desks without killing the alpha. That’s why it can still make sense for smaller players to explore them, with eyes wide open about the limitations.

The authors of the paper address that point when they explain why this anomaly has not been arbitraged away.

(PS: There is no roll cost. As explained in the paper and in the write-up, this strategy never trades contracts with less than 30 days to expiration, and the positions are always re-checked on a weekly basis :))

Expand full comment
Alexander Fernandez's avatar

Love how you tied this back to Paracelsus—such a powerful reminder that ideas only matter if they work in the real world. This study is super interesting—love how clearly you broke down the short-term basis reversal logic.

Expand full comment
Pietro's avatar

One of the problems with Norgate futures (but also with many other data providers) is that the published close price is not the last price hit by the market, but the settlement price. The settlement price is therefore not a truly tradable price and can differ even by a few percentage points compared to the last price.

You will tell me that every trades lasts at least a month so this difference should not have much impact on the performance of the trading system.

However, you will recognize that it is an element of great uncertainty.

Expand full comment
Quantitativo's avatar

Great point! You’re absolutely right that settlement prices aren’t truly tradable, and this does introduce some uncertainty. We discussed this exact issue in today’s study group and brainstormed a couple of smart execution approaches to work around it. Now the next step is to test them and see how they perform in practice.

Expand full comment
Pietro's avatar

the only effective solution to dispel uncertainty is to buy the intraday historical series of the futures involved in the analysis and then replace the last price with the close (settlement).

What do you think?

Expand full comment
Quantitativo's avatar

I think intraday futures data is too expensive, especially if we consider many markets and many decades (like in this strategy). I also believe this backtest is good enough to move this strategy to forward-testing phase. No backtest is perfect… all backtests are wrong. In my view, they are just rough approximations to help us decide if we should continue investing time in developing a strategy. For me, this strategy passed the criteria: instead of spending time and money to refine this backtest, I believe it is more productive in this case to start forward-testing and comparing the live results with the theoretical results

Expand full comment
ben's avatar

are you factoring rolling requirements or just holding contracts to actual expiration?

Expand full comment
Quantitativo's avatar

The positions are reviewed every week. The contracts are usually held for only one week. Even if eventually they’re held for longer, the weekly position checks ensure we are always holding the correct contracts for each spread traded. Also, as stated in the paper and in the write-up, the strategy never holds contracts with less than 30 days to expiration

Expand full comment
Wade's avatar

curious about the "30 days to expiration" rule, since for especially energy future, the front month contract roll from one to the other on monthly basis. Thus, this is might be more to "30 days to first notice day"?

Expand full comment
Quantitativo's avatar

Look at an example. In the CL term structure, these are the first 3 contracts and their expiration dates:

- CL-2025N. Expiration 2025-06-20

- CL-2025Q. Expiration 2025-07-22

- CL-2025U. Expiration 2025-08-20

As CL-2025N has less than 30 days to expiration, the strategy considers CL-2025Q as F1 and CL-2025U as F2. Got it?

Happy to help :)

Expand full comment
Wade's avatar

Thx! this is clear and make sense. And actually this leads to the thought that:

1. since the key is to capture the fast slow response on different terms of the product curve. Might worth checking using F1 and F3 etc to verify the ideas. Or can be based on products, since some products on F3 liquidities already very bad while like energy is pretty good still.

2. Another thought is if available, try to verify the idea on daily data using daily rebalance. Since especially either your article or the paper, the equity curve shows clearly decay after 2010 in recent.

Saw the paper couple days ago and surprise you such fast made article about. Really appreciate this! Thx!

Expand full comment
ben's avatar

unfortunately when accounting for actual volumes necessary to trade these results are completely irreproducible. Most papers in commodities rely on the phantom returns of niche commodities like Milk, OJ, Oat etc to drive the performance and this is another such case.

Expand full comment