Datasets

Bloomberg BPIPE

Introduction

QuantConnect supports Bloomberg™ BPIPE data feeds, which give your algorithms access to the data that's available through the Bloomberg™ ecosystem. Stream BPIPE data directly into your proprietary algorithms to use datasets that aren't natively available from QuantConnect or its third-party data vendors. Any Bloomberg™ dataset that BPIPE supports can be made available, subject to the appropriate Bloomberg™ licensing and entitlements.

The BPIPE data provider serves data during live trading. To download data for backtesting and research, use Bloomberg™ DAPI in the CLI.

BPIPE only provides data. To route orders through Bloomberg™, see Bloomberg EMSX.

Entitlements

Your organization must have the appropriate permissions for each dataset you want to access. Bloomberg™ controls dataset access through its Entitlement and Reference Management System (ERMS). After Bloomberg™ enables the entitlements you need, QuantConnect delivers the corresponding data to your algorithms.

Ticker Plant

Your organization needs a dedicated BPIPE ticker plant. QuantConnect launches and operates the ticker plant within its backend infrastructure and configures the permissions that associate the service with your organization.

Bar Building

The data feed is a stream of ticks. Bloomberg™ sends a market data update each time the bid, the ask, the last trade price, or the open interest of a security changes, and Lean turns each update into a tick. Lean then aggregates the ticks into bars that match the resolution of your data subscriptions, so a minute subscription receives one bar per minute.

The ticks are unfiltered, so the bars represent all of the information that Bloomberg™ sends.

Hybrid Data Provider

When you deploy a live algorithm, you can use the Bloomberg™ BPIPE data provider, a third-party data provider, or both. If you use multiple data providers, the order you select them in defines their order of precedence in Lean. For example, if you set BPIPE as the first provider and Polygon as the second provider, Lean only uses the Polygon data provider for the securities that BPIPE doesn't provide.

You can combine BPIPE with third-party data providers like Polygon and Databento. You can't combine it with the QuantConnect data provider because that data is only available in QuantConnect Cloud and BPIPE runs on a ticker plant that's dedicated to your organization.

Historical Data

When you request historical data or run warm-up, the Bloomberg™ BPIPE data provider requests the data from Bloomberg™ at the resolution you ask for instead of aggregating the tick data. Bloomberg™ doesn't serve every resolution, so Lean aggregates the following cases from the closest resolution that's available:

ResolutionTrade DataQuote Data
TickTick requestTick request
SecondAggregated from ticksAggregated from ticks
MinuteOne-minute bar requestOne-minute bar request
HourAggregated from 30-minute barsAggregated from 30-minute bars
DailyDaily bar requestAggregated from hourly bars

Quote bars need two requests, one for the bid and one for the ask, which Lean joins on the bar time.

Limitations

  • Intraday history goes back up to six months. Lean adjusts earlier start times to respect this limit. Daily trade bars don't have this limit.
  • Open interest history isn't available.
  • Custom data history isn't available.

Additional Datasets

After your ticker plant is set up, you can subscribe to any Bloomberg™ dataset that your organization is entitled to. QuantConnect streams the entitled data through BPIPE and makes it available to your algorithms.

Getting Started

To request Bloomberg™ BPIPE access, contact QuantConnect support. We arrange a call with your organization to review your requirements, your Bloomberg™ entitlements, and the ticker plant setup process.

Pricing

The BPIPE ticker plant service that runs within QuantConnect costs a $2,000 one-time setup fee and $240 per month. Bloomberg™ data licensing and entitlement fees, if applicable, are separate.

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: