2.4.1 A forward with a daily checkpoint
A forward and a futures contract make the same promise — to trade an asset later at a price agreed now. The difference is plumbing, and the plumbing is where the risk lives.
A forward contract is a private agreement to buy or sell an asset on a future date at a price fixed today. Nothing changes hands until delivery, the terms can be tailored, and the contract is only as good as the other side's promise to pay: counterparty risk.
A futures contract is the same promise, standardised and traded on an exchange. A clearing house becomes the central counterparty to every trade (you met it in Session 2.1), and every position is marked to market daily: each evening the exchange publishes a settlement price and the day's gains and losses are paid in cash.
| Forward | Futures | |
|---|---|---|
| Where it trades | over the counter, two parties | on an exchange, centrally cleared |
| Cash flows | one settlement, at the end | variation margin every day |
| Counterparty risk | grows with what you are owed, until delivery | reset daily; the clearing house guarantees performance |
Daily settlement barely changes what a contract is worth; it changes when the cash moves. With known interest rates, forward and futures prices are identical; when rates move with the asset they differ slightly (Cox, Ingersoll & Ross 1981), which matters mainly for long-dated interest-rate futures. With futures, being right eventually is not enough — you must be able to pay for being wrong in the meantime. That sentence is the whole of §2.4.7.
Reading a contract
The contract multiplier turns a quoted price into money; notional value — price × multiplier × contracts — is the exposure you carry; expiry is the last trading day, after which the contract settles in cash or by delivery. The smallest step is the tick size. Three real contracts (CME, checked 2026; prices illustrative):
| Contract | Multiplier | Tick = value | Notional at an illustrative price | Expiry & settlement |
|---|---|---|---|---|
| E-mini S&P 500 (ES) | $50 × index | 0.25 pt = $12.50 | at 5,000: $250,000 | quarterly (Mar, Jun, Sep, Dec); cash-settled |
| Micro E-mini S&P 500 (MES) | $5 × index | 0.25 pt = $1.25 | at 5,000: $25,000 | quarterly; cash-settled |
| WTI crude oil (CL, NYMEX) | 1,000 barrels | $0.01 = $10.00 | at $70: $70,000 | monthly; physical delivery at Cushing, Oklahoma |
CME describes futures margin as typically 3–12% of notional, set in dollars per contract. At the lab's illustrative initial margin of 5.5%, one E-mini needs $13,750: up to 18.2× leverage, no loan required — 14.5 times the growth-optimal 1.25 of the asset in Session 2.3.
Rolling from contract to contract (§2.4.4) and stitching them into one history is continuous futures, in Session 4.3; crypto's perpetual futures (Session 2.6) drop expiry for a funding rate.
2.4.2 The price of waiting: cost of carry
You do not need a forecast of oil or the S&P 500 to price a futures contract. You need the cost of owning the asset until expiry — and one arbitrage argument.
You can own an asset years from now in two ways: buy it today at with borrowed money and carry it, or buy a futures contract at and pay at expiry. Both leave you holding the same asset on the same date, so they must cost the same. If not, you take the cheap route, sell the dear one, and pocket the difference with no money down and no risk — the cash-and-carry arbitrage:
In symbols: borrowing costs a year, storage , the asset pays income (an index's dividends, a currency's foreign interest rate), and holding a physical commodity has a benefit of its own, — the convenience yield. Net them into the cost of carry (continuously compounded rates per year, as fractions of spot):
The futures price is the spot price grown at the net cost of carry — no forecast anywhere. That is no-arbitrage pricing in its simplest form; Session 10.1 builds the full theory.
A worked example from the lab: an index at 5,000 with a risk-free rate of 4% and a 1.5% dividend yield has 2.5% and a fair 3-month price of 5,031.35. If the market quotes 5,060, borrowing to buy the index and selling the future locks in 28.65 points — $1,433 per E-mini before costs, whatever the index does. In practice index arbitrageurs keep prices within transaction costs of the carry price.
| Underlying (illustrative) | Net carry | F, 1 month | F, 3 months | F, 12 months | Basis S − F at 12 months |
|---|---|---|---|---|---|
| Equity index: S = 5,000, rf 4%, dividends 1.5% | +2.5% | 5,010.43 | 5,031.35 | 5,126.58 | −126.58 |
| Crude, tanks filling: S = $70, rf 4%, storage 5%, convenience 1% | +8.0% | 70.47 | 71.41 | 75.83 | −5.83 |
| Crude, shortage: S = $70, rf 4%, storage 5%, convenience 21% | −12.0% | 69.30 | 67.93 | 62.08 | +7.92 |
For investment assets (an index, gold, a currency) the argument runs both ways, so holds tightly. Almost nobody can short physical oil, so for crude the formula is only a ceiling, and the convenience yield measures how far below it futures sit. Session 2.5 develops storage costs and convenience yield; Hull (ch. 5) gives the full treatment.
2.4.3 Basis, contango & backwardation
Line up the prices of every expiry by maturity and you get the futures curve. Its shape tells you, today, what it costs to carry the asset through time.
The basis is the gap between spot and futures. This course uses Hull's convention, ; some desks flip the sign, so check it. The basis must shrink to zero at expiry — convergence — because an expiring contract is the asset for immediate delivery: any gap on the last day could be bought cheap and delivered dear. When futures sit above spot and the curve rises with maturity, the market is in contango and the basis is negative. When futures sit below spot and the curve falls, it is in backwardation: the physical is worth more now than later, and the basis is positive.
Why does a curve slope? For financial futures: interest minus income. For physical commodities the slope tracks inventories — ample stocks mean contango, while a threatened shortage pushes the convenience yield above financing plus storage () and inverts the curve. Session 2.5 develops this theory of storage and the commodity term structure.
| Situation | Curve | Basis S − F | What a long futures holder feels |
|---|---|---|---|
| Plenty of inventory, expensive storage | contango | negative | a steady drag as each contract falls toward spot |
| Shortage: the physical is worth more now | backwardation | positive | a steady tailwind as each contract rises toward spot |
| Equity index, interest rate above dividend yield | mild contango | slightly negative | a small drag of a year, repaid by interest on the idle cash (§2.4.4) |
Backwardation compares the futures price with today's spot price, which you can see. Keynes's normal backwardation compares it with the expected future spot price, which you cannot: if hedgers pay speculators to take their price risk, futures trade below the expected spot price and a long position earns a risk premium. Gorton and Rouwenhorst's example: spot oil $30, expected spot $34, futures $32 — contango and normal backwardation at once (NBER w10595, §9). Only normal backwardation is a premium; the curve's shape alone is not.
2.4.4 What a futures position earns
A futures contract costs nothing to enter, so "the return on a futures" needs a denominator. Professionals use a fully collateralised position — and then the return splits cleanly into three parts.
A fully collateralised position holds one dollar of Treasury bills per dollar of notional, with the contract on top. The futures P&L alone is an excess return; the T-bill interest makes it a total return. Buy one contract at and hold it to expiry, and the excess return splits exactly in two (Koijen, Moskowitz, Pedersen & Vrugt 2018):
The first term is known the day you buy: what you earn if spot does not move, because the contract must converge to it. KMPV call it the carry — the general form of the carry premium in Session 1.2 — and commodity investors call it the roll yield: about a year. With collateral interest:
The last form is the sanity check: a collateralised future priced at carry earns spot plus what owning the physical pays minus what it costs. An equity-index future therefore tracks the index's total return — the lab confirms it within 0.1 percentage points a year — closely but not exactly, since the financing rate implied by futures prices differs a little from the T-bill rate.
The lab makes it concrete: one simulated ten-year spot path (drift 3%, volatility 25%) with two curves wrapped around it, a contango with +6% and a backwardation with −6%. Each month the position holds the front month — the contract nearest expiry — until it converges to spot, then rolls into the next.
This path was unlucky — spot compounded at −13.0% a year despite its 3% drift — but only the level is luck. The contango futures returned −18.1% a year and the backwardated −7.6%, each exactly a year from spot in log terms; with 3% collateral the totals are −15.6% and −4.8%. The lab checks the identity daily and contract by contract:
F0 = starts * np.exp(C_CONTANGO * ROLL_DAYS / PERIODS_PER_YEAR) # price paid for each contract R_contract = (ends - F0) / F0 # excess return, contract by contract carry = (starts - F0) / F0 # known the day you buy: the roll yield spot_part = (ends - starts) / F0 # what the spot price did assert np.allclose(R_contract, carry + spot_part, atol=1e-14)
Commodity indices work the same way — the S&P GSCI publishes a price, an excess-return and a total-return index — and Erb and Harvey (2016) decompose it into the three parts above:
| S&P GSCI, % a year | Jan 1970 – Dec 2004 | Dec 2004 – Jun 2015 |
|---|---|---|
| Price (spot) return | 3.23% | 3.39% |
| Roll return | 1.95% | −9.29% |
| Collateral (3-month T-bill) | 6.78% | 1.32% |
| Total return | 11.97% | −4.58% |
Source: Erb & Harvey (2016), Table 2. The price return barely changed, but the roll swung by more than eleven percentage points: investors who thought they had bought "commodity prices" lost 4.58% a year while commodity prices rose.
A chart of front-month prices, spliced from contract to contract, jumps at every roll and hides the roll yield. On the lab's contango path, returns read off that chart equal spot's −13.0% a year; the investable return was −18.1% — 5.1 percentage points a year the chart cannot show. Compute futures returns contract by contract; Session 4.3 builds back-adjusted series.
2.4.5 Roll yield: an identity, not free money
"Roll yield" is the most argued-about phrase in futures investing. Two claims about it are everywhere: one is wrong and the other is half right.
Claim 1: "In contango you lose money on the roll"
The story: at every roll you sell the cheap expiring contract and buy the dear next one. But both trade at fair prices, and after each settlement a futures contract is worth zero, so the swap costs only fees; you simply hold fewer of the dearer contract. As Gorton and Rouwenhorst put it, "The rolling itself is not a source of return" (NBER w10595, fn. 8). The roll yield accrues every day you hold: in the lab the daily log futures return is exactly the log spot return minus , roll days included. Index providers book the same total on roll dates (Erb & Harvey 2016).
Claim 2: "Negative roll yield means futures will underperform"
The decomposition tells you where a return came from, not what it will be. Whether carry is an expected return depends on how spot moves, and the lab builds two worlds on the same random shocks:
- World A — spot ignores the curve. Spot drifts at 3% whatever the curve says, so the expected excess return is that drift minus : carry is a return forecast.
- World B — the curve is an unbiased forecast. Spot drifts at exactly , so the expected future spot price equals today's futures price and every shape earns zero: the expectations hypothesis.
Across 2,000 ten-year paths the averages match theory within a few standard errors of about 0.2 percentage points. In a +6% contango the roll yield is −6.0% a year in both worlds, but the average (arithmetic) excess return is −3.2% in world A (theory −3.0%) and −0.2%, zero plus noise, in world B. In a −6% backwardation world A pays 8.9% a year; world B still pays nothing.
Reality is partly world A: Koijen, Moskowitz, Pedersen and Vrugt (2018) find that carry predicts returns in every asset class they study — but carry strategies suffer in recessions and crashes, which Session 8.4 examines.
A backwardated curve says you earn the carry if spot does not fall to meet the curve. Often it partly does: shortages end, and a curve backwardated by scarcity can flip to contango just as spot collapses. Treat carry as a risk premium with crash risk, never as an arbitrage — the only riskless trade here is the cash-and-carry of §2.4.2. Trend followers (Session 8.1) must use roll-adjusted returns for the same reason.
2.4.6 Margin: the daily settlement machine
Futures create leverage without a loan. Margin is a good-faith deposit, not a down payment — and daily settlement turns every price move into a cash flow before you have decided anything.
Initial margin is the deposit required to open a position; maintenance margin is the floor your account equity must stay above. CME sets both in dollars per contract; as of 2026, initial margin for accounts it classes as higher-risk is 110% of maintenance, and the two are equal for the rest. Mark-to-market revalues every position at the settlement price each night, and variation margin is the resulting cash: losers pay, winners are paid. Fall below maintenance and a margin call asks you to top the account back up to the initial level; if you can't, the broker closes the position — a forced liquidation.
Six days of it: long 2 E-minis at 5,000 ($500,000 notional) with $40,000 in the account — 12.5× leverage. The lab's illustrative margins (5% maintenance, 5.5% initial, as fractions of entry notional) put the maintenance level at $25,000 and the initial level at $27,500.
| Day | Settlement price | Variation margin ($) | Margin-call deposit ($) | Account equity ($) |
|---|---|---|---|---|
| open | 5,000.00 | — | — | 40,000 |
| 1 | 4,985.00 | −1,500 | — | 38,500 |
| 2 | 4,940.00 | −4,500 | — | 34,000 |
| 3 | 4,880.00 | −6,000 | — | 28,000 |
| 4 | 4,845.00 | −3,500 | +3,000 | 27,500 |
| 5 | 4,905.00 | +6,000 | — | 33,500 |
| 6 | 4,930.00 | +2,500 | — | 36,000 |
On day 4 equity fell to $24,500, below the floor, and the call demanded $3,000 to reach the initial level. The position lost only $7,000 over six days, yet it needed fresh cash after a fall of 3.1% in an index you might happily hold for years.
That threshold is the most useful formula in this section. With leverage (notional at entry ÷ account equity, as in Session 2.3) and maintenance margin — a fixed dollar amount per contract, expressed as a fraction of the notional at entry — a call arrives once the price has fallen by
In the ledger 8% and 5%, so 3%, or 150 points. At the lab's maximum leverage (5.5% initial margin, 18.2×) the cushion is half a percent: one ordinary day.
CME notes that margin requirements may rise when daily moves become more volatile — exactly when losses mount — and that a position may be liquidated automatically once equity drops below maintenance; your broker may also ask for more than the exchange minimum. A trade sized to "just fit" today's margin is sized to fail on a volatile day.
2.4.7 Margin calls, liquidation & two disasters
The leverage arithmetic of Session 2.3 said too much exposure slowly destroys growth. Margin adds a faster way to lose: being forced out at the bottom of a move you would have survived.
The lab runs 20,000 one-year paths of a futures price drifting 5% a year with 20% volatility (the excess return of the Session 2.3 asset). A trader with $100,000 buys Micro E-minis at leverage . One version has no spare cash, so the first call is a forced liquidation; the other keeps a $20,000 reserve and meets calls until a call exceeds what is left. The inner loop is the ledger of §2.4.6, vectorised:
for t in range(1, HORIZON + 1): eq = eq + alive * n_contracts * mult_m * (F_paths[t] - F_paths[t - 1]) # variation margin call = alive & (eq < mm) first_call[call & (first_call < 0)] = t need = im - eq pay = call & (need <= res) eq = np.where(pay, eq + need, eq) res = np.where(pay, res - need, res) fail = call & ~pay liq_day[fail] = t alive &= ~fail
| Leverage | Fall that triggers a call | P(margin call within a year) | Theory | P(forced liquidation), with the $20,000 reserve | P(called, yet the price ended the year higher) |
|---|---|---|---|---|---|
| 1× | 95.0% | 0.0% | 0.0% | 0.0% | 0.0% |
| 3× | 28.3% | 6.5% | 6.8% | 2.1% | 0.0% |
| 5× | 15.0% | 34.3% | 34.7% | 24.0% | 4.6% |
| 10× | 5.0% | 73.3% | 73.5% | 66.4% | 30.4% |
| 15× | 1.7% | 88.6% | 88.7% | 84.3% | 44.8% |
Three lessons. Calls climb steeply with leverage: at 10× about three traders in four are called within a year, on an asset that rose in 56% of simulated years. A reserve helps most when leverage is modest: at 3× it cuts liquidations from 6.5% to 2.1%, at 10× only from 73% to 66%, because an account at the margin edge gets a new call every down day. And, cruelest: at 10×, 42% of those forced out had called the direction right.
The theory column is the reflection principle with the Broadie–Glasserman–Kou correction for daily checks, derived in the lab (Session 3.5 covers Monte Carlo); it agrees with the simulation within 0.4 percentage points, and the lab asserts agreement to 1.5 percentage points, about four standard errors. Real brokers can demand more and act before the close, so treat these liquidation probabilities as a lower bound.
On that path the price fell 5.0% below entry and the broker sold with $49,807 left; the price then finished the year 11.7% up, and holding on would have ended at $216,599 — though only with deep pockets, since that account touched −617 dollars on day 150. Same view, same market, opposite outcomes — decided by cash.
A margin call does not ask whether your trade is right; it asks whether you have cash tonight. Size futures positions by the adverse move you can fund, not by the margin the exchange will accept. The growth argument of Session 2.3 points the same way, toward the Kelly criterion of Session 3.6.
20 April 2020: the day oil went negative
The May 2020 WTI contract — physically delivered at Cushing, Oklahoma — fell from Friday's settlement of $18.27 to settle at −$37.63 a barrel on Monday 20 April, the day before it expired, amid an oversupplied market, a COVID-19 collapse in demand and storage that the CRS described as essentially full (CFTC staff report 2020; CRS Insight IN11354). A long contract carried into that session paid $55,900 of variation margin in one day — 3.1 times its value at Friday's settlement ($18,270).
The percentage formula can never go negative. Storage is really a dollar cost per barrel, , and when Cushing filled, exploded for anyone holding oil now. June settled at $20.43 (CRS) while the expiring May went to −$37.63: the May–June spread moved from −6.76 to −58.06 dollars a barrel, the market's price of a month of storage.
Metallgesellschaft, 1993: right, and still ruined
MG Refining & Marketing, the US oil arm of Metallgesellschaft, sold fixed-price supply contracts for 154 million barrels over up to ten years, hedged with a rolling stack of short-dated futures and OTC swaps. In 1993 spot fell and the market sat in contango: the hedge lost cash as it went, while the offsetting gains would arrive only with deliveries over a decade. Losses reached nearly $1.3 billion and the parent needed a $1.9 billion bank rescue (Mello & Parsons 1995). Whether the hedge was sound or mismatched has been debated; the mechanism has not — gains accrued like a forward, losses were paid like a futures.
2.4.8 Try it
Open the companion lab, predict before you run, and break things on purpose.
1. Predict the contango CAGR in section 3 if C_CONTANGO rises from 0.06 to 0.12 (the log gap to spot is exactly c a year), then run it.
2. In section 6, raise RESERVE_PCT to 0.50: how much does P(forced liquidation) at 10× fall? Compare cutting leverage to 5× with no reserve.
3. Add 18× (the maximum at 5.5% initial margin) to LEVELS: what is d*, and how long does the median trader last (np.median(runs[18]["first_call"]))?
Success: step 1 lands within half a percentage point, and explains step 2.
2.4.9 Glossary · Check yourself · Go deeper
Check yourself
1. An index is at 5,000, the risk-free rate is 4% and the dividend yield 1.5%. The 3-month future trades at 5,060. What do you do, and what do you earn per E-mini?
2. "The curve is 6% backwardated, so buying the front month is a free 6% a year." What is wrong?
3. You buy 10 Micro E-minis at 5,000 with $20,000 in the account; maintenance margin is 5% of the entry notional. How far can the index fall before a margin call?
4. On 20 April 2020 the expiring WTI contract settled at −$37.63 while June settled at $20.43. Why couldn't cash-and-carry stop the May price going negative, and what does it teach about margin?
1. A third world. In section 4, add a world C whose spot drifts at (3% + c)/2; predict its excess return, measure it, and say what share of the carry it passes through.
2. Price the reserve. By bisection on RESERVE_PCT, find the reserve that keeps P(forced liquidation) at 10× below 5%; compare it with 5× and no reserve.
3. Real specs. Look up today's Micro E-mini margin on cmegroup.com and compute the maximum leverage and d*; date every number.
4. Read sections 1–2 of Koijen et al. (2018) on carry, which Session 2.5 applies to FX and commodity curves.
📚 Go deeper
- Hull, J. C. (2021). Options, Futures, and Other Derivatives, 11th ed., ch. 2 "Futures markets and central counterparties" and ch. 5 "Determination of forward and futures prices". Pearson. ISBN 978-0-13-693997-9
- Koijen, R. S. J., Moskowitz, T. J., Pedersen, L. H. & Vrugt, E. B. (2018). "Carry." Journal of Financial Economics 127(2), 197–225. doi:10.1016/j.jfineco.2017.11.002
- Gorton, G. & Rouwenhorst, K. G. (2006). "Facts and Fantasies about Commodity Futures." Financial Analysts Journal 62(2), 47–68. Quotes here are from the working-paper version, NBER w10595 (June 2004). doi:10.2469/faj.v62.n2.4083
- Erb, C. B. & Harvey, C. R. (2016). "Conquering Misperceptions about Commodity Futures Investing." Financial Analysts Journal 72(4), 26–35. doi:10.2469/faj.v72.n4.3
- Mello, A. S. & Parsons, J. E. (1995). "Maturity Structure of a Hedge Matters: Lessons from the Metallgesellschaft Debacle." Journal of Applied Corporate Finance 8(1), 106–121. doi:10.1111/j.1745-6622.1995.tb00279.x
Sources for the numbers
- Cox, J. C., Ingersoll, J. E. & Ross, S. A. (1981). "The Relation between Forward Prices and Futures Prices." Journal of Financial Economics 9(4), 321–346. doi:10.1016/0304-405X(81)90002-7
- CFTC staff (2020). "Interim Staff Report on Trading in NYMEX WTI Crude Oil Futures Contract Leading up to, on, and around April 20, 2020." https://www.cftc.gov/PressRoom/PressReleases/8315-20
- Congressional Research Service (2020). "Crude Oil Futures Prices Turn Negative." CRS Insight IN11354, 22 April 2020. https://www.congress.gov/crs-product/IN11354
- Broadie, M., Glasserman, P. & Kou, S. (1997). "A Continuity Correction for Discrete Barrier Options." Mathematical Finance 7(4), 325–349. doi:10.1111/1467-9965.00035
- CME Group (2026). Contract specifications (E-mini S&P 500, Micro E-mini S&P 500, Crude Oil); "Margin: Know What's Needed"; Performance Bonds/Margins. https://www.cmegroup.com/markets/equities/sp/e-mini-sandp500.contractSpecs.html · https://www.cmegroup.com/markets/equities/sp/micro-e-mini-sandp-500.contractSpecs.html · https://www.cmegroup.com/markets/energy/crude-oil/light-sweet-crude.contractSpecs.html · https://www.cmegroup.com/education/courses/introduction-to-futures/margin-know-what-is-needed · https://www.cmegroup.com/solutions/risk-management/performance-bonds-margins.html
Educational material only — not investment, legal or tax advice. Backtests and simulations are hypothetical. Disclaimer · Text CC BY 4.0 · Code MIT.