cryptodatapy.extract.libraries.investpy_api

Attributes

data_cred

Classes

InvestPy

Retrieves data from InvestPy API.

Module Contents

cryptodatapy.extract.libraries.investpy_api.data_cred
class cryptodatapy.extract.libraries.investpy_api.InvestPy(categories=None, exchanges: 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=None, fields: Dict[str, List[str]] | None = None, frequencies=None, base_url: str | None = None, api_key: str | None = None, max_obs_per_call: int | None = None, rate_limit: Any | None = None)

Bases: cryptodatapy.extract.libraries.library.Library

Retrieves data from InvestPy API.

get_exchanges_info() None

Get exchanges info.

static req_meta(data_type: str) Any

Request metadata.

Parameters:

data_type (str, {'indexes', 'fx', 'rates', 'etfs', 'eqty', 'cmdty'}) – Type of data to request metadata for.

Returns:

meta – Object with metadata.

Return type:

Any

get_indexes_info(as_list: bool = False) List[str] | pandas.DataFrame

Get available indexes info.

Parameters:

as_list (bool, default False) – Returns available indexes as list.

Returns:

indexes – List or dataframe with info on available indexes.

Return type:

list or pd.DataFrame

get_fx_info(as_list: bool = False) List[str] | pandas.DataFrame

Get fx info.

Parameters:

as_list (bool, default False) – Returns available fx pairs as list.

Returns:

fx – List or dataframe with info on available fx pairs.

Return type:

list or pd.DataFrame

get_rates_info(as_list: bool = False) List[str] | pandas.DataFrame

Get rates info.

Parameters:

as_list (bool, default False) – Returns available rates as list.

Returns:

rates – List or dataframe with info on available rates.

Return type:

list or pd.DataFrame

get_etfs_info(as_list: bool = False) List[str] | pandas.DataFrame

Get etfs info.

Parameters:

as_list (bool, default False) – Returns available etfs as list.

Returns:

etfs – List or dataframe with info on available etfs.

Return type:

list or pd.DataFrame

get_eqty_info(as_list: bool = False) List[str] | pandas.DataFrame

Get equities/stocks info.

Parameters:

as_list (bool, default False) – Returns available equities as list.

Returns:

eqty – List or dataframe with info on available equities.

Return type:

list or pd.DataFrame

get_cmdty_info(as_list: bool = False) List[str] | pandas.DataFrame

Get commodities info.

Parameters:

as_list (bool, default False) – Returns available commodities as list.

Returns:

cmdty – List or dataframe with info on available commodities.

Return type:

list or pd.DataFrame

get_assets_info(cat: str | None = None, as_dict: bool = False) Dict[str, List[str]] | pandas.DataFrame

Get assets info.

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

  • as_dict (bool, default False) – Returns available assets as dictionary, with cat-assets key-values pairs.

Returns:

assets – Dictionary or dataframe with info on available assets, by category.

Return type:

dictionary or pd.DataFrame

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', 'rates', 'cmdty', 'macro'}, optional, default None) – Asset class or time series category.

Returns:

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

Return type:

dictionary

get_rate_limit_info() None

Get rate limit info.

static get_econ_calendar(cty: str) pandas.DataFrame

Get economic calendar from start date.

Parameters:

cty (str) – Country to retrieve econ calendar for.

Returns:

df – Dataframe with econ calendar data.

Return type:

pd.DataFrame

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

Get economic calendar for all requested countries.

Parameters:

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

Returns:

df – Dataframe with updated econ calendars for all countries.

Return type:

pd.DataFrame

get_macro(data_req: cryptodatapy.extract.datarequest.DataRequest, econ_cal: pandas.DataFrame) pandas.DataFrame

Gets and wrangles macro/econ release series from econ calendar.

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

  • econ_cal (pd.DataFrame) – Dataframe with econ calendar data response.

Returns:

df – DataFrame with DatetimeIndex (level 0), ticker (level 1) and values for fields (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 (eqty, fx, rates, cmdty) and/or off-chain (macro) 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 or macro series for selected fields (cols), in tidy format.

Return type:

pd.DataFrame - MultiIndex

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 data request.

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