cryptodatapy.extract.data_vendors.polygon_api
Attributes
Classes
Retrieves data from Tiingo API. |
Module Contents
- cryptodatapy.extract.data_vendors.polygon_api.data_cred
- class cryptodatapy.extract.data_vendors.polygon_api.Polygon(categories: List[str] = ['crypto', 'fx', 'eqty', 'rates', 'bonds', 'cmdty', 'index'], 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', 'future', 'option'], fields: Dict[str, List[str]] = None, frequencies: List[str] = ['1s', '1min', '1h', 'd', 'w', 'm', 'q', 'y'], base_url: str = data_cred.tiingo_base_url, api_key: str = data_cred.polygon_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
- client
- get_exchanges_info()
Get exchanges info from Polygon API.
- Returns:
DataFrame with exchanges info.
- Return type:
pd.DataFrame
- get_indexes_info()
Get indexes info from Polygon API.
- Returns:
DataFrame with indexes info.
- Return type:
pd.DataFrame
- get_assets_info()
Get assets info from Polygon API.
- Returns:
DataFrame with assets info.
- Return type:
pd.DataFrame
- get_markets_info()
Get markets info from Polygon API.
- Returns:
DataFrame with markets info.
- Return type:
pd.DataFrame
- get_fields_info(data_type: str | None)
Get fields info from Polygon API.
- Parameters:
data_type (str, optional) – Data type for which to get fields info. If None, returns all fields info.
- Returns:
DataFrame with fields info.
- Return type:
pd.DataFrame
- get_rate_limit_info()
Get rate limit info from Polygon API.
- Returns:
DataFrame with rate limit info.
- Return type:
pd.DataFrame
- req_data(ticker: str, multiplier: int, timespan: str, from_: str, to: str) List
Request data from Polygon API.
- Parameters:
ticker (str) – Ticker symbol for the asset.
multiplier (int) – Multiplier for the aggregation.
timespan (str) – Timespan for the aggregation, e.g. ‘minute’, ‘hour’, ‘day’.
from (str) – Start date for the data request in ‘YYYY-MM-DD’ format.
to (str) – End date for the data request in ‘YYYY-MM-DD’ format.
- Returns:
List
- Return type:
List of aggregated data from Polygon API.
- static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, Any]) 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.
- 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, ticker) pandas.DataFrame
Submits data request and wrangles the data response into tidy data format.
- Parameters:
data_req (DataRequest)
- 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) 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.
- Returns:
df – Dataframe with DatetimeIndex (level 0), ticker (level 1) and values for fields (cols), in tidy data 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 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