Carry, Basis, and Roll Yield Across Futures and Perpetuals
Carry features measure the term-structure conditions under which holding or rolling exposure may be favorable or costly. In derivatives, those conditions appear through spot basis, calendar roll, and perpetual funding.
Carry, Basis, and Roll Yield Across Futures and Perpetuals
Carry features measure the term-structure conditions under which holding or rolling exposure may be favorable or costly. In derivatives, those conditions appear through spot basis, calendar roll, and perpetual funding.
The Intuition
Carry is easy to mismeasure because the same economic idea appears differently across market designs.
In a dated future, you can compare the futures price to spot. You can also compare one maturity to another and ask what it costs to roll exposure forward. In a perpetual swap, there is no expiry, so the exchange periodically transfers cash between longs and shorts through funding. All three objects are connected, but they are not interchangeable.
The cleanest way to think about them is as different coordinate choices on the same problem:
- basis compares one point on the futures curve to spot,
- roll yield compares two points on the futures curve to each other,
- funding is the exchange's settlement mechanism for keeping a perpetual close to spot.
That distinction matters because a feature that is supposed to measure structural carry can accidentally become a calendar artifact. A front-second spread without maturity normalization, or a funding signal built on the wrong settlement clock, tells the model more about your data handling than about the market.
The Math
Let $S_t$ denote spot and let $F(t,T)$ denote the futures price at time $t$ for maturity $T$.
Spot-futures basis
The annualized basis is commonly written as
$$ b(t,T) = \frac{\ln F(t,T) - \ln S_t}{\tau(t,T)}, $$
where $\tau(t,T)$ is time to maturity in years. A positive basis means the future trades above spot; a negative basis means it trades below spot.
Roll yield
For two maturities $T_1 < T_2$, a long-side annualized roll yield can be written as
$$ \text{RY}_{1 \to 2}(t) = \frac{\ln F(t,T_1) - \ln F(t,T_2)}{\tau(T_1,T_2)}, $$
where $\tau(T_1,T_2)$ is the time between expiries in years.
This sign convention is useful for feature engineering:
- positive roll yield means the deferred contract is cheaper than the near contract, so a long position earns carry by rolling down the curve,
- negative roll yield means the deferred contract is more expensive, so rolling forward is costly.
With this convention, backwardation corresponds to positive long carry and contango to negative long carry. This is a feature-engineering sign convention, not a guarantee about realized PnL. Realized return also depends on spot moves, curve repricing, and the actual roll schedule.
Basis and roll are related, not rival definitions
If spot is treated as the curve at maturity zero, then basis is simply the slope between spot and one maturity, while roll yield is the slope between two nonzero maturities. They answer different implementation questions:
- basis is natural when spot is observable and relevant to the trade,
- roll yield is natural when the strategy only trades futures and must physically roll from one contract to the next.
The curve also has richer structure than one slope. Level, slope, and curvature can each become features:
- level: average richness or cheapness of the curve,
- slope: front-versus-back carry,
- curvature: whether the middle of the curve is unusually rich or cheap relative to the wings.
Perpetual funding
A perpetual swap has no expiry, so there is no mechanical roll. Instead, funding transfers cash between longs and shorts every settlement interval $\Delta$. Let $f_t^{\text{exch}}$ denote the exchange-quoted funding rate for that interval, under the common convention that positive values mean longs pay shorts. Then the funding carry to a long is
$$ \text{FundingCarry}^{\text{long}}_{t \to t+\Delta} = -f_t^{\text{exch}}, $$
and an approximate annualized version is
$$ \text{FundingCarry}^{\text{long}}_{\text{ann}} \approx -m f_t^{\text{exch}}, $$
where $m$ is the number of funding intervals per year. Check the sign convention on your venue before using the feature, because some APIs report the cash flow from the opposite side.
This is not just "crypto roll yield." Funding is an exchange-administered price-transfer rule tied to a venue formula and crowding conditions, and it can change sharply from one interval to the next. Roll yield in dated futures is implied by the observed term structure and changes more smoothly unless the curve itself reprices.
How It Works in Practice
The practical design choices are mostly about alignment.
Contract pair choice
Front-second spreads are sensitive to short-end dislocations and inventory pressure. Front-back spreads measure a broader curve slope. Neither is automatically better; they represent different economic horizons.
Time normalization
Raw spreads across contracts with different maturities are not comparable. A \$1 spread over one month is not the same carry object as a \$1 spread over six months. Normalize by time-to-maturity or days between expiries before ranking across instruments.
Roll calendars
Your feature should reflect when the strategy actually rolls, not just the exchange expiry date. Using front-month quotes deep into the delivery window can produce artificial carry because you are measuring a contract the strategy would never hold.
Perpetual settlement clocks
Funding is paid on a clock, usually every 8 hours but not always. If the feature window ignores the exchange settlement times, it can mix pre- and post-funding states and blur what the signal means.
Worked Example
Suppose a commodity future and a crypto perpetual both look "rich."
Dated future
At time $t$:
- spot: $S_t = 100$
- front future expiring in 30 days: $F(t,T_1) = 102$
- second future expiring in 60 days: $F(t,T_2) = 103$
The annualized spot basis for the front contract is approximately
$$ \frac{\ln(102/100)}{30/365} \approx 24\%. $$
The long-side roll yield from front to second is
$$ \frac{\ln(102/103)}{30/365} \approx -12\%. $$
The future is rich to spot, but rolling a long from the front into the second still costs money because the curve is in contango. That says the curve is costly for a long to roll under current term-structure conditions; it does not say the long must lose money overall.
Perpetual
Now suppose a BTC perpetual trades slightly above spot and the exchange posts funding of $0.015\%$ every 8 hours, with positive funding meaning longs pay shorts.
If funding stayed constant, the crude annualized carry to a long would be roughly
$$ -3 \times 365 \times 0.00015 \approx -16.4\%. $$
But that number is fragile because funding is not locked in for a fixed maturity. It resets every settlement interval and can flip sign during stress. The better feature set is usually:
- current funding rate,
- short rolling average of funding,
- spot-perpetual basis,
- divergence between basis and funding.
Those quantities separate immediate price pressure from the exchange-imposed cost of maintaining the position.
Figure Specification
Use a two-panel figure:
- Left panel: spot, front, and deferred futures on the same curve, with arrows marking spot basis and front-second roll yield.
- Right panel: a 24-hour funding clock with settlement windows highlighted and a label for the current funding rate.
The visual goal is to show that dated-futures carry lives on the shape of a curve, while perpetual carry lives on a settlement clock.
Common Mistakes
WRONG: Treat spot basis, roll yield, and funding as synonyms.
CORRECT: They are related carry objects with different coordinates, horizons, and failure modes.
WRONG: Compare raw calendar spreads across contracts without maturity normalization.
CORRECT: Normalize by time-to-maturity or days between expiries before using the spread as a cross-sectional feature.
WRONG: Assume exchange expiry defines the relevant roll date.
CORRECT: Match the feature to the strategy's actual roll schedule and contract map.
WRONG: Call funding "crypto roll yield."
CORRECT: Funding is an exchange-set cash transfer designed to anchor the perpetual; it can move much faster and more erratically than dated-futures carry.
Connections
- Book chapters: Ch04 Fundamental and Alternative Data; Ch08 Financial Feature Engineering
- Related primers: futures data construction, implied financing and basis trades, cross-sectional ranking
- Why it matters next: carry signals, commodity term-structure features, and crypto-perpetual crowding indicators all depend on getting these coordinates and clocks right
Register to Read
Sign up for a free account to access all 61 primer articles.
Create Free AccountAlready have an account? Sign in