QuandlDataProvider
- class qf_lib.data_providers.quandl.quandl_data_provider.QuandlDataProvider(settings: Settings)[source]
Bases:
AbstractPriceDataProviderClass providing the Quandl data. The table database: WIKI/PRICES offers stock prices, dividends and splits for 3000 US publicly-traded companies. This database is updated at 9:15 PM EST every weekday.
Methods:
get_history(tickers[, fields, start_date, ...])Gets historical attributes (fields) of different securities (tickers).
get_price(tickers, fields, start_date[, ...])Gets adjusted historical Prices (Open, High, Low, Close) and Volume
price_field_to_str_map(database_name, ...)Method has to be implemented in each data provider in order to be able to use get_price.
Returns classes of tickers which are supported by this DataProvider.
- get_history(tickers: Union[QuandlTicker, Sequence[QuandlTicker]], fields: Union[None, str, Sequence[str]] = None, start_date: datetime = None, end_date: datetime = None, **kwargs)[source]
Gets historical attributes (fields) of different securities (tickers).
- Parameters:
tickers (Ticker, Sequence[Ticker]) – tickers for securities which should be retrieved
fields (None, 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
look_ahead_bias (bool) – if set to False, the look-ahead bias will be taken care of to make sure no future data is returned
kwargs – kwargs should not be used on the level of AbstractDataProvider. They are here to provide a common interface for all data providers since some of the specific data providers accept additional arguments
- Returns:
If possible the result will be squeezed, so that instead of returning a QFDataArray, data of lower dimensionality will be returned. The results will be either a 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), a QFSeries (with 1 dimensions: date) or a float / str (in case if a single ticker, field and date were provided). If no data is available in the database or a non existing ticker was provided an empty structure (nan, QFSeries, QFDataFrame or QFDataArray) will be returned.
- Return type:
QFSeries, QFDataFrame, QFDataArray, float, str
- get_price(tickers: Union[QuandlTicker, Sequence[QuandlTicker]], fields: Union[PriceField, Sequence[PriceField]], start_date: datetime, end_date: datetime = None, frequency: Frequency = Frequency.DAILY, **kwargs)[source]
Gets adjusted historical Prices (Open, High, Low, Close) and Volume
- Parameters:
tickers (Ticker, Sequence[Ticker]) – tickers for securities which should be retrieved
fields (PriceField, Sequence[PriceField]) – 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
look_ahead_bias (False) – if set to False, no future data will be ever returned
- Returns:
If possible the result will be squeezed so that instead of returning QFDataArray (3-D structure), data of lower dimensionality will be returned. The results will be either an QFDataArray (with 3 dimensions: dates, tickers, fields), PricesDataFrame (with 2 dimensions: dates, tickers or fields. It is also possible to get 2 dimensions ticker and field if single date was provided), or PricesSeries with 1 dimension: dates. All the containers will be indexed with PriceField whenever possible (for example: instead of ‘Close’ column in the PricesDataFrame there will be PriceField.Close)
- Return type:
None, PricesSeries, PricesDataFrame, QFDataArray
- price_field_to_str_map(database_name: str, database_type: QuandlDBType) Dict[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.
- Returns:
mapping between PriceFields and corresponding strings
- Return type:
Dict[PriceField, str]