diff --git a/README.md b/README.md index b9977a4e..2b29cc1b 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Data Sources The Backtest can handle multiple concurrent data sources. zipline will start a subprocess to run each datasource, and merge all events from all sources into a single serial feed, ordered by date. Data sources have events with very different frequencies. For example, liquid stocks will trade many times per minute, while illiquid stocks may trade just once a day. In order to serialize events from all sources into a single feed, qbt loads events from all sources into memory, then sorts. The communication happens like this: + 1. zipline requests the next event from each data source, ignoring date (i.e. just next in sequence for all) 2. Using the earliest date from all the events from all sources, zipline then asks for "next after " from all sources. 3. All datasources send all events in their history from before , moving their internal pointer forward to the next unsent event.