Free lesson · FX and commodities
Storage and convenience yield in a commodity forward
Open interactive lessonPractice calculationsExplore labs
Start with the idea
Owning a physical commodity incurs carrying costs and may provide operational value that a futures position does not.
Symbols, units & horizon
- S₀,F: spot and forward price in currency per physical unit of matching grade/location
- r: continuous annual financing rate
- u: proportional annual storage-cost rate
- y: assumed annual convenience yield
- T: years
- constant rates and feasible storage assumed
When and why to use this
Interpret contango/backwardation and identify which physical constraints matter for a basis trade.
Owning a physical commodity incurs carrying costs and may provide operational value that a futures position does not.
For a storable commodity, a stylized continuous-yield model combines financing, proportional storage and convenience yield. Convenience yield summarizes the service from available inventory; it is not a guaranteed cash dividend. Physical quality, location and delivery options can separate apparently similar contracts.
Scarcity, storage capacity and shorting restrictions can make reverse cash-and-carry infeasible. Treat the formula as an idealized equilibrium benchmark, and build an actual warehouse, transport, insurance and delivery ledger before proposing implementation.
Storage and convenience yield in a commodity forward
- Financing and proportional storage compound carrying value at rate r+u.
- The noncash service of inventory is represented by a convenience yield y that reduces the modeled net carry.
- Apply the net annual rate over T years and multiply spot; this relation depends on the storage/market assumptions.
Spot $80/barrel, r=.05, u=.03, y=.02 and T=.5 give 80×exp(.03)≈$82.436363/barrel.
Apply it in a strategy
- Freeze inputs at the stated decision time and record their units.
- Interpret contango/backwardation and identify which physical constraints matter for a basis trade.
- Recompute the example, then change the material assumption and explain the difference.
Research deliverable
Storage and convenience yield in a commodity forward: produce the worked calculation, a timestamped input record and a written decision addressing this limitation: Convenience yield is difficult to observe; nonstorable goods and binding storage or shorting limits violate simple replication.
These are synthetic mechanics examples, not historical performance or paper replications. Module evidence and research boundaries record the 12 September 2026 review.
Python implementation
Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.
# Python 3.10+; standard library and NumPy only.
# Synthetic teaching inputs; conventions and units are defined in the notation above.
from math import exp
def commodity_forward(spot,rate,storage_yield,convenience_yield,years):
if spot<=0 or years<0: raise ValueError('Positive spot and nonnegative horizon required')
return spot*exp((rate+storage_yield-convenience_yield)*years)
assert abs(commodity_forward(80,.05,.03,.02,.5)-82.43636271628)<1e-8
print(commodity_forward(80,.05,.03,.02,.5))Continue learning
FX & Commodities: Quotes, Carry, Curves & Hedges — all lessons- Invert both units and bid/ask sides
- Triangular conversion with executable sides
- Covered interest parity by matching currency cash flows
- Unhedged carry leaves exchange-rate risk
- Storage and convenience yield in a commodity forward
- Futures profit and margin cash demands
- Rolling futures without inventing a cash profit
- Minimum-variance cross hedging and basis risk
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations