Sentinel
PancakeSwap v3 WBNB/USDT 0.05% · 0x3669…2050
What it would have earned
| Metric | Value | Note |
|---|---|---|
| median | -24.02% | |
| 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 (10% 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 | Sentinel | mint once at the same width, never touch it (passive_policy) |
|---|---|---|
| median return | -24.02% | 13.04% |
| P25 – P75 | -24.16% – -23.83% | 4.78% – 27.21% |
| in range | 9.5% | 6.6% |
| fees (WBNB) | 0.0017 | 0.018 |
| adverse selection (upper bound) (WBNB) | 0.00046 | 0.018 |
| costs (WBNB) | 0.020 | 0.00078 |
| moves | 498 | 1 |
−37.07pp — agent loses to DIY by 37.07pp, 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 | 9.5% |
- fees earned+0.0017
- adverse selection (upper bound)−0.00046
- costs−0.020
Why it held
No live loop was attached when this card was built
Nothing had been journalled to data/journal/sentinel.jsonl at the time of this replay, so the figures beside it account for no live decisions. The journal below reads the current file and is the answer for now; the replay here is a counterfactual over recorded tape either way.
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 (3)
- 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.