name: ib-portfolio description: Get portfolio positions from Interactive Brokers. Use when user asks about their portfolio, positions, holdings, or what stocks they own. Requires TWS or IB Gateway running locally. dependencies: ["trading-skills"]
IB Portfolio
Fetch current portfolio positions from Interactive Brokers.
Prerequisites
User must have TWS or IB Gateway running locally with API enabled:
- Paper trading: port 7497
- Live trading: port 7496
Instructions
Note: If
uvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin all commands below.
uv run python scripts/portfolio.py [--port PORT]
Arguments
--port- IB port (default: 7496 for live trading)--account- Specific IB account ID (optional, defaults to first account)
Output
Returns JSON with:
connected- Whether connection succeededpositions- Array of positions with symbol, quantity, avg_cost, market_value, unrealized_pnl
If not connected, explain that TWS/Gateway needs to be running.
Dependencies
ib-async
Timezone
All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.