Tax-Aware Portfolio Optimization

There is no optimal portfolio, but that does not justify keeping 90% of your net worth in a single company.

"But I don't want to pay taxes on my gains!"

I know. Nor should you. Taxes cause a real drag on your portfolio, and you should trade off the impact it has on your returns.

"But that's hard!"

Not really. But this website makes it trivial. Here's how it works:

How It Works

  1. Upload your portfolio holdings (Vanguard for now)
    • Go to vanguard.com and export your brokerage account holdings at the lot-level with cost basis information.
  2. Fill in your income, filing status, and risk-free rate of return
    • Income is required to calculate your marginal tax rate
    • Filing Status is required to calculate your marginal tax rate
    • Risk-Free Rate is required to calculate the Sharpe ratio and affects the optimization
  3. Interpret the results!
    • Original: Your current portfolio's performance metrics of return, standard deviation, and Sharpe ratio
    • Optimized: The portfolio you should have if you didn't have to pay taxes, but shows how it would perform if you did
    • Tax Optimized: The portfolio you should have, accounting for the impact of the taxes you would need to pay

Additional Information

  1. Historical data is provided by free Yahoo Finance API calls, which is limited to a single daily close price.
  2. Portfolio holdings are uploaded at the lot-level, because selling different lots incurs different taxes. This optimization assumes you use a MinTax cost basis, selling the lots that incur the least taxes proportional to the dollar amount sold. This facilitates transferring money among asset classes while minimizing taxes. If you decide to act on these results, you would need to follow the same strategy for selling lots in order for the results to be accurate.
  3. Feature Requests

    1. Enable the user to consider optimizing across more assets than solely what was uploaded

    Disclaimers

    1. Invest at your own risk.
    2. Past performance is not indicative of future results. It never has been and it never will be.
    3. The optimizations here are based on historical results, and even then not guaranteed to be correct.