# RQAlpha Gap Roadmap This document tracks the remaining RQAlpha backtest capabilities that are not yet fully aligned in `fidc-backtest-engine`, and the implementation order we are following. ## Scope This roadmap focuses on the China A-share stock backtest path first. Multi-asset coverage such as futures/options is tracked separately and is not part of the current alignment pass. ## Remaining Gaps ### Phase 1: Strategy API parity - [x] `order_to` / target-shares style explicit order primitive - [x] `order_target_portfolio(_smart)` style public API surface - [x] richer explicit order styles exposed to platform scripts ### Phase 2: Scheduling and execution surface - [x] minute-level `time_rule` semantics like `market_open`, `market_close`, `physical_time` - [x] finer `1m` / `tick` strategy execution entrypoints beyond `open_auction` and `on_day` - [x] scheduled actions evaluated against explicit intraday times ### Phase 3: Universe and subscription model - [x] `update_universe` - [x] `subscribe` - [x] `unsubscribe` - [x] tick-frequency subscription guards exposed at strategy API level ### Phase 4: Algo order parity - [x] `VWAPOrder` first-class explicit action parity (`order.vwap_value/percent`) - [x] `TWAPOrder` first-class explicit action parity (`order.twap_value/percent`) - [x] `order_target_portfolio_smart(..., order_prices=AlgoOrder, valuation_prices=...)` ### Phase 5: Position accounting parity - [x] `trading_pnl` - [x] `position_pnl` - [x] `dividend_receivable` - [x] richer position lifecycle fields exposed to strategy runtime ### Phase 6: Strategy data API parity - [x] `history_bars` numeric helper for daily, intraday, and tick fields - [x] `current_snapshot` - [x] `instrument` / `instruments` / `all_instruments` - [x] `get_trading_dates` / `get_previous_trading_date` / `get_next_trading_date` - [x] phase-aware minute/tick history cursor semantics matching the active bar or tick callback ### Phase 7: Remaining stock data-source API parity - [x] `is_suspended` - [x] `is_st_stock` - [x] `get_price` style date-range tabular API - [x] `active_instruments` - [x] `instruments_history` ### Phase 8: Order object API parity - [x] open-order status and unfilled quantity exposed to strategy runtime - [ ] final order object lookup by order id - [ ] order average fill price and transaction cost aggregation ## Execution Order 1. Close the explicit order API gap with target-shares / `order_to` parity. 2. Add public batch target-portfolio semantics. 3. Expand scheduler to intraday time rules. 4. Add dynamic universe APIs. 5. Add algo-order styles. 6. Finish position accounting parity. 7. Continue stock data-source API parity. 8. Continue order object API parity. 9. Continue parity audit for remaining account APIs. ## Current Step Active implementation target: continue order object API parity after exposing open-order status and unfilled quantity; next gaps are final order lookup and average fill price / transaction cost aggregation by order id.