(self, params={})
| 1658 | } |
| 1659 | |
| 1660 | async def fetch_option_markets(self, params={}): |
| 1661 | result = [] |
| 1662 | underlyings = await self.fetch_option_underlyings() |
| 1663 | for i in range(0, len(underlyings)): |
| 1664 | underlying = underlyings[i] |
| 1665 | query = self.extend({}, params) |
| 1666 | query['underlying'] = underlying |
| 1667 | response = await self.publicOptionsGetContracts(query) |
| 1668 | # |
| 1669 | # [ |
| 1670 | # { |
| 1671 | # "orders_limit": "50", |
| 1672 | # "order_size_max": "100000", |
| 1673 | # "mark_price_round": "0.1", |
| 1674 | # "order_size_min": "1", |
| 1675 | # "position_limit": "1000000", |
| 1676 | # "orderbook_id": "575967", |
| 1677 | # "order_price_deviate": "0.9", |
| 1678 | # "is_call": True, # True means Call False means Put |
| 1679 | # "last_price": "93.9", |
| 1680 | # "bid1_size": "0", |
| 1681 | # "bid1_price": "0", |
| 1682 | # "taker_fee_rate": "0.0004", |
| 1683 | # "underlying": "BTC_USDT", |
| 1684 | # "create_time": "1646381188", |
| 1685 | # "price_limit_fee_rate": "0.1", |
| 1686 | # "maker_fee_rate": "0.0004", |
| 1687 | # "trade_id": "727", |
| 1688 | # "order_price_round": "0.1", |
| 1689 | # "settle_fee_rate": "0.0001", |
| 1690 | # "trade_size": "1982", |
| 1691 | # "ref_rebate_rate": "0", |
| 1692 | # "name": "BTC_USDT-20220311-44000-C", |
| 1693 | # "underlying_price": "39194.26", |
| 1694 | # "strike_price": "44000", |
| 1695 | # "multiplier": "0.0001", |
| 1696 | # "ask1_price": "0", |
| 1697 | # "ref_discount_rate": "0", |
| 1698 | # "expiration_time": "1646985600", |
| 1699 | # "mark_price": "12.15", |
| 1700 | # "position_size": "4", |
| 1701 | # "ask1_size": "0", |
| 1702 | # "tag": "WEEK" |
| 1703 | # } |
| 1704 | # ] |
| 1705 | # |
| 1706 | for j in range(0, len(response)): |
| 1707 | market = response[j] |
| 1708 | id = self.safe_string(market, 'name') |
| 1709 | parts = underlying.split('_') |
| 1710 | baseId = self.safe_string(parts, 0) |
| 1711 | quoteId = self.safe_string(parts, 1) |
| 1712 | base = self.safe_currency_code(baseId) |
| 1713 | quote = self.safe_currency_code(quoteId) |
| 1714 | symbol = base + '/' + quote |
| 1715 | expiry = self.safe_timestamp(market, 'expiration_time') |
| 1716 | strike = self.safe_string(market, 'strike_price') |
| 1717 | isCall = self.safe_value(market, 'is_call') |
no test coverage detected