Home / Strategies / Coffee (KC)
Commodity · strategy report

Does anything beat buy & hold on Coffee (KC)?

Every setup we tested on Coffee (KC) — 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.95 did not clear the 1.29 selection hurdle (best-of-N luck cannot be ruled out). Buy-and-hold benchmark: +2.9% CAGR over 26.5 years (+10.5% CAGR in the out-of-sample window).

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

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

In Coffee, 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 751 indicator configurations on KC. The best, Elder-Ray on the weekly timeframe, beat buy-and-hold in both windows — +1.3% annualized edge over the full period, +0.7% out of sample against a buy-and-hold CAGR of +2.9%. Over 8.0 out-of-sample years it took 95 trades, won 51.6% of them, and drew down -18.7% at worst.

Here is the honest read. When you test 751 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.29, and this setup's out-of-sample Sharpe of 0.95 falls short. Statistically, we cannot distinguish it from the luckiest of hundreds of tries. It also has company: 9.7% of setups edged buy-and-hold, which tends to happen when one regime dominated the sample. Of everything tested, 651 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

Top setups as mechanical rules

Exactly as the backtest defined them — no discretionary steps, no hidden filters.

#1 · Momentum · Weekly

Elder-Ray

Mechanical rule (exactly as backtested): Buy uptrend pullbacks - EMA-13 rising while Bear Power is negative and turning up; exit when trend or bulls fade. Signals are evaluated at weekly-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+202.2%
Total return
0.46
Sharpe
-18.7%
Max DD
51.6%
Win rate
95
Trades
+1.3%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.95 · alpha +0.7% · 23 trades over 8.0 yrs.

#2 · Momentum · Daily

Balance of Power

Mechanical rule (exactly as backtested): Long while smoothed Balance of Power (buyers vs sellers) is positive. Signals are evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+3.2%
Total return
0.1
Sharpe
-73.7%
Max DD
42.5%
Win rate
287
Trades
-2.8%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.86 · alpha +4.4% · 67 trades over 7.9 yrs.

#3 · Volume · Weekly

Volume Oscillator

Mechanical rule (exactly as backtested): Long when volume momentum is positive and price is above its EMA. Signals are evaluated at weekly-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+165.4%
Total return
0.3
Sharpe
-48.9%
Max DD
45.8%
Win rate
96
Trades
+0.8%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.81 · alpha +2.9% · 29 trades over 8.0 yrs.

Forward test

Since publication — including if it loses

0.0%
the published setup, since 2026-07-02 (0 market days)
0.0%
buy & hold, same window

The forward record is just getting started — the gap between the two is the honest score. Marked to market nightly from real prices, rules frozen at publication, as of 2026-06-29. Currently LONG.

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

We tested 751 setups (indicator × parameters × timeframe) on Coffee (KC). Only setups with ≥30 trades qualify (651 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 751 tries mines even the holdout, the VALIDATED verdict additionally requires the top setup’s OOS Sharpe to clear a selection hurdle of 1.29 (√(2 ln N)/√T) AND positive alpha in both windows. Of the eligible setups, 9.7% had positive out-of-sample alpha (median OOS Sharpe 0.33) — the table below is truncated, but this summary covers all of them. Full recipe: methodology · the engine’s contract lives in the repo as STRATEGY_METHODOLOGY.md.

Ranked table

Top 20 of 651 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
1Elder-RayWeekly+202.2%0.46-18.7%51.6%95+1.3%0.95+0.7%23
2Balance of PowerDaily+3.2%0.1-73.7%42.5%287-2.8%0.86+4.4%67
3Volume OscillatorWeekly+165.4%0.3-48.9%45.8%96+0.8%0.81+2.9%29
4Ease of MovementDaily-0.6%0.09-78.1%43.1%297-2.9%0.8+2.3%79
5Relative Volume SpikeWeekly+29.8%0.14-69.2%37.9%58-2.0%0.77+5.5%17
6Standard Error BandsDaily+260.4%0.45-31.0%48.8%80+2.1%0.75-1.8%26
7EMA-10 TrendWeekly+178.5%0.28-50.3%35.0%123+1.0%0.74+6.5%28
8Disparity (10)Weekly+178.5%0.28-50.3%35.0%123+1.0%0.74+6.5%28
9Ehlers SuperSmootherWeekly+105.3%0.23-71.5%38.5%192-0.2%0.71+5.6%56
10SMA 5/20 CrossDaily-4.8%0.12-79.6%37.1%221-3.1%0.71+5.4%63
11DEMA 10/30 CrossDaily+13.5%0.15-78.7%39.7%214-2.4%0.71+5.2%55
12Rainbow MAWeekly+75.2%0.21-65.9%39.0%164-0.8%0.7+5.4%45
13Hull MA 15/60 CrossDaily+45.7%0.18-74.3%37.6%213-1.4%0.69+5.0%59
14Chaikin Money FlowDaily+8.9%0.11-62.3%41.2%199-2.6%0.69-0.5%49
15VortexDaily-37.7%0.06-83.0%42.1%342-4.7%0.68+4.7%104
16FRAMA 200 TrendWeekly+397.3%0.39-45.0%31.0%84+3.3%0.68+4.7%28
17Elder Ray (Bull/Bear Power)Weekly+96.3%0.23-61.0%40.4%89-0.4%0.65+3.6%22
18Stochastic (10,3)Weekly+44.4%0.17-67.0%41.1%168-1.6%0.65+3.1%47
19FRAMA 100 TrendWeekly+347.9%0.36-50.5%37.4%123+2.9%0.63+3.3%41
20Bandpass OscillatorDaily-6.3%0.12-72.9%41.1%321-3.1%0.63+2.8%93

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