cryptodatapy.extract.libraries.investpy_api =========================================== .. py:module:: cryptodatapy.extract.libraries.investpy_api Attributes ---------- .. autoapisummary:: cryptodatapy.extract.libraries.investpy_api.data_cred Classes ------- .. autoapisummary:: cryptodatapy.extract.libraries.investpy_api.InvestPy Module Contents --------------- .. py:data:: data_cred .. py:class:: InvestPy(categories=None, exchanges: Optional[List[str]] = None, indexes: Optional[Dict[str, List[str]]] = None, assets: Optional[Dict[str, List[str]]] = None, markets: Optional[Dict[str, List[str]]] = None, market_types=None, fields: Optional[Dict[str, List[str]]] = None, frequencies=None, base_url: Optional[str] = None, api_key: Optional[str] = None, max_obs_per_call: Optional[int] = None, rate_limit: Optional[Any] = None) Bases: :py:obj:`cryptodatapy.extract.libraries.library.Library` Retrieves data from InvestPy API. .. py:method:: get_exchanges_info() -> None Get exchanges info. .. py:method:: req_meta(data_type: str) -> Any :staticmethod: Request metadata. :param data_type: Type of data to request metadata for. :type data_type: str, {'indexes', 'fx', 'rates', 'etfs', 'eqty', 'cmdty'} :returns: **meta** -- Object with metadata. :rtype: Any .. py:method:: get_indexes_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get available indexes info. :param as_list: Returns available indexes as list. :type as_list: bool, default False :returns: **indexes** -- List or dataframe with info on available indexes. :rtype: list or pd.DataFrame .. py:method:: get_fx_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get fx info. :param as_list: Returns available fx pairs as list. :type as_list: bool, default False :returns: **fx** -- List or dataframe with info on available fx pairs. :rtype: list or pd.DataFrame .. py:method:: get_rates_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get rates info. :param as_list: Returns available rates as list. :type as_list: bool, default False :returns: **rates** -- List or dataframe with info on available rates. :rtype: list or pd.DataFrame .. py:method:: get_etfs_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get etfs info. :param as_list: Returns available etfs as list. :type as_list: bool, default False :returns: **etfs** -- List or dataframe with info on available etfs. :rtype: list or pd.DataFrame .. py:method:: get_eqty_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get equities/stocks info. :param as_list: Returns available equities as list. :type as_list: bool, default False :returns: **eqty** -- List or dataframe with info on available equities. :rtype: list or pd.DataFrame .. py:method:: get_cmdty_info(as_list: bool = False) -> Union[List[str], pandas.DataFrame] Get commodities info. :param as_list: Returns available commodities as list. :type as_list: bool, default False :returns: **cmdty** -- List or dataframe with info on available commodities. :rtype: list or pd.DataFrame .. py:method:: get_assets_info(cat: Optional[str] = None, as_dict: bool = False) -> Union[Dict[str, List[str]], pandas.DataFrame] Get assets info. :param cat: Asset class or time series category. :type cat: str, {'crypto', 'fx', 'rates', 'cmdty', 'eqty'}, optional, default None :param as_dict: Returns available assets as dictionary, with cat-assets key-values pairs. :type as_dict: bool, default False :returns: **assets** -- Dictionary or dataframe with info on available assets, by category. :rtype: dictionary or pd.DataFrame .. py:method:: get_markets_info() -> None Get markets info. .. py:method:: get_fields_info(cat: Optional[str] = None) -> Dict[str, List[str]] Get fields info. :param cat: Asset class or time series category. :type cat: str, {'crypto', 'eqty', 'fx', 'rates', 'cmdty', 'macro'}, optional, default None :returns: **fields_list** -- Dictionary with info on available fields, by category. :rtype: dictionary .. py:method:: get_rate_limit_info() -> None Get rate limit info. .. py:method:: get_econ_calendar(cty: str) -> pandas.DataFrame :staticmethod: Get economic calendar from start date. :param cty: Country to retrieve econ calendar for. :type cty: str :returns: **df** -- Dataframe with econ calendar data. :rtype: pd.DataFrame .. py:method:: get_all_ctys_eco_cals(data_req: cryptodatapy.extract.datarequest.DataRequest) -> pandas.DataFrame Get economic calendar for all requested countries. :param data_req: Parameters of data request in CryptoDataPy format. :type data_req: DataRequest :returns: **df** -- Dataframe with updated econ calendars for all countries. :rtype: pd.DataFrame .. py:method:: get_macro(data_req: cryptodatapy.extract.datarequest.DataRequest, econ_cal: pandas.DataFrame) -> pandas.DataFrame Gets and wrangles macro/econ release series from econ calendar. :param data_req: Parameters of data request in CryptoDataPy format. :type data_req: DataRequest :param econ_cal: Dataframe with econ calendar data response. :type econ_cal: pd.DataFrame :returns: **df** -- DataFrame with DatetimeIndex (level 0), ticker (level 1) and values for fields (cols). :rtype: pd.DataFrame - MultiIndex .. py:method:: 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. .. py:method:: 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. :rtype: pd.DataFrame - MultiIndex .. py:method:: wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: pandas.DataFrame) -> pandas.DataFrame :staticmethod: Wrangle data response. :param data_req: Parameters of data request in CryptoDataPy format. :type data_req: DataRequest :param data_resp: Data response from data request. :type data_resp: pd.DataFrame :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. :rtype: pd.DataFrame