IBKR Portfolio Analyzer
Finance dashboard · Desktop
A read-only portfolio intelligence dashboard for consolidated Interactive Brokers holdings, risk analysis, deterministic scoring, and evidence-linked research.
- Role
- Independent Software Engineer
- Timeline
- 2026 - Present
- Platform
- Web + local services
- Status
- Public repository
01
Overview
A local-first, read-only portfolio intelligence system designed to consolidate Interactive Brokers accounts, explain portfolio risk, and support decisions without exposing any trading capability.
02
Contributions
- 01
Built multi-account holdings consolidation with USD/CAD conversion, live profit and loss, allocation breakdowns, and VaR, drawdown, and concentration metrics.
- 02
Connected to IBKR Gateway through ib-insync using read-only sessions, response caching, diagnostics, unique client IDs, and a broker contract with no execution methods.
- 03
Implemented a GBDT-style scoring engine combining fundamentals, technicals, and news sentiment with suitability checks, IPS drift detection, and a Data Insufficient fallback.
- 04
Integrated Gemini research reports with structured JSON, provenance markers, execution-language sanitization, and 56+ pytest cases verifying no-trading compliance.
03
System design
- Client
- Next.js and TypeScript dashboard with server-side data access and financial visualizations.
- API
- FastAPI services expose portfolio, risk, scoring, research, and diagnostic endpoints.
- Broker boundary
- ib-insync adapter handles read-only account and market data; the interface exposes no order-placement methods.
- Validation
- pytest coverage verifies analytical behavior, fallback logic, provenance handling, and compliance boundaries.
04
Outcome
The result is a decision-support tool rather than an execution system: data access, analysis, research, and risk review are deliberately separated from trading.
Core stack
- FastAPI
- Next.js
- TypeScript
- Python
- Docker
- Gemini API
- ib-insync
Discuss the work
Need implementation detail or engineering context?
Email a specific question about the architecture, trade-offs, or validation approach.