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
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.