Determining Optimal Asset Location

A diversified portfolio will contain many different types of investments, including:

  • US Stocks
  • International Stocks
  • Bonds
  • REITs (Real Estate Investment Trusts)

These investments are taxed differently, and it turns out this is really important. If you put tax efficient investments into your taxable accounts and you put your tax inefficient investments into a tax-sheltered account, you will enjoy much greater returns over time. Figuring out which investments belong in which accounts is known as the asset location problem.

There’s quite a bit of information out there about the tax efficiency of different investment classes, but that information wasn’t as useful as I had hoped because:

  • It often assumes you’re in the top tax bracket
  • It doesn’t take state taxes into account very well
  • It doesn’t take into account the fact that bond returns are much lower than their historical average
  • Contradictory information exists regarding the tax-efficiency of bonds

As such, I spent some time coming up with some rough mathematical models to confirm that my asset location was correct, and I thought it might be worthwhile to share these models. I’m not a finance professional, so it’s totally possible I made a mistake or two. Furthermore, my models are based off of US and Oregon tax law, so you may need to modify these models to be accurate for where you live. You’ve been warned.


Bonds are a lot like loans: the lender makes a large up front payment to the borrower, and the borrower repays that money over time, plus interest. Interest received from bonds is taxed as ordinary income, and I believe it has to be paid annually. The return from a bond after taxes is the actual return, minus whatever taxes need to be paid on that return:
r_{BT} = r_B - r_B t_B = r_B (1 - t_B)

This rate can be plugged into the compound interest formula to get the post-tax value of a bond-only portfolio as a function of time:
V_{BT}(t) = P (1 + r_{BT})^t

There are lots of special cases worth mentioning:

  • Municipal bonds are often exempt from both state and federal taxes
  • If a bond is sold before it matures, capital gains taxes apply
  • Buying/Selling bonds on the secondary market triggers lots of special tax cases I don’t fully understand.
  • If you are buying bonds as part of a bond fund, when you exit the fund capital gains taxes will apply


There are two common ways to make money off of a stock:

  • Dividends
  • Capital Gains

Dividends can be further subdivided into qualified dividends and unqualified dividends. If you’ve held a stock for a sufficiently long time (6 months), dividends are considered qualified, otherwise they are considered unqualified. Qualified dividends are taxed at the capital gains rate, whereas unqualified dividends are taxed at as ordinary income. Capital gains are of course taxed at the capital gains rate.

Assuming dividend reinvestment and a stock with a qualified dividend yield of Y_{qd} and an unqualified dividend yield of Y_{ud}, the return from a stock can be modeled as follows:
r_{ST} = r_S - Y_{ud} t_{ud} - Y_{qd} t_{qd}

Before capital gains, the post-tax value of a stock-only portfolio is:
V_S(t) = P (1 + r_{ST})^t

After capital gains, the post-tax value of a stock-only portfolio is:
V_{ST}(t) = V_S(t)(1 - t_{cg}) + P t_{cg}

The last term in the formula (P t_{cg}) is worth discussing further. This basically means that we don’t have to pay capital gains on the basis (initial investment). With dividend reinvestment, the basis changes, which will reduce the amount of capital gains taxes you need to pay. The model could be enhanced to take this into account:
B(t) = P (1 + Y_{ud} + Y_{qd})^t t_{cg}
V_{ST}(t) = V_S(t)(1 - t_{cg}) + P t_{cg} (1 + Y_{ud} + Y_{qd})^t

In the cases I care about, the additional complexity doesn’t change the results significantly, so I omit dividend reinvestment from my models, but I thought I should leave it here for completeness.

International stocks are taxed more or less the same way. With that said, it is probably worth noting that with international stocks the foreign tax credit may apply, but I didn’t bother incorporating this into my model either.


Like stocks, there are two ways to make money off of Real Estate Investment Trusts (REITs)

  • Dividends
  • Capital Gains

Unfortunately, REIT dividends are taxed as ordinary income, which means:
r_{RT} = r_R - Y_R t_I
V_R(t) = P (1 + r_{RT})^t
V_{RT}(t) = V_R(t)(1 - t_{cg}) + P t_{cg}

While REITs might look similar to stocks at first, note that REITs usually have larger dividends and smaller capital gains. Also note that REIT performance is only loosely correlated with stock market performance.

Real world values

My current tax rates are as follows (these tax rates could change, either for political reasons or a change in income, but for the purposes of this model it’s simplest to assume they’re constant)

Tax Rates Ordinary Income Capital Gains
Federal 25% 15%
State 9% 9%
Total 36% 24%

While past performance isn’t a good indicator of future returns, it’s the best approximation I could come up with in many cases.
r_B = .019 (current SEC yield of VBMFX as of 3/30/2015)
r_S = .07 (
r_R = .06 (Not sure if this is accurate, but it doesn’t matter for purposes of asset location)
Y_{qd} = .019 (based off the 2014 performance of the VTI fund)
Y_{ud} = 0 (based off VTI)
Y_R = .0325

Modeling a Portfolio

We now have enough information to mathematically model any portfolio consisting of stocks, bonds, and REITs. Consider the following portfolio:

  • Bonds: 40%
  • US Stocks: 36%
  • International Stocks: 18%
  • REIT: 6%

Let’s say it’s a $1000 portfolio, $500 of which is in a tax sheltered Roth IRA (to simplify the math since we don’t pay taxes when withdrawing the money) and $500 of which is not. Which assets should go into the taxable account and which ones should go into the tax-sheltered account?

The REIT is inherently tax inefficient due to the fact that it has a sizable unqualified dividend, so to simplify things, let’s immediately put the REIT into the tax sheltered bucket. Let’s also combine the US stocks and international stocks since they are taxed identically. This leaves us with two different ways to locate our assets:

Asset Location 1:
REIT: $60
Bonds: $400
Stocks: $40

Stocks: $500

Asset Location 2:
REIT: $60
Stocks: $440

Stocks: $100
Bonds: $400

We can plug these numbers into the equations we’ve derived and determine which asset location will provide greater returns.
V_{A1}(t) = V_{RT1}(t) + V_{BT1}(t) + V_{ST1}(t)
V_{RT1}(t) = 60 (1 + r_{RT})^t (1 - t_{I}) + 60 t_{cg}
V_{BT1}(t) = 400 (1 + r_{BT})^t
V_{ST1}(t) = 40 (1 + r_{ST})^t(1 - t_{cg}) + 40 t_{cg} + 500 (1 + r_{ST})^t(1 - t_{cg}) + 500 t_{cg}

Omitting taxes for tax-sheltered investments yields:
V_{RT1}(t) = 60 (1 + r_{R})^t
V_{BT1}(t) = 400 (1 + r_{B})^t
V_{ST1}(t) = 40 (1 + r_{S})^t + 500 (1 + r_{ST})^t(1 - t_{cg}) + 500 t_{cg}

To get a useful model, all we need to do is sum these up and substitute estimated return values:
r_{ST} = r_S - Y_{ud} t_{ud} - Y_{qd} t_{qd} = 0.07 - 0 - 0.019 \cdot 0.24 = 0.06544
V_{A1}(t) = 60 \cdot 1.06^t + 400 \cdot 1.019^t + 40 \cdot 1.07^t + 500 \cdot 0.76 \cdot 1.06544^t + 500 \cdot 0.24

Doing the same thing for asset location 2 yields:
r_{BT} = r_B (1 - t_B) = .019 (1 - .36) = .01216
V_{A2}(t) = 60 \cdot 1.06^t + 440 \cdot 1.07^t + 100 \cdot 0.76 \cdot 1.06544^t + 100 \cdot 0.24 + 400 \cdot 1.01216^t

We can now plug those two formulas into a spreadsheet and evaluate their performance as a function of time:


In this case, putting stocks into the tax-sheltered account maximized the returns, which is in line with what the investing community usually recommends. With that said, I’m kind of suprised at how much asset location can affect portfolio performance. It seems like you could be a complete expert on asset allocation, finding the right mix of assets on the efficient frontier that suits your investing goals perfectly, but if you screw up the asset location, you’ll take a huge hit. Maybe my model is missing something.

Obviously this model is really simple and has a lot of room for improvement. The bond model is accurate if you’re buying bonds directly and holding them to maturity, but most individual investors are probably just buying into a bond fund, so the model is at best a first order approximation — probably sufficient for asset location, but maybe not that useful for other applications. The model also doesn’t take fees into account. Vanguard’s fees are so low that I consider them to basically be a rounding error on the estimated asset return, but others may disagree. Speaking of returns, the model assumes constant returns, and while the mathematical machinery exists to create a more stochastic model, it’s probably not worthwhile for the average investor. Perhaps the average investor would be more interested in enhancing the model to take into account annual contributions to the portfolio and maybe even rebalancing, which might be useful for retirement planning. Or maybe not.