cryptodatapy.extract.data_vendors
Submodules
Classes
Retrieves data from Coin Metrics Python client API v4. |
|
Retrieves data from CryptoCompare API. |
|
DataVendor is an abstract base class which provides a blueprint for properties and methods for the |
|
Retrieves data from Glassnode API. |
|
Retrieves data from Tiingo API. |
Package Contents
- class cryptodatapy.extract.data_vendors.CoinMetrics(categories: str | List[str] = 'crypto', exchanges: List[str] | None = None, indexes: List[str] | None = None, assets: List[str] | None = None, markets: List[str] | None = None, market_types: List[str] = ['spot', 'perpetual_future', 'future', 'option'], fields: List[str] | None = None, frequencies: List[str] = ['tick', 'block', '1s', '1min', '5min', '10min', '15min', '30min', '1h', '2h', '4h', '8h', 'd', 'w', 'm', 'q'], base_url: str | None = data_cred.coinmetrics_base_url, api_endpoints: Dict[str, str] | None = None, api_key: str | None = data_cred.coinmetrics_api_key, max_obs_per_call: int | None = None, rate_limit: Any | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from Coin Metrics Python client API v4.
- data_req = None
- data_resp = None
- data
- req_meta(data_type: str) Dict[str, Any]
Request metadata.
- Parameters:
data_type (str, {'catalog_exchanges', 'catalog_indexes', 'catalog_assets', 'catalog_institutions',) – ‘catalog_markets’, ‘catalog_metrics’ } Type of data to request metadata for.
- Returns:
meta – Object with metadata.
- Return type:
Any
- get_exchanges_info(as_list: bool = False) List[str] | pandas.DataFrame
Get exchanges info.
- Parameters:
as_list (bool, default False) – Returns exchanges info as list.
- Returns:
exch – List or dataframe with info on supported exchanges.
- Return type:
list or pd.DataFrame
- get_indexes_info(as_list: bool = False) List[str] | pandas.DataFrame
Get indexes info.
- Parameters:
as_list (bool, default False) – Returns indexes info as list.
- Returns:
indexes – List or dataframe with info on available indexes.
- Return type:
list or pd.DataFrame
- get_assets_info(as_list: bool = False) List[str] | pandas.DataFrame
Get assets info.
- Parameters:
as_list (bool, default False) – Returns assets info as a list.
- Returns:
assets – List or dataframe with info on available assets.
- Return type:
list or pd.DataFrame
- get_markets_info(as_list: bool = False) List[str] | pandas.DataFrame
Get markets info.
- Parameters:
as_list (bool, default False) – Returns markets info as dict with exchange-markets key-values pair.
- Returns:
mkts – List or dataframe with info on available markets, by exchange.
- Return type:
list or pd.DataFrame
- get_onchain_fields_info(as_list: bool = False) List[str] | pandas.DataFrame
Get on-chain fields info.
- Parameters:
as_list (bool, default False) – Returns on-chain fields as list.
- Returns:
onchain_fields – List or dataframe of on-chain info.
- Return type:
list or pd.DataFrame
- get_fields_info(data_type: str | None = None, as_list: bool = False) List[str] | pandas.DataFrame
Get fields info. Can be filtered by data type.
- Parameters:
data_type (str, optional, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.
as_list (bool, default False) – Returns available fields as list.
- Returns:
fields – List or dataframe with info on available fields.
- Return type:
list or pd.DataFrame
- get_onchain_tickers_list(data_req: cryptodatapy.extract.datarequest.DataRequest) List[str]
Get list of available assets for fields in data request.
- Parameters:
data_req (DataRequest) – Data request object with ‘fields’ parameter.
- Returns:
asset_list – List of available assets for selected fields.
- Return type:
list
- get_rate_limit_info() None
Get rate limit info.
- get_metadata() None
Get CoinMetrics metadata.
- req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, params: Dict[str, str | int]) pandas.DataFrame
Sends data request to Python client.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'/timeseries/index-levels', '/timeseries/institution-metrics',) – ‘/timeseries/market-candles’, ‘/timeseries/asset-metrics’, ‘/timeseries/market-open-interest’, ‘/timeseries/market-funding-rates’, ‘/timeseries/market-trades’, ‘/timeseries/market-quotes’} Data type to retrieve.
params (dict) – Dictionary containing parameter values for get request.
- Returns:
df – Dataframe with datetime, ticker/identifier, and field/col values.
- Return type:
pd.DataFrame
- wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: pd.DataFrame())
Wrangle data response.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_resp (pd.DataFrame) – Data response from API.
- Returns:
df – Wrangled dataframe with DatetimeIndex (level 0), ticker or institution (level 1), and market, on-chain or off-chain values for selected fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, params: dict) pandas.DataFrame
Gets data and wrangles it into tidy data format.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'get_index_levels', 'get_institution_metrics', 'get_market_candles', 'get_asset_metrics',) –
- ‘get_market_open_interest’, ‘get_market_funding_rates’, ‘get_market_trades’,
’get_market_quotes’}
Data type to retrieve.
params (dict) – Dictionary containing parameter values for get request.
- Returns:
df – Dataframe with DatetimeIndex (level 0), ticker (level 1) and values for fields/col, in tidy data format.
- Return type:
pd.DataFrame - MultiIndex
- check_tickers(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) cryptodatapy.extract.datarequest.DataRequest
Checks tickers for data availability.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', market_candles', 'asset_metrics', 'open_interest', 'funding_rates',) – ‘trades’, quotes’} Data type to retrieve.
- Returns:
tickers – List of available tickers.
- Return type:
list
- check_fields(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) cryptodatapy.extract.datarequest.DataRequest
Checks fields for data availability.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', 'market_candles', 'asset_metrics', 'open_interest',) – ‘funding_rates’, ‘trades’, quotes’} Data type to retrieve.
- Returns:
fields – List of avaialble fields.
- Return type:
list
- check_params(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) None
Checks data request parameters.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', 'market_candles', 'asset_metrics', 'open_interest', 'funding_rates',) – ‘trades’, quotes’} Data type to retrieve.
- get_indexes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get indexes data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), tickers (level 1) and index values (cols).
- Return type:
pd.DataFrame
- get_ohlcv(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get OHLCV (candles) data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and OHLCV values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_onchain(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get on-chain data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and on-chain values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_open_interest(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get open interest data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and open interest values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_funding_rates(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get funding rates data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and funding rates values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_trades(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get trades (transactions) data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and bid/ask price and size values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_quotes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get quotes (order book) data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and bid/ask price and size values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get market, on-chain and/or off-chain data.
- 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, on-chain and/or off-chain fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- class cryptodatapy.extract.data_vendors.CryptoCompare(categories: List[str] = ['crypto'], exchanges: list[str] | None = None, indexes: list[str] | None = None, assets: list[str] | None = None, markets: list[str] | None = None, market_types: List[str] = ['spot'], fields: list[str] | None = None, frequencies: List[str] = ['1min', '1h', 'd'], base_url: str = data_cred.cryptocompare_base_url, api_endpoints: Dict[str, str] = data_cred.cryptomcompare_endpoints, api_key: str = data_cred.cryptocompare_api_key, max_obs_per_call: int = 2000, rate_limit: pandas.DataFrame | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from CryptoCompare API.
- onchain_fields = None
- social_fields = None
- data_req = None
- data_resp = None
- data
- req_meta(info_type: str) Dict[str, Any]
Request metadata.
- Parameters:
info_type (str, {'exchanges_info', 'indexes_info', 'assets_info', 'markets_info',) –
- ‘on-chain_tickers_info’, ‘on-chain_info’, ‘social_info’, ‘news’,
’news_sources’, ‘rate_limit_info’, ‘top_mkt_cap_info’, ‘indexes’}
Type of metadata to request.
- Returns:
meta – Metadata in JSON format.
- Return type:
dictionary
- get_exchanges_info(as_list: bool = False) list[str] | pandas.DataFrame
Get indexes info.
- Parameters:
as_list (bool, default False) – Returns indexes info as list.
- Returns:
indexes – List or dataframe with info on available indexes.
- Return type:
list or pd.DataFrame
- get_indexes_info(as_list: bool = False) list[str] | pandas.DataFrame
Get indexes info.
- Parameters:
as_list (bool, default False) – Returns indexes info as list.
- Returns:
indexes – List or dataframe with info on available indexes.
- Return type:
list or pd.DataFrame
- get_assets_info(as_list: bool = False) list[str] | pandas.DataFrame
Get assets info.
- Parameters:
as_list (bool, default False) – Returns assets info as list.
- Returns:
assets – List or dataframe with info on available assets.
- Return type:
list or pd.DataFrame
- get_markets_info(as_list: bool = False) list[str] | dict[str]
Get markets info.
- Parameters:
as_list (bool, default False) – Returns markets info as list.
- Returns:
mkts – Dictionary or list with info on available markets.
- Return type:
dictionary or list
- get_onchain_tickers_info(as_list: bool = False) list[str] | pandas.DataFrame
Get on-chain data info.
- Parameters:
as_list (bool, default False) – Returns available on-chain data as list.
- Returns:
tickers – list or dataframe with info on tickers with available on-chain data.
- Return type:
list or pd.DataFrame
- get_onchain_info() list[str]
Get on-chain fields info.
- Returns:
onchain_fields – List of available on-chain fields.
- Return type:
list
- get_social_info() list[str]
Get social fields info.
- Returns:
social_fields – List of available social fields.
- Return type:
list
- get_fields_info(data_type: str | None = None) list[str]
Get fields info.
- Parameters:
data_type (str, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.
- Returns:
fields_list – List of available fields.
- Return type:
list
- req_rate_limit() Dict[str, Any]
Get request for rate limit info.
- get_rate_limit_info() pandas.DataFrame
Get rate limit info.
- Returns:
rate_limit – DataFrame with API calls left and made by period (hour, day, month).
- Return type:
pd.DataFrame
- get_news() pandas.DataFrame
Get news articles from various sources.
- Returns:
news – News articles from various sources with title, source, body, …
- Return type:
pd.DataFrame
- get_news_sources() pandas.DataFrame
Get news sources.
- Returns:
news_sources – News source info.
- Return type:
pd.DataFrame
- req_top_mkt_cap(n: int = 100) Dict[str, Any]
Get request for top mkt cap coins info.
- get_top_mkt_cap_info(n: int = 100) list[str]
Get list of top assets by market cap.
- Parameters:
n (int, default 100) – Number of assets to return sorted by market cap.
- Returns:
tickers – List of tickers for top n coins ranked by market cap.
- Return type:
list
- set_urls_params(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) Dict[str, str | Any]
Sets url and params for get request.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – 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 CryptoCompare API.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.|
- Returns:
data_resp – Data response in JSON format.
- Return type:
dict
- get_all_data_hist(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) pandas.DataFrame
Submits get requests to API until entire data history has been collected. Only necessary when number of observations is larger than the maximum number of observations per call.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
df – Dataframe with entire data history retrieved.
- Return type:
pd.DataFrame
- static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: pandas.DataFrame) pandas.DataFrame
Wrangle data response.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_resp (pd.DataFrame) – Data response from GET request.
- Returns:
df – Wrangled dataframe with DatetimeIndex and values in tidy format.
- Return type:
pd.DataFrame
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) pandas.DataFrame
Gets entire data history and wrangles the data response into tidy data format.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
df – Dataframe with entire data history retrieved and 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, {'indexes', 'ohlcv', 'on-chain', 'social'}) – 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_indexes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets indexes data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and index values (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_ohlcv(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets OHLCV data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and OHLCV values (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_onchain(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets on chain data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for on-chain fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_social(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets social media data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for social media fields (cols), in tidy format.
- 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 either market, on-chain or social media data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for OHLCV, on-chain and/or social fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- class cryptodatapy.extract.data_vendors.DataVendor(categories, exchanges, assets, indexes, markets, market_types, fields, frequencies, base_url, api_endpoints, api_key, max_obs_per_call, rate_limit)
Bases:
abc.ABCDataVendor is an abstract base class which provides a blueprint for properties and methods for the data vendor subclass.
- property categories
Returns a list of available categories for the data vendor.
- property exchanges
Returns a list of available exchanges for the data vendor.
- property assets
Returns a list of available assets for the data vendor.
- property indexes
Returns a list of available indices for the data vendor.
- property markets
Returns a list of available markets for the data vendor.
- property market_types
Returns a list of available market types for the data vendor.
- property fields
Returns a list of available fields for the data vendor.
- property frequencies
Returns a list of available data frequencies for the data vendor.
- property base_url
Returns the base url for the data vendor.
- property api_endpoints
Returns api endpoints for the data vendor.
- property api_key
Returns the api key for the data vendor.
- property max_obs_per_call
Returns the maximum observations per API call for the data vendor.
- property rate_limit
Returns the number of API calls made and remaining.
- abstractmethod get_exchanges_info()
Gets info for available exchanges from the data vendor.
- abstractmethod get_indexes_info()
Gets info for available indexes from the data vendor.
- abstractmethod get_assets_info()
Gets info for available assets from the data vendor.
- abstractmethod get_markets_info()
Gets info for available markets from the data vendor.
- abstractmethod get_fields_info(data_type: str | None)
Gets info for available fields from the data vendor.
- abstractmethod get_rate_limit_info()
Gets the number of API calls made and remaining.
- abstractmethod get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Submits get data request to API.
- static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, Any] | pandas.DataFrame, **kwargs) pandas.DataFrame
- Abstractmethod:
Wrangles data response from data vendor API into tidy format.
- class cryptodatapy.extract.data_vendors.Glassnode(categories=None, exchanges: list[str] | None = None, indexes: list[str] | None = None, assets: list[str] | None = None, markets: list[str] | None = None, market_types=None, fields: list[str] | None = None, frequencies=None, base_url: str = data_cred.glassnode_base_url, api_key: str = data_cred.glassnode_api_key, max_obs_per_call: int | None = None, rate_limit: Any | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from Glassnode API.
- get_exchanges_info() None
Gets exchanges info.
- get_indexes_info() None
Gets indexes info.
- req_assets() Dict[str, Any]
Get request for assets info.
- Returns:
dict – Data response with asset info in json format.
- Return type:
dictionary
- get_assets_info(as_list: bool = False) list[str] | pandas.DataFrame
Get assets info.
- Parameters:
as_list (bool, default False) – Returns assets info as list.
- Returns:
assets – List or dataframe with info on available assets.
- Return type:
list or pd.DataFrame
- get_markets_info() None
Get markets info.
- req_fields() Dict[str, Any]
Get request for fields info.
- Returns:
dict – Data response with fields info in json format.
- Return type:
dictionary
- get_fields_info(data_type: str | None = None, as_list: bool = False) list[str] | pandas.DataFrame
Get fields info.
- Parameters:
data_type (str, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.
as_list (bool, default False) – Returns available fields info as list.
- Returns:
fields – List or dataframe with info on available fields.
- Return type:
list or pd.DataFrame
- get_rate_limit_info() None
Get rate limit info.
- req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str, field: str) Dict[str, Any]
Submits data request to API.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
ticker (str) – Requested ticker symbol.
field (str) – Requested field.
- 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], field: str) pandas.DataFrame
Wrangle data response into tidy data format.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
data_resp (dictionary) – Data response in JSON format.
field (str) – Requested field.
- Returns:
df – Wrangled dataframe with DatetimeIndex and selected field values (cols), in tidy format.
- Return type:
pd.DataFrame
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str, field: 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.
ticker (str) – Requested ticker symbol.
field (str) – Requested field.
- Returns:
df – Dataframe with DatetimeIndex and field values (col) wrangled into tidy data format.
- Return type:
pd.DataFrame
- get_all_fields(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str) pandas.DataFrame
Loops list of tickers, retrieves data in tidy format for each ticker and stores it in a dataframe.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
ticker (str) – Requested ticker symbol.
- Returns:
df – Dataframe with DatetimeIndex and values for fields (cols), in tidy data format.
- Return type:
pd.DataFrame
- check_params(data_req: cryptodatapy.extract.datarequest.DataRequest) None
Check data request parameters before calling API to improve efficiency.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
- get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get market, on-chain or off-chain data.
- Parameters:
data_req (DataRequest) – Data request parameters in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for market, on-chain and/or off-chain fields (cols), in tidy data format.
- Return type:
pd.DataFrame - MultiIndex
- class cryptodatapy.extract.data_vendors.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