Architect Documentation
  • User Guide
  • SDK Documentation
  • Algos Book
  • Architect Add-In For Excel
  • Introduction
  • Creating an API key
  • Getting started with Python
  • Getting started with Rust
  • Concepts
    • Symbology
    • Orderflow
    • Accounts and portfolio management
    • Systems and connectivity diagram
    • Authentication
    • Pagination
  • SDK Reference
    • Symbology and instrument info
    • Marketdata
    • Order entry
    • Portfolio management
    • Connection management
Powered by GitBook
On this page
  • List accounts
  • Account permissions
  • Get account summary
  • Account summary fields
  • Get account history
  1. SDK Reference

Portfolio management

PreviousOrder entryNextConnection management

Last updated 26 days ago

List accounts

List all accounts available to the user. This includes FCM accounts, which must be specified when sending orders.

res = await client.list_accounts()

for item in res:
    print(item.account.name)
[
  {
    "account": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "STONEX:000000/JDoe"
    },
    "permissions": {
      "list": true,
      "reduce_or_close": true, 
      "set_limits": true,
      "trade": true,
      "view": true
    },
    "trader": "00000000-0000-0000-0000-000000000000"
  },
  {
    "account": {
      "id": "00000000-0000-0000-0000-000000000001", 
      "name": "STONEX:000001/JDoe"
    },
    "permissions": {
      "list": true,
      "reduce_or_close": true,
      "set_limits": true, 
      "trade": true,
      "view": true
    },
    "trader": "00000000-0000-0000-0000-000000000000"
  }
]

Account permissions

Permission
Description

list

Trader is allowed to know about the account but not its balances or positions

reduce_or_close

Trader can send orders only to reduce or close (risk manager)

set_limits

Trader allowed to set or change risk limits on the account

trade

Trader allowed to send orders

view

Read-only view of account, including balances and positions

Get account summary

Get an account summary for a specified account.

res = await client.get_account_summary("STONEX:000000/JDoe")
print(res)

# get multiple account summaries
res = await client.get_account_summaries([
    "STONEX:000000/JDoe", 
    "STONEX:000001/JDoe"
])
print(res)
{
  "account": "00000000-0000-0000-0000-000000000000",
  "balances": {
    "USD": "5754.59"
  },
  "positions": {
    "MGC 20250626 CME Future/USD": [
      {
        "quantity": "1",
        "cost_basis": "3279.2"
      }
    ]
  },
  "timestamp": "2025-05-15T22:32:21.222906Z",
  "cash_excess": "0",
  "position_margin": "1650",
  "purchasing_power": "5447.59", 
  "realized_pnl": "0",
  "total_margin": "1650",
  "unrealized_pnl": "0"
}

Account summary fields

Field
Description

account

Account ID

timestamp

Snapshot timestamp

equity

Total account equity or net liquidation value

cash_excess

Withdrawable cash

purchasing_power

Total purchasing power of the account

unrealized_pnl

Unrealized P&L

realized_pnl

Realized P&L

yesterday_equity

Yesterday account equity or net liquidation value; not provided on all venues

total_margin

Margin usage including open orders and positions

position_margin

Margin usage including only positions

balances

Map of products/assets to their quantities

positions

See "Account Positions" table

Get account history

Get historical snapshots of account summaries for the specified account.

from datetime import datetime

res = await client.get_account_history(
    account="STONEX:000000/JDoe",
    from_inclusive=datetime(2025, 1, 1),
    to_exclusive=datetime(2025, 1, 2)
)
print(res)
Portfolio management
List accounts
Account permissions
Get account summary
Account summary fields
Get account history