

One of the most interesting and fascinating aspects of commodities is seasonality. There are a number of websites that allow you to find out, by subscription, the best seasonality for futures and spreads. You can open up the chart and see the “average” trend of a futures contract or spread over the last 5 or 15 years, for example.
However, there are some clarifications to be made as several traders are inclined to consider seasonal patterns in the same way as moving averages with all that follows from it in terms of analysis.
In reality, seasonal patterns are very different. Their construction happens in a different way regarding a moving average and it is not possible to make all the considerations that the technical analysts make of the latter. And to understand this better I will explain how seasonal patterns are constructed, trying to be as uncomplicated as possible.
I want to build the 5-year seasonal pattern of the futures contract ZCK22 (using SeasonAlgo, I chose the corn because I am not a subscriber). Below you can see the Stacked chart of ZCK22 for the last 5 years (2017 to 2021).
Now, I want to create a 5-year seasonal pattern. First, the values of the individual futures contracts for the last 5 years must be normalised. What does this mean? That the values are transformed from absolute to relative. That you no longer see, for example, the corn futures contract at $600 or $650 but at a value on a scale from 0 to 100.
Below, you can see the same stacked chart of ZCK22 as above but normalised.
As you can see, the chart shows all 5 normalised years of ZCK22. Where 0 corresponds to the minimum level touched by each futures contract and 100 corresponds to the maximum level. I do this because what interests us is the movement of the seasonal pattern, not its dimension.
All I have to do at this point is to do an arithmetic sum of the five years and normalise the values again, as shown in the chart below of the ZCK22 5-year seasonal pattern.
The seasonal pattern is then "stuck" into the chart of the futures contract as you can see below.
This, then, is how I or any of you can build a seasonal pattern. Obviously, nobody does all these steps since statistical databases like SeasonAlgo or SpreadCharts do that.
Now let's see what information we get from them and how seasonal patterns are sometimes mistakenly used.
I start with the most common mistakes. I have read, and some traders have reported to me that in some courses it is explained, that it is advisable to enter long on a spread only if it is below the seasonal patterns and short only if it is above them. Completely wrong, do not consider this nonsense.
Just as it is wrong to use seasonal patterns to calculate supports and resistances, and stop losses and target profits. As I have shown you, seasonal patterns are calculated in a different way and then stuck onto another chart, so the values shown on the y-axis are only to be taken into account for the current spread, not the seasonal patterns.
Another nonsense I've read is, "the seasonal pattern has gone up of x points so the spread has a wide margin". As I said, the seasonal pattern should be considered for its movement, not its dimension.
The following are considerations from my own experience.
In addition to its movement, the seasonal pattern is also useful for understanding its volatility. Indeed, "the closer the 5- and 15-year seasonal patterns are, the less volatile the futures contract or spread analysed". However, this statement is not always true. As well as that there should be, during the seasonal window, a strong correlation between the 5- and 15-year seasonal patterns.
The problem with these considerations is that it only takes one of the last 5 years with a strong movement against seasonality that the 5-year seasonal pattern will be significantly affected. Let me show you this with an example. Below you can see the CLZ22-CLM23-CLZ23+CLM24 spread chart.
If you focus on the trend of the two 5-year and 15-year seasonal patterns within the seasonal window, you can easily see that until mid-October the movement is very similar, then the 15-year seasonal pattern goes down while the 5-year seasonal pattern lateralises. So, the first impact you have looking at the chart is that over the last 5 years the seasonality has been only slightly bearish.
I now show you four charts relating to the spread in 2017, 2018, 2019 and 2020.
As you can see, seasonality has been respected (of course, the entry and exit levels should always be optimised). The lack of correlation between the two seasonal patterns in the second half of the seasonal window is due to the impact of the spread in 2021 on the 5-year seasonal pattern, which you can see below.
The sharp rise in the spread this year, caused by the strong speculation in the underlying, has affected the 5-year seasonal pattern a lot.
So, my advice when the two seasonal patterns are not well correlated is always to investigate why. Sometimes you will find that, as in the case above, it is due to an "abnormal" year, other times that the spread is losing its seasonality.
In this article, I wanted to show you how seasonal patterns are calculated, how they should be used and the most common mistakes that are made. Take these seasonal patterns for what they are, just lines showing the performance of a futures contract or spread over time. Do not consider the values and do not apply studies to them. If the 5-year and 15-year seasonal patterns do not correlate, do not draw conclusions until you understand why.
There are some clarifications to be made as several traders are inclined to consider seasonal patterns in the same way as moving averages with all that follows from it in terms of analysis
I am a macroeconomic and financial analyst with over 30 years’ experience, including two years as a fund manager. I specialise in currencies and commodities, and I am the author of several successful books on trading, macroeconomics, and financial markets.