Heating Oil COT Index: 10 Years of Extreme Positioning
On September 15, 2026, heating oil (HO, NY Harbor ULSD) closed at $5.262 per gallon, its highest close in ten years. Price has more than doubled in a year. Yet Commercials are not at an extreme: their COT Index sits at 34.2. When have there been extremes over the past decade, what followed, and what does seasonality say? We checked every week since October 2016.
How we read the Commercials COT Index
Commercials in heating oil are refiners, fuel merchants, distributors and large consumers such as airlines and trucking companies, plus the banks that provide hedges to them (swap dealers). The CFTC COT report shows their net position (long minus short contracts) every week. Refiners sell their future output forward, so Commercials are usually net short. The raw number says little on its own, and we put it in context with the COT Index.
COT Index = (current net position − 156 week minimum) / (156 week maximum − 156 week minimum) × 100
A reading above 90 means Commercials are near their largest net long (or smallest net short) of the past three years. A reading below 10 means the opposite: they are selling aggressively and are close to their largest net short. You can see the index for every market in our free COT demo.
Ten years of heating oil: how often we hit an extreme
From October 25, 2016 to October 20, 2026 there are 522 weekly COT reports for NYMEX heating oil. Of these:
- 31 weeks with the index above 90, spread across 11 separate periods;
- 39 weeks with the index below 10, spread across 7 separate periods.
The zone above 90 appears from December 2018 to March 2020, briefly in 2023, from August to December 2024 and for one week in May 2025. The zone below 10 appears in late 2016, from September 2017 to January 2018, briefly in October 2021, from August to October 2023 and for one week in November 2025.
The most telling stretch is 2017 to 2018. Commercials stayed below 10 almost continuously from September 12, 2017 to January 30, 2018, and on January 2, 2018 they reached their largest net short of the entire period: −90,618 contracts. Over the same months, price climbed from $1.571 on August 21, 2017 to $2.136 on January 26, 2018. Refiners were selling the higher prices forward, not calling a top.
The opposite extreme came on December 10, 2024: the largest Commercial net long of the period, +35,113 contracts. It followed a drop to $2.058 on September 10, 2024. By January 17, 2025, heating oil had climbed to $2.621.
What follows the first week in the zone
To test this in numbers we ran a backtest. We take the first week the index enters a zone, with at least 26 weeks between two signals of the same type. Entry is the close on the Friday after the report date (when the CFTC releases it). We measure the price change after 4, 8, 13 and 26 weeks and compare it with the average change for all weeks in the period. Heating oil rolls to a new front month every month, so prices are back-adjusted on the first trading day of each month.
| Report date | Index | 4 wks | 8 wks | 13 wks | 26 wks |
|---|---|---|---|---|---|
| Above 90 | |||||
| 12/18/2018 | 95.3 | +9.3% | +13.2% | +11.4% | +9.2% |
| 01/28/2020 | 96.0 | −5.5% | −34.0% | −50.9% | −30.9% |
| 05/02/2023 | 94.0 | −0.6% | +3.2% | +31.6% | +34.0% |
| 08/20/2024 | 95.9 | −4.1% | −6.3% | −1.7% | +5.3% |
| 05/06/2025 | 91.9 | +1.5% | +16.0% | +14.5% | +21.9% |
| Below 10 | |||||
| 12/06/2016 | 0.0 | +5.7% | −0.5% | −10.3% | −12.4% |
| 09/12/2017 | 7.2 | +2.5% | +11.6% | +7.1% | +8.9% |
| 10/05/2021 | 0.0 | −1.0% | −15.9% | −1.7% | +36.3% |
| 08/22/2023 | 1.6 | +1.2% | +0.8% | −8.6% | −3.5% |
| 11/10/2025 | 5.1 | −9.8% | −14.0% | +12.5% | +82.0% |
The result is mixed, and we say so plainly:
- Below 10 warns of weakness over 8 weeks. On average price was 3.6% lower after 8 weeks versus +4.5% for all weeks, and only 2 of 5 signals were positive. After 26 weeks the average is +22.3%, but it is pulled up by November 2025 (+82.0%), when the war in the Middle East sent fuel prices soaring.
- Above 90 is not a reliable buy signal. On average price was +0.1% after 4 weeks and −1.6% after 8 weeks. The average is dragged down by January 2020 (−34.0% over 8 weeks, the start of the COVID crisis). Without it, the 8 week average is +6.5%.
- The index rarely reaches an extreme in heating oil. There are 5 signals per zone in ten years, and from 2016 to 2026 the index spent 87% of the time between 10 and 90.
For comparison, the average change across all weeks is +2.2% over 4 weeks, +4.5% over 8, +7.4% over 13 and +14.1% over 26 weeks. The back-adjusted heating oil price rises most of the time, because futures are often in backwardation and rolling earns a yield. The sample is small: 5 signals per zone in ten years. This is context for a decision, not a statistically proven system.
Seasonality during these periods
The average seasonal curve for the last ten years (2016 to 2025) rises through most of the year:
- January to mid February: a climb to about +5%, then a dip to about +1% in mid March;
- late March to late June: a rise to about +16% around June 22, with a small dip in early May;
- July: easing to about +10% around July 20;
- August to late October: the strongest stretch, up to the high of the year around October 28 (about +27%);
- November and early December: a decline to about +15% around December 9, then a recovery to about +20% by year end.
The 15 year curve has the same shape, peaking around October 28 (about +19%) and ending the year at about +11%.
Extreme Commercial positioning has its own calendar too. Weeks below 10 are concentrated from September to January (37 of 39 weeks), when refiners hedge winter demand. There are none at all from February to July. Weeks above 90 are most common in February (6 of 31) and December (4).
Today we are right at the seasonal peak. Comparing the October 27 close with the end of December for each of the last ten years, price finished lower in 6 of 10 years. The median change is −4.1% and the mean is −2.5%.
Where we are now
According to CFTC data as of October 20, 2026:
- Commercials net position: −30,397 contracts (COT Index 34.2);
- managed money net position: +13,313 contracts (index 67.8 on 156 weeks);
- open interest: 269,131 contracts;
- the Commercials COT Index has stayed between 30 and 35 since mid July 2026.
This is the most interesting detail. In 2017 refiners met rising prices with record hedging and the index fell below 10. In 2026 price has more than doubled, while Commercials sit in the middle of their range. There is no built-up pressure in either direction.
The daily chart shows a strong uptrend. From its 12 month low ($2.057 on January 7, 2026), heating oil has risen to $4.912 on October 26, a gain of 139%. Price is 28.6% above the 200 day moving average and above the 18 day average ($4.793), 6.7% below the ten year high of September 15.
Here is what the three frameworks say right now:
- COT: the index is at 34.2, neutral. There is no signal under our filter.
- Seasonality: we are right around the late October seasonal peak. In 6 of 10 years price was lower at the end of December.
- Price: a strong trend, above both averages, close to the ten year high.
When COT positioning is neutral, the decision comes from price and risk. The scenario we are watching: if refiners start selling forward aggressively and the index falls below 10 near the high, we would have the classic extreme of autumn 2017 and 2023.
5 mistakes when trading COT extremes in heating oil
- Reading an index below 10 as a sell signal in a trend. In 2017 the record Commercial short came in the middle of the rally.
- Buying just because the index is above 90. Excluding January 2020 the signals worked, but when demand collapses the index does not help.
- Ignoring crude oil. Heating oil follows crude and the refining margin. Check both.
- Seasonality without context. The average curve peaks in late October, yet in 6 of 10 years price was lower at the end of December.
- Large size on a small sample. Five signals in ten years are not statistics. Use the risk calculator and check open interest.
How we use this in practice
In our strategy Commercial COT positioning is a mandatory filter: we do not look for longs when Commercials are in an extreme short zone, and vice versa. In heating oil the filter is currently neutral, seasonality is at its peak and the trend is strong. Without a COT extreme, the entry comes only from price structure and risk management.
Frequently asked questions
How many times has the heating oil COT Index been above 90 in ten years?
31 weeks out of 522, spread across 11 separate periods. The longest ran from January 28 to March 10, 2020 (7 weeks).
How many times has it been below 10?
39 weeks across 7 periods. The longest ran from September 12 to December 5, 2017 (13 weeks).
Why do you use 156 weeks for the COT Index?
Three years cover three heating seasons and three summer seasons. A shorter window gives more signals, but also more noise.
How did you calculate prices and seasonality?
We use the continuous front month HO=F, back-adjusted on the first trading day of each month, when the front month changes. The charts show the actual front month price in dollars per gallon.
Is this a signal to buy or sell heating oil now?
No. This is an analysis of historical data. The COT Index is neutral, seasonality is at its peak, and the entry should always come from price and from your own risk management.
Conclusion
Over ten years, Commercials in heating oil were at an extreme in about 13% of weeks, less often than in soybean oil and natural gas. The zone below 10 warned of weakness over the following 8 weeks, but its longest stretches coincided with rising prices. The zone above 90 worked in 3 of 5 cases, and both failures (January 2020 and August 2024) came with falling demand. Today heating oil is close to its ten year high while Commercials are neutral. This is a market where positioning currently offers no edge.
You can follow the current COT Index for heating oil and dozens of other markets in the free demo, while the weekly analyses and the full toolset are available in our membership plans.
Sources: CFTC Commitments of Traders (Legacy and Disaggregated, Futures Only), data as of 10/20/2026; Yahoo Finance (HO=F), prices as of 10/26/2026. Calculations: fmoney.eu. Futures trading carries a high risk of loss. This content is for educational purposes only and is not investment advice. Past performance does not guarantee future results.