Retrieves the open interest of a derivative trading pair https://bybit-exchange.github.io/docs/v5/market/open-interest :param str symbol: Unified CCXT market symbol :param dict [params]: exchange specific parameters :param str [params.interval]: 5m, 15m, 30
(self, symbol: str, params={})
| 6852 | return self.parse_open_interests_history(data, safeMarketObj, since, limit) |
| 6853 | |
| 6854 | def fetch_open_interest(self, symbol: str, params={}): |
| 6855 | """ |
| 6856 | Retrieves the open interest of a derivative trading pair |
| 6857 | |
| 6858 | https://bybit-exchange.github.io/docs/v5/market/open-interest |
| 6859 | |
| 6860 | :param str symbol: Unified CCXT market symbol |
| 6861 | :param dict [params]: exchange specific parameters |
| 6862 | :param str [params.interval]: 5m, 15m, 30m, 1h, 4h, 1d |
| 6863 | :param str [params.category]: "linear" or "inverse" |
| 6864 | :returns dict} an open interest structure{@link https://docs.ccxt.com/?id=open-interest-structure: |
| 6865 | """ |
| 6866 | self.load_markets() |
| 6867 | market = self.market(symbol) |
| 6868 | if not market['contract']: |
| 6869 | raise BadRequest(self.id + ' fetchOpenInterest() supports contract markets only') |
| 6870 | timeframe = self.safe_string(params, 'interval', '1h') |
| 6871 | intervals = self.safe_dict(self.options, 'intervals') |
| 6872 | interval = self.safe_string(intervals, timeframe) # 5min,15min,30min,1h,4h,1d |
| 6873 | if interval is None: |
| 6874 | raise BadRequest(self.id + ' fetchOpenInterest() cannot use the ' + timeframe + ' timeframe') |
| 6875 | subType = 'linear' if market['linear'] else 'inverse' |
| 6876 | category = self.safe_string(params, 'category', subType) |
| 6877 | request = { |
| 6878 | 'symbol': market['id'], |
| 6879 | 'intervalTime': interval, |
| 6880 | 'category': category, |
| 6881 | } |
| 6882 | response = self.publicGetV5MarketOpenInterest(self.extend(request, params)) |
| 6883 | # |
| 6884 | # { |
| 6885 | # "retCode": 0, |
| 6886 | # "retMsg": "OK", |
| 6887 | # "result": { |
| 6888 | # "symbol": "BTCUSD", |
| 6889 | # "category": "inverse", |
| 6890 | # "list": [ |
| 6891 | # { |
| 6892 | # "openInterest": "461134384.00000000", |
| 6893 | # "timestamp": "1669571400000" |
| 6894 | # }, |
| 6895 | # { |
| 6896 | # "openInterest": "461134292.00000000", |
| 6897 | # "timestamp": "1669571100000" |
| 6898 | # } |
| 6899 | # ], |
| 6900 | # "nextPageCursor": "" |
| 6901 | # }, |
| 6902 | # "retExtInfo": {}, |
| 6903 | # "time": 1672053548579 |
| 6904 | # } |
| 6905 | # |
| 6906 | result = self.safe_dict(response, 'result', {}) |
| 6907 | id = self.safe_string(result, 'symbol') |
| 6908 | safeMarketObj = self.safe_market(id, market, None, 'contract') |
| 6909 | data = self.add_pagination_cursor_to_result(response) |
| 6910 | return self.parse_open_interest(data[0], safeMarketObj) |
| 6911 |
nothing calls this directly
no test coverage detected