MCPcopy Create free account
hub / github.com/ccxt/ccxt / fetch_open_interest

Method fetch_open_interest

python/ccxt/bybit.py:6854–6910  ·  view source on GitHub ↗

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={})

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 10

safe_marketMethod · 0.95
parse_open_interestMethod · 0.95
BadRequestClass · 0.90
safe_stringMethod · 0.80
safe_dictMethod · 0.80
load_marketsMethod · 0.45
marketMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected