malkhut: urgency-driven maker/taker + calibrated slippage + chase + docs
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user