Repository navigation
Open
1 / 11 of 1 issue completedOpen
1 / 11 of 1 issue completed
Copy link
Labels
enhancementNew feature or requestNew feature or requestrisk-managementRisk management, position sizing, and portfolio protectionRisk management, position sizing, and portfolio protectiontrack:backlogFuture enhancements - parked for later considerationFuture enhancements - parked for later consideration
Description
Problem
Need comprehensive portfolio-level management for multi-ticker automated trading with correlation analysis, position limits, and rebalancing logic.
Dependencies & Relationships
Priority: P2 - MEDIUM (Q2 2026+)
Consolidates:
- Portfolio-level Statistics: Correlation and Beta Calculations #162 (Portfolio-level Statistics: Correlation and Beta)
- Maximum position limits per sector #238 (Maximum position limits per sector)
- Portfolio heat mapping (correlation analysis) #239 (Portfolio heat mapping - correlation analysis)
- Add rebalancing logic for multi-ticker portfolios #249 (Rebalancing logic for multi-ticker portfolios)
- Portfolio Management and Multi-Asset Support #263 (Portfolio Management and Multi-Asset Support)
Depends on: #304 (Scanner Service - multi-ticker monitoring)
Integrates with: #306 (Position Management), VoterAgent
Enables: Multi-ticker automated trading deployment
Solution: Comprehensive Portfolio Management
Unified portfolio management system for coordinated multi-asset trading with risk controls and optimization.
Core Features
1. Portfolio-Level Statistics (#162)
- Correlation Matrix: Cross-ticker correlation analysis
- Beta Calculations: Portfolio beta vs SPY benchmark
- Portfolio Risk Metrics: Combined volatility, concentration risk
- Diversification Benefit: Quantify diversification effects
- High Water Mark Tracking: Peak portfolio value and drawdown analysis
2. Position Limits and Risk Controls (#238)
- Sector Concentration Limits: Maximum exposure per sector (e.g., max 40% tech)
- Position Size Limits: Maximum % of portfolio per ticker
- Total Exposure Caps: Overall portfolio leverage limits
- Cash Reserve Requirements: Minimum cash buffer for volatility
- Dynamic Limit Adjustment: Limits adapt to market volatility
3. Correlation Analysis and Heat Mapping (#239)
- Tech Stock Focus: AAPL, NVDA, GOOGL, MSFT, META, TSLA, AMZN
- Correlation Heat Maps: Visual correlation matrix across holdings
- Strategy Correlation: How VoterAgent performs across correlated assets
- Risk Concentration Alerts: Warn when portfolio too correlated
- Diversification Score: Measure portfolio diversification quality
4. Portfolio Rebalancing Logic (#249)
- Rebalancing Triggers:
- Drift from target allocation > threshold (e.g., 5%)
- Sector concentration exceeds limits
- Portfolio risk metrics breach thresholds
- Rebalancing Methods:
- Sell overweight positions to target
- Buy underweight positions from proceeds
- Tax-aware rebalancing (minimize short-term gains)
- Rebalancing Schedule: Weekly or threshold-based
- Transaction Cost Consideration: Balance rebalancing benefit vs costs
5. Multi-Asset Coordination (#263)
- Unified Position Tracking: All tickers in single portfolio view
- Aggregate P&L: Total portfolio performance calculation
- Cash Management: Available buying power across all positions
- Coordinated Entry/Exit: Avoid simultaneous large trades
- Portfolio-Level Stops: Circuit breakers for total portfolio drawdown
Implementation Components
PortfolioManager Class
class PortfolioManager:
def __init__(self, max_positions=10, max_sector_pct=0.40):
self.max_positions = max_positions
self.max_sector_pct = max_sector_pct
self.positions = {}
def calculate_correlation_matrix(self):
"""Compute correlation across all holdings"""
def check_sector_limits(self, symbol, sector, size):
"""Enforce sector concentration limits"""
def calculate_portfolio_beta(self):
"""Portfolio beta vs SPY benchmark"""
def suggest_rebalancing(self):
"""Identify rebalancing opportunities"""
def calculate_diversification_score(self):
"""Quantify portfolio diversification"""Integration with Current System
VoterAgent Integration:
- VoterAgent generates signals for multiple tickers
- PortfolioManager coordinates which signals to act on
- Position limits prevent over-concentration
- Rebalancing triggers selling winners to fund new opportunities
Scanner Service Integration (#304):
- Scanner identifies opportunities across ticker watchlist
- PortfolioManager determines if portfolio can add position
- Sector limits filter scanner recommendations
Position Manager Integration (#306):
- PositionManager tracks individual positions
- PortfolioManager aggregates across all positions
- Portfolio-level metrics fed back to risk decisions
Use Cases
Use Case 1: Multi-Ticker Tech Portfolio
- Watchlist: AAPL, NVDA, GOOGL, MSFT, META, TSLA, AMZN (7 stocks)
- Limits: Max 3 positions, max 40% per stock
- Strategy: VoterAgent signals across all 7, portfolio chooses best 3
- Rebalancing: Weekly review, sell losers/add winners within limits
Use Case 2: Sector Rotation
- Watchlist: Top stocks in Tech, Healthcare, Finance, Energy sectors
- Limits: Max 30% per sector, 5-7 total positions
- Strategy: Follow VoterAgent signals but maintain sector balance
- Rebalancing: Monthly sector reallocation based on market regime
Use Case 3: Core-Satellite Portfolio
- Core: 60% SPY (passive buy-and-hold)
- Satellite: 40% active trading with VoterAgent (3-5 positions)
- Limits: Satellite positions max 10% each
- Rebalancing: Quarterly core/satellite rebalance
Implementation Plan
Phase 1: Portfolio Statistics (Q2 2026)
- Correlation matrix calculation
- Beta calculation vs SPY
- Portfolio risk metrics (volatility, concentration)
- Basic reporting dashboard
Phase 2: Risk Controls (Q2 2026)
- Sector concentration limits enforcement
- Position size limits
- Cash reserve requirements
- Limit breach alerts
Phase 3: Advanced Features (Q3 2026)
- Correlation heat maps visualization
- Rebalancing recommendation engine
- Tax-aware trading optimization
- Multi-asset coordination logic
Implementation Priority
P2 - MEDIUM - Valuable for scaling beyond single-ticker trading
Timeline
- Q2 2026: After Scanner Service ([Future][Agent] Scanner Service Implementation - Multi-ticker Detection #304) operational
- Q3 2026: Advanced portfolio optimization features
- Dependencies: Multi-ticker Scanner, mature VoterAgent
Technology Requirements
- Python Libraries: pandas, numpy, scipy (for correlation/statistics)
- Visualization: matplotlib/plotly for heat maps
- Integration: Extend existing PositionManager
- Data: Historical returns for all tickers in watchlist
Success Criteria
- Enforce sector concentration limits automatically
- Correlation analysis accurate (validated against known correlations)
- Rebalancing recommendations actionable and cost-effective
- Portfolio beta calculation within 5% of benchmark
- Diversification score meaningful and interpretable
Files to Create
src/portfolio/portfolio_manager.py- Main portfolio coordinationsrc/portfolio/correlation_analyzer.py- Correlation and statisticssrc/portfolio/rebalancing_engine.py- Rebalancing logicsrc/portfolio/sector_limits.py- Sector exposure trackingtests/portfolio/test_portfolio_manager.py- Comprehensive tests
Documentation References
- Portfolio management best practices
- Modern Portfolio Theory (MPT) application
- Risk parity and correlation-adjusted sizing
This consolidated issue replaces #162, #238, #239, #249, and #263 with unified portfolio management specification.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestrisk-managementRisk management, position sizing, and portfolio protectionRisk management, position sizing, and portfolio protectiontrack:backlogFuture enhancements - parked for later considerationFuture enhancements - parked for later consideration
Activity
[-]Portfolio Management Suite - Multi-asset coordination and risk management[/-][+][Feature] Portfolio Management Suite - Multi-asset Coordination[/+]iAmGiG commentedon Dec 1, 2025
Status Update - November 2025
Current Status: Deferred (Q2 2026+)
This comprehensive portfolio management issue remains correctly prioritized for Q2 2026+. Key dependencies are still in development.
Blocking Dependencies
Foundation Building Blocks Now Available
Issue #415 (Approved Ticker List) provides some groundwork:
Suggested Approach
Rather than implementing this massive issue all at once, consider extracting smaller pieces:
Files Needed (Future)
src/portfolio/portfolio_manager.py- coordinationsrc/portfolio/correlation_analyzer.py- statisticssrc/portfolio/rebalancing_engine.py- rebalancingUpdated by Claude Code - Correctly prioritized for Q2 2026+
[-][Feature] Portfolio Management Suite - Multi-asset Coordination[/-][+][Future][Feature] Portfolio Management Suite - Multi-asset Coordination[/+]iAmGiG commentedon Mar 18, 2026
Consolidated Issues (March 2026)
This epic now tracks all portfolio & position sizing:
Status: P2 priority (Q2 2026+). Depends on #304 (Scanner Service).
iAmGiG commentedon Nov 1, 2026
Status after #331: this no longer depends on #304, which is closed.
VoterAgentin the text is nowVotingSignal. Portfolio overrides, the one piece built toward this, were removed in #657 because nothing read them. Left open as a future idea.