Home / Strategies / Cotton (CT)
Commodity · strategy report

Does anything beat buy & hold on Cotton (CT)?

Every setup we tested on Cotton (CT) — ranked out-of-sample, corrected for multiple testing, and forward-tracked in public from the day this page published. The honest answer is the headline.

MIXED

Beat buy-and-hold in both windows — but can't be told apart from selection luck.

Beat buy-and-hold in both the full window and out-of-sample but its OOS Sharpe 0.65 did not clear the 1.28 selection hurdle (best-of-N luck cannot be ruled out). Buy-and-hold benchmark: +1.4% CAGR over 26.8 years (+0.3% CAGR in the out-of-sample window).

Educational research from historical backtests — not investment advice. Past performance does not predict future results.

Cotton: the winner beat buy-and-hold in both windows — and still can't shake the luck problem

In Cotton, buy-and-hold is a harder benchmark than it looks: roll costs drag on returns, macro regimes flip the rules mid-game, and prices can go nowhere for years. Against that backdrop, we ran 754 indicator configurations on CT. The best, Detrended Price Osc. on the weekly timeframe, beat buy-and-hold in both windows — +2.9% annualized edge over the full period, +10.7% out of sample against a buy-and-hold CAGR of +1.4%. Over 8.1 out-of-sample years it took 169 trades, won 53.8% of them, and drew down -68.5% at worst.

Here is the honest read. When you test 754 setups and keep the best one, the winner looks good by construction — even on pure noise. Our correction for that selection effect sets a Sharpe hurdle of 1.28, and this setup's out-of-sample Sharpe of 0.65 falls short. Statistically, we cannot distinguish it from the luckiest of hundreds of tries. It also has company: 39.4% of setups edged buy-and-hold, which tends to happen when one regime dominated the sample. Of everything tested, 648 produced enough trades to grade at all. Macro regimes rotate, and a rule tuned to one rarely survives the next. Past performance does not predict future results.

Every figure above is computed from our own backtests — nothing is estimated or invented. Hypothetical results; not investment advice.

The rules

The setups that ranked, and what they are

Fully mechanical — no discretionary steps, no hidden filters. We name the indicator and publish its record; we keep the settings.

#1 · Oscillator · Weekly

Detrended Price Osc.

What it is: An oscillator rule: it reads a bounded momentum gauge and takes exposure when it turns from an extreme. Long/flat only — no leverage, no shorting. The parameters we tested are not published.

How it was tested: signals evaluated at weekly-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.

+210.2%
Total return
0.3
Sharpe
-68.5%
Max DD
53.8%
Win rate
169
Trades
+2.9%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.65 · alpha +10.7% · 55 trades over 8.1 yrs.

#2 · Volume · Weekly

On-Balance Volume

What it is: A trend-following rule: it holds while a smoothed trend reference is pointing up and goes flat when it turns. Long/flat only — no leverage, no shorting. The parameters we tested are not published.

How it was tested: signals evaluated at weekly-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.

+143.4%
Total return
0.27
Sharpe
-72.3%
Max DD
44.4%
Win rate
81
Trades
+1.9%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.6 · alpha +7.0% · 17 trades over 8.1 yrs.

#3 · Trend · Weekly

Range Filter

What it is: A trend-following rule: it holds while a smoothed trend reference is pointing up and goes flat when it turns. Long/flat only — no leverage, no shorting. The parameters we tested are not published.

How it was tested: signals evaluated at weekly-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.

+82.3%
Total return
0.25
Sharpe
-36.3%
Max DD
47.4%
Win rate
95
Trades
+0.8%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.6 · alpha +4.9% · 20 trades over 8.1 yrs.

Forward test

Since publication — including if it loses

-5.49%
the published setup, since 2026-07-02 (17 market days)
+9.12%
buy & hold, same window

Buy-and-hold is ahead so far — we publish that too. That is the point. Marked to market nightly from real prices, rules frozen at publication, as of 2026-10-26. Currently FLAT.

How this verdict was computed (mode: out-of-sample)

We tested 754 setups (indicator × parameters × timeframe) on Cotton (CT). Only setups with ≥30 trades qualify (648 did). Setups are ranked by out-of-sample Sharpe — the last ~30% of history, which standard-parameter rules never saw during selection. Because picking the best of 754 tries mines even the holdout, the VALIDATED verdict additionally requires the top setup’s OOS Sharpe to clear a selection hurdle of 1.28 (√(2 ln N)/√T) AND positive alpha in both windows. Of the eligible setups, 39.4% had positive out-of-sample alpha (median OOS Sharpe 0.07) — the table below is truncated, but this summary covers all of them. How we test: methodology. The scoring contract is published in full; the parameters of each individual setup are not.

Ranked table

Top 20 of 648 eligible setups

Ranked by out-of-sample Sharpe. Full + out-of-sample columns, costs included. Hypothetical.

#SetupTFTotal retSharpeMax DDWinTradesα vs B&HOOS SharpeOOS αOOS trades
1Detrended Price Osc.Weekly+210.2%0.3-68.5%53.8%169+2.9%0.65+10.7%55
2On-Balance VolumeWeekly+143.4%0.27-72.3%44.4%81+1.9%0.6+7.0%17
3Range FilterWeekly+82.3%0.25-36.3%47.4%95+0.8%0.6+4.9%20
4FRAMA 100 TrendWeekly+201.3%0.31-55.9%44.1%118+2.8%0.54+7.5%37
5Morning StarDaily+7.6%0.09-49.0%45.0%238-1.4%0.51+4.7%65
6UT Bot (ATR Trailing)Weekly+146.5%0.27-66.2%43.5%92+2.0%0.5+7.2%23
7Zero-Lag MACDWeekly-23.0%0.06-83.9%42.9%126-2.4%0.48+6.8%36
8Chaikin OscillatorWeekly-41.1%-0.03-77.5%40.6%64-3.4%0.48+5.3%17
9A/D OscillatorWeekly-41.1%-0.03-77.5%40.6%64-3.4%0.48+5.3%17
10TEMA 20/50 CrossDaily-19.5%0.07-84.6%36.0%161-2.5%0.45+6.7%42
11Delta Volume (CVD proxy)Daily-81.3%-0.25-91.5%37.0%300-7.8%0.45+5.6%86
12Volatility Regime (VIX-style)Weekly+277.8%0.42-39.9%44.9%49+3.7%0.45+4.3%14
13Order-Flow ReversionDaily-21.6%-0.01-58.1%62.9%70-2.6%0.45+3.1%18
14Chandelier ExitWeekly+330.1%0.36-61.8%44.1%59+4.2%0.44+6.9%12
15Trade Volume IndexDaily+84.6%0.22-77.1%35.2%261+0.7%0.43+5.5%72
16Zero-Lag LSMAWeekly-25.2%0.05-70.3%46.4%97-2.5%0.42+6.1%25
17CCI (200)Daily+202.2%0.3-59.0%25.3%75+2.6%0.42+5.9%13
18Historical Volatility RegimeWeekly+255.1%0.39-42.6%44.2%43+3.4%0.42+4.3%13
19Donchian 10 BreakDaily+55.5%0.18-68.9%39.9%1480.0%0.41+5.6%40
20Premier StochasticWeekly+92.9%0.22-53.6%36.5%52+1.1%0.41+5.2%16

Hypothetical backtests with 0.08%/side costs. Not investment advice — see the full disclaimer.

Read this before acting on anything

These are historical backtests of mechanical rules. They are educational research, not investment advice, not a recommendation, and not tailored to you. Educational information only — not investment advice. Hypothetical backtested results; past performance does not guarantee future results. Trading involves risk of loss.

Keep digging