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

Method fetch_positions_risk

python/ccxt/async_support/aster.py:3389–3432  ·  view source on GitHub ↗

fetch positions risk https://asterdex.github.io/aster-api-website/futures-v3/account%26trades/#position-information-v3-user_data :param str[]|None symbols: list of unified market symbols :param dict [params]: extra parameters specific to the exchange API endpoint

(self, symbols: Strings = None, params={})

Source from the content-addressed store, hash-verified

3387 })
3388
3389 async def fetch_positions_risk(self, symbols: Strings = None, params={}):
3390 """
3391 fetch positions risk
3392
3393 https://asterdex.github.io/aster-api-website/futures-v3/account%26trades/#position-information-v3-user_data
3394
3395 :param str[]|None symbols: list of unified market symbols
3396 :param dict [params]: extra parameters specific to the exchange API endpoint
3397 :returns dict: data on the positions risk
3398 """
3399 if symbols is not None:
3400 if not isinstance(symbols, list):
3401 raise ArgumentsRequired(self.id + ' fetchPositionsRisk() requires an array argument for symbols')
3402 await self.load_markets_and_sign_in()
3403 await self.load_leverage_brackets(False, params)
3404 request = {}
3405 response = await self.fapiPrivateGetV3PositionRisk(self.extend(request, params))
3406 #
3407 # [
3408 # {
3409 # "entryPrice": "6563.66500",
3410 # "marginType": "isolated",
3411 # "isAutoAddMargin": "false",
3412 # "isolatedMargin": "15517.54150468",
3413 # "leverage": "10",
3414 # "liquidationPrice": "5930.78",
3415 # "markPrice": "6679.50671178",
3416 # "maxNotionalValue": "20000000",
3417 # "positionSide": "LONG",
3418 # "positionAmt": "20.000", # negative value for 'SHORT'
3419 # "symbol": "BTCUSDT",
3420 # "unRealizedProfit": "2316.83423560",
3421 # "updateTime": 1625474304765
3422 # }
3423 # ]
3424 #
3425 result = []
3426 for i in range(0, len(response)):
3427 rawPosition = response[i]
3428 entryPriceString = self.safe_string(rawPosition, 'entryPrice')
3429 if Precise.string_gt(entryPriceString, '0'):
3430 result.append(self.parse_position_risk(response[i]))
3431 symbols = self.market_symbols(symbols)
3432 return self.filter_by_array_positions(result, 'symbol', symbols, False)
3433
3434 async def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]:
3435 """

Callers 1

fetch_positionsMethod · 0.95

Calls 12

parse_position_riskMethod · 0.95
ArgumentsRequiredClass · 0.90
safe_stringMethod · 0.80
string_gtMethod · 0.80
market_symbolsMethod · 0.80
rangeFunction · 0.50
extendMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected