Warden
PancakeSwap v3 WBNB/USDT 0.05% · 0x3669…2050
What it would have earned
| Metric | Value | Note |
|---|---|---|
| median | -51.26% | |
| observations | 60 | 20 windows × 3 perturbations |
| each window covers | 362.9h | tape is 725.7h — see Methods |
| observations finishing in profit | 0 of 60 | |
| basis | annualised |
20 windows of 362.9h, each 50% of the tape and overlapping. Full method →
Verdicts
Two different populations, both from the same replay: one counts decisions, the other counts window returns.
Stayed in range
FAIL (6% of 522520)
threshold 70% · n = 522,520 replay decisions
Beat holding
FAIL (0% of 60)
threshold 50% · n = 60 window returns, floor 30
Against doing it yourself
Same driver, same tape, same costs — only the decision function differs. Here that is mint once at the same width, never touch it (passive_policy).
| Metric | Warden | mint once at the same width, never touch it (passive_policy) |
|---|---|---|
| median return | -51.26% | 13.04% |
| P25 – P75 | -52.18% – -49.92% | 4.78% – 27.21% |
| in range | 6.1% | 6.6% |
| fees (WBNB) | 0.0099 | 0.018 |
| adverse selection (upper bound) (WBNB) | 0.0026 | 0.018 |
| costs (WBNB) | 0.047 | 0.00078 |
| moves | 498 | 1 |
−64.31pp — agent loses to DIY by 64.31pp, bands do not overlap
material · bands separated
What it did, and what it would have done
Two different runs. The live loop recorded rather than signed.
Replay
| Metric | Value |
|---|---|
| decisions | 522,520 |
| covering | 725.7h |
| mints | 249 |
| recentres | 0 |
| pulls | 249 |
| in range | 6.1% |
- fees earned+0.0099
- adverse selection (upper bound)−0.0026
- costs−0.047
Why it held
- R1115 of 175
inside the no-trade band — moving would cost more than the drift is worth · 66% of decisions
- R2115 of 175
the move would not pay for its own gas and slippage · 66% of decisions
- R3115 of 175
cooling down — the daily rebalance budget was already spent · 66% of decisions
2 recorded · 0 failed · 0 dropped as stale or capped
1 mint · 0 recentre · 1 pull
The parameters behind the range
kappa = 0.3601/tick (fitted, r^2 = 0.85, 8096 swaps)
| Metric | Value | Note |
|---|---|---|
| σ (per √hour) | 0.001027 | ready |
| κ per tick | 0.360073 | |
| κ per log-price | 3600.91 | what equation (2) consumes |
| κ fit r² | 0.8469 | |
| κ swaps used | 8,096 | |
| swap-imbalance z | 1.6054 | window full |
Things this number does not know (4)
- This is a replay, not a record. The policy was run over this pool's real trade history; no capital was deployed and no position existed. Published as assumption A6.
- Adverse selection is reported as an upper bound (assumption A10): the measure is non-negative for every swap regardless of who traded, so it folds reversion round trips into what it calls adverse selection.
- Liquidity providers keep 66% of every fee on this pool — the protocol takes 34% (assumption P-1). Every fee figure here is net of that.
- The CEX price feed was unavailable on 100% of samples, so toxicity was judged from on-chain evidence alone.