Codex
4926ef6788
malkhut: CHASE mechanics FIXED + Flight9 learnings + TTL enforcement
...
1. CHASE mechanics (NOW WORKING):
- CWM enforces TTL on open orders (auto-cancel when expired)
- DSL CHASE produces PLACE with metadata={chase: True}
- Action menu generates chase actions with wait_to_retry_ms TTL
- OpenOrderState.gains ttl_ms field (0=no expiry, >0=auto-cancel)
2. TTL enforcement (CWM):
- HftBacktestCWM: auto-cancels orders where age >= ttl_ms
- MinimalCryptoLOBCWM: same TTL enforcement
- This is how CHASE works: place→wait→auto-cancel→next step re-places
3. Flight9 learnings:
- Slippage model gains trade_flow_intensity parameter
- Book imbalance as proxy for trade arrival rate
- Markout = quality concept documented
4. CHASE tests: 10 new tests covering TTL enforcement, cancel-retry cycle,
max retries, DSL CHASE action, CMA codec integration
5. All 800+ tests pass
2026-07-17 19:30:17 +02:00
Codex
d24d9bc6bd
malkhut(wire): OrderType as three orthogonal dimensions — Fable's corrections
...
CRITICAL REFACTOR based on Fable's review (S9 roadmap item):
Before: flat enum conflating order types with TIF/instructions
OrderType had MARKET, LIMIT, IOC, FOK, POST_ONLY, REDUCE_ONLY, etc.
After: three orthogonal dimensions (FIX-aligned):
1. OrderType (Tag 40): what the order IS
LIMIT, MARKET, STOP_MARKET, STOP_LIMIT, TRIGGER_MARKET, TRIGGER_LIMIT,
TRAILING_STOP, OCO, TP_SL
2. TimeInForce (Tag 59): how long it LIVES
GTC, IOC, FOK, GTD
3. Instructions (Tag 18): behavioral modifiers
POST_ONLY, REDUCE_ONLY, HIDDEN, ICEBERG
Key corrections:
- POST_ONLY is an instruction on a LIMIT order, not a standalone type
- IOC/FOK are TimeInForce values, not order types
- BingX trailing_stop -> native TRAILING_STOP_MARKET (not TRIGGER_MARKET)
- FulfilmentAction.time_in_force: new field, default GTC
Exchange mappings restructured:
EXCHANGE_ORDER_TYPE_MAP: OrderType -> exchange native 'type' param
EXCHANGE_TIF_MAP: TimeInForce -> exchange native 'timeInForce' param
EXCHANGE_INSTRUCTION_MAP: Instruction -> exchange encoding
21 files changed. 380+ tests pass. Backward compatible.
2026-07-14 14:46:44 +02:00
Codex
863a4cc8c9
malkhut(T4): Strategy DSL v2 + generator + supporting modules
...
Strategy DSL v2 (dsl.py): 40+ action primitives, 40+ market sensors,
12 comparison operators, 16 builtins, full parser.
Strategy Generator (generator.py): genetic programming evolution —
crossover, mutation, tournament selection, pool management.
Supporting: discrepancy tracking, execution quality, hooks, feature
importance, observability, parallel eval, auto-rollback, stress testing,
structured observations, trajectory recording.
2026-07-11 10:28:38 +02:00