BL-SD-050: Funding Carry as a Class, Beta Neutral
BIJECTIVE LABS
BL-SD-050: Funding Carry as a Class, Beta Neutral
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-08
Venue: Bybit USDT perpetuals Programme: II Verdict: FALSIFIED Axis of death: Idea Transferability: UNIVERSAL
1. Identification
| Field | Value |
|---|---|
| Internal code | CAR-C |
| Family | Funding carry, cross-sectional dollar-neutral |
| Venue | Bybit USDT perpetuals |
| Programme | II |
| Pre-registered | None. This row carries a kill-ledger verdict drawn from a characterisation run rather than from a quota-consuming pre-registration |
| Verdict issued | 2026-08-03 |
| Predecessor | The carry leg of a prior directional cash-and-carry construction, whose kill decomposed to +15.2 bps of carry against -344.9 bps of price risk, which killed the directional leg without ever testing carry in isolation |
This row is recorded honestly as a departure from the programme's usual
procedure. No pre-registration was filed and no R-3 quota was consumed. The
held-out era on this substrate had already been opened for a different
hypothesis, H-X4, before carry was characterised at all, so no clean
out-of-sample slot remained to certify a fresh hypothesis. The verdict below
rests on the research-versus-held-out decomposition inside the
characterisation itself, which is the only division of the data this
substrate still had to offer.
2. Economic thesis
Funding is a contractual cash flow, paid periodically between long and short perpetual holders to keep the perpetual price anchored to spot. A dollar-neutral portfolio, long the lowest-funding names and short the highest, collects the funding differential without taking a net directional position, provided the funding differential is not simply compensation for the same price risk the position is meant to be neutral to.
Who is forced to lose, if the mechanism works as stated. Leveraged directional holders who must pay funding to maintain a crowded position. This is a transfer of risk, not a zero-sum bet against a faster counterparty: the payer values holding the position enough to pay for it, and the carry collector is compensated for taking the other side of that funding flow.
3. Falsifiable claim
No claim was pre-registered. The implicit claim tested by the characterisation protocol, applied consistently across research and held-out eras, is stated here as the standard this row is judged against:
Cross-sectional funding carry, held dollar-neutral, produces a net positive expectation after realistic execution cost, and that expectation survives into data the programme had not previously used for this question.
| Metric | Threshold | Decision if crossed |
|---|---|---|
| Net return, held-out era, CI95 | Interval excludes zero on the positive side | Would support the claim |
| Net return, held-out era, CI95 | Interval spans zero or excludes zero on the negative side | FALSIFIED |
| Inverse-volatility weighting versus equal weighting | Carry and price risk separate cleanly | Would support carry as a distinct extractable premium |
| Inverse-volatility weighting versus equal weighting | Carry co-moves with the volatility being downweighted | Falsifies carry as separable from price risk |
4. Mathematical specification
Notation per BL-D-011.
Ranking, at each rebalance t, across the tradeable universe:
rank_i(t) = cross-sectional rank of funding_i(t), the trailing funding rate
Construction, dollar-neutral, quintile 0.20, gross exposure 1.0:
w_i(t) = +1 / n_q for i in the lowest funding quintile (long)
w_i(t) = -1 / n_q for i in the highest funding quintile (short)
w_i(t) = 0 otherwise
Return decomposition, holding period H:
r_i(t, t+H) = carry_i(t, t+H) + price_i(t, t+H)
carry_i realised funding accrual over the holding period, signed by
position direction
price_i price return over the same window, unrelated to funding
Portfolio return:
R(t) = sum_i w_i(t) * r_i(t, t+H)
= CARRY(t) + PRICE(t) collapsed to one portfolio return
Cost: c_rt = 8.85 bps, measured hybrid round trip, applied once per
rebalance at holding period H = 24 hours
Inverse-volatility weighting variant, tested as a falsification probe:
w_i(t) proportional to 1 / sigma_i(t)(L) instead of equal weight,
sigma_i(t)(L) trailing realised volatility over L observations ending at tCausality holds: rank_i(t) and sigma_i(t)(L) use only trailing
observations at or before t. The decomposition into carry and price is
computed after the fact from realised accrual and realised price return over
the already-elapsed holding window, which is an accounting identity applied
to a return already realised, not a forecast.
5. Operating envelope
| Parameter | Value for this measurement |
|---|---|
| Round-trip cost assumed | 8.85 bps, measured hybrid execution round trip, BL-FM-002 section 3.3 |
| Execution channel | Hybrid, passive wait budget then cross, per the programme's measured execution-cost instrument |
| Latency band | Not the binding constraint at a 24-hour holding period |
| Measurement cadence | Daily rebalance at 24-hour holding period; 72-hour and 168-hour holding periods reported as robustness |
| Capital scale | Programme default, BL-FM-002 section 6 |
| Venue and instruments | Bybit USDT perpetuals, full funding-eligible universe |
| Data era | Research, 2022-01-01 to 2025-06-30, n=1,277 rebalance days; held-out B, 2025-07-01 onward, n=391 days |
6. Instrument
The carry characterisation instrument, a characterisation rather than a pre-registered hypothesis test. Three sequential runs were made: a base dispersion and persistence pass, a horizon extension, and an inverse- volatility weighting probe. Two mechanical predictions were written into the code before each run and both were falsified by their own results, which is recorded in section 13 as the most useful part of this measurement.
| Property | Value |
|---|---|
| Funding dispersion, median p90 minus p10 | 2.014 bps per settlement |
| Funding rank autocorrelation across 24 hours | +0.5144 |
| Research era n | 1,277 |
| Held-out B n | 391 |
7. Results
Carry and price decomposition, three eras, holding period 24 hours:
| Era | n | Carry | t | Price | t | Cost | Net | t |
|---|---|---|---|---|---|---|---|---|
| Research | 1,277 | +5.47 | +17.72 | +2.42 | +1.24 | 3.37 | +4.52 | +2.24 |
| Held-out B | 391 | +7.45 | +13.08 | -3.97 | -1.22 | 3.99 | -0.51 | -0.15 |
| Full sample | 1,775 | +6.15 | +22.44 | +1.29 | +0.75 | 3.54 | +3.90 | +2.19 |
The carry term itself is large, significant in every era, and larger in held-out data than in research, +5.47 to +7.45. It does not decay out of sample; it is a contractual cash flow, not a forecast. The price term is the opposite: not significant in either era, and its sign reverses, +2.42 to -3.97. In held-out data the price term alone consumes the entire carry collected plus the cost, leaving net indistinguishable from zero.
Holding-period extension, testing the pre-registered-in-code prediction that a longer horizon improves the result:
| H, hours | n | Carry per rebalance | Net | t |
|---|---|---|---|---|
| 24 | 1,775 | +6.15 | +3.90 | +2.19 |
| 72 | 591 | +14.68 | +11.08 | +2.13 |
| 168 | 253 | +27.79 | +5.88 | +0.45 |
The prediction was falsified. Standard error grows faster than the mean as the horizon lengthens, because sample size falls in proportion while the carry itself accrues sublinearly, since funding rank is mean-reverting at a 0.51 autocorrelation over 24 hours. The t-statistic declines rather than improves.
Inverse-volatility weighting, testing the pre-registered-in-code prediction that downweighting high-volatility names cuts noise more than it cuts carry:
| Mode | Carry | Price sd | Net | t | Carry per unit sd |
|---|---|---|---|---|---|
| Equal weight | +6.15 | 74.4 | +3.90 | +2.19 | 0.0827 |
| Inverse volatility | +5.40 | 72.3 | +2.99 | +1.71 | 0.0746 |
This prediction was also falsified, and more informatively. Carry fell 12 percent while price standard deviation fell only 2.8 percent. If carry were a cash flow separable from price risk, downweighting volatility should leave carry roughly intact while cutting noise; instead carry fell in near lockstep with the volatility being downweighted, which means the highest-funding names are also the highest-volatility names, and the funding differential is compensation for that same volatility rather than a distinct extractable premium.
8. Verdict, axis of death, and transferability
Verdict: FALSIFIED. Axis: idea. Transferability: UNIVERSAL.
Two independent pieces of evidence point at the same mechanism failure. The held-out decomposition shows the price-risk term, which this construction is supposed to have neutralised, instead swamping the carry collected: net in held-out data is -0.51 bps with a confidence interval spanning zero on both sides, driven entirely by an unhedged price component with a standard error of 3.9 bps per day against a carry-minus-cost edge of roughly 2.6 bps per day. Removing the cost term entirely and recomputing, held-out data still does not clear a t of 2 on the residual mean, which rules out a simple cost story.
The inverse-volatility probe explains why: carry on this construction is not
separable from the price risk it was meant to be hedged against. The names
paying the highest funding are the names carrying the highest volatility, so
"taking the carry only" is not an operation this construction can perform.
That is a mechanism-level finding, not a cost or capital finding, which is
why the axis is idea and the classification is UNIVERSAL rather than
ENVELOPE-BOUND. No fee schedule, execution channel, or capital scale
changes the fact that the risk being hedged and the compensation being
collected are the same risk.
9. Cost and capacity analysis
Net per rebalance, full sample, H=24h +3.90 bps
Net per rebalance, held-out B, H=24h -0.51 bps
Annualised, pooled, gross exposure 1.0 roughly +14 pct/year, Sharpe near 1.0
Held-out B annualised approximately flatCapacity was not measured; the mechanism did not clear the held-out test with enough margin to make capacity the relevant next question. The economics worth carrying forward are structural rather than a size limit: at a Sharpe near 1.0 on a dollar-neutral book, the standard error of the price-noise term over a full year (roughly 3.9 bps per day) exceeds the carry-minus-cost edge (roughly 2.6 bps per day), which means a full year can plausibly print flat or negative even when the underlying expectation is positive. That is exactly what the held-out era produced.
10. Envelope sensitivity and reopening conditions
No binding parameter exists to name, because the finding is a mechanism inseparability, not a magnitude shortfall.
Reversal condition: none computable at the level of cost or capital.Setting the round-trip cost to zero does not rescue this row. Held-out carry minus price, with no cost term at all, is +7.45 - 3.97 = +3.48 bps against a standard error of 3.38, a t-statistic near 1.0, still short of significance. The finding is not that cost erased a real edge; it is that the price-noise component the construction was supposed to neutralise did not neutralise, and the inverse-volatility test shows why it structurally cannot on this substrate.
What would reopen it: a hedge construction that separates funding-rate
extremity from volatility more effectively than a rank-based quintile split,
demonstrated on data this substrate has not yet used for the question,
because both held-out eras on this substrate have now been opened, one for
H-X4 and the price-risk decomposition in this row for carry.
What would not reopen it: a longer holding period. That was tested directly and the result moved in the wrong direction, from t=2.19 at 24 hours to t=0.45 at 168 hours, for reasons intrinsic to sample size and funding mean-reversion rather than to execution cost.
11. Reference implementation
Published as 05_INSTRUMENTS/strategies/python/src/carry_characterisation.py, with 23 tests. It is a
characterisation tool, not a hypothesis-test instrument, and the published
version preserves that distinction rather than retrofitting a pre-registration
structure that was never applied.
Carry and price are returned as separate series and never only as their sum. This row's finding is a research-era t of +17.72 that fell to +13.08 out of sample and a net of +4.5 that became -0.5 held out, and a single net series cannot show which component moved.
Publishing it found the same documentation error already recorded against the fragility layer, in a second file. The inverse-volatility rank weighting was described as a two-to-one range between the heaviest and lightest name in a leg; the construction gives exactly three to one. Two files carrying one wrong comment is what a copied comment looks like. The arithmetic is unchanged and a test pins the ratio.
12. Evidence register
| ID | Artifact | Carries |
|---|---|---|
E-0003 | Base dispersion, persistence, and carry-versus-price decomposition | Section 7 first table, sections A through C of the source run |
E-0004 | Same run, extended with the holding-period grid | Section 7 second table |
E-0005 | Same run, extended with the inverse-volatility weighting probe and annualised economics | Section 7 third table, section 9 annualised figures |
13. Lessons extracted
This row records its own procedural irregularity rather than concealing it.
It carries a FALSIFIED verdict without a pre-registration, because the
substrate's held-out capacity had already been spent on a different question
by the time carry was characterised, and the programme's own rule against
turning a characterisation into a decision was, in substance, set aside here.
The justification offered in the source material is that no clean
out-of-sample test remained to be run properly, so the research-versus-held-
out split already embedded in the characterisation protocol was the most
rigorous division of the data available, and it happened to be decisive. A
reader should treat this row as carrying slightly less procedural weight than
a formally pre-registered falsification, even though the arithmetic behind
it is not in question.
The substantive lesson is sharper than the procedural one. Two specific, falsifiable predictions were written into the code before either run, and both were wrong. A longer holding period was predicted to improve the result and instead degraded it, because sample size fell faster than the carry accrued. Inverse-volatility weighting was predicted to cut noise faster than carry and instead cut both in proportion, revealing that carry on this substrate is compensation for the same volatility that shows up as uncontrolled price risk, not a separate cash flow riding alongside it. The programme had eighteen prior hypotheses staking a directional bet against an already-arbitraged zero-sum game; this is the first to test a genuine risk- transfer thesis, and it failed for a structural reason rather than a cost reason, which is worth more to the record than a nineteenth directional failure would have been.
14. Cross-references
BL-P2-001 for the six-doors enumeration this row sits alongside as an
unlisted seventh route. BL-D-005 for the idea-axis and UNIVERSAL
classification criteria applied in section 8. BL-SD-051 for the sibling
characterisation that shares this row's methodological caveat about held-out
exhaustion. Ledger row CAR-C.
Copyright (c) 2026 Bijective Labs. All rights reserved.