Malaysian CPO benchmark sits near $1,146/MT, up 0.6% from the previous session and about RM4,623/MT. The global benchmark is around $1,101/MT and Indonesia's reference price is around $997/MT. The day's small gain masks a choppy tape: Brent's slide and crowded positioning are keeping the market near highs but with little sustained momentum.

What is pushing prices up

El Niño remains the main medium-term support. The ONI reading of +1.4 and GAPKI's warning of an 8–10% 2027 output drop feed anticipation buying: because palm output damage shows up with a 6–12 month lag, importers and forward buyers are pricing the risk now rather than waiting for visible tree stress. A wide soyoil premium of $401/MT is also supporting palm demand. At that spread, edible-oil buyers have a strong incentive to switch from soyoil to palm, lifting CPO offtake. Indonesia's B50 mandate adds another demand channel by absorbing an estimated 3–4 million tonnes per year domestically, which would reduce export availability. The export levy of $125 plus duty of $148 raise the cost of Indonesian exports, so a larger share of that policy cost is passed into landed prices. Technically, CPO is above its 5-, 20- and 50-day moving averages with a positive MACD and a golden cross, though it is near the upper Bollinger band at $1,156 and the RSI at 63 is neutral rather than overbought.

What is pushing prices down

The near-term supply picture is ample. Malaysia's July closing stocks rose 7.2% month-on-month to 1,429,316 tonnes, about 61% above the five-year average, and the stocks-to-use ratio of 12.5% signals comfortable cover. The broader stockpile number of 2.63 million tonnes, up 3.32%, reinforces the same point: buyers are not being forced to chase cargoes. Production is also at its seasonal peak, up 9.4% month-on-month to 1,792,979 tonnes, and the seasonal path adds another 7.0% next month; the July-to-October high-output window is weighing on nearby prices. The energy complex is a second drag. Brent crude has fallen about 8.8% over the past seven sessions to around $88.4 a barrel, which weakens biodiesel feedstock demand because palm-based biodiesel becomes less attractive when energy prices slide; our model's energy z-score sits at -1.23. The rupiah is another regional headwind: at USD/IDR 17,689, Indonesian exporters earn more rupiah per dollar of palm sold, which encourages selling and can cap dollar prices. Finally, CFTC soyoil net length is in the 82nd percentile after a 17,000-contract weekly increase, making the complex vulnerable to liquidation if the wider oilseed or energy trade wobbles.

Which side has the upper hand

Our model's balance currently has 4 bullish factors against 5 bearish factors, with the weather signal mixed: Peninsular Malaysia's recent 242mm of rain and another 47mm expected over the next seven days may disrupt harvest, while Kalimantan's 0mm dry phase adds lagged stress. The bearish factors have a slight upper hand. Ample July stocks, peak production, Brent's slide, rupiah weakness and crowded speculative longs are outweighing the bullish El Niño, B50 and wide soyoil-spread story. Our model expects choppy consolidation near highs with a slight downward bias over the next seven days, and its published path is just +0.1% over those seven sessions—implying any pullback is likely modest. The balance would flip further bearish if Brent continues falling, speculative longs unwind, and monthly stocks keep rising while El Niño evidence stays weak. It would flip bullish if Indonesian B50 implementation is confirmed without delay, the soyoil premium widens further, or El Niño stress starts appearing in official production or export data.