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.
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.
| Method | When to use it | Access |
|---|---|---|
| Max Sharpe | You 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 Variance | You want the lowest modeled volatility from the available assets.Lower volatility does not eliminate losses. | Free |
| Target Risk | You 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-Litterman | You 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.