BloombergBeapHapiDataProvider

class qf_lib.data_providers.bloomberg_beap_hapi.bloomberg_beap_hapi_data_provider.BloombergBeapHapiDataProvider(settings: qf_lib.settings.Settings, reply_timeout: int = 5)[source]

Bases: qf_lib.data_providers.abstract_price_data_provider.AbstractPriceDataProvider

Data Provider which provides financial data from Bloomberg BEAP HAPI.

Methods

expiration_date_field_str_map(ticker)

Method has to be implemented in each data provider in order to be able to use get_futures_chain_tickers.

get_current_values(tickers, …)

Gets from the Bloomberg HAPI the current values of fields for given tickers.

get_history(tickers, …)

Gets historical data from Bloomberg HAPI from the (start_date - end_date) time range.

price_field_to_str_map(ticker)

Method has to be implemented in each data provider in order to be able to use get_price.

supported_ticker_types()

Returns classes of tickers which are supported by this DataProvider.

expiration_date_field_str_map(ticker: qf_lib.common.tickers.tickers.BloombergTicker = None) → Dict[qf_lib.common.enums.expiration_date_field.ExpirationDateField, str][source]

Method has to be implemented in each data provider in order to be able to use get_futures_chain_tickers. Returns dictionary containing mapping between ExpirationDateField and corresponding string that has to be used by get_futures_chain_tickers method.

Parameters

ticker (None, Ticker) – ticker is optional and might be uses by particular data providers to create appropriate dictionary

Returns

mapping between ExpirationDateField and corresponding strings

Return type

Dict[ExpirationDateField, str]

get_current_values(tickers: Union[qf_lib.common.tickers.tickers.BloombergTicker, Sequence[qf_lib.common.tickers.tickers.BloombergTicker]], fields: Union[str, Sequence[str]], universe_creation_time: datetime.datetime = None) → Union[None, float, qf_lib.containers.series.qf_series.QFSeries, qf_lib.containers.dataframe.qf_dataframe.QFDataFrame][source]

Gets from the Bloomberg HAPI the current values of fields for given tickers.

Parameters
  • tickers (BloombergTicker, Sequence[BloombergTicker]) – tickers for securities which should be retrieved

  • fields (str, Sequence[str]) – fields of securities which should be retrieved

  • universe_creation_time (datetime) – Used only if we want to get previously created universe, fields universe or request

Returns

Either QFDataFrame with 2 dimensions: ticker, field or QFSeries with 1 dimensions: ticker of field (depending if many tickers or fields were provided) is returned.

Return type

QFDataFrame/QFSeries

Raises

BloombergError – When unexpected response from Bloomberg HAPI happened

get_history(tickers: Union[qf_lib.common.tickers.tickers.BloombergTicker, Sequence[qf_lib.common.tickers.tickers.BloombergTicker]], fields: Union[str, Sequence[str]], start_date: datetime.datetime, end_date: datetime.datetime = None, frequency: qf_lib.common.enums.frequency.Frequency = <Frequency.DAILY: 252>, universe_creation_time: datetime.datetime = None) → Union[qf_lib.containers.series.qf_series.QFSeries, qf_lib.containers.dataframe.qf_dataframe.QFDataFrame, qf_lib.containers.qf_data_array.QFDataArray][source]

Gets historical data from Bloomberg HAPI from the (start_date - end_date) time range.

Parameters
  • tickers (Ticker, Sequence[Ticker]) – tickers for securities which should be retrieved

  • fields (str, Sequence[str]) – fields of securities which should be retrieved

  • start_date (datetime) – date representing the beginning of historical period from which data should be retrieved

  • end_date (datetime) – date representing the end of historical period from which data should be retrieved; if no end_date was provided, by default the current date will be used

  • frequency (Frequency) – frequency of the data

  • universe_creation_time (datetime) – Used only if we want to get previously created universe, fields universe or request

Returns

If possible the result will be squeezed, so that instead of returning QFDataArray, data of lower dimensionality will be returned. The results will be either an QFDataArray (with 3 dimensions: date, ticker, field), a QFDataFrame (with 2 dimensions: date, ticker or field; it is also possible to get 2 dimensions ticker and field if single date was provided) or QFSeries (with 1 dimensions: date). If no data is available in the database or an non existing ticker was provided an empty structure (QFSeries, QFDataFrame or QFDataArray) will be returned returned.

Return type

QFSeries, QFDataFrame, QFDataArray

Raises

BloombergError – When unexpected response from Bloomberg HAPI happened

price_field_to_str_map(ticker: qf_lib.common.tickers.tickers.BloombergTicker = None) → Dict[qf_lib.common.enums.price_field.PriceField, str][source]

Method has to be implemented in each data provider in order to be able to use get_price. Returns dictionary containing mapping between PriceField and corresponding string that has to be used by get_history method to get appropriate type of price series.

Parameters

ticker (None, Ticker) – ticker is optional and might be uses by particular data providers to create appropriate dictionary

Returns

mapping between PriceFields and corresponding strings

Return type

Dict[PriceField, str]

supported_ticker_types()[source]

Returns classes of tickers which are supported by this DataProvider.