Skip to content

trading.execution.backtester.market.feed

trading.execution.backtester.market.feed

MarketDataFeed

MarketDataFeed(data: list[MarketDataEvent], event_bus: EventBus)

Allows an OHLCV dataframe to be sequentially iterated over and published.

Initializes MarketDataFeed.

Parameters:

Name Type Description Default
data list[MarketDataEvent]

The OHLCV list of MarketDataEvent to iterate over.

required
event_bus EventBus

The event bus to publish MarketDataEvent instances to.

required
Source code in src\contango\trading\execution\backtester\market\feed.py
27
28
29
30
31
32
33
34
35
36
def __init__(self, data: list[MarketDataEvent], event_bus: EventBus):
    """
    Initializes `MarketDataFeed`.

    Args:
        data: The OHLCV list of `MarketDataEvent` to iterate over.
        event_bus: The event bus to publish `MarketDataEvent` instances to.
    """
    self._data = data
    self._event_bus = event_bus

get_initial_event

get_initial_event() -> MarketDataEvent

Returns the first MarketDataEvent in the OHLCV data.

Source code in src\contango\trading\execution\backtester\market\feed.py
38
39
40
41
42
def get_initial_event(self) -> MarketDataEvent:
    """
    Returns the first `MarketDataEvent` in the OHLCV data.
    """
    return self._data[0]

run

run() -> None

Iterates through the provided data & publishes 'MarketDataEvent` instances for each bar.

Source code in src\contango\trading\execution\backtester\market\feed.py
44
45
46
47
48
49
def run(self) -> None:
    """
    Iterates through the provided data & publishes 'MarketDataEvent` instances for each bar.
    """
    for event in self._data:
        self._event_bus.publish(event)