Guide / Optimization

From holdings to a target allocation.

A practical walkthrough of the models, controls, and decisions behind the Optimization workspace. Follow it with your own portfolio, one step at a time.

Start with accurate holdings

On Overview, add your stock positions or import a brokerage CSV. Check each ticker, share count, and average cost. Only positions with shares can contribute to your current portfolio weights; a ticker saved with zero shares is not a funded position.

Check the Portfolio Value against the listed positions and cash. Cash is shown in your overview, but it is not treated as a stock in the optimizer. Candidate tickers can be added later in Optimize if you want to consider new positions.

The models need enough overlapping daily price history for the eligible stocks. If a ticker is skipped, check the skipped list after the run rather than assuming it was included.

Choose the question you want to answer

Open Optimize and select a method in the left column. Start with Max Sharpe to compare your current mix with a return-for-risk allocation, or Min Variance if reducing modeled swings matters more.

MethodWhen to use itAccess
Max SharpeYou want the best estimated excess return for each unit of risk.Uses historical return estimates and a risk-free rate; a higher Sharpe is not guaranteed performance.Free
Min VarianceYou want the lowest modeled volatility from the available assets.Lower volatility does not eliminate losses.Free
Target RiskYou have an annual volatility level in mind.Enter that level with the Target volatility slider before running.Free
Risk Parity (HRP)You want a mix driven by how holdings cluster and contribute risk.It is less reliant on precise expected-return forecasts.Pro
Black-LittermanYou want to blend market-implied returns with your own or AI views.Confidence controls how strongly each view changes the estimate.Pro

Set guardrails before you run

  • Max weight per holding limits concentration in any one stock. If your cap is too low for the number of assets, the model may not find a feasible allocation.
  • Target volatility appears when Target Risk is selected. It is a modeled annual volatility target, not a guaranteed loss limit.
  • Risk-free rate is the baseline used for the Sharpe comparison. Set it to the rate you want to compare against.
  • Candidate tickers allow possible new positions. Pro members can also turn on a sector cap and Value, Momentum, Quality, or Low Volatility exposure bands.

Press Run optimization. The app loads roughly a year of daily closes, estimates risk using a shrunk covariance matrix, and calculates the allocation. Changing inputs does not change the displayed results until you run it again.

Read the comparison, not just the winner

The result compares current and optimized expected return, annualized volatility, Sharpe ratio, and modeled drawdown. Expected return is estimated from historical data, not a prediction. A higher Sharpe means more estimated excess return per unit of volatility under the model.

Scroll to Allocation & trades to see each ticker’s current and target weight and the approximate buy or sell amount. Review Risk Lab for factor exposure, correlations, and scenario estimates before choosing a target.

Explore your risk tolerance visually

On Efficient frontier, press Build frontier. The chart plots modeled return against volatility, alongside your current mix and the max-Sharpe point. Use the Risk tolerance slider or the Min variance, Max Sharpe, and Max return shortcuts to choose a point.

The metrics and allocation table below follow the selected point. Compare the trade amounts and concentration before pressing Set as target. Rebuild the frontier after changing the max weight, risk-free rate, or candidate tickers.

Blend in a researched view (Pro)

Use Signals to refresh the latest news, earnings, and filings analysis. Then open Black-Litterman to review the AI views. Switch individual views on or off, edit their estimated 12-month return and confidence, or select Add view to express your own expectation.

For a view, Returns expresses a stock’s expected annual return; Beats expresses how much one stock is expected to outperform another. Both require a percentage and confidence. Press Run Black-Litterman to compare market-implied prior returns with posterior returns after your views are applied. If no views are selected, the posterior may be the same as the prior.

Save the target, then watch drift

When you are satisfied with an allocation, press Set as target on Optimize, Efficient frontier, or Black-Litterman. Open Rebalance to compare today’s weights with the saved target. The trade list estimates the buys and sells needed to close that gap; it does not place brokerage orders.

Pro members can set a drift threshold and turn on in-app or email alerts. Rebalance checks the saved target as prices and holdings change; run the model again and save a new target when your assumptions or goals change. Review the list before making any real-world trade, including available cash, costs, and taxes.

Your workflow: verify holdings → choose a model → set constraints → compare results → save a target → monitor drift.
Model outputs are estimates, not financial advice.
Try it with your portfolio