cryptodatapy.extract.data_vendors.tiingo_api
Attributes
Classes
Retrieves data from Tiingo API. |
Module Contents
- cryptodatapy.extract.data_vendors.tiingo_api.data_cred
- class cryptodatapy.extract.data_vendors.tiingo_api.Tiingo(categories: List[str] = ['crypto', 'fx', 'eqty'], exchanges: Dict[str, List[str]] | None = None, indexes: Dict[str, List[str]] | None = None, assets: Dict[str, List[str]] | None = None, markets: Dict[str, List[str]] | None = None, market_types: List[str] = ['spot'], fields: Dict[str, List[str]] = None, frequencies: List[str] = ['1min', '5min', '10min', '15min', '30min', '1h', '2h', '4h', '8h', 'd', 'w', 'm', 'q', 'y'], base_url: str = data_cred.tiingo_base_url, api_key: str = data_cred.tiingo_api_key, api_endpoints: Dict[str, str] | None = None, max_obs_per_call: int | None = None, rate_limit: Any | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from Tiingo API.
- data_req = None
- data
- get_exchanges_info(cat: str | None = None) Dict[str, List[str]] | pandas.DataFrame
Get exchanges info.
- Parameters:
cat (str, optional, default None) – Category (asset or time series) to filter on.
- Returns:
exch – Dictionary or dataframe with info for supported exchanges.
- Return type:
dictionary or pd.DataFrame
- get_indexes_info() None
Get indexes info.
- static get_eqty_info(as_list: bool = False) List[str] | pandas.DataFrame
Get equity markets info.
- Parameters:
as_list (bool, default False) – Returns eqty info as list.
- Returns:
eqty – List or dataframe with info on available equities.
- Return type:
list or pd.DataFrame
- req_crypto() Dict[str, Any]
Submit get request for crypto metadata.
- get_crypto_info(as_list: bool = False) List[str] | pandas.DataFrame
Get cryptoassets info.
- Parameters:
as_list (bool, default False) – Returns cryptoasset info as list.
- Returns:
crypto – List or dataframe with info on available cryptoassets.
- Return type:
list or pd.DataFrame
- get_assets_info(cat: str | None = None, as_list: bool = False) Dict[str, List[str]] | pandas.DataFrame
Get assets info.
- Parameters:
cat (str, {'crypto', 'eqty', 'fx'}, optional, default None) – Asset class or time series category, e.g. ‘crypto’, ‘fx’, etc.
as_list (bool, default False) – Returns asset info as list.
- Returns:
assets_info – Dictionary of dataframes or lists with info on available assets, by category.
- Return type:
dictionary
- get_markets_info() None
Get markets info.
- get_fields_info(cat: str | None = None) Dict[str, List[str]]
Get fields info.
- Parameters:
cat (str, {'crypto', 'eqty', 'fx'}, optional, default None) – Asset class or time series category, e.g. ‘crypto’, ‘fx’, ‘macro’, ‘alt’, etc.
- Returns:
fields – Dictionary with info on available fields, by category.
- Return type:
dictionary
- get_rate_limit_info() None
Get rate limit info.
- set_urls_params(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) Dict[str, str | int]
Sets url and params for get request.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'eqty', 'iex', 'crypto', 'fx'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
dict – Dictionary with url and params values for get request.
- Return type:
dictionary
- req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) Dict[str, Any]
Submits get request to Tiingo API.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'eqty', 'iex', 'crypto', 'fx'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
data_resp – Data response in JSON format.
- Return type:
dict
- static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, Any], data_type: str) pandas.DataFrame
Wrangle data response.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_resp (dictionary) – Data response from data request in JSON format.
data_type (str, {'eqty', 'iex', 'crypto', 'fx'}) – Data type retrieved.
- Returns:
df – Wrangled dataframe with DatetimeIndex and market data for selected fields (cols), in tidy format.
- Return type:
pd.DataFrame
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) pandas.DataFrame
Submits data request and wrangles the data response into tidy data format.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
data_type (str, {'eqty', 'iex', 'crypto', 'fx'}) – Data type to retrieve.
ticker (str) – Requested ticker symbol.
- Returns:
df – Dataframe with DatetimeIndex and field values (col) wrangled into tidy data format.
- Return type:
pd.DataFrame
- get_all_tickers(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) pandas.DataFrame
Loops list of tickers, retrieves data in tidy format for each ticker and stores it in a multiindex dataframe.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'eqty', 'iex', 'crypto', 'fx'}) – Data type to retrieve.
- Returns:
df – Dataframe with DatetimeIndex (level 0), ticker (level 1) and values for fields (cols), in tidy data format.
- Return type:
pd.DataFrame - MultiIndex
- get_eqty(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get daily eqty data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1) and equities OHLCV values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_eqty_iex(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get daily eqty data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1) and equities OHLCV values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_crypto(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get crypto data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1) and crypto OHLCV values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_fx(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get FX data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1) and FX OHLC values (cols).
- Return type:
pd.DataFrame - MultiIndex
- check_params(data_req: cryptodatapy.extract.datarequest.DataRequest) None
Checks the parameters of the data request before requesting data to reduce API calls and improve efficiency.
- get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get market data (eqty, fx, crypto).
Parameters data_req: DataRequest
Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for market or series data for selected fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex