Trigger: Daily batch job runs after market close, ingesting portfolio positions, cost basis, and market data from the core platform (e.g., Addepar, Orion).
Context/Data Pulled:
- Current holdings with detailed lot-level cost basis and acquisition dates.
- Unrealized gain/loss status for each lot.
- Recent trading activity (wash sale windows).
- Client's tax profile (marginal rate, state residency, AMT status).
- Portfolio target allocations and any pending model changes.
Model or Agent Action:
An AI agent analyzes the data, looking for opportunities a simple rule might miss:
- Identifies "Pairs" for Swaps: Finds securities with highly correlated substitutes (e.g., SPY vs. VOO) where selling a loss lot and buying a similar ETF can maintain market exposure.
- Evaluates Concentration Risk: Flags loss lots in oversized positions where harvesting also aids portfolio diversification.
- Assesses "Quality" of Loss: Prioritizes short-term losses (ordinary income deduction) and losses in high-tax-bracket years.
- Checks for Wash Sale Conflicts: Cross-references against recent purchases across all household accounts.
The agent generates a ranked list of actionable lots with a brief rationale.
System Update or Next Step:
High-confidence recommendations within predefined parameters (e.g., loss > $1k, high correlation score) are automatically created as "Proposed Harvest" tasks in the tax software or advisor workflow queue. All recommendations are logged with the agent's reasoning for audit.
Human Review Point: The advisor or portfolio manager reviews the proposed list in the system's UI, approving, rejecting, or modifying suggestions before any trades are placed.