Home / Strategies / Orange Juice (OJ)
Commodity · strategy report

Does anything beat buy & hold on Orange Juice (OJ)?

Every setup we tested on Orange Juice (OJ) — 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.88 did not clear the 1.34 selection hurdle (best-of-N luck cannot be ruled out). Buy-and-hold benchmark: +2.9% CAGR over 24.6 years (+3.7% CAGR in the out-of-sample window).

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

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

In Orange Juice, 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 750 indicator configurations on OJ. The best, CCI on the daily timeframe, beat buy-and-hold in both windows — +10.4% annualized edge over the full period, +18.8% out of sample against a buy-and-hold CAGR of +2.9%. Over 7.4 out-of-sample years it took 129 trades, won 69.8% of them, and drew down -57.3% at worst.

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

CCI

Mechanical rule (exactly as backtested): Buy when CCI(20) crosses up from below -100, exit above +100. 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.

>+999%
Total return
0.67
Sharpe
-57.3%
Max DD
69.8%
Win rate
129
Trades
+10.4%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.88 · alpha +18.8% · 44 trades over 7.4 yrs.

#2 · Cycle · Daily

Fisher Center-of-Gravity

Mechanical rule (exactly as backtested): Ehlers' Fisher-transformed Center of Gravity oscillator — long while turning up. 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.

+42.3%
Total return
0.17
Sharpe
-71.2%
Max DD
46.1%
Win rate
623
Trades
-1.4%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.84 · alpha +15.9% · 175 trades over 7.4 yrs.

#3 · Momentum · Daily

Stochastic (10,3)

Mechanical rule (exactly as backtested): VARIANT — stochastic(10,3); long while %K leads %D. 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.

>+999%
Total return
0.56
Sharpe
-54.9%
Max DD
42.1%
Win rate
739
Trades
+9.0%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 0.76 · alpha +17.3% · 221 trades over 7.4 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-07-02. Currently FLAT.

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

We tested 750 setups (indicator × parameters × timeframe) on Orange Juice (OJ). Only setups with ≥30 trades qualify (644 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 750 tries mines even the holdout, the VALIDATED verdict additionally requires the top setup’s OOS Sharpe to clear a selection hurdle of 1.34 (√(2 ln N)/√T) AND positive alpha in both windows. Of the eligible setups, 19.1% had positive out-of-sample alpha (median OOS Sharpe -0.06) — 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 644 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
1CCIDaily>+999%0.67-57.3%69.8%129+10.4%0.88+18.8%44
2Fisher Center-of-GravityDaily+42.3%0.17-71.2%46.1%623-1.4%0.84+15.9%175
3Stochastic (10,3)Daily>+999%0.56-54.9%42.1%739+9.0%0.76+17.3%221
4Chande Forecast Osc.Daily>+999%0.51-62.3%45.5%684+7.7%0.75+17.3%208
5Stoch RSI (fast)Daily>+999%0.55-59.8%41.6%645+8.9%0.75+16.8%199
6Stochastic Fast (5,3)Daily+434.0%0.39-70.3%42.9%811+4.2%0.73+16.3%248
7FRAMA 10/30 CrossWeekly+270.4%0.33-76.4%51.5%101+2.7%0.72+16.1%32
8Bollinger 10 (x1.5) BreakDaily+199.0%0.39-46.8%45.2%400+1.7%0.71+7.6%114
9WaveTrend (8/6/4)Daily>+999%0.68-57.9%76.0%104+12.2%0.7+14.6%31
10Accumulation Swing IndexDaily>+999%0.68-50.9%43.5%1,329+12.5%0.69+14.8%414
11Swing IndexDaily>+999%0.68-50.9%43.5%1,329+12.5%0.69+14.8%414
12StochasticDaily>+999%0.59-62.9%73.5%132+9.5%0.69+14.2%44
13Fibonacci PivotsWeekly+413.6%0.38-55.2%61.3%217+4.1%0.67+14.5%70
14Ehlers SuperSmootherDaily>+999%0.55-55.0%40.0%817+8.8%0.67+14.0%261
15Center of GravityDaily+287.5%0.34-65.2%44.8%734+2.8%0.66+13.8%221
16Murrey Math LinesDaily+214.8%0.32-61.5%78.6%70+1.9%0.66+12.1%28
17Woodie PivotsDaily>+999%0.62-51.5%43.1%1,309+10.7%0.65+13.4%404
18Markov Regime (Confirmed)Daily+42.7%0.17-60.2%54.4%307-1.4%0.64+9.4%74
19Markov RegimeDaily+250.3%0.32-64.8%63.4%257+2.4%0.62+13.7%99
20Zero-Lag LSMADaily>+999%0.57-48.3%49.0%390+9.3%0.62+12.2%122

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