Back to Projects

    Client Portfolio Agent

    The Problem

    Financial advisors spend a disproportionate amount of their week on portfolio construction mechanics rather than client relationships. Building an optimized allocation, running risk metrics, stress-testing scenarios, and then translating all of it into language a client can actually understand — that's half a day per client review. Multiply that across a book of 50–100 clients and the math doesn't work.

    The tools advisors have are either too simple (model portfolios that ignore individual constraints) or too complex (institutional-grade optimizers that require a quant to operate). What's missing is something in between: a system that does the quantitative work and then explains the result in plain language a client can read in an email.

    What We Built

    An LLM-powered portfolio agent that takes a set of tickers, applies optimization constraints, and generates both the quantitative output and a client-ready explanation — in one step.

    The system handles:

    • Portfolio optimization — input tickers, select an objective (Max Sharpe, Min Variance, etc.), set constraints (max weight per asset, risk tolerance), and the agent computes optimal weights using historical data over a configurable lookback window
    • Risk metrics — standard deviation, Sharpe ratio, expected return, and drawdown analysis computed automatically
    • Scenario behavior — how the portfolio performs under different market conditions
    • Client-ready explanations — the LLM generates a plain-language summary of the allocation, why each position is weighted the way it is, and what the risk profile means in practical terms. Written at the level an engaged client would understand, not a quant

    The key differentiator is the last point. Optimizers exist. What doesn't exist for most advisory practices is something that takes the optimizer output and writes the client email for you.

    How It Works

    Enter tickers (e.g., AAPL, MSFT), set your constraints — risk-free rate, max weight per asset, risk tolerance, lookback period — and select an optimization objective. The agent runs the optimization, computes risk metrics and scenario analysis, and generates a client explanation. One input, full output.

    See It in Action

    Client Portfolio Agent — two-asset portfolio optimization with client explanation

    A two-asset portfolio (AAPL, MSFT) configured for Max Sharpe optimization with a 0.4 max weight constraint and 3-year lookback — ready to generate weights, risk metrics, and a client-facing explanation.

    Have a workflow like this that's still manual?

    Let's talk about it