Free lesson · Arbitrage
Dated cash-and-carry
Open interactive lessonPractice calculationsExplore labs
Start with the idea
Buying spot and selling a matching dated future can replace uncertain terminal price exposure with a locked sale price, conditional on survival.
Symbols, units & horizon
- F_0: locked future sale USD/unit
- S_0: spot purchase USD/unit
- r: simple annual borrowing rate
- T: years to maturity
- c: other holding/trading costs USD/unit
- Π: terminal modeled surplus USD/unit
When and why to use this
Compare basis trades using instrument-specific financing and delivery conventions.
Buying spot and selling a matching dated future can replace uncertain terminal price exposure with a locked sale price, conditional on survival.
Assume one identical deliverable, no income/storage and known simple funding. Grow the spot purchase cost to maturity and compare it with the locked sale price. Add actual cash flows for assets with dividends, storage or custody costs.
Daily futures variation margin can require cash before the offsetting spot gain can be transferred. The terminal identity does not ensure the path is financeable.
Dated cash-and-carry
- Borrow S_0 and buy one unit. Loan repayment is S_0(1+rT).
- At matched settlement, spot plus short future delivers total F_0.
- Subtract loan repayment and other costs.
Spot $100, future $104, r=.06, T=.5, other cost $.50: 104−103−.50=$.50.
Apply it in a strategy
- Compare basis trades using instrument-specific financing and delivery conventions.
- Record the input timestamp, executable quantity, currency and horizon. Reconcile the result with a cash-flow or state table.
- Stress this failure condition: Resetting finance, different settlement indexes and variation margin can invalidate the simple locked-profit story.
Research deliverable
Build and explain a dated cash-and-carry worksheet. Compare basis trades using instrument-specific financing and delivery conventions.
Evidence boundary: Synthetic arithmetic and scenarios illustrate mechanics. They are not historical returns, a paper replication, or evidence of an executable edge. Research sources and their access limitations are recorded at the end of this module.
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 unless NumPy is imported below.
# Inputs and outputs use the units defined in this lesson. Synthetic teaching example.
def dated_carry(spot,future,rate,years,cost):
if min(spot,future,years,cost)<0: raise ValueError("Invalid inputs")
return future-spot*(1+rate*years)-cost
print(dated_carry(100,104,.06,.5,.5))Continue learning
Arbitrage: Payoffs, Financing and Execution — all lessons- Start with every possible payoff
- Bid, ask and the gross-to-net waterfall
- Put–call parity from expiration states
- Dated cash-and-carry
- Triangular currency conversion
- ETF baskets and creation access
- Haircuts and survival capital
- Size, impact and the research decision
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations