# 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
- [ ] `order_target_portfolio(_smart)` style public API surface
- [ ] richer explicit order styles exposed to platform scripts

### Phase 2: Scheduling and execution surface

- [ ] minute-level `time_rule` semantics like `market_open`, `market_close`,
      `physical_time`
- [ ] finer `1m` / `tick` strategy execution entrypoints beyond `open_auction`
      and `on_day`
- [ ] scheduled actions evaluated against explicit intraday times

### Phase 3: Universe and subscription model

- [ ] `update_universe`
- [ ] `subscribe`
- [ ] `unsubscribe`
- [ ] tick-frequency subscription guards exposed at strategy API level

### Phase 4: Algo order parity

- [ ] `VWAPOrder`
- [ ] `TWAPOrder`
- [ ] `order_target_portfolio_smart(..., order_prices=AlgoOrder, valuation_prices=...)`

### Phase 5: Position accounting parity

- [ ] `trading_pnl`
- [ ] `position_pnl`
- [ ] `dividend_receivable`
- [ ] richer position lifecycle fields exposed to strategy runtime

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

## Current Step

Active implementation target: Phase 1, batch target-portfolio smart semantics.
