ib-portfolio-action-report
Scannednpx machina-cli add skill staskh/trading_skills/ib-portfolio-action-report --openclawIB Portfolio Action Report
Generate a comprehensive portfolio action report that analyzes all positions across Interactive Brokers accounts, fetches earnings dates, and provides traffic-light risk indicators (🔴🟡🟢) for each position.
Prerequisites
User must have TWS or IB Gateway running locally with API enabled:
- Paper trading: port 7497
- Live trading: port 7496
Instructions
Step 1: Gather Data
Note: If
uvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin all commands below.
uv run python scripts/report.py [--port PORT] [--account ACCOUNT]
The script returns JSON to stdout with analyzed portfolio data including risk levels, earnings dates, technical indicators, and spread groupings.
Step 2: Format Report
Read templates/markdown-template.md for formatting instructions. Generate a markdown report from the JSON data and save to sandbox/.
Filename: ib_portfolio_action_report_{ACCOUNT}_{YYYY-MM-DD}_{HHmm}.md
Step 3: Report Results
Present critical findings to the user: red/yellow items requiring attention, top priority actions, and the saved report path.
Arguments
--port- IB port (default: 7496 for live trading)--account- Specific account ID to analyze (optional, defaults to all accounts)
JSON Output
The script returns structured JSON with:
generated- Timestampaccounts- List of account IDssummary- Red/yellow/green countsspreads- All positions grouped into spreads with risk level, urgency, and recommendationstechnicals- Technical indicators per symbol (RSI, trend, SMAs, MACD, ADX)earnings- Earnings dates per symbolprices- Current prices per symbolearnings_calendar- Upcoming earnings with account/position infoaccount_summary- Position and risk counts per account
Report Sections
- Critical Summary: Count of positions by risk level (🔴/🟡/🟢)
- Immediate Action Required: Positions expiring within 2 days
- Urgent - Expiring Within 1 Week: Short-term positions needing attention
- Critical Earnings Alert: Positions with earnings this week
- Earnings Next Week: Upcoming earnings exposure
- Expiring in 2 Weeks: Medium-term expirations
- Longer-Dated Positions: Core holdings with spread analysis
- Top Priority Actions: Numbered action items by urgency
- Position Size Summary: Account-level breakdown
- Earnings Calendar: Next 30 days of earnings dates
- Technical Analysis Summary: RSI, trend, SMAs, MACD, ADX for each underlying
Example Usage
# All accounts on live trading port
uv run python scripts/report.py --port 7496
# Specific account
uv run python scripts/report.py --port 7496 --account U790497
Dependencies
ib-asyncpandas-tayfinance
Source
git clone https://github.com/staskh/trading_skills/blob/main/.claude/skills/ib-portfolio-action-report/SKILL.mdView on GitHub Overview
Generates a comprehensive analysis of all Interactive Brokers positions, pulling earnings dates and assigning traffic-light risk indicators for each position. It supports portfolio reviews, action items, earnings risk assessment, and cross-account position management via a locally running TWS or IB Gateway.
How This Skill Works
It runs against your local IB API session to gather data via scripts/report.py, returning a JSON payload with risk levels, earnings dates, technical indicators, and spreads. The results are then formatted into a Markdown report using templates/markdown-template.md and saved under sandbox/ with a timestamped filename.
When to Use It
- When performing a portfolio review across IB accounts
- When identifying action items or urgent adjustments
- When assessing earnings risk and upcoming earnings dates per symbol
- When managing positions and spreads across accounts
- When preparing a report to share findings with stakeholders
Quick Start
- Step 1: Start TWS or IB Gateway with API access enabled (Paper: port 7497, Live: port 7496)
- Step 2: Run uv run python scripts/report.py --port PORT [--account ACCOUNT]
- Step 3: Open the generated Markdown report in sandbox/ and review red/yellow items and actions
Best Practices
- Ensure TWS or IB Gateway is running with API access before starting
- Use port 7496 for live trading or 7497 for paper trading, and specify --account if needed
- Run after market close for fresh data and review earnings dates
- Validate the JSON output before formatting the Markdown report
- Review the earnings_calendar and spreads sections to prioritize actions
Example Use Cases
- Review all accounts before an earnings week and focus on red items needing action
- Generate a report for a specific account to isolate action items and risk
- Save the Markdown report to sandbox/ with a timestamped filename for record keeping
- Use the earnings_calendar to anticipate risk exposure across symbols
- Combine with technical indicators (RSI, SMA, MACD) to adjust risk posture