cryptodatapy.extract.params.vendors.coinmetrics_param_converter =============================================================== .. py:module:: cryptodatapy.extract.params.vendors.coinmetrics_param_converter Attributes ---------- .. autoapisummary:: cryptodatapy.extract.params.vendors.coinmetrics_param_converter.logger Classes ------- .. autoapisummary:: cryptodatapy.extract.params.vendors.coinmetrics_param_converter.CoinMetricsParamConverter Module Contents --------------- .. py:data:: logger .. py:class:: CoinMetricsParamConverter(data_req: cryptodatapy.core.data_request.DataRequest) Bases: :py:obj:`cryptodatapy.extract.params.base_param_converter.BaseParamConverter` Converts a standard DataRequest object into the specific set of parameters required by CoinMetrics API. .. py:attribute:: ENDPOINT_MAP .. py:attribute:: base_params .. py:method:: _convert_tickers() -> List[str] Converts the standard ticker to CoinMetrics-specific asset ID(s). :returns: List of CoinMetrics asset IDs (lowercase). :rtype: List[str] .. py:method:: _convert_freq() -> str Converts the standard frequency to CoinMetrics-specific frequency string. Corrected some imprecise mappings to better reflect CoinMetrics granularity. :returns: CoinMetrics frequency string. :rtype: str .. py:method:: _convert_exchange() -> str Converts the standard exchange to CoinMetrics-specific exchange ID. :returns: CoinMetrics exchange ID. :rtype: str .. py:method:: _convert_markets() -> List[str] Converts the standard market types to CoinMetrics-specific market IDs. Note: The complex logic for perpetual futures is retained but simplified slightly. :returns: List of CoinMetrics market IDs. :rtype: List[str] .. py:method:: _convert_dates() -> Tuple[Optional[str], Optional[str]] Converts start and end dates to CoinMetrics-specific date strings. :returns: (source_start_date, source_end_date) in 'YYYY-MM-DD' format or None. :rtype: Tuple[Optional[str], Optional[str]] .. py:method:: _get_base_params() -> Dict[str, Any] Returns common parameters for all CoinMetrics requests. :returns: A dictionary containing common vendor-specific parameters. :rtype: Dict[str, Any] .. py:method:: _convert_index(index_tickers: List[str], index_fields: List[str]) -> Dict[str, Any] Converts the standard index request to CoinMetrics-specific parameters. :param index_tickers: List of valid index tickers for CoinMetrics. :type index_tickers: List[str] :param index_fields: List of valid index fields for CoinMetrics. :type index_fields: List[str] :returns: A dictionary containing vendor-specific parameters for index data. :rtype: Dict[str, Any] .. py:method:: _convert_ohlcv(market_tickers: List[str], market_fields: List[str]) -> Dict[str, Any] Converts the standard OHLCV request to CoinMetrics-specific parameters. :param market_tickers: List of valid market tickers for CoinMetrics. :type market_tickers: List[str] :param market_fields: List of valid market fields for CoinMetrics. :type market_fields: List[str] :returns: A dictionary containing vendor-specific parameters for OHLCV data. :rtype: Dict[str, Any] .. py:method:: _convert_onchain(asset_tickers: List[str], asset_fields: List[str]) -> Dict[str, Any] Converts the standard on-chain data request to CoinMetrics-specific parameters. :param asset_tickers: List of valid asset tickers for CoinMetrics. :type asset_tickers: List[str] :param asset_fields: List of valid asset fields for CoinMetrics. :type asset_fields: List[str] :returns: A dictionary containing vendor-specific parameters for on-chain data. :rtype: Dict[str, Any] .. py:method:: _convert_open_interest(market_tickers: List[str], oi_fields: List[str] = ['contract_count']) -> Dict[str, Any] Converts the standard open interest data request to CoinMetrics-specific parameters. :returns: A dictionary containing vendor-specific parameters for open interest data. :rtype: Dict[str, Any] .. py:method:: _convert_funding_rates(market_tickers: List[str], rate_fields: List[str] = ['rate']) -> Dict[str, Any] Converts the standard funding rates data request to CoinMetrics-specific parameters. :param market_tickers: List of valid market tickers for CoinMetrics. :type market_tickers: List[str] :param rate_fields: List of valid funding rate fields for CoinMetrics. :type rate_fields: List[str] :returns: A dictionary containing vendor-specific parameters for funding rates data. :rtype: Dict[str, Any] .. py:method:: _convert_trades(market_tickers: List[str], trade_fields: List[str] = ['amount', 'price', 'side']) -> Dict[str, Any] Converts the standard trades data request to CoinMetrics-specific parameters. :param market_tickers: List of valid market tickers for CoinMetrics. :type market_tickers: List[str] :param trade_fields: List of valid trade fields for CoinMetrics. :type trade_fields: List[str] :returns: A dictionary containing vendor-specific parameters for trades data. :rtype: Dict[str, Any] .. py:method:: _convert_quotes(market_tickers: List[str], quote_fields: List[str] = ['bid_price', 'ask_price', 'bid_size', 'ask_size']) -> Dict[str, Any] Converts the standard quotes data request to CoinMetrics-specific parameters. :param market_tickers: List of valid market tickers for CoinMetrics. :type market_tickers: List[str] :param quote_fields: List of valid quote fields for CoinMetrics. :type quote_fields: List[str] :returns: A dictionary containing vendor-specific parameters for quotes data. :rtype: Dict[str, Any] .. py:method:: convert(index_tickers: Optional[List[str]] = None, index_fields: Optional[List[str]] = None, market_tickers: Optional[List[str]] = None, market_fields: Optional[List[str]] = None, asset_tickers: Optional[List[str]] = None, asset_fields: Optional[List[str]] = None, oi_fields: Optional[List[str]] = None, rate_fields: Optional[List[str]] = None, trade_fields: Optional[List[str]] = None, quote_fields: Optional[List[str]] = None) -> Dict[str, Any] Converts the DataRequest object into a dictionary of CoinMetrics parameters. This method dispatches to the correct specific conversion method based on ticker and field availability. :returns: A dictionary containing vendor-specific parameters. :rtype: Dict[str, Any]