liveBook · Manning

Asset location

As explained in Build a Robo-Advisor with Python (From Scratch)

Asset location is the strategic placement of assets among account types to improve after-tax investment outcomes.

Asset location strategically places investments across taxable, tax-deferred, and tax-exempt accounts to improve expected after-tax results while holding the overall asset allocation fixed. Unlike asset allocation, which trades risk against return, location can raise expected after-tax return without adding investment risk; its complexity comes from different tax treatment for payouts, gains, and withdrawals. section 8.0 section 1.3

Table 8.1 Comparison of taxable, tax-deferred, and tax-exempt accounts
Taxable Tax-deferred Tax-exempt
Example Brokerage IRA, 401(k) Roth IRA, Roth 401(k), 529, Health Savings Account
Taxation ofdividends Taxed at either ordinary-income rate or capital gains rate, depending on whether dividends are “qualified” Taxed as ordinary income when funds are distributed Not taxed
Taxation ofcapital gains Taxed at capital gains rate when gains are realized Taxed as ordinary income when funds are distributed Not taxed

Compare how brokerage accounts, IRAs and 401(k)s, and Roth-style accounts tax dividends, gains, and distributions before deciding where an asset belongs. section 8.0

The basic decision is driven by an asset’s tax efficiency: expected return, dividend or interest payout rate, annual turnover, and the investor’s applicable tax rates. For a taxable account and an IRA, place relatively tax-efficient assets in taxable space and relatively tax-inefficient assets in the IRA. This preserves the chosen stock–bond mix while changing which account owns each holding. section 8.5 section 8.0

Stocks in taxable, bonds in an IRA

Consider $1 million split evenly between an IRA and a brokerage account, with a desired 50–50 stock–bond allocation. Placing $500,000 of stocks in taxable and $500,000 of bonds in the IRA can be preferable to the reverse: unrealized stock gains already receive deferral in taxable accounts and may face capital-gains rates, while bond interest is commonly paid currently and taxed at higher rates. A modeled 30-year comparison gives a total after-tax value of $4,913,923 for this placement versus $4,162,819 for the reverse, under the stated assumptions. section 8.1

A reusable model can represent an asset with inputs such as average return, payout rate, payout and capital-gains tax rates, ordinary-income tax rate, turnover, starting value, and cost basis. It then computes after-tax values under IRA and taxable-account treatment. That structure makes it possible to compare placements consistently and extend the analysis to assets with different payout and turnover behavior. section 8.1

Adding a Roth makes simple ranking insufficient. In a three-account example with an IRA, taxable account, and Roth, each funded with $500,000, a large-cap stock fund, high-yield bond fund, and high-growth stock fund with 4% turnover are matched across six possible assignments. The high-growth fund is optimal in the Roth in that scenario, showing that the most visibly tax-inefficient asset does not automatically belong there. section 8.3.1

Treat outputs as conditional on assumptions. Location can interact with asset allocation because future taxes affect the effective ownership of account balances. Results can also change with stepped-up cost basis at death, liquidity reserves that must remain taxable, tax-loss-harvesting opportunities, tax brackets, expected returns, payouts, and turnover. Model these constraints explicitly rather than treating a placement rule as universal. section 8.4 section 8.5

How Build a Robo-Advisor with Python (From Scratch) covers it

How deep it goes
Builds from a two-account numerical comparison to tax-efficiency ranking and three-account permutation optimization, while qualifying results with practical modeling assumptions.
Examples
Uses a $1 million stock-and-bond IRA/brokerage comparison and a $1.5 million three-account matching exercise.
What it assumes
Introduces Python classes through an Asset model while assuming familiarity with stocks, bonds, account types, and tax rates.
What you can do after
Apply it via Python models to compare after-tax account placements and optimize assignments when taxable, IRA, and Roth accounts are available.
How it connects
Connects asset allocation, tax efficiency, capital gains, turnover, tax-loss harvesting, liquidity, and stepped-up cost basis.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build a Robo-Advisor with Python (From Scratch). The section links point to the parts of the book it draws on.