Circuit breaker != limit up

Foreword

What is the difference between the circuit breaker and limit up/down rules? How do these affect pricing between ETFs and their underlying assets, especially with respect to arbitrage?

As usual, a reminder that I am not a financial professional by training — I am a software engineer by training. The following is based on my personal understanding, which is gained through self-study and working in finance for a few years.

If you find anything that you feel is incorrect, please feel free to leave a comment, and discuss your thoughts.

WEAT

This is how WEAT traded yesterday, on 12th May, 2026:

WEAT trading on 12th May, 2026. Courtesy of Yahoo Finance.

Notice how the trading towards the end of the day was pinned at around $25.48 per share, and pretty much never deviated? How do we explain this? Is this market manipulation?

ETFs

WEAT is an ETF which holds wheat futures. Because it is almost literally just a container for a bunch of wheat futures, and both WEAT and wheat futures are actively traded and relatively liquid instruments, market makers can step in to arbitrage between the two — basically if WEAT is underpriced relative to the futures, the market maker will buy (relatively cheap) WEAT, exchange it for the futures with the sponsor of the fund, and then sell the (relatively overpriced) futures. Doing this will yield the market maker a small profit in the round trip, and so effectively force the price gap to become smaller. If WEAT is overpriced relative to the futures, the market maker will simply do the reverse (buy futures, sell WEAT).

Given that market makers are making money each round trip (i.e. they start with cash and end with cash), they can do this effectively forever until the price closes “completely” (there’ll always be a small difference due to trading costs and other various frictions).

So what happened here? Why did the market makers not do their jobs?

Circuit breaker

The circuit breaker is a mechanism in the stock markets where trading is completely stopped (halted) for some period of time. This happens when the trading is determined to be unorderly according to some rules set forth by either SEC, FINRA or the exchanges. A circuit breaker can be per instrument, set of instruments, or for the entire market.

The rationale behind circuit breakers is that there are times where there is excessive panic (or exuberance) in the markets on a short time frame, and so markets are not trading orderly. To restore order, trading should be halted until participants have sometime to calm down and think clearly before acting again.

Limit up limit down

Limit up limit down, often called LULD, is a type of circuit breaker for stock markets, where each stock can only trade within a predefined band of prices. To simplify massively, stocks can only trade within a band referenced off the average price of the stock in the past 5 minutes. When trading approaches the upper or lower bounds of the trading band, the circuit breaker is triggered and trading in that stock is halted temporarily.

Futures

Notice that I explicitly stated that LULD is for stock markets. While WEAT is a stock, and thus affected by LULD, the underlying wheat futures are not (they are futures!), and so not affected by LULD.

Instead, futures are affected by special limit up/down rules depending on the type of future. In particular, wheat futures are affected by CME’s agricultural price limit rules. In particular, these rules do not include a halt. Instead, wheat futures are simply disallowed from trading outside of the band — bid and ask prices outside the band are simply ignored.

This is why it is important to understand the difference between “circuit breaker” (i.e. what happens) from “limit up/down” (i.e. how it happens). For stocks, limit up/down rules trip a circuit breaker. For futures, they do not.

Circuit breaker != limit up (or down).

What happened

By now, you probably would have guessed what happened. During regular trading hours yesterday, wheat futures hit the top of their price band, and simply isn’t allowed to trade beyond that price.

WEAT, the ETF, on the other hand, traded fine within its own limit bands, and so circuit breaker on WEAT was not tripped.

Therefore, both WEAT and wheat futures continued trading, with the caveat that WEAT (and wheat futures) are capped at a price beyond which they won’t trade (technically, WEAT can trade slightly above the price due to temporary market making glitches, but that’s rare).

This is why the trading in WEAT towards the close was basically a straight line at the $25.48 mark. I guess you can call this market manipulation, in the sense that an authority, in this case CME, is imposing an artificial price limit. But in some sense, this is the good (and legal) kind of market manipulation.

Bid more for the ETF?

Now, based on the discussion above, you’ll note that while bids/asks above the price band of wheat futures are simply ignored, the same is not true for WEAT. Given that WEAT is trading pretty much at the same price for hours, it is unlikely that it is anywhere its limit up/down limits (based off the average price of the past 5 minutes).

So what happens if we bid, say, $30 for WEAT? Wouldn’t sellers be happier and thus accept our higher bid?

Well, the answer is more complicated and nuanced, so let’s lay a little groundwork.

Trading

Let’s say you are trading wheat futures. And for whatever reason, you need to sell 10,000 contracts today. Maybe you’re a farmer and you need to hedge your production to the tune of 10.000 contracts. Maybe you are a hedge fund trader and your portfolio manager asks you to buy sell that many contracts. Whatever.

First, it is important to recognize that 10,000 contracts is quite a large fraction of the daily volume of wheat futures contracts traded, so you probably don’t want to trade everything all at once in a single order — you’ll move the market against you and thus get a worse price. Instead, you will break up your order, and trade it slowly over the day. Maybe 100 contracts every few minutes, or whatever proprietary algorithm you may have.

If the market is operating normally (i.e. not limited), you would place an order for 100 contracts. If it trades quickly, then you probably priced it too low, so your next order will have a higher limit price. If it takes too long to trade, you may conclude that you priced it too high, so you will adjust the limit price lower. This is an iterative process, where you are basically trying to guess the best price you can get for each batch of contracts, until everything is sold.

If you think about it, there is no guarantee where the trade price of each order is — each order may trade higher or lower than the previous order, because you don’t know where the buyers are willing to transact — you’re just trying to get the best price for each order, and doing it via trial and error.

Now imagine an entire market of uncorrelated participants all trying to do the same thing either on the buy side or sell side. What tends to happen, is that the trading volume will resemble some sort of bell curve (more accurately, multiple bell curves overlaid on each other) if you plot the histogram of volume at each traded price (also called the volume profile):

Wheat futures volume profiles (boxed in red) for 12th and 13th May, 2026. Courtesy of TradingView.

I’m terrible at statistics, but I’m guessing there is a statistical reason for the bell curves phenomenon.

The point here is that trading can be thought of as a series of auctions, and when unencumbered, trades tend to cluster around some focal points (the peaks of the bell curves) over time. This doesn’t mean that the instrument will trade at any particular price, or close at any particular price, just that there is a high probability of it doing so.

Back to our example. You are still trying to sell 10,000 contracts of wheat futures. But this time, there is a limit up price imposed — you simply cannot trade beyond the upper limit price. What would you do?

Remember that you are not a market maker — you are not authorized to exchange WEAT with their underlying futures with the sponsor of WEAT — shorting WEAT is out (or at least, too complicated for your operations). So you’ll stick with selling future contracts.

If we are trading well within the price bands, you’ll probably follow the trial and error approach outlined above. But once the trading starts bumping up against the upper price limit, it makes sense to simply just put out your orders at the price limit. There is literally no higher price you can get!

Now, you may not put in an order with ALL the contracts you still need to sell, because that’ll tip your hand and let the buyers know that there is a motivated and large seller on the other side. So you’ll still send out small orders of maybe 100 contracts each. But they’ll all be priced at the price limit or just below.

End result

What happens then, is that you see on both WEAT and wheat futures a smallish set of resting orders (i.e. orders from buyers/sellers with limit prices that haven’t traded yet). The volume will generally be much smaller than the actual number of contracts that buyers and sellers want to buy/sell in total (this is true for basically all markets).

If someone tries to bid $30 for WEAT, what’ll happen is that that order will take out all the resting sell orders at $25.48, and then immediately be met with a wall of (short) selling from market makers at $25.49 (or slightly higher). The market makers will then buy wheat futures at the limit price, exchange them for WEAT shares and use those to close their initial short.

While it is technically true that WEAT can trade significantly above $25.48, in order to do that, it must:

  • Take out all resting orders for WEAT at $25.48
  • Take out all resting orders for wheat futures at the limit price
  • Take out all other resting orders of WEAT higher than $25.48

The last point is the important part — if we assume that $25.48 corresponds to the wheat futures limit price with a small delta for “regular market making profit”, then anything above, even 1c above like $25.49, would represent “large, free and riskless” profit for the market makers. Likely, there’ll be a ton of resting orders sitting above $25.48, based on what market makers assume the actual volume of wheat futures sellers there are.

So, if your order to buy at $30 is large enough, you may very well take out the entire set of resting sell orders for WEAT and so trade at significantly higher than $25.48. But almost immediately after your order is traded, the sellers of wheat futures who have been sitting on their orders in order not to tip their hands will again send out their sell orders. And since they cannot sell beyond the price limit, they’ll effectively result in the market makers putting up a stack of sell orders at $25.48 (and just above) again.

In the end, your giant $30 buy order will just result in a bad price for you, and “free, riskless and large” profits for the market makers.

The only real way WEAT can trade significantly above $25.48 for extended periods of time, is if there is so much buying at higher prices that we exhaust ALL sellers of WEAT and wheat futures at the price limit.

How much buying will be needed? It’s hard to say for sure, since most institutional sellers will try to hide their total intended size. But I’m guessing it’ll be in the tens to hundreds of millions of dollars. At least.

Leave a comment