Oil, Only in an Uptrend
CommoditiesHold USO on every day after it closed ABOVE its 10-month (about 210-trading-day) moving average, and hold cash (0% return) on every day after it closed below. Benchmark is buying and holding USO.
See this in the terminal — live earnings bands, fair value and rates.
Start free trialRead the story
Trend-following crude dodged the worst of a fund built to bleed. That is the whole story.
The rule. Hold USO on every day after it closed ABOVE its 10-month (about 210-trading-day) moving average, and hold cash (0% return) on every day after it closed below. Benchmark is buying and holding USO.
What actually happened.
- $10,000 became $7,081. The same $10,000 in Buy and hold oil (USO) became $5,245. This strategy beat the benchmark by $1,837.
- Compounded at -2.3% a year vs -4.2% for the benchmark.
- Best year: 2026 (+80%). Worst year: 2016 (-23%). This is not a smooth ride.
The catch. At its worst, this strategy fell -66% from a prior peak — shallower than the benchmark's -95%. Would you have held through that? Most people don't. That's the whole game.
The takeaway. It worked here — but "it worked in the past" is the most expensive sentence in investing. The edge is real only if it survives costs, taxes, and the drawdown above. Show your work, then decide.
Drawdown from prior peak
Calendar-year returns
| Line | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Oil above its 10-month average (USO/cash) | -6% | -7% | -18% | -7% | 0% | -23% | -2% | +12% | -23% | -8% | +60% | +2% | -9% | -15% | -22% | +80% |
| Buy and hold oil (USO) | +13% | -12% | +6% | -42% | -46% | +7% | +2% | -20% | +33% | -68% | +65% | +29% | -5% | +13% | -8% | +104% |
Cash earns 0% while the rule is out of the market; a real T-bill sleeve would add to this line, especially in high-rate years. How we test
Rebalance: daily check against the 10-month (210-day) average, cash below · Window: 2011-09-02 → 2026-09-02 · Last run Sep 2, 2026 · JSON