malkhut: urgency-driven maker/taker + calibrated slippage + chase + docs

This commit is contained in:
Codex
2026-07-17 10:16:55 +02:00
parent 5c4ccdb1de
commit 8857daedfa
9 changed files with 335 additions and 145 deletions

View File

@@ -661,6 +661,13 @@ class HftBacktestCWM:
if fq.filled and fq.post_fill_adverse_bps < 0:
fill_quality_reward += params.w_adverse_selection * fq.post_fill_adverse_bps
# ── URGENCY PENALTY: penalize taker at low urgency ──────────────
# The system learns: at low urgency, prefer maker. At high urgency, taker is OK.
urgency = prev_state.intent.urgency if prev_state.intent else 0.5
if is_cross and urgency < params.urgency_taker_threshold:
urgency_penalty = params.urgency_taker_penalty_bps * (1.0 - urgency / params.urgency_taker_threshold)
fill_quality_reward -= urgency_penalty
return base_reward + fill_quality_reward
def terminal(self, state: MarketWorldState, depth: int) -> bool: