Must be Registered and logged in to access this page. (Return to Home Page to login/Register)

Optimize Portfolio Ratios

A Math Tool in Beta Testing– Not Investment Advice



⬅ Return to Main Menu

Portfolio Editor:

TickerCurrentOptimizedOptimize
Total

READ THIS FIRST
This tool allows you to optimize a portfolio using historical market data and compare the optimized portfolio with the original portfolio.

Disclaimer: All results are based on approximate historical data and are provided for informational purposes only. No guarantee is made regarding the accuracy, completeness, or applicability of the results. Use at your own risk. This is not financial advice.

If historical data are unavailable for a ticker, the "Default Ticker" is substituted for the missing data.

Important - This Is a Retrospective Analysis

This calculation looks backward and identifies portfolio weights that would have performed best historically according to the selected optimization measure.

It does not predict which portfolio will perform best in the future.

Results do not account for taxes, sector diversification needs, or other factors that may be important when constructing an actual portfolio.

THIS ANALYSIS ASSUMES THAT PORTFOLIO WEIGHTS ARE MAINTAINED THROUGH REBALANCING.

How the Optimizer Works

The optimizer adjusts portfolio weights to:

• Maximize the Sortino Ratio, Sharpe Ratio, or Kappa Ratio

OR

• Minimize Conditional VaR

depending on the optimization measure you select.

The "Maximum Percentage" limits the maximum weight that may be assigned to any optimized ticker.

The "Minimum Percentage" limits the minimum weight. It may be set to a negative value to allow short positions.

A portfolio may contain up to 50 tickers.

1. Set the Analysis Options

"Default Ticker"
Default: SHY

Used as a substitute when historical data are unavailable for a portfolio ticker. The Default Ticker cannot be a bond.

"Compare Ticker"
Default: SPY

Used as the benchmark for comparing portfolio performance. The Compare Ticker cannot be a bond.

"Years"

Determines the historical period used for optimization.

2. Enter Your Portfolio

Use either of the following two methods:

Option 1 - Upload a CSV or Excel File

Click "Choose File" and select a CSV or Excel file from your computer.

Wait until the filename appears next to "Choose File" before continuing.

Data must begin in cell A1.

The file must contain at least one of the following sets of columns:

"Symbol", "Current Value", "Total Gain/Loss Dollar"
(such as from a Fidelity Positions download)

OR

"ticker", "amount"

Extra columns may be left in the file. Column names are case-sensitive.

After selecting the file, click "Read Excel".

The table will be populated with:

"Ticker" — Portfolio holdings
"Current" — Current portfolio weights
"Proposed" — Proposed portfolio weights

The weights are shown as percentages and should total approximately 100%.

The total portfolio value is displayed in the "Current Value $" box above the buttons.

Option 2 - Enter the Portfolio Manually

Enter the tickers and their weights in the "Current" column.

Current weights should add up to 100%.

Enter the total dollar value of the portfolio in the "Current Value $" box above the buttons.

3. Select Tickers to Optimize

In the "Optimize" column, enter 1 for each ticker whose weight you want the optimizer to change.

At least two tickers must be selected.

You may also add new tickers and set their "Optimize" value to 1.

Make sure the Current portfolio weights total 100%.

4. Select the Optimization Measure

Choose one of the following:

• Sortino Ratio
• Sharpe Ratio
• Kappa Ratio
• Conditional VaR

The optimizer will attempt to find portfolio weights that maximize the selected ratio or, for Conditional VaR, minimize the estimated risk.

5. Run the Optimizer

Click "Optimize Selected" to optimize only the tickers marked with 1 in the "Optimize" column.

The optimized portfolio weights and historical performance chart will then be displayed.

If the optimized weights do not change significantly, you can try selecting additional tickers for optimization or shortening the optimization period.

"Optimize All" allows the optimizer to change all portfolio weights.

This is generally NOT RECOMMENDED if you want to maintain control over portfolio diversification.

You may manually adjust weights and run the optimizer again as often as needed.

6. Continue Working with the Results

"Move Optimized to Current" — Moves the optimized portfolio into the Current portfolio so that it can be used as the starting point for another optimization.

"Save to Excel" — Exports the portfolio and results to an Excel file containing three tabs. The first tab can later be used to reload the portfolio.

"Results as PDF" — Saves the portfolio analysis and results as a PDF file.

7. Back Test

Set the "Back Test" toggle to Yes to optimize the portfolio using an earlier historical period and then examine how that optimized portfolio would have performed afterward.

For example:

Set "Years" to 2022-2024 and set "Back Test" to Yes.

The optimizer will determine portfolio weights using market data from 1/1/2022 through 12/31/2024.

It will then compare the resulting optimized portfolio with the original portfolio from the beginning of the selected period through the previous trading day before today.

This allows you to see how a portfolio optimized using information available during an earlier period would have performed subsequently.

Back Test - Important Data Limitations

Mutual Fund return data prior to September 2019 may be unreliable.

If historical data are unavailable for part of the selected period—for example, because a ticker was newly issued—the optimizer substitutes the "Default Ticker" for the missing period.

This substitution can affect both the optimization and the back-test results.

Other Ways to Specify the Time Period

Year:
2022 — Uses data from 1/1/2022 through 12/31/2022.

Year Range:
2021-2023 or 2021-23 — Uses data from 1/1/2021 through 12/31/2023.

YTD:
Uses data from the beginning of the current year through today.

Years:
2 — Starts 2 years ago.
2.3 — Starts 2.3 years ago.
3.5-6 — Uses data from 6 years ago through 3.5 years ago.

Months:
3M — Starts 3 months ago.
3M-7M — Uses data from 7 months ago through 3 months ago.

Date Range:
20210912 — Uses data from 9/12/2021 through today.
20210912-20231231 — Uses data from 9/12/2021 through 12/31/2023.