BacktestEventGenerator#
- class openstef_beam.backtesting.backtest_event_generator.BacktestEventGenerator(**data: Any) None[source]
Bases:
BaseModelComponent for generating ordered sequences of backtest events.
Generates train and predict events based on configured intervals, ensuring that each event has sufficient context data. Events are ordered chronologically with train events preceding predict events at the same timestamp.
- Parameters:
data (
Any)
-
start:
datetime
-
end:
datetime
-
index:
DatetimeIndex
-
sample_interval:
timedelta
-
predict_interval:
timedelta
-
train_interval:
timedelta
-
align_time:
time
-
forecaster_config:
BacktestForecasterConfig
- iterate() Iterator[BacktestEvent][source]
Creates an ordered iterator of train and predict events.
Combines training and prediction events in chronological order, with training events preceding prediction events at the same timestamp. If the model doesn’t require training, only prediction events are returned.
- Return type:
Iterator[BacktestEvent]- Returns:
An iterator of chronologically ordered BacktestEvents.
- static iterate_batched(events: list[BacktestEvent], batch_size: int | None = None) Iterator[BacktestEventBatch][source]
Creates an iterator of batched backtest events for efficient processing.
Groups prediction events into batches up to batch_size, while keeping training events as individual batches. This provides a clean interface for batch-aware processing without mixing concerns.
- Parameters:
- Yields:
BacktestEventBatch – Batched events ready for processing.
- Return type:
Iterator[BacktestEventBatch]
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'protected_namespaces': (), 'ser_json_inf_nan': 'null'}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].