After a robust session on Thursday, the grain trade retreats overnight ahead of the weekend.
Grain Overview
Grain futures traded lower overnight, with corn, soybeans, and wheat all under pressure as a lack of buying interest weighed on the broader commodity sector. Weakness extended well beyond agriculture, as the US dollar, energy markets, and equity futures also moved lower. Rather than initiating new positions, traders appear focused on reducing exposure ahead of month-end, quarter-end, and the weekend. Corn did hold better overnight with very warm temperatures on the way, though this may or may not affect pollination. Corn is so cheap early in the game ahead of this and carries no risk premium.
Attention is already shifting toward next Tuesday’s USDA stocks and acreage reports, which are expected to provide the market with its next meaningful catalyst. Even if the numbers come in close to trade expectations (corn softer by 300,000 acres while soybean acreage up 700,000), the reports will offer updated supply data that could influence market direction. Weather also remains an important variable, with crop conditions becoming increasingly uneven across both the United States and key global production regions.
The heat in France is so bad that so many livestock animals are dying, and destruction and burial services are overwhelmed. The French rating of their corn crop is now the lowest since 2018, when they had massive flooding. The French Farm Ministry reported that 2026 French corn production could decline by as much as 30% this year due to lower plantings and the extreme drought. The extended-range modeling for moisture offers much relief to France and Spain. Extreme heat now looks to work into Germany, Poland, Hungary, Romania, and Ukraine. It’s becoming apparent that the EU will incur production losses as corn imports from Argentina and the US rise. World corn and wheat stocks continue to decline from the comfortable levels considered at the beginning of the year.
Developments in Argentina involve soy crush operations that want to go on strike, and President Milei is issuing executive orders to keep operations going, but Argentine courts have now gotten involved, which could lead to protracted crush plant closures. This increases soymeal demand from the US, which is why there was a mild rally this week in anticipation of problems.
After this Saturday, temperatures rise, with the southern plains in the 90s to the lower 100s. The Midwest will see made 80s to mid-90s, which initially is welcome. Rainfall has been reduced in the south-central US, with ridging developing, which brings rain to the northern Midwest. The concern is how long high-pressure Ridging resides across the Plains and the Western Midwest during July. It’s becoming well known that the heavy rains have created shallow-rooted corn. Next week’s weather modeling will be important, which is typical around July 4.
Cattle Overview
Live and feeder cattle futures had a very robust opening yesterday, but minutes after that massive strength, selling settled the board back to near steady money. The cash feeder index jumped $6.03 to a new record high of $381.86. August feeders briefly traded above 377 on the opening and settled back to the 373 range. Futures discounts continue to remain normal, with brief moments of excitement that trigger rallies that get sold.
Box beef prices backed off yesterday after choice rang the bell at 400. Choice declined $2.62 while Choice gave up $3.40. Steady money is anticipated for the cash trade near 260, with the June cattle contract carrying a $2.50 discount, expiring on Tuesday. August cattle struggle on attempts to near 250, and seem comfortable with a $13.00 discount. Major support for August cattle is in the 242-243 range.
15 cases of New World screwworm have now been located, with headlines suggesting this does not seem to affect the cash trade. August feeder cattle have the May high just under 379 as resistance, with 383 as the life-of-contract high on the continuation chart. Support is initially at 369-370, with major support at 360-361.