Adaptive Carry

Adaptive Carry is a Maturity-aware funding algorithm and Stratum's recommended default for most users. It is the self-tuning member of the carry family: it decides how long to lend by reading where the current rate sits in that market's own recent range, so one setup adapts to different markets instead of relying on a fixed threshold that is right for one and wrong for another.

Like every Stratum algorithm, it runs on its bucket's slice of capital and returns the offers it wants to rest — the same code path runs in live ticks and in backtests. It is rated Expert tier. Before you read on, it helps to understand the broader strategy catalog and how Stratum places offers.

1. What it does

Adaptive Carry keeps capital deployed and chooses the loan length from the rate regime:

  • Rate is high for this market — it locks into a long loan to capture the elevated rate.
  • Rate is low for this market — it stays in short, fast-returning loans so cash comes back quickly to re-lend.
  • Rate is in between — it lends at a mid-length loan.

The difference from a fixed-threshold carry strategy is how "high" and "low" are judged: against the rate's own recent distribution rather than a fixed percentage over a moving average.

2. How the self-tuning gate works

Adaptive Carry compares the current rate to its position in a trailing window of recent rates (about the last 60 days). It measures where today's rate falls on a 0–100 scale of that window — 0 being the lowest recent rate, 100 the highest — and uses that percentile to pick the regime.

  • In a spiky market, the rate's recent range is wide, so the lock threshold effectively sits high — it only locks long on genuine spikes.
  • In a steady market, the range is narrow, so the same threshold sits low — it locks more readily.

That is the point of "adaptive": one parameter set demands more in a spiky market and less in a steady one, instead of a single fixed number being wrong for one of them.

When the trailing window is too thin to be meaningful (fewer than 10 recent samples — typically a brand-new market), it falls back to a simpler rule that compares the current rate to its recent average rather than to a percentile.

3. Reinvestment-aware long locks

When the gate says "lock long," Adaptive Carry does not just grab the highest displayed rate. It scores each eligible long loan length by the excess it pays over staying liquid and rolling short, weighted by how long you would realistically hold it and by how much you could actually lend at that length.

This matters because borrowers on Bitfinex frequently repay early, so a long lock is rarely held for its full nominal term — a 120-day loan is, on average, held for far less. Scoring by excess-over-rolling-short times expected hold time avoids over-rewarding a long tenor that barely beats simply staying short. When no live per-tenor funding curve is available (a cold start, or some backtests), curve-aware behavior falls back to lending at the platform's average funding rate (FRR).

4. The adaptive rate floor

Adaptive Carry also applies a rate floor: it refuses to lend below a chosen percentile of the recent-rate window, leaving the offer to rest until the rate rises to meet it. This behaves like a regime-aware limit order — the floor automatically rises in hot regimes and lowers in calm ones.

The shipped default floor is the 96th percentile of the recent range (set the floor to 0 to turn it off). The tradeoff is direct: the floor can leave a little cash idle in calm markets — the price of waiting for better rates rather than lending cheap.

5. When to choose it

  • You want one setup that works across different markets without hand-tuning.
  • You are comfortable with capital occasionally resting (the floor) in exchange for not lending at low rates.

Its tradeoffs: hand-tuning a fixed-threshold carry strategy can edge Adaptive Carry on one specific market, but Adaptive Carry is built to win when you run a single setup everywhere. It also needs some rate history to learn from — on a brand-new market it uses the simpler average-based rule until enough data accumulates.

6. Parameters and defaults

These are the editable parameters and their tuned defaults:

  • lockPercentile (default 30) — how high the rate must be, on the 0–100 scale of this market's recent range, before it locks long. Lower locks more eagerly; higher waits for unusually high rates.
  • shortPercentile (default 0) — how low the rate must be before it keeps money in short, liquid loans. 0 leaves this to the floor.
  • floorPercentile (default 96) — minimum-rate floor on the same 0–100 scale; 0 turns it off.
  • shortPeriod (default 2 days) — loan length used when staying liquid.
  • midPeriod (default 30 days) — loan length used when the rate is in between.
  • longMinPeriod (default 60 days) — the shortest loan length counted as a long lock; when the rate is high it picks the best-paying length at least this long.

Its return profile is rated High and its liquidity profile Medium relative to the other strategies in the catalog.

7. Backtests are modeled, not a guarantee

Stratum backtests every strategy — including Adaptive Carry — against real historical Bitfinex funding data using the exact same algorithm code that runs live. Those backtests are deliberately optimistic: they assume your offers fill at full size and ignore order-book depth and market impact, so modeled returns sit above what you should expect in practice.

Treat any backtested figure as modeled, not guaranteed. Past performance does not predict future results. You are lending to margin traders and bear the credit risk of Bitfinex's collateral system; Stratum does not guarantee returns. You can explore modeled outcomes for your own capital in the calculator.

8. Next steps