(self, position: dict, market: Market = None)
| 10438 | return self.filter_by_array_positions(result, 'symbol', symbols, False) |
| 10439 | |
| 10440 | def parse_option_position(self, position: dict, market: Market = None): |
| 10441 | # |
| 10442 | # { |
| 10443 | # "entryPrice": "27.70000000", |
| 10444 | # "symbol": "ETH-230426-1850-C", |
| 10445 | # "side": "LONG", |
| 10446 | # "quantity": "0.50000000", |
| 10447 | # "reducibleQty": "0.50000000", |
| 10448 | # "markValue": "10.250000000", |
| 10449 | # "ror": "-0.2599", |
| 10450 | # "unrealizedPNL": "-3.600000000", |
| 10451 | # "markPrice": "20.5", |
| 10452 | # "strikePrice": "1850.00000000", |
| 10453 | # "positionCost": "13.85000000", |
| 10454 | # "expiryDate": 1682496000000, |
| 10455 | # "priceScale": 1, |
| 10456 | # "quantityScale": 2, |
| 10457 | # "optionSide": "CALL", |
| 10458 | # "quoteAsset": "USDT", |
| 10459 | # "time": 1682492427106 |
| 10460 | # } |
| 10461 | # |
| 10462 | marketId = self.safe_string(position, 'symbol') |
| 10463 | market = self.safe_market(marketId, market, None, 'swap') |
| 10464 | symbol = market['symbol'] |
| 10465 | side = self.safe_string_lower(position, 'side') |
| 10466 | quantity = self.safe_string(position, 'quantity') |
| 10467 | if side != 'long': |
| 10468 | quantity = Precise.string_mul('-1', quantity) |
| 10469 | timestamp = self.safe_integer(position, 'time') |
| 10470 | return self.safe_position({ |
| 10471 | 'info': position, |
| 10472 | 'id': None, |
| 10473 | 'symbol': symbol, |
| 10474 | 'entryPrice': self.safe_number(position, 'entryPrice'), |
| 10475 | 'markPrice': self.safe_number(position, 'markPrice'), |
| 10476 | 'notional': self.safe_number(position, 'markValue'), |
| 10477 | 'collateral': self.safe_number(position, 'positionCost'), |
| 10478 | 'unrealizedPnl': self.safe_number(position, 'unrealizedPNL'), |
| 10479 | 'side': side, |
| 10480 | 'contracts': self.parse_number(quantity), |
| 10481 | 'contractSize': None, |
| 10482 | 'timestamp': timestamp, |
| 10483 | 'datetime': self.iso8601(timestamp), |
| 10484 | 'hedged': None, |
| 10485 | 'maintenanceMargin': None, |
| 10486 | 'maintenanceMarginPercentage': None, |
| 10487 | 'initialMargin': None, |
| 10488 | 'initialMarginPercentage': None, |
| 10489 | 'leverage': None, |
| 10490 | 'liquidationPrice': None, |
| 10491 | 'marginRatio': None, |
| 10492 | 'marginMode': None, |
| 10493 | 'percentage': None, |
| 10494 | }) |
| 10495 | |
| 10496 | def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]: |
| 10497 | """ |
no test coverage detected