Files
arbitrade/CHANGELOG.md
T
zwitschi 93f4f62d42 feat: Implement idempotency and recovery mechanisms for order execution
- Add IdempotencyKeyFactory for generating unique user references based on execution legs.
- Introduce OrderReconciler to reconcile order statuses with historical data.
- Implement PartialFillRecovery to handle partial fills by canceling orders and placing hedges.
- Create TriangularExecutionSequencer for executing triangular arbitrage strategies.
- Enhance storage with new tables for trades, orders, and PnL events.
- Develop AsyncExecutionWriter for asynchronous writing of execution records to the database.
- Add unit tests for execution persistence, sequencer behavior, fill monitoring, and idempotency checks.
- Update KrakenRestClient to ensure proper payloads for order placement and querying.
2026-06-01 11:59:13 +02:00

1.1 KiB

[Unreleased] - 2026-06-01

Added

  • Added stop-condition risk controls for abnormal source/apply latency and repeated execution failures.
  • Added a new stop-conditions guard and integration in market feed processing.

Changed

  • Live execution path now auto-activates the kill switch when configured stop conditions are breached.
  • Added configuration env keys for stop-condition thresholds.

Removed

  • None.

Fixed

  • Added/expanded unit coverage for risk limits and kill-switch enforcement, including stop-condition scenarios.
  • Added partial-fill recovery logic that cancels open orders when possible and hedges residual exposure on timeout or failure.
  • Added deterministic order idempotency via Kraken userref plus reconciliation helpers for Kraken order history responses.
  • Added execution journaling for trades, orders, and estimated P&L, plus a DuckDB startup fallback when the default file path is unavailable.
  • Added a mocked execution integration test that drives the triangular sequencer through the execution journal and DuckDB persistence.