OPEN-SOURCE SCRIPT
COT-Trader Seasonality - Indexed Geometric Path

COT-Trader Seasonality is a visual research indicator designed to study seasonal tendencies in futures, commodities, indices and other markets.
The script focuses on one specific question:
How has a market typically behaved throughout the calendar year when historical years are compared on a normalized basis?
Instead of averaging raw historical prices, the indicator indexes each historical year to a base value of 100 at the first available trading day of that year. This makes different years comparable across changing price regimes.
This is especially useful for markets such as commodities and futures, where long-term price levels can change significantly over time.
Methodology
The indicator uses an Indexed Geometric Seasonal Path approach:
1. Each historical year is indexed to 100 at its first available trading day.
2. Each following trading day is converted into a relative factor versus that year’s starting value.
3. For each calendar day, the geometric mean of the indexed historical factors is calculated.
4. The resulting seasonal curves are plotted on a synthetic January-to-December seasonal scale.
The geometric approach is used because price development is multiplicative. A 10% gain followed by a 10% loss does not return a market to its original level. Working with relative factors is therefore more appropriate than directly averaging absolute historical prices.
Displayed Curves
The indicator can display:
• 10Y Main Seasonal Curve
• 5Y Seasonal Curve
• 15Y Seasonal Curve
• 20Y Seasonal Curve
• Current Year / YTD indexed path
• Previous Year indexed path
• Synthetic seasonal month scale
The 10Y curve is the main reference curve. The 5Y, 15Y and 20Y curves are included as comparison views to help evaluate whether shorter-term seasonal tendencies differ from longer-term historical behavior.
The current year line stops at the latest available data point. It is not extended into the future.
How to Use
This indicator can be used to:
• compare the current year against historical seasonal tendencies
• identify periods where several seasonal curves move in a similar direction
• compare shorter-term and longer-term seasonal behavior
• study whether the current year is behaving normally or as an outlier
• support broader market research together with positioning, fundamentals, volatility and risk analysis
The month labels shown in the indicator are a synthetic seasonal month scale. They are not the same as the chart’s real time axis.
What This Indicator Does Not Do
This script does not generate buy or sell signals.
It does not predict future prices.
It does not automatically identify the best seasonal trading window.
It does not include stop-loss, take-profit, position sizing or strategy backtesting logic.
It is intended as a visual research tool, not as a standalone trading system.
Limitations
Seasonality describes historical tendencies, not certainties. Markets can deviate significantly from historical seasonal patterns due to macroeconomic conditions, weather, supply-demand shocks, positioning, volatility, futures contract rolls or other market-specific factors.
For futures and continuous contracts, historical data quality and roll methodology can influence the visual result.
The indicator should be used as one part of a broader analytical process.
Initial public release.
Features:
• Indexed geometric seasonal path calculation
• Fixed 10Y main seasonal curve
• 5Y, 15Y and 20Y comparison curves
• Current year / YTD indexed path
• Previous year indexed path
• Synthetic January-to-December seasonal month scale
• Built-in legend and methodology table
This indicator is designed for visual seasonal research and does not generate trading signals.
The script focuses on one specific question:
How has a market typically behaved throughout the calendar year when historical years are compared on a normalized basis?
Instead of averaging raw historical prices, the indicator indexes each historical year to a base value of 100 at the first available trading day of that year. This makes different years comparable across changing price regimes.
This is especially useful for markets such as commodities and futures, where long-term price levels can change significantly over time.
Methodology
The indicator uses an Indexed Geometric Seasonal Path approach:
1. Each historical year is indexed to 100 at its first available trading day.
2. Each following trading day is converted into a relative factor versus that year’s starting value.
3. For each calendar day, the geometric mean of the indexed historical factors is calculated.
4. The resulting seasonal curves are plotted on a synthetic January-to-December seasonal scale.
The geometric approach is used because price development is multiplicative. A 10% gain followed by a 10% loss does not return a market to its original level. Working with relative factors is therefore more appropriate than directly averaging absolute historical prices.
Displayed Curves
The indicator can display:
• 10Y Main Seasonal Curve
• 5Y Seasonal Curve
• 15Y Seasonal Curve
• 20Y Seasonal Curve
• Current Year / YTD indexed path
• Previous Year indexed path
• Synthetic seasonal month scale
The 10Y curve is the main reference curve. The 5Y, 15Y and 20Y curves are included as comparison views to help evaluate whether shorter-term seasonal tendencies differ from longer-term historical behavior.
The current year line stops at the latest available data point. It is not extended into the future.
How to Use
This indicator can be used to:
• compare the current year against historical seasonal tendencies
• identify periods where several seasonal curves move in a similar direction
• compare shorter-term and longer-term seasonal behavior
• study whether the current year is behaving normally or as an outlier
• support broader market research together with positioning, fundamentals, volatility and risk analysis
The month labels shown in the indicator are a synthetic seasonal month scale. They are not the same as the chart’s real time axis.
What This Indicator Does Not Do
This script does not generate buy or sell signals.
It does not predict future prices.
It does not automatically identify the best seasonal trading window.
It does not include stop-loss, take-profit, position sizing or strategy backtesting logic.
It is intended as a visual research tool, not as a standalone trading system.
Limitations
Seasonality describes historical tendencies, not certainties. Markets can deviate significantly from historical seasonal patterns due to macroeconomic conditions, weather, supply-demand shocks, positioning, volatility, futures contract rolls or other market-specific factors.
For futures and continuous contracts, historical data quality and roll methodology can influence the visual result.
The indicator should be used as one part of a broader analytical process.
Initial public release.
Features:
• Indexed geometric seasonal path calculation
• Fixed 10Y main seasonal curve
• 5Y, 15Y and 20Y comparison curves
• Current year / YTD indexed path
• Previous year indexed path
• Synthetic January-to-December seasonal month scale
• Built-in legend and methodology table
This indicator is designed for visual seasonal research and does not generate trading signals.
开源脚本
秉承TradingView的精神,该脚本的作者将其开源,以便交易者可以查看和验证其功能。向作者致敬!您可以免费使用该脚本,但请记住,重新发布代码须遵守我们的网站规则。
免责声明
这些信息和出版物并非旨在提供,也不构成TradingView提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。
开源脚本
秉承TradingView的精神,该脚本的作者将其开源,以便交易者可以查看和验证其功能。向作者致敬!您可以免费使用该脚本,但请记住,重新发布代码须遵守我们的网站规则。
免责声明
这些信息和出版物并非旨在提供,也不构成TradingView提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。