malkhut(fix): CORRECT FEE BUG — taker 0.5→5.0, maker -0.2→+2.0

Fable's spec (SPEC_MALKHUT_ACTUALS_INTAKE.md) confirmed 10x fee error
from our own fills (dolphin.trade_execution_quality).

Fixed:
- BingX taker: 0.5 → 5.0 bps
- BingX maker: -0.2 → +2.0 bps (POSITIVE on BingX, not a rebate)
- Binance taker: 0.4 → 4.5 bps
- Bybit taker: 0.06 → 5.5 bps
- All 13 per-asset profiles: maker=-0.2 taker=0.5 → maker=2.0 taker=5.0

Source of truth: dolphin.trade_execution_quality (8006 rows, avg taker=5.016 bps).
Every policy trained before this fix was at 10x too-cheap fees.
Re-measurement at correct fees is required.
This commit is contained in:
Codex
2026-07-13 20:26:53 +02:00
parent ab061e2c88
commit 5523be1d44
2 changed files with 22 additions and 22 deletions

View File

@@ -297,8 +297,8 @@ class TestBTCProfile:
def test_fees(self):
p = get_asset_profile("BTCUSDT")
assert p.maker_fee_bps == -0.2
assert p.taker_fee_bps == 0.5
assert p.maker_fee_bps == 2.0
assert p.taker_fee_bps == 5.0
def test_orderbook(self):
p = get_asset_profile("BTCUSDT")
@@ -455,8 +455,8 @@ class TestBNBProfile:
def test_lower_fees(self):
p = get_asset_profile("BNBUSDT")
assert p.maker_fee_bps == -0.1
assert p.taker_fee_bps == 0.4
assert p.maker_fee_bps == 2.0
assert p.taker_fee_bps == 5.0
def test_is_gas(self):
assert get_asset_profile("BNBUSDT").is_gas_token
@@ -738,8 +738,8 @@ class TestProfileFieldValidation:
def test_fee_bps_reasonable(self):
for p in ASSET_PROFILES.values():
assert -1.0 <= p.maker_fee_bps <= 1.0
assert 0.0 <= p.taker_fee_bps <= 2.0
assert 0.0 <= p.maker_fee_bps <= 10.0
assert 0.0 <= p.taker_fee_bps <= 10.0
assert p.taker_fee_bps >= p.maker_fee_bps
def test_depth_usd_positive(self):