Seasonal Patterns, how are calculated and why not use them for SL / TP

Basically, we have two ways to evaluate seasonality:

  1. Numerically – We can use various methods - from simple back testing to sophisticated statistical analysis. With all these methods we have to deal with numbers.
  2. Visually – Some people prefer to see things and can make decisions better visually. With these methods we tend to deal with visual correlations and patterns.

Both methods have their own advantages and disadvantages. In this article, I would like to explain how to correctly evaluate seasonality with the help of seasonal patterns and how to avoid common mistakes.

Pattern calculation

There are many algorithms that can be used for pattern calculation (differing in using absolute or relative values, some de-trend data, etc.). We choose to stick with the following algorithm:

  1. Take all the historical years we want to evaluate for a pattern excluding the current year. For example, suppose we want to calculate the five year pattern for WZ13-WK13. The chart below shows the years 2012-2008 which are used as the input. We do not include 2013.
  2. WZ-WK 5 years stacked chart
  3. Normalize all years. We need to transform absolute values to relative values. Notice the Y axis values in the chart below. All years after normalization are in a scale of 0-100. Why this step? Because we are interested in the seasonal movement – the direction rather than the size of the movement.
  4. WZ-WK 5 years stacked normalized chart
  5. Calculate the arithmetic average from all years. The resulting pattern shown in the chart below is still normalized.
  6. WZ13-WK13 5 years pattern chart

Displaying pattern

We have two options for displaying the pattern. The first one is as above – the normalized pattern. We can have more than one pattern in one chart (Analyze=>Seasonal menu, for example five and fifteen year patterns to see possible changes in pattern behavior). The second option is to display the normalized historical pattern together with the current spread in one chart (for example, see Builder chart). This can often be a source of confusion. Many people try to use the normalized pattern for profit target determination. This is an incorrect use of the pattern, as I explain below.

Aligning pattern to spread

As we already know, pattern values are relative. We need to apply the pattern to the spread chart, which means transforming relative values back to absolute. We use the following algorithm to align the pattern to the current spread:

  1. Cut pattern to current spread length.
  2. Take this overlapping part of spread and pattern and find minimum and maximum values.
  3. Compare spread min/max difference with pattern min/max difference and use that ratio to expand the rest of the pattern.

You can see an example in the chart below. Here, we see the same pattern and spread, but at different times of the year. The first chart spread ends at the beginning of October 2012 and the second chart spread ends at the begging of March 2013. What can we observe?

  1. The pattern aligning can change every day as more current spread data is available.
  2. The height of the pattern changes. In the first chart, the height of the pattern is about 300 points, but in the second only 170 points.
WZ13-WK13 pattern and spread aligning

So what’s the important lesson? Always use the aligned pattern only to evaluate seasonality, never use it for profit target determination! The aligning is only artificial and doesn’t tell us anything about the real absolute values. The best way to determine profit targets and stop losses is to use back-testing and/or current and historical price levels.

Pattern and extreme years

How do extreme years affect the seasonal pattern? I often hear this question along with a request to be able remove some years from the pattern calculation. Because you now know about normalization in the pattern calculation, you should be able answer this question. Let’s look at an example. We have three years - 2010, 2008, 1995 (I choose these three, because they nicely demonstrate my example) to be used in the pattern calculation. The top chart below shows all three years in absolute values. At the first sight we would come to the conclusion that the year 2008 (violet color) movement in the March seasonal window is at least ten times larger than in the other two years. And that extreme move has to affect the pattern appearance. But remember normalization! The second chart shows the normalized values and we see that the relative movements of all three years are very comparable.

WZ-WK extreme years


In this article, I wanted to show you how a seasonal pattern is calculated and what the consequences are. Pattern to spread aligning doesn’t produce meaningful absolute values and can change every day. Never use the normalized pattern for profit target determination. And remember, because of normalization, you don’t have to worry about extreme years.