BL-SD-021: Funding Settlement Flow
BIJECTIVE LABS
BL-SD-021: Funding Settlement Flow
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-08
Venue: Bybit Programme: I Verdict: FALSIFIED Axis of death: Idea Transferability: UNIVERSAL
1. Identification
| Field | Value |
|---|---|
| Internal code | B2 |
| Family | Funding-settlement calendar flow, event study |
| Venue | Bybit USDT perpetuals |
| Programme | I |
| Pre-registered | 2026-07-06, design; screen run 2026-07-07 |
| Verdict issued | 2026-07-07, 17:07 UTC |
| Pre-registration document | The pre-registration, design section for B2, dated 2026-07-06 |
| Verdict document | The dated verdict report, the screen's output record dated 2026-07-07 |
| Predecessor | Not a direct successor to any prior entry. The design record distinguishes it explicitly from the failed cross-sectional funding carry family: carry holds a position for days against the prevailing trend to collect a rate, while this design holds only around the settlement window and trades in the direction of normalisation rather than against it |
Designed and run as a screen rather than as a strategy build: the pre-registered purpose was to answer, at near-zero cost, whether the question was worth building code for at all. It was run once, offline, against public data, before a single line of strategy code existed.
2. Economic thesis
Funding is settled against the position held at a fixed snapshot time, typically every eight hours, and the rate for that settlement is knowable in advance. On a symbol where the predicted rate is extreme, the side obligated to pay has a mechanical incentive to reduce or close its position ahead of the snapshot and to reopen afterward, while the side receiving payment has an incentive to hold through it. If enough participants act on that incentive, the approach to settlement should show one-directional pressure from the paying side moving away from its position, and the period after settlement should show a partial normalisation as reopening flow returns.
Who is structurally forced to lose. Two related but distinct participants. The funding-avoider, who pays a taker fee and crosses the spread, a cost on the order of several basis points, specifically to dodge a funding payment that may turn out smaller than the cost of avoiding it. And the participant who reopens into the post-settlement window, absorbing whatever price impact the avoidance flow left behind. Both act on a schedule fixed by the venue rather than on private information, which is what makes the flow calendar-driven rather than informed.
3. Falsifiable claim
Pre-registered in the design specification, locked before the screen was run:
On symbols where the absolute predicted funding rate sits in the top tercile of that symbol's own funding-rate history, price moves against the paying side in the window before settlement and normalises in the paying side's favour in the window after, with a median magnitude at least three times the round-trip taker cost, and the treatment median exceeds the 95th percentile of a bootstrap null built from the same symbol's lowest-tercile settlements. Evaluated as two separate legs, pre-settlement and post-settlement, each against its own pass bar.
| Metric | Threshold | Decision if crossed |
|---|---|---|
| Sample, per leg | below 300 treatment events | Leg not evaluable |
| Median move, per leg | below 33.0 bps, three times the 11.0 bps round-trip taker cost | FAIL |
| Median move vs bootstrap null, per leg | at or below the null's 95th percentile | FAIL |
| Either leg passes both bars | at least one leg PASS | Screen ALIVE, proceed to walk-forward |
| Both legs fail | both legs FAIL | B2 DEAD, no strategy code built |
4. Mathematical specification
Notation per BL-D-011. fr denotes the realised funding rate at a settlement,
Bybit convention: fr > 0 means the long side pays the short side.
Per-symbol tercile thresholds, from that symbol's own funding-rate history
observable at or before the settlement under test:
(q33, q67) = tercile thresholds of { |fr_k| : k in symbol's settlement history }
Treatment / control assignment, per settlement event k at symbol i:
treatment_i if |fr_{i,k}| >= q67_i
control_i if |fr_{i,k}| <= q33_i
Directional move, pre-settlement leg, using 5-minute close prices at or before
the settlement timestamp T:
d_pre(k) = -sign(fr_k) * ( c_T - c_{T-30m} ) / c_{T-30m} * 1e4
Directional move, post-settlement leg, using 5-minute closes at or after T:
d_post(k) = +sign(fr_k) * ( c_{T+30m} - c_T ) / c_T * 1e4
Event exclusion (no fabrication): an event is dropped, not imputed, if any of
c_{T-30m}, c_T, or c_{T+30m} is missing from the bar series, or if fr_k = 0.
Per-leg verdict, treatment array X and control array Y, bootstrap resample
count B = 1000, fixed seed:
med_t = median(X)
boot_meds = { median( resample(Y, size = |X|) ) : b = 1 .. B }
q95_null = 95th percentile of boot_meds
PASS iff |X| >= 300 AND med_t >= 3 * c_rt AND med_t > q95_null
Cost:
c_rt = 11.0 bps, taker-to-taker round trip, non-VIP tier 0Causality holds by construction. d_pre(k) uses only bars at or before the
settlement timestamp; d_post(k) uses only bars at or after it. The tercile
thresholds are estimated on each symbol's own historical settlement record and
applied to classify that same symbol's events, which is a within-symbol
partition rather than a forward-looking parameter fit. The control group is not
an arbitrary quiet period: because the settlement hour repeats daily, the
correctly matched null is the same settlement hour on the same symbol under a
low-extremity funding rate, not an hour with no settlement at all, and the
specification is written that way deliberately.
5. Operating envelope
| Parameter | Value for this measurement |
|---|---|
| Round-trip cost assumed | 11.0 bps, taker to taker, venue tier 0 |
| Execution channel | Not executed; screen is a price-only event study against public bars, no order placed |
| Latency band | Not applicable; the screen runs entirely offline against historical public data |
| Measurement cadence | 5-minute OHLCV closes, funding-rate history per settlement |
| Capital scale | Not applicable; screen carries no position sizing |
| Venue and instruments | Bybit USDT linear perpetuals, top 40 symbols by quote volume, liquidity floor 20,000,000 USD |
| Data era | Full available funding-rate history per symbol at run time, 2026-07-07, approximately 200 settlements per symbol, roughly 66 days |
The screen was deliberately built to cost nothing beyond one offline run: it touches no live system, places no order, and was explicitly scoped as tier-zero work permitted without disturbing the runway committed elsewhere.
6. Instrument
The settlement screen instrument, carrying 7 unit tests, pulling public funding-rate history and 5-minute OHLCV through the exchange's public API.
| Property | Value |
|---|---|
| Universe construction | Top 40 USDT linear perpetuals by quote volume, floor 20,000,000 USD, symbols with fewer than 30 recorded settlements excluded |
| Inference | Bootstrap resample of the matched control group, 1,000 resamples, fixed seed for reproducibility |
| Total settlement events pulled | 6,996 |
| Events skipped for a missing bar | 503, reported rather than imputed as zero |
| Treatment events, both legs | 4,033, roughly 13 times the pre-registered floor of 300 |
| Control events, both legs | 1,787 |
The 503 skipped events are reported explicitly in the output record rather than silently dropped or filled, consistent with the programme's no-silent-caps convention: a missing bar is a missing observation, not a zero return.
7. Results
| Arm | n | Median (bps) | Win rate | Null q95 (bps) | Threshold | Result |
|---|---|---|---|---|---|---|
| Pre-settlement leg | 4,033 | -3.39 | 45.9 pct | 0.0 | median at or above +33.0 and above null q95 | FAIL |
| Post-settlement leg | 4,033 | -1.44 | 48.0 pct | 0.0 | median at or above +33.0 and above null q95 | FAIL |
Both legs are not merely short of the pass bar; both carry the wrong sign. The pre-settlement leg predicts the paying side should be pushed away from its position, which would register as a positive median under the sign convention in section 4, and instead reads negative. The post-settlement leg predicts a normalisation in the paying side's favour, and it too reads negative. Win rate sits below chance on both legs, at 45.9 and 48.0 percent respectively, against a directional hypothesis that predicts better than even odds if the mechanism were operating.
Control group size, 1,787 events, comfortably supports the 1,000-resample bootstrap used to build the null on both legs.
8. Verdict, axis of death, and transferability
Verdict: FALSIFIED. Axis: idea. Transferability: UNIVERSAL.
The sample is well powered, at roughly thirteen times the pre-registered floor on both legs, so this is not a power finding dressed as a mechanism finding. The result is not merely a failure to clear the 33 basis point bar; it is a failure of direction. Both legs read negative against a hypothesis that predicted a positive move on each, and both null comparisons resolve against the treatment rather than for it.
The reading this supports is that behaviour around a Bybit funding settlement is continuation, not avoidance-then-reversal. Participants holding a side that is about to pay an extreme funding rate do not, on this evidence, exit ahead of the snapshot in enough volume to move price against themselves, and the period after settlement does not show the reopening flow the thesis predicted either. The funding calendar is real and the rate extremes are real; what the screen falsifies is the claim that the calendar produces tradeable one-directional flow at the 30-minute band tested.
BL-D-002 section 4's test, would this be positive under arbitrarily
favourable envelope parameters, resolves to no. Zeroing the 11.0 basis point
round trip does not rescue a median that is negative in sign on both legs; the
finding does not depend on the cost assumption at all, which is what places the
axis at idea rather than at cost and the transferability at UNIVERSAL rather
than envelope-bound.
9. Cost and capacity analysis
The round-trip cost assumed, 11.0 basis points, plays no role in the outcome because both legs failed on sign before the cost bar was ever reached. No capacity analysis was performed, because the screen stage precedes any position sizing or execution model by design; a screen that fails does not proceed to the stage where capacity would be measured.
10. Envelope sensitivity and reopening conditions
No binding parameter exists to name, because the finding does not depend on cost, tercile threshold, or window width in a way a substitution would reverse.
Reversal condition: none computable.The median move on both legs is negative in sign relative to the hypothesis.
No round-trip cost figure changes a negative median into a passing positive
one; the 33 basis point bar is a magnitude test that a correctly signed result
would need to clear, and this result does not reach the sign test that
precedes it. BL-D-002 section 5's reversal arithmetic has no denominator to
report here: there is no cost level at which a wrong-signed median becomes
correctly signed.
What would reopen it: a mechanism distinct from the one tested. The design record's own framing was that this thesis reads a venue-scheduled incentive calendar rather than predicting price, and that framing survives the falsification; what does not survive is the specific claim that the calendar produces avoidance-then-reversal at the 30-minute band. A different window, a different conditioning variable such as open interest concentration ahead of settlement, or a different definition of extreme funding would each constitute a genuinely new hypothesis requiring its own pre-registration, not a resuscitation of this one.
What would not reopen it: a cheaper fee tier or a wider round-trip cost allowance. The result does not reach the cost comparison.
11. Reference implementation
Published as 05_INSTRUMENTS/strategies/python/src/settlement_flow.py, with
26 tests. Its scope, an offline event study with no live execution path, kept
it simple enough that the published version matches the version that produced
the verdict.
Three properties of the screen are pinned rather than described, because each one decides whether the comparison means anything.
Both legs are signed so that a positive number means the hypothesis was right. The pre-leg is signed against the funding rate, since a positive rate means longs pay and the crowded side unwinding pushes price down before the stamp; the post-leg is signed with it, since the same positions reopening pushes it back. That is what allows one bar to be applied to both, and inverting either sign would turn a failure into a pass.
The control is the bottom tercile of each symbol's own funding magnitude, not a pooled threshold. Funding magnitude differs by an order of magnitude across instruments, so an absolute threshold would put one or two symbols in treatment and the rest in control, and the comparison would be between symbols rather than between funding states. The middle tercile is discarded, which costs a third of the sample and buys separation: a control drawn from just below the treatment boundary is barely a control.
The null is bootstrapped from the control at the treatment's own sample size. Without that, a larger control produces a tighter null and the comparison flatters the treatment for a reason unconnected to the hypothesis. A test pins the property directly: the null width tracks the treatment size and not the control size.
One defect was found and fixed while publishing, and it moved no verdict. The empty-control path returned NaN where it intended infinity: the source built a one-element array holding infinity and took its 95th percentile, which numpy answers with NaN and a runtime warning. The leg still failed, because a median compared against NaN is False either way. What was wrong was the number reported beside it, since a null shown as missing and a null shown as unbounded say different things about why a leg failed. Both legs in this row had controls, so nothing here changes.
12. Evidence register
| ID | Artifact | Carries |
|---|---|---|
| - | The screen's output record, dated 2026-07-07 | The official screen output: per-leg sample size, median, win rate, null 95th percentile, pass bar, and the DEAD verdict reported in sections 7 and 8. Not yet assigned an evidence identifier in BL-A-001 |
| - | The settlement screen instrument | The instrument itself, including the tercile assignment, directional move computation, and bootstrap null construction reproduced in section 4 |
13. Lessons extracted
This entry is the working example of a screen doing its job at the cost it was designed to cost: one offline run against public data, zero strategy code written, and a clean kill delivered before any live system was touched. The design record's own framing of the result treats the negative finding as a deliverable in its own right, and this dossier preserves that framing: the programme now knows that the Bybit funding calendar does not produce a tradeable one-directional flow in the thirty-minute band around settlement, which closes off a line of inquiry the cross-sectional funding-carry family had already suggested was unpromising from a different angle, and does so independently rather than by extension.
No rule in the Rules Register traces to this entry specifically; the no-silent-caps handling of the 503 skipped events applies an existing convention rather than producing a new one.
14. Cross-references
BL-D-002 sections 4 and 5 on the reversal-point test applied, and not
reachable, in section 10. BL-D-011 for the notation and causality constraint
used in section 4. BL-D-004 section 5 on verdict vocabulary. Ledger row B2.
Copyright (c) 2026 Bijective Labs. All rights reserved.