Pavel Hála Pavel Hála

Modelling carrying charges for grains

I’m excited to announce some interesting new features in our app regarding grains and carrying charges. These functions are actually nothing new for me. I coded them for ZC, ZS, ZM and ZL sometime in 2010 into my personal Javascript app that later became an alpha version of the app. What’s brand new today and what our team is really proud of, is the implementation of VSR (variable storage rate) for CBOT wheat (ZW). Calculating VSR is much more complicated than simple functions for other grains. I’ve never seen it in any other app or software.

The cost of carry in physical commodities is the main reason why their term structure curves aren’t flat. Determining carrying charges in grains is most important for farmers. They often don’t sell their crop after harvest, opting instead to sell the carry and hold the grain using on-farm storage. They profit from the spread between the far future and the price at the time of harvest. However, they also have expenditures with the storage, most notably a need to finance the new crop without proceeds from the old crop. If the profit from the spread is larger than the expenditures, it’s a good deal for the farmers. This is usually the case after good harvests when futures are in steep contango. What remains is the basis risk. However, even the basis tends to improve into the winter and spring/summer. Storing the grain, therefore, allows farmers to capture the narrowing basis, resulting in an even better price for their crop.

Ordinary market participants don’t have storage capacities. However, even they theoretically have the ability to sell the carry. There is a maximum storage rate elevators can charge people holding warehouse receipts. This rate is set by the exchange. It’s constant for most grains with the only exception being wheat (both KE and ZW). If you include other components of the carrying charges, you get a maximum allowable cost of carry which is called full carry. Full carry is an arbitrage level, the price of the spread cannot exceed it. Should this happen, everybody could trade this arbitrage, resulting in its instant disappearance. This level determines your maximum risk when you open a bull spread and maximum profit in a bear spread trade. You can display the full carry in the app for interdelivery spreads in grains under the “Price” tab by clicking on the “Full carry” button (the gray/green square in the chart’s legend).

More important than the full carry itself is the ratio between the price of the spread and the full carry. Even farmers prefer to follow this quantity as was mentioned above. This is what the second feature is made for. It is located under the “Full carry” tab and it shows what percentage of full carry the spread made in previous years. This is very helpful because this metric shows the true value of the spread. We can compare the spread’s value over the years and decide whether it’s currently undervalued or overvalued. This information can help us to spot undervalued spreads or optimize exits from trades when we notice the spread is overvalued.

These rules are valid for all grains and oilseeds except for CBOT wheat (ZW). Because of the VSR concept, the full carry in ZW is no longer an unbreakable barrier. It can rise or decline substantially in a short period of time. It can be at a wildly different level several months from now, especially the further out spreads in ZW. They can reach or even exceed the full carry. That’s because variable storage rate brings uncertainty into the equation. The market doesn’t know how high the storage rate will be at expiration and may be pricing a different degree of full carry from today’s level.

This complexity brings us new opportunities. Spreads can depart too far from the current full carry, indicating a huge discrepancy between the expected outlook and reality. Or the full carry can start to move, but spreads can take their time for reaction, etc. Additionally, we can measure a probability that the maximum storage rate will move in advance. This is what the so-called “Running average” study is intended for.

Check out also these great articles:

Pavel Hála
Pavel Hála
Pavel is the founder and CEO of SpreadCharts.