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

Method fetch_option_markets

python/ccxt/bybit.py:2212–2349  ·  view source on GitHub ↗
(self, params)

Source from the content-addressed store, hash-verified

2210 return result
2211
2212 def fetch_option_markets(self, params) -> List[Market]:
2213 request = {
2214 'category': 'option',
2215 }
2216 usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
2217 response: dict
2218 if usePrivateInstrumentsInfo:
2219 response = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
2220 else:
2221 response = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
2222 data = self.safe_dict(response, 'result', {})
2223 markets = self.safe_list(data, 'list', [])
2224 if self.options['loadAllOptions']:
2225 request['limit'] = 1000
2226 paginationCursor = self.safe_string(data, 'nextPageCursor')
2227 if paginationCursor is not None:
2228 while(paginationCursor is not None):
2229 request['cursor'] = paginationCursor
2230 responseInner: dict
2231 if usePrivateInstrumentsInfo:
2232 responseInner = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
2233 else:
2234 responseInner = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
2235 dataNew = self.safe_dict(responseInner, 'result', {})
2236 rawMarkets = self.safe_list(dataNew, 'list', [])
2237 rawMarketsLength = len(rawMarkets)
2238 if rawMarketsLength == 0:
2239 break
2240 markets = self.array_concat(rawMarkets, markets)
2241 paginationCursor = self.safe_string(dataNew, 'nextPageCursor')
2242 #
2243 # {
2244 # "retCode": 0,
2245 # "retMsg": "success",
2246 # "result": {
2247 # "category": "option",
2248 # "nextPageCursor": "0%2C2",
2249 # "list": [
2250 # {
2251 # "symbol": "BTC-29DEC23-80000-C",
2252 # "status": "Trading",
2253 # "baseCoin": "BTC",
2254 # "quoteCoin": "USD",
2255 # "settleCoin": "USDC",
2256 # "optionsType": "Call",
2257 # "launchTime": "1688630400000",
2258 # "deliveryTime": "1703836800000",
2259 # "deliveryFeeRate": "0.00015",
2260 # "priceFilter": {
2261 # "minPrice": "5",
2262 # "maxPrice": "10000000",
2263 # "tickSize": "5"
2264 # },
2265 # "lotSizeFilter": {
2266 # "maxOrderQty": "500",
2267 # "minOrderQty": "0.01",
2268 # "qtyStep": "0.01"
2269 # }

Callers 1

fetch_marketsMethod · 0.95

Calls 15

safe_boolMethod · 0.80
safe_dictMethod · 0.80
safe_listMethod · 0.80
safe_stringMethod · 0.80
array_concatMethod · 0.80
safe_integerMethod · 0.80
splitMethod · 0.80
safe_market_structureMethod · 0.80
safe_numberMethod · 0.80
parse_numberMethod · 0.80

Tested by

no test coverage detected