Skip to content

Pipeline API — Phase 3: Live trading #503

@MDUYN

Description

@MDUYN

Part of #438. Depends on Phase 1 (#501) and Phase 2 (#502).

Scope

Add Pipeline support to live trading, with the explicit caveat that v1 supports only daily timeframes and small universes.

Deliverables

  • Batched / async OHLCV fetch in CCXTOHLCVDataProvider. CCXT's fetch_ohlcv is per-symbol; need rate-limit-aware concurrent fan-out.
  • Universe-refresh hook on Pipeline: refresh_universe_every: timedelta = None. When set, the engine re-evaluates the candidate universe on that cadence (e.g. daily).
  • Best-effort partial-data handling: a single failed fetch_ohlcv for one symbol must not kill the iteration; that symbol's row becomes NaN and is masked out by Filter automatically.
  • Cross-market order routing in the order layer so a pipeline universe spanning BITVAVO + BINANCE can place orders on the right portfolio. (Likely its own sub-issue if it grows.)

Supported envelope (v1)

Timeframe Max universe
daily 50
< daily not supported

Above 50 symbols at daily, or any sub-daily timeframe, the engine raises at strategy registration.

Out of scope

  • Sub-daily live pipelines.
  • Universes > 50 symbols.
  • Sector/industry classifiers (no live data source available).

Done when

  • Live paper-trading run with a 20-symbol momentum screener pipeline executes for ≥ 24h without error.
  • Symbol delisting mid-run is handled gracefully (logged, masked, no crash).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions