cryptodatapy.extract.web

Submodules

Classes

AQR

Retrieves data from AQR data sets.

Web

Web is an abstract base class which provides a blueprint for properties and methods for the

Package Contents

class cryptodatapy.extract.web.AQR(categories=None, indexes: Dict[str, List[str]] | None = None, assets: Dict[str, List[str]] | None = None, markets: Dict[str, List[str]] | None = None, market_types=None, fields: Dict[str, List[str]] | None = None, frequencies=None, base_url: str = data_cred.aqr_base_url, file_formats: str | List[str] | None = 'xlsx')

Bases: cryptodatapy.extract.web.web.Web

Retrieves data from AQR data sets.

get_indexes_info() None

Get indexes info.

get_assets_info() None

Get assets info.

get_markets_info() None

Get markets info.

static get_fields_info(data_type: str | None = 'market', cat: str | None = None) Dict[str, List[str]]

Get fields info.

Parameters:
  • data_type (str, {'market', 'on-chain', 'off-chain'}, default 'market') – Type of data.

  • cat (str, {'crypto', 'eqty', 'fx', 'rates', 'cmdty', 'macro'}, optional, default None) – Asset class or time series category.

Returns:

fields – Dictionary with info on available fields, by category.

Return type:

dictionary

set_excel_params(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str) Dict[str, str | int]

Sets excel parameters for reading excel files.

Parameters:
  • data_req (DataRequest) – Parameters of data request in CryptoDataPy format.

  • ticker (str) – Ticker symbol.

Returns:

dict – Dictionary with params to read excel file.

Return type:

dictionary

get_series(data_req: cryptodatapy.extract.datarequest.DataRequest) Dict[str, pandas.DataFrame]

Gets series from AQR data file.

Parameters:

data_req (DataRequest) – Parameters of data request in CryptoDataPy format.

Returns:

dfs_dict – Dictionary with ticker-dataframe key-value pairs.

Return type:

dictionary

static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, pandas.DataFrame]) pandas.DataFrame

Wrangle data response.

Parameters:
  • data_req (DataRequest) – Parameters of data request in CryptoDataPy format.

  • data_resp (Dictionary) – Dictionary with ticker-dataframe key-value pairs.

Returns:

df – Wrangled dataframe with DatetimeIndex (level 0), ticker (level 1), and values for market or macro series for selected fields (cols), in tidy format.

Return type:

pd.DataFrame

get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame

Gets data from FRED and wrangles the data response into tidy data format.

Parameters:

data_req (DataRequest) – Parameters of data request in CryptoDataPy format.

Returns:

df – Dataframe with DatetimeIndex (level 0), tickers (level 1) and actual values (cols), in tidy data format.

Return type:

pd.DataFrame - MultiIndex

check_params(data_req: cryptodatapy.extract.datarequest.DataRequest) None

Checks the data request parameters before requesting data to reduce API calls and improve efficiency.

get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame

Get 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 selected fields (cols), in tidy format.

Return type:

pd.DataFrame - MultiIndex

class cryptodatapy.extract.web.Web(categories, assets, indexes, markets, market_types, fields, frequencies, base_url, file_formats)

Bases: abc.ABC

Web is an abstract base class which provides a blueprint for properties and methods for the web subclass.

property categories

Returns a list of available categories for the data vendor.

property assets

Returns a list of available assets for the data vendor.

property indexes

Returns a list of available indices from the web page.

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 file_formats

Returns the file formats for the files on the web page.

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.

Parameters:

data_type (Optional[str]) – A string containing the data type to filter the data vendor’s fields

abstractmethod get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame

Submits get data request to API.

Parameters:

data_req (DataRequest) – A DataRequest object containing the request parameters.

static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, Any] | pandas.DataFrame) pandas.DataFrame
Abstractmethod:

Wrangles data response from data vendor API into tidy format.

Parameters:
  • data_req (DataRequest) – A DataRequest object containing the request parameters.

  • data_resp (Union[Dict[str, Any], pd.DataFrame]) – A dictionary or DataFrame containing the data response from the data vendor API.