This repository answers a specific market question:
Under what scenarios would there be a shortfall in the crop and/or a desire to increase wheat inventories that would drive prices higher?
The project is intentionally framed as a wheat tightness / inventory-demand system rather than a flat-price prediction exercise. In wheat, the important signal is often whether accessible exporter supply, demand for forward coverage, and nearby market structure are moving toward scarcity, not whether a single price series happens to drift higher.
- Main conclusion: wheat is watchful, not tight as of the
2026-03-27score snapshot. - Executive summary: outputs/memos/executive_summary_one_pager.md
- Full report: outputs/memos/final_summary.md
- Meeting packet: outputs/final/meeting_packet.md
- Final deck: outputs/slides/final_deck.pdf
- Dashboard figure: outputs/figures/dashboard_main.png
- Key numbers map: outputs/final/key_numbers_reference.md
- Release notes: docs/final_release_notes.md
- Verification report: docs/final_verification_report.md
- Problem framing: docs/problem_definition.md
| Metric | Latest read | As-of | Read-through |
|---|---|---|---|
| Combined Tightness Score | 39.4 / 100 | 2026-03-27 | Watchful baseline, not a tight regime |
| Supply Risk Score | 38.9 / 100 | 2026-03-27 | Weather and class-specific risk are live |
| Inventory-Demand Score | 40.0 / 100 | 2026-03-27 | Demand is above routine, not yet defensive |
| Price-Up Risk | 36.2 / 100 | 2026-03-27 | Some upside optionality, but not a strong outright call |
| Spread-Tightening Risk | 36.1 / 100 | 2026-03-27 | The curve still carries, so prompt scarcity is not confirmed |
| Southern Plains D2+ | 34.9% | 2026-03-24 | Main live supply-risk trigger |
| Outstanding wheat export sales | 4.58 MMT | 2026-03-19 | Firm demand, below stockpiling threshold |
| World wheat stocks-to-use | 33.8% | 2026-03-10 | Not an alarm-level global balance-sheet reading |
| MAY/JUL SRW carry | 11.0 cents | 2026-03-27 | Market structure still says carry, not scarcity |
- Wheat is not tight today. The package explicitly avoids a current shortage call.
- Upside risk remains live because Southern Plains drought is elevated, exporter access is not loose, and acreage risk is still in front of the market.
- The strongest current scenarios are Plains drought, spring acreage downside, and Black Sea export friction.
- The package should only tighten materially if trigger thresholds and market structure start agreeing.
- The right framing is tightness and inventory-demand risk, not naive flat-price prediction.
- The curve still carries, which matters more than narrative drift.
- Demand is firm, but not yet defensive.
- Scores are evidence buckets, not calibrated probabilities.
Headline world wheat stocks-to-use is useful, but it is not enough. Wheat can remain vulnerable when accessible exporter supply is less comfortable than world aggregates suggest, when importers want more forward coverage, or when policy/logistics shocks redirect demand into a thinner export cushion. That is why this project combines exporter buffer, drought, crop conditions, export-sales pace, positioning, and nearby spreads into one explainable framework.
- An official-source wheat data pipeline covering balance sheets, acreage/yield history, crop conditions, export sales, drought, positioning, and free CME structure snapshots
- An explainable scorecard for supply risk, inventory-demand risk, combined tightness, price-up risk, spread-tightening risk, and tail-risk sensitivity
- A five-scenario framework with explicit triggers, current reads, and falsifiers
- A final presentation package: memo, one-pager, meeting packet, deck, Q&A bank, support trace, and release documentation
- Current baseline regime call: loose / watchful / tight
- Score snapshot in outputs/tables/current_scores.csv
- Ranked scenario board in outputs/tables/scenario_scorecard.csv
- Dashboard view in outputs/figures/dashboard_main.png
- Final written synthesis in outputs/memos/final_summary.md
- Presentation artifacts in outputs/slides/final_deck.pdf and outputs/final/meeting_packet.md
- Define the problem as shortfall risk plus inventory-demand risk rather than pure price timing.
- Build a current-state evidence stack from official balance-sheet, acreage, crop, drought, demand, positioning, and market-structure sources.
- Roll those inputs into an explainable weighted scorecard documented in docs/scorecard_method.md.
- Translate the state of the market into a short scenario board with explicit triggers, escalation lines, and falsifiers.
Official public sources used in the final package:
- USDA WASDE
- USDA Foreign Agricultural Service PSD
- USDA NASS Quick Stats
- USDA NASS Crop Progress / Condition
- USDA FAS Export Sales
- USDA Economic Research Service Wheat Data
- U.S. Drought Monitor
- CFTC Commitments of Traders
- CME Daily Bulletin
Source details are documented in docs/SOURCE_REGISTRY.md.
| Deliverable | File |
|---|---|
| Executive summary | outputs/memos/executive_summary_one_pager.md |
| Final report | outputs/memos/final_summary.md |
| Release report wrapper | outputs/final/final_report_release.md |
| Meeting packet | outputs/final/meeting_packet.md |
| Final deck PDF | outputs/slides/final_deck.pdf |
| Talking points | outputs/slides/final_talking_points.md |
| Q&A bank | outputs/slides/final_qna_bank.md |
| Key numbers reference | outputs/final/key_numbers_reference.md |
| Release notes | docs/final_release_notes.md |
| Verification report | docs/final_verification_report.md |
- Start with outputs/memos/executive_summary_one_pager.md for the fast decision read.
- Use outputs/memos/final_summary.md for the full narrative and scenario logic.
- Open outputs/slides/final_deck.pdf for the presentation-ready version.
- Use outputs/final/key_numbers_reference.md and outputs/final/support_trace_map.md when you want to audit a claim.
- Use docs/final_assumptions.md, docs/final_release_notes.md, and docs/final_verification_report.md for release governance.
src/wheat_project/: core pipeline and scorecard logicscripts/analysis/: release figure and deck build scriptsdocs/: framing, methods, audit trail, and release documentationoutputs/: final-facing memos, figures, tables, and deck artifactstests/: regression and package checks
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e '.[dev]'
python scripts/analysis/build_final_figures.py
python scripts/analysis/build_final_deck_pdf.py
pytestRelease note: the final package is built from the committed markdown plus the dedicated release builders above. scripts/analysis/build_analysis_packet.py is not the canonical final packaging route for this release.
2026-03-31Prospective Plantings- Southern Plains
D2+moving above40% - Northern Plains dryness into planting
- Outstanding sales above
5.0 MMTand 4-week sales pace above450 k MT MAY/JULflattening toward5 centsor tighter
- CME is snapshot-only and SRW-only in this environment
- Crop-condition data are currently stale by season and are labeled that way
- The historical section is a sanity check, not a licensed-price backtest
- T15 event study remains deferred by design
This is a final release repository for a frozen-scope wheat tightness framework. It is designed for review, presentation, and reproducibility of the documented package, not as investment advice or as a live execution system.



