f6d8d13146df16f8066f733c8911679d66cddfed
Risk gate (risk/gate.py) — 5 stubs implemented: 1. _kill_switch_active(): operator-controlled emergency stop via set_kill_switch() 2. _cancel_rate_would_exceed(): tracks cancel timestamps per symbol in 60s sliding window, blocks if >= MAX_CANCELS_PER_SYMBOL_PER_MINUTE 3. _would_self_trade(): checks open orders for same symbol+side at same price (within tick_size), skipping the cancel_order_id for CANCEL_REPLACE 4. _would_exceed_symbol_notional(): sums current open order notional + new order notional, blocks if > equity * MAX_SYMBOL_NOTIONAL_FRACTION 5. _violates_venue_minima(): checks tick alignment, lot rounding, min_qty, and min_notional — all float-robust comparisons ScenarioFactory — 3 remaining hardcoded scenarios converted: 1. _spread_tightening: spread_mult=0.3, depth_fraction=1.0 (was hardcoded BTC) 2. _cross_venue_arb: spread_mult=0.5, depth_fraction=0.5 (was hardcoded BTC) 3. _cross_exchange_arb_stress: spread_mult=0.8, depth_fraction=0.3 (was hardcoded BTC) All 30 scenarios now use _behavior_state() — zero hardcoded prices remain. 675 tests pass. Zero regressions.
Description
Sentiment analysis engine with ONNX FinBERT + LoRA adapters
Languages
Python
99.9%
Dockerfile
0.1%