Codex
|
97a770da65
|
malkhut: online EWMA self-calibrating slippage model
Flight7 model underestimates by 80% in CWM dynamic book:
raw predicted: 0.034 bps, actual: 0.180 bps
Constant error across 22K episodes — no feedback loop.
Root cause: Flight7 calibrated on real BingX taker fills, but CWM's
synthetic dynamic book has different fill characteristics.
Fix: SlippageSelfCalibrator with EWMA feedback loop.
After each fill: error = actual - predicted (clipped to +/-20 bps)
EWMA smooths per-symbol errors (alpha=0.2)
Next prediction = raw_model + EWMA_correction
Bounded output: 0-50 bps absolute
Convergence (300 eps across 8 assets):
ETH: 9% error (from 80%)
SOL: 3.5%
DOGE: 6.7%
LINK: 5.7%
ADA: 9.7%
BTC: 48.6% (low fill count, converging)
AVAX: 28.6% (low fill count)
UNI: 52.5% (low fill count, early outlier)
Truthfulness guarantees:
- Correction is observable (CALIBRATOR.correction(symbol))
- Resets between runs (no hidden state)
- Only uses observed fills, no assumptions
- Error clipping prevents outlier domination
- Absolute bounds prevent runaway
|
2026-07-20 15:17:16 +02:00 |
|
Codex
|
bb229833d3
|
malkhut: Flight9 learnings — markout=quality, queue×flow, depth-for-size
Fable's Flight9/BLUE generalizable features incorporated:
1. Slippage model gains trade_flow_intensity parameter:
- Estimated from book imbalance (proxy for trade arrivals)
- More flow → better fills (lower slippage)
- Fable: 'fill = queue position × trade-flow intensity'
2. Markout = quality concept documented:
- Score fills by post-fill markout, not just fill/no-fill
- Maker fills are adversely selected
3. Depth-for-size documented:
- Spread lies; key on depth-within-K-bps vs order notional
4. Measured fees:
- BingX maker=2.00bp, taker=5.016bp (over 1,455 fills)
- BingX commission = NEGATIVE (debit)
5. OB study updated with Flight9 learnings
|
2026-07-17 16:18:43 +02:00 |
|