Files
Khizar Imran b82a09ff71 fix: validate broker settings, orders, and optimization signals
Reject invalid numeric inputs at Python boundaries before account mutation or grid workers start. Preserve partial-close no-ops and profit-locking stops, and reject invalid native SMA windows without panicking.

Refs #16

Codex 🤖, On behalf of Khizar
2026-10-31 00:47:50 +00:00

2.9 KiB

FX scope and roadmap

backtestingfx is an FX research library: Python strategies and vectorized signals run against a Rust OHLCV simulation with lot sizing, spread, commission, and quote-to-account conversion. Priorities focus on dependable simulation, usable research APIs, and reproducible results. Live broker connectivity, tick/order-book simulation, and general multi-asset portfolio accounting are outside the current roadmap.

This is a prioritized backlog, not a release-date commitment. Linked issues contain acceptance criteria and current status; update this document when priorities or delivered capabilities change.

1. Correctness foundation (P0)

  • Implemented (unreleased): gap-aware stop/target fills (#8); see README execution policy.
  • Data and timestamp validation: #15.
  • Implemented (unreleased): Python broker, size, and signal validation (#16).
  • Independent native engine runs: #18.

2. Core adoption (P1)

  • Explicit execution timing and intrabar assumptions: #10, #11.
  • Margin, pending orders, and risk sizing: #9, #24, #26.
  • Public strategy data, indicators, and parameters: #19, #20, #21.
  • Result exports and accounting tests: #32, #37.
  • Wheel coverage, platform CI, and API documentation: #35, #36, #40.

3. Research usability and maturity (P2)

  • Optimization constraints and objectives: #28.
  • Out-of-sample workflows and broader metrics: #31, #33.
  • Fair benchmarks and practical tutorials: #39, #41.

Browse the full issue backlog for additional work. Discuss larger API or modeling proposals in an issue before implementation and state their FX use case.