El Niño in tropical softs

Tested 24 ways. 2 looked convincing alone, none once the number of attempts was counted.

Conclusion: Null

No effect. Of 24 tests, 2 fell below the usual threshold individually — about what chance produces over this many attempts — and none survived correction for the size of the search.

Every test, against the significance threshold

persistence-robust p · left is stronger evidence
00.050.250.51SB=FSB=FSB=FSB=FKC=FKC=FKC=FKC=FCC=FCC=FCC=FCC=FCT=FCT=F
Filled markers fall below the 0.05 threshold before multiple-testing correction; hollow markers do not. Correction is applied across the whole batch, so an individual marker clearing the line is not a result on its own.
Tests
24
ticker × horizon
p < 0.05
2
uncorrected
Best q
0.51
BH-FDR
Survived
0
q ≤ 0.10

Method

Hypothesis

The strongest ENSO teleconnections outside Australia sit in the tropics: Indian monsoon, Indonesian dry season, West African harmattan, Brazilian rainfall.

Rule

signal = soi_3m # 3-month mean SOI
prior = -1 # lower SOI -> higher returns
function test(instrument, horizon h):
y = sum(returns[instrument], t+1 .. t+h) # strictly forward
x = signal[t] # known at t
beta, t_stat = OLS(y ~ x) with Newey-West HAC, lag = h + 1
# null: slide x against y by every admissible offset, so
# persistence appears identically under the null
null = [slope(y, roll(x, k)) for k in all offsets]
p = (count(abs(null) >= abs(beta)) + 1) / (len(null) + 1)
return beta, t_stat, p
reject if Benjamini-Hochberg q <= 0.10 across the whole study

Evaluation

Table 1 · Every test in this hypothesis

forward return regressed on the SOI signal
SB=F 1mSB=F 3mSB=F 6mSB=F 12mKC=F 1mKC=F 3mKC=F 6mKC=F 12mCC=F 1mCC=F 3mCC=F 6mCC=F 12mCT=F 1mCT=F 3mCT=F 6mCT=F 12mOJ=F 1mOJ=F 3mOJ=F 6mOJ=F 12mDBA 1mDBA 3mDBA 6mDBA 12m+2.9-2.9
InstrumentHorizonnβHAC tShift pSign as predicted
SB=F1m314+0.0007+0.820.873no
SB=F3m312+0.0012+0.660.769no
SB=F6m309+0.0004+0.130.530no
SB=F12m303-0.0038-0.740.320yes
KC=F1m316-0.0003-0.560.337yes
KC=F3m314-0.0011-0.710.315yes
KC=F6m311-0.0034-1.200.163yes
KC=F12m305-0.0105-2.570.033yes
CC=F1m316-0.0003-0.470.360yes
CC=F3m314-0.0003-0.220.418yes
CC=F6m311-0.0018-0.640.346yes
CC=F12m305+0.0011+0.200.546no
CT=F1m316+0.0001+0.130.578no
CT=F3m314-0.0006-0.280.353yes
CT=F6m311-0.0045-1.300.069yes
CT=F12m305-0.0135-2.900.004yes
OJ=F1m296-0.0004-0.640.329yes
OJ=F3m294-0.0010-0.650.338yes
OJ=F6m291-0.0010-0.320.416yes
OJ=F12m285-0.0006-0.090.562yes
DBA1m232+0.0005+1.440.919no
DBA3m230+0.0014+1.660.894no
DBA6m227+0.0012+0.820.663no
DBA12m221-0.0021-0.770.321yes
Shift p is the persistence-robust p-value and is the one that decides. HAC t is shown to demonstrate how far conventional inference overstates the evidence.

Reference

Instruments

last price and one-month change, live from Yahoo Finance
SymbolNotes
CC=FCocoa — continuous futures on ICE Futures, in USD.
CT=FCotton No. 2 — continuous futures on ICE Futures, quoted in US cents.
DBAInvesco DB Agriculture Fund — exchange-traded fund listed on NYSEArca, in USD.
KC=FCoffee C — continuous futures on ICE Futures, quoted in US cents.
OJ=FOrange Juice — continuous futures on ICE Futures, quoted in US cents.
SB=FSugar No. 11 — continuous futures on ICE Futures, quoted in US cents.

Sample

1970–2026 monthly

Sources

Queensland Department of Agriculture and Fisheries. Southern Oscillation Index. The Long Paddock. Monthly, 1876–. www.longpaddock.qld.gov.au/soi/soi-data-files
Yahoo Finance. Historical market prices. Adjusted close, month-end. Retrieved with yfinance. finance.yahoo.com

Revision history

RevStageStatusChange
01DraftDirection and criteria fixed before the experiment ran
02TestedNull24 tests; 2 below p=0.05, none surviving FDR
algorithmic-trading-anthology-july-2026-el-nino-in-tropical-softs | d/rksci