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

Method fetch_positions

python/ccxt/coinbase.py:4522–4554  ·  view source on GitHub ↗

fetch all open positions https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/us-derivatives/list-futures-positions https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/international-derivatives/list-perpetuals-positions :param

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

Source from the content-addressed store, hash-verified

4520 return self.parse_order(order)
4521
4522 def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]:
4523 """
4524 fetch all open positions
4525
4526 https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/us-derivatives/list-futures-positions
4527 https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/international-derivatives/list-perpetuals-positions
4528
4529 :param str[] [symbols]: list of unified market symbols
4530 :param dict [params]: extra parameters specific to the exchange API endpoint
4531 :param str [params.portfolio]: the portfolio UUID to fetch positions for
4532 :returns dict[]: a list of `position structure <https://docs.ccxt.com/?id=position-structure>`
4533 """
4534 self.load_markets()
4535 symbols = self.market_symbols(symbols)
4536 market = None
4537 if symbols is not None:
4538 market = self.market(symbols[0])
4539 type = None
4540 type, params = self.handle_market_type_and_params('fetchPositions', market, params)
4541 response = None
4542 if type == 'future':
4543 response = self.v3PrivateGetBrokerageCfmPositions(params)
4544 else:
4545 portfolio = None
4546 portfolio, params = self.handle_option_and_params(params, 'fetchPositions', 'portfolio')
4547 if portfolio is None:
4548 raise ArgumentsRequired(self.id + ' fetchPositions() requires a "portfolio" value in params(eg: dbcb91e7-2bc9-515), or set.options["portfolio"]. You can get a list of portfolios with fetchPortfolios()')
4549 request = {
4550 'portfolio_uuid': portfolio,
4551 }
4552 response = self.v3PrivateGetBrokerageIntxPositionsPortfolioUuid(self.extend(request, params))
4553 positions = self.safe_list(response, 'positions', [])
4554 return self.parse_positions(positions, symbols)
4555
4556 def fetch_position(self, symbol: str, params={}):
4557 """

Callers

nothing calls this directly

Calls 11

ArgumentsRequiredClass · 0.90
market_symbolsMethod · 0.80
safe_listMethod · 0.80
load_marketsMethod · 0.45
marketMethod · 0.45
extendMethod · 0.45
parse_positionsMethod · 0.45

Tested by

no test coverage detected