Skip to content

Pipeline API — Phase 3: Live trading #503

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions