FRM Exam Part I · Commodity Forwards and Futures
Commodity Forward Pricing and the Cost of Carry Model
Updated 11 October 2026 · Fact-checked
A commodity forward price is the spot price grown at the cost of carry: interest plus storage costs (less any convenience yield). With storage costs as a continuous rate u, F = S × e^((r + u)T). With storage costs paid in cash, F = (S + PV of storage) × e^(rT). Arbitrage enforces this when the commodity is stored.
Understand Commodity Forward Pricing and Cost of Carry
A forward contract fixes today the price you pay later for a commodity. To price it, ask what it would cost to get the same commodity at the same future date without the forward. You could buy it now and hold it. That costs money today, which you must finance, and you must store it.
So the cost of carry has two parts: the interest you give up (or pay) on the money tied up in the commodity, and the storage costs such as warehousing and insurance. The forward price must cover both. If it were higher, you could do a cash-and-carry arbitrage: borrow, buy spot, store, and sell forward. If it were lower, a holder of the commodity could sell it, invest the cash and buy forward. That second trade is a reverse cash-and-carry.
Storage costs can be modelled in two ways. Treat them as a cash outflow at known dates: add their present value to the spot price and then compound at the interest rate. Or treat them as a continuous proportional rate u, which acts like a negative yield and is added to r in the exponent.
There is a limit to the logic. The cost-of-carry formula gives an exact no-arbitrage price only if the commodity is held for investment and can be stored and sold short (or is held in large stocks). For commodities held for consumption, the forward price is at most the cost-of-carry value: F ≤ S × e^((r + u)T). The gap is described by the convenience yield y, giving F = S × e^((r + u − y)T). Owners value having the physical good, so they will not sell it to run the reverse trade, and the lower bound fails.
The quantity r + u − y is the net cost of carry. When it is positive the curve slopes up (contango); when negative it slopes down (backwardation).
Key formulas to remember
- Forward price, storage costs as PV of cash amounts
- F₀ = (S₀ + U) × e^(rT), where U = PV of all storage costs
- Use when storage costs are given as fixed cash amounts at known dates. Discount each at r (continuous) before adding to S₀.
- Forward price, storage as continuous proportional rate
- F₀ = S₀ × e^((r + u)T)
- u is storage cost as an annual rate of the spot price. r and u use the same compounding basis.
- Forward price with convenience yield
- F₀ = S₀ × e^((r + u − y)T)
- y is the convenience yield. It is usually inferred from market prices, not observed.
- Consumption commodity bounds
- F₀ ≤ (S₀ + U) × e^(rT) or F₀ ≤ S₀ × e^((r + u)T)
- For consumption commodities the upper bound is enforced by cash-and-carry arbitrage. There is no firm lower bound.
- Implied convenience yield
- y = r + u − ln(F₀ ÷ S₀) ÷ T
- Rearranged from the continuous formula.
- Annual compounding version
- F₀ = S₀ × (1 + r + u)^T (approximate form) or (S₀ + U) × (1 + r)^T
- Use only if the question states annual compounding. Check which form the question implies.
How to solve Commodity Forward Pricing and Cost of Carry questions
Use this routine for any cost-of-carry question. Most errors come from mixing compounding bases or time units.
- 1Identify the commodity type: investment asset (like gold) or consumption asset (like oil). This tells you whether the formula is an equality or a bound.
- 2List the inputs: spot S₀, maturity T in years, interest rate r and its compounding, storage costs and how they are quoted, and any convenience yield.
- 3Pick the form: cash storage costs go into U (present value); proportional storage costs go into the exponent as u.
- 4If storage costs are cash, discount each payment to today at r using e^(−rt) for its own date t, then sum to get U.
- 5Compute the forward price with the matching formula. Convert months to years (for example 9 months = 0.75).
- 6If the question gives a market forward price, compare it with the model price. Market higher means cash-and-carry; market lower means reverse cash-and-carry (if the commodity can be lent or sold from stock).
- 7For arbitrage, write the cash flows today and at maturity, and check that the net profit at maturity is risk-free. Quote it at maturity unless asked for present value.
- 8Sanity check: with positive r and u and no convenience yield, F must exceed S.
Quickest way: Exponent shortcut
When to use it: Use when storage costs are a continuous rate or when you only need to compare the market forward with the model price.
- Add the rates: net carry = r + u − y (set y = 0 if not given).
- Multiply by T and compute e raised to that power on your calculator (use the e^x key).
- Multiply by S₀ to get F₀.
- For arbitrage direction, compare: market F above model means buy spot and sell forward; market F below means sell spot (if you hold it) and buy forward.
- For cash storage costs, add S₀ and the cost payments' PV first, then apply e^(rT) once.
Common mistakes in Commodity Forward Pricing and Cost of Carry
Adding undiscounted storage costs to the spot price.
Students treat storage as a simple extra cost and forget it is paid in the future.
Fix: Discount each storage payment to today at r for its payment date, then add to S₀. Equivalent: compound each payment forward to T and add to S₀e^(rT).
Subtracting storage costs as if they were income.
Confusing storage with dividends or coupons, which lower the forward price.
Fix: Storage is a cost, so it raises F. Income lowers F. Convenience yield lowers F like income.
Treating the cost-of-carry formula as an exact equality for every commodity.
The formula is taught first for investment assets like gold.
Fix: For consumption commodities, write F ≤ S₀e^((r+u)T). The difference is the convenience yield.
Using months instead of years in the exponent.
Rushing under time pressure.
Fix: Always convert T to years first, for example 6 months = 0.5.
Choosing the wrong arbitrage direction.
Students memorise the label, not the logic.
Fix: If the forward is too high, you sell it and buy the commodity today (cash and carry). If too low, you buy it and sell the commodity you hold (reverse).
Mixing continuous and annual compounding.
Both appear in the curriculum and the question may not shout which applies.
Fix: Use continuous compounding unless the question states otherwise, and apply the same basis to r and u.
Worked examples
Example 1
Spot gold is USD 2,000 per ounce. The continuously compounded risk-free rate is 4% a year. Storage and insurance cost 0.5% of the spot price per year (continuous). Find the 1-year forward price, and state the cash-and-carry profit per ounce if the market forward price is USD 2,120.
Show the solution
- Formula: F₀ = S₀ × e^((r + u)T).
- Inputs: S₀ = 2,000, r = 0.04, u = 0.005, T = 1.
- Exponent = 0.045. e^0.045 = 1.046028.
- F₀ = 2,000 × 1.046028 = USD 2,092.06.
- Market price 2,120 is above the model price 2,092.06, so the forward is too expensive. Do cash and carry: borrow 2,000, buy one ounce, store it, and sell the forward at 2,120.
- At maturity you collect 2,120. You repay the loan 2,000 × e^0.04 = 2,000 × 1.040811 = 2,081.62, and storage costs compounded to maturity are 2,000 × (e^0.045 − e^0.04) = 2,092.06 − 2,081.62 = 10.44.
- Total costs at maturity = 2,092.06. Profit = 2,120 − 2,092.06 = USD 27.94.
Answer: The model forward price is about USD 2,092.06 per ounce. Cash and carry earns a risk-free profit of about USD 27.94 per ounce at maturity.
Example 2
Crude oil trades at USD 80 per barrel. The continuously compounded interest rate is 5%. Storage costs are USD 2 per barrel, payable at the end of 6 months and USD 2 per barrel payable at the end of 1 year. Find the 1-year forward price assuming no convenience yield.
Show the solution
- Formula: F₀ = (S₀ + U) × e^(rT), where U is the PV of storage costs.
- PV of the first payment: 2 × e^(−0.05 × 0.5) = 2 × e^(−0.025) = 2 × 0.975310 = 1.95062.
- PV of the second payment: 2 × e^(−0.05 × 1) = 2 × 0.951229 = 1.90246.
- U = 1.95062 + 1.90246 = 3.85308.
- S₀ + U = 80 + 3.85308 = 83.85308.
- e^(0.05 × 1) = 1.051271.
- F₀ = 83.85308 × 1.051271 = 88.152.
Answer: The 1-year forward price is about USD 88.15 per barrel.
Exam tips
- Read how storage is quoted. A cash amount means PV and add to S₀. A percentage means put it in the exponent.
- Check whether the commodity is for investment or consumption before writing an equality.
- Keep five decimals on e^x values, because answer options can be close together.
- Remember the sign logic: storage and interest raise F, convenience yield lowers F.
- For arbitrage questions, list cash flows today and at maturity, and confirm the total today is zero.
Practice questions from Commodity Forwards and Futures
- A commodity has spot price USD 50, a risk-free rate of 6% and storage costs of 2% (both continuously compounded, annual), and the 1-year for…
- A commodity has spot price $50, r = 4% continuously compounded, no storage costs, and a convenience yield of 6% per year. Using F = S·exp((r…
- A gold dealer observes a spot price of USD 2,000 per ounce. The risk-free rate is 5% per year (continuously compounded), and storage costs a…
- A market shows a commodity futures curve where longer-dated contracts trade at lower prices than nearby contracts. Which explanation is most…
- A jewelry maker wants to lock in the price of gold it will purchase in six months. Which position in gold futures best achieves this objecti…
Commodity Forward Pricing and Cost of Carry in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Commodity Forward Pricing and Cost of Carry: frequently asked questions
What is the cost of carry model for commodity futures?
It prices a forward or future as the spot price plus the cost of holding the commodity until maturity. The costs are interest on the money tied up and storage costs, less any convenience yield. It rests on no-arbitrage logic.
How do I calculate a commodity forward price with storage costs?
If storage costs are cash amounts, find their present value U and compute F = (S + U) × e^(rT). If they are a continuous rate u, compute F = S × e^((r + u)T). Convert time to years first.
Why is the cost-of-carry formula only an upper bound for some commodities?
Holders of consumption commodities benefit from having the physical good and will not sell it to exploit a low forward price. So the reverse arbitrage does not work. The convenience yield measures that benefit.
What is a cash-and-carry arbitrage?
When the forward price is above the cost-of-carry price, you borrow, buy the commodity at spot, store it and sell it forward. At maturity you deliver, repay the loan and storage costs, and keep a risk-free profit.