Data¶
Market data is held in a Dataset and produced by data sources. The data
helper is a convenience loader that returns a ready-to-use Dataset.
Dataset¶
signalflow.Dataset
dataclass
¶
Dataset(frame: DataFrame, source_name: str = '', source_params: dict = dict(), quote: str = 'USDT', provenance: Provenance = Provenance.FULL)
Immutable view over canonical OHLCV plus any computed columns.
cross_rate ¶
Price of base denominated in quote given a pair->close map.
index ¶
iter_bars ¶
Yield one :class:Bar per timestamp in order (the replay backbone).
Source code in src/signalflow/data/dataset.py
slice_time ¶
Rows with start <= ts < end (either bound optional). For walk-forward windows.
Source code in src/signalflow/data/dataset.py
with_forecasts ¶
Join forecast columns (keyed by pair, ts) and record their provenance.
Source code in src/signalflow/data/dataset.py
Loader¶
signalflow.data ¶
Data layer: Dataset container and source plugins.
Bar ¶
Bases: NamedTuple
One timestamp's cross-section, fed to the decision loop.
BinanceSource
dataclass
¶
CachedSource ¶
Bases: Source
Wrap inner, serving repeated requests from one growing parquet per (pair, interval).
Source code in src/signalflow/data/source/cached.py
Dataset
dataclass
¶
Dataset(frame: DataFrame, source_name: str = '', source_params: dict = dict(), quote: str = 'USDT', provenance: Provenance = Provenance.FULL)
Immutable view over canonical OHLCV plus any computed columns.
cross_rate ¶
Price of base denominated in quote given a pair->close map.
index ¶
iter_bars ¶
Yield one :class:Bar per timestamp in order (the replay backbone).
Source code in src/signalflow/data/dataset.py
slice_time ¶
Rows with start <= ts < end (either bound optional). For walk-forward windows.
Source code in src/signalflow/data/dataset.py
with_forecasts ¶
Join forecast columns (keyed by pair, ts) and record their provenance.
Source code in src/signalflow/data/dataset.py
MemorySource
dataclass
¶
Source ¶
Bases: Protocol
Fetches market data as canonical OHLCV rows.
fetch ¶
Return a frame with at least :data:CANONICAL_COLUMNS, sorted by (pair, ts).
data ¶
data(source: str | Source, pairs: list[str], start: str, end: str | None = None, interval: str = '1m', quote: str = 'USDT', cache_dir: str | Path | None = None, **source_kwargs) -> Dataset
Build a Dataset from a registered source name or a Source instance.
When cache_dir is set the resolved source is wrapped in a disk cache that
fetches only spans absent from <cache_dir>/<interval>/<PAIR>.parquet.