feat: proper Grid MM, Composite MM, Hurst/VPIN, Iceberg, A-S strategies
New strategies (strategies/nt/):
- GridMMNT: symmetric limit order grid around mid-price, captures spread from
oscillation. Simulates fills from candle high/low. Rebuilds grid every 20 bars.
- CompositeMMNT: weighted ensemble of OBI (30%) + A-S inventory skew (40%) +
Hurst/VPIN (30%). Votes: +1 long, -1 short, 0 neutral. Entry |score| > 0.5.
- IcebergNT: volume spike detection for whale accumulation. Dual-mode:
candle proxy (volume > avg*2.5, >= 3 consecutive same-direction) and
L2 wall detection (single level > avg*3). Exit on stop-loss/time/spike-fade.
Fixed strategies:
- Hurst/VPIN VBT: added proper VPIN proxy from candle volume (buy_vol when close
> open, sell_vol when close < open). 50-bar rolling VPIN window. Signal:
H>0.55 AND VPIN>0.25 AND |direction|>0.05. Exit: H<0.45 or direction flips.
- Hurst/VPIN paper trader: added HurstVPINLive integration (was missing entirely)
- A-S VBT: replaced placeholder spread filter with proper A-S simulation using
reservation price formula (mid - q*gamma*sigma^2*tau), inventory tracking
- A-S NT formula: fixed to standard: mid - q*gamma*sigma^2*tau (was scaled by
notional and gamma_scale improperly)
- Iceberg VBT: new volume spike detection replacing the old trend proxy
Registry: all 7 strategies now ✅ (pairs, hurst_vpin, as_mm, obi, grid_mm,
composite_mm, iceberg)
VBT backtest results (500 BTC 1h bars):
pairs: -2.81% 13 trades 38% win
hurst_vpin: -0.77% 1 trade (VPIN now active, very selective)
as_mm: -16.38% 73 trades 29% win
obi: -7.19% 15 trades 7% win
grid_mm: -4.79% 22 trades 33% win
iceberg: 0 trades (threshold strict for 1h BTC data)
This commit is contained in:
@@ -47,6 +47,21 @@ STRATEGY_REGISTRY = {
|
||||
"description": "Volume-weighted bid/ask skew — enters when L2 imbalance heavy",
|
||||
"class": "strategies.nt.obi_nt.OBINT",
|
||||
},
|
||||
"grid_mm": {
|
||||
"name": "Grid Market Making",
|
||||
"description": "Symmetric grid of limit orders around mid — captures oscillation",
|
||||
"class": "strategies.nt.grid_mm_nt.GridMMNT",
|
||||
},
|
||||
"composite_mm": {
|
||||
"name": "Composite Market Making",
|
||||
"description": "Weighted ensemble of OBI + A-S + Hurst/VPIN signals",
|
||||
"class": "strategies.nt.composite_mm_nt.CompositeMMNT",
|
||||
},
|
||||
"iceberg": {
|
||||
"name": "Iceberg Detection",
|
||||
"description": "Volume spike detection — follows whale accumulation patterns",
|
||||
"class": "strategies.nt.iceberg_nt.IcebergNT",
|
||||
},
|
||||
"funding_arb": {
|
||||
"name": "Funding Rate Arb",
|
||||
"description": "Delta-neutral carry — collect funding payments",
|
||||
|
||||
Reference in New Issue
Block a user