Selling losers to offset gains. $3,000 annual deduction against ordinary income. Wash sale rule (30 days). Automated harvesting services.
Where this personal-finance concept shows up inside the operating-finance graph.
Holding losers can secretly cost you real dollars each year. A $10,000 unrealized loss can convert to a $3,000 annual ordinary-income offset and multi-year carryforwards if managed correctly.
Tax-Loss Harvesting is selling investments at a loss to realize tax benefits now, which can reduce taxes by roughly loss × marginal tax rate today and provide a $3,000 ordinary-income offset per year while allowing unused losses to carry forward.
Many investors let losing positions linger while rebalancing their portfolios in taxable accounts. That choice creates two clear costs. First, unrealized losses remain useless on tax returns. If you hold a $20,000 position that fell to $14,000, you have a $6,000 unrealized loss. That $6,000 does not reduce taxes until realized. Second, rebalancing by selling winners rather than harvesting losers often realizes gains taxed at short-term rates of 22 to 37 percent or long-term rates of 0 to 20 percent, depending on income and holding period. In a concrete example, imagine a taxable account with $100,000 total, target allocation 60/40, and drift to 70/30. Selling $10,000 in winners could generate a $10,000 long-term gain. IF the investor is in the 24 percent marginal tax bracket AND qualifies for a 15 percent long-term rate, THEN the immediate tax bill could be $1,500 BECAUSE $10,000 × 15% = $1,500. That $1,500 eats into the capital available for rebalancing. Meanwhile IF the investor instead harvested a $10,000 loss, THEN they could offset that $1,500 gain BECAUSE losses offset gains dollar-for-dollar, and any remaining net loss can offset up to $3,000 of ordinary income per year with carryforward of the remainder. A practical numeric trade-off emerges: realize losses first to reduce current tax drag, then rebalance using tax-advantaged accounts or new cash to limit future taxable events. In Rebalancing we covered using direct new contributions and accounting for threshold rebalancing to reduce realized gains; not doing that here amplifies tax friction.
Start with the mechanics and the math. Tax-Loss Harvesting means selling a security for less than its cost basis to realize a capital loss. Capital losses first offset capital gains in the same tax year. If total capital losses exceed capital gains, then up to $3,000 ($1,500 if married filing separately) may be used to reduce ordinary income in that year. Any remaining excess loss carries forward indefinitely until fully used. Use the algebra: let = realized loss, = realized gains, = effective capital gains tax rate (0% to 20% typical for federal), and = ordinary marginal tax rate (10% to 37% typical). Net taxable gain = max(, 0). Tax change from harvesting equals min(t_g- ext{max}(L-G,0) ext{limited to } 3{,}000) × in the current year. For example, if , , t_g = 15 ext{5}, and t_o = 24 ext{5}: the immediate tax reduction = $5{,}000 × 15 ext{5} + 3{,}000 × 24 ext{5} = $750 + $720 = $1{,}470. Remaining carried loss = $8{,}000 - $5{,}000 - $3{,}000 = $0. If were $12{,}000$, then carried loss = $4{,}000t_g$ over time. Also account for transaction costs and bid-ask spreads typically in the range of $0.00 to 0.50 ext{5}$ of trade value for large ETFs, which can reduce net benefit.
Start with a problem-first question: which action reduces taxes net of costs today and over a 1 to 5 year horizon? Frame the decision in IF/THEN/BECAUSE steps. Step 1 - Determine net taxable position. IF expected realized gains this year are greater than $1{,}000 AND less than $100{,}000, THEN harvesting losses up to those gains may reduce taxes dollar-for-dollar BECAUSE capital losses offset gains at a 1:1 ratio. Use exact numbers: if gains = $20{,}000, harvesting $20{,}000 of losses saves roughly $20{,}000 × in federal taxes today, where equals 0 ext{5}, 15 ext{5}, or 20 ext{5} depending on income. Step 2 - Compare marginal benefit to transaction costs and fees. IF the expected tax savings is greater than trading costs plus behavioral or tracking risk by at least 20 to 50 ext{5}, THEN proceed, because small percentage advantages evaporate when fees are 0.25 ext{5} to 0.75 ext{5} and spreads are 0.1 ext{5} to 0.5 ext{5}. Numerical example: for $L = $10{,}000 and $t_g = 15 ext{5}, tax savings = $1{,}500. If trading cost and tracking slippage total $200 to $400, net benefit remains about $1{,}100 to $1{,}300. Step 3 - Consider timing and wash sale constraints. IF you plan to repurchase similar exposure within 30 days, THEN replace with a different ETF or wait 31 days BECAUSE the Wash Sale Rule disallows the loss if you repurchase a substantially identical holding within that period. Step 4 - Decide on automation vs manual harvesting. IF account balance in taxable accounts is under $50{,}000 AND average realized loss events are infrequent, THEN manual harvesting may be cheaper BECAUSE robo or advisor automated harvesting generally charges 0.25 ext{5} to 0.50 ext{5} of AUM or requires an advisory relationship. IF balances exceed $100{,}000 AND trading frequency is high, THEN automated harvesting often uncovers 10 to 30 extra harvestable opportunities per year BECAUSE continuous monitoring and algorithmic identification reduces missed losses and human attention limits. Step 5 - Project carryforward value. IF your marginal tax rate is stable, THEN carrying a $20{,}000 loss forward yields future annual ordinary-income offsets of up to $3,000 per year, which absent other gains represents about $720 per year at 24 ext{5} in ordinary tax reduction, until exhausted.
What this framework does not capture matters. Limitation 1 - tax-bracket timing risk. IF an investor expects to move from a 24 ext{5} bracket to a 12 ext{5} bracket within 1 to 3 years, THEN harvesting now may be suboptimal BECAUSE losses used at a lower future rate produce smaller tax benefits. Quantify: a $10{,}000 loss is worth $2{,}400 at 24 ext{5} but $1{,}200 at 12 ext{5}. Limitation 2 - state and local taxes. This model ignores state tax variation. Some states tax capital gains at 0 ext{5} to 13.3 ext{5}. IF your state rate is 5 ext{5} to 10 ext{5}, THEN harvesting yields extra state tax savings BECAUSE losses offset state gains similarly. Limitation 3 - wash sale complexity with tax-advantaged accounts and third-party transfers. IF an investor sells a loss in a taxable account and buys the same security in an IRA within 30 days, THEN the loss may be permanently disallowed BECAUSE wash sale rules include purchases in IRAs and other accounts for the taxpayer; the disallowed loss is added to the IRA cost basis which often cannot be tracked easily. Limitation 4 - behavioral and market-timing risk. This framework does not model the opportunity cost of being out of a security for 31 days, which historically can change returns by several percentage points in short-term windows. For instance, missing a 3 ext{5} market pop over 30 days on a $50{,}000 position equals $1{,}500 of foregone gain. Limitation 5 - small accounts and tax loss magnitude. IF total expected harvestable losses are under $1{,}000 per year, THEN the gross tax benefit often falls below trading costs BECAUSE tax savings at 15 ext{5} would be under $150 while trading costs might be $0 to $20 per trade plus advisory fees. Finally, this framework does not model multi-generational estate planning where unrealized losses vanish at death due to step-up in basis; in those cases harvesting can sometimes be counterproductive relative to holding until death.
You realized $20,000 in long-term capital gains this year. Your long-term rate is 15% and ordinary marginal rate is 24%. You have two taxable holdings: ETF A with an unrealized loss of $18,000, ETF B with an unrealized loss of $6,000.
Step 1 - Match losses to gains. Harvest $18,000 from ETF A and $2,000 from ETF B to reach $20,000 total realized loss.
Step 2 - Compute tax offset on gains. Losses offset gains dollar-for-dollar, so $20,000 loss fully cancels $20,000 gain. Tax on gains avoided = $20,000 × 15% = $3,000.
Step 3 - Check remaining losses. Remaining loss after canceling gains = ($18,000 + $6,000) - $20,000 = $4,000.
Step 4 - Apply ordinary income offset. Up to $3,000 of the excess loss offsets ordinary income now. Ordinary income tax reduction = $3,000 × 24% = $720.
Step 5 - Carry forward remainder. Carried forward loss = $4,000 - $3,000 = $1,000 for future years.
Step 6 - Account for trading costs. If trading costs are $100 total and replacement tracking error expected to be 0.2% on $20,000 equals $40, net benefit = $3,000 + $720 - $100 - $40 = $3,580.
Insight: Harvesting losses to match realized gains can eliminate up to 100% of the current-year capital gains tax burden and still leave $3,000 ordinary deduction while carrying forward any remainder.
Taxable account holds $50,000 of a large-cap ETF (Fund X) bought at $60,000 cost basis, so an unrealized loss of $10,000. An investor wants to maintain US large-cap exposure and considers repurchasing the same fund within 30 days. Federal long-term rate expected 15%. Trading costs for alternatives are $25 per trade.
Step 1 - Calculate immediate tax benefit if sale is allowed. If sold and no wash-sale, tax benefit equals potential ordinary-income offset up to $3,000 this year at current ordinary rate; assume ordinary rate 24% so current-year benefit if no gains = $3,000 × 24% = $720. Remaining carried loss = $10,000 - $3,000 = $7,000.
Step 2 - Evaluate wash sale. IF the investor repurchases Fund X within 30 days, THEN the $10,000 loss will be disallowed BECAUSE the wash sale rule triggers when a substantially identical security is repurchased within the window.
Step 3 - Choose replacement. Choose an alternative ETF Y that tracks a different large-cap index. Replacement trade cost = $25. Expected tracking divergence = 0.1% on $50,000 equals $50 over short windows.
Step 4 - Compute net value. Net tax benefit first year = $720 - $25 - $50 = $645. Future benefit of $7,000 carried loss at 24% ordinary rate yields $1,680 eventual saving when used as ordinary offsets or matched to future gains.
Step 5 - Decision threshold. IF the investor values maintaining continuous exposure higher than a potential 0.1% tracking error over 30 days, THEN replace with alternative ETF rather than sitting out BECAUSE the wash sale rule prevents claiming the tax loss if repurchase occurs within the window.
Insight: Avoiding wash sales usually means choosing a similar but not substantially identical replacement, which costs something in tracking error and transaction fees but preserves the tax loss.
Taxable account balance $250,000. Historical annual harvestable loss opportunities identified by automation average $12,000 per year. Advisor automation fee = 0.35% AUM. Investor federal blended tax rate for gains is 15% and ordinary rate is 24%. Trading costs average $0.00 per trade on ETFs.
Step 1 - Compute gross annual tax saving from harvested losses assuming all offset gains. If $12,000 of realized losses offset gains at 15%, tax saving = $12,000 × 15% = $1,800.
Step 2 - Add ordinary income benefit estimate if losses exceed gains. Assume $6,000 of excess loss used against ordinary income at 24% = $6,000 × 24% = $1,440.
Step 3 - Total annual tax benefit = $1,800 + $1,440 = $3,240.
Step 4 - Compare to automation cost. Automation fee = 0.35% of $250,000 = $875 per year.
Step 5 - Net after-fee benefit = $3,240 - $875 = $2,365 per year.
Step 6 - Consider alternative: manual harvesting. IF manual harvesting would realize only $6,000 per year, THEN manual tax saving might be $900 + $720 = $1,620 BECAUSE fewer opportunities get missed without continuous monitoring.
Step 7 - Decision threshold. Automated harvesting may add $745 per year in net benefit versus manual in this scenario, before accounting for behavioral risk reduction and convenience value.
Insight: For mid-to-large taxable balances, automation that finds frequent harvestable positions can justify fees of roughly 0.2 ext{5} to 0.5 ext{5} of AUM, netting hundreds to a few thousand dollars per year depending on harvest volume.
Tax-Loss Harvesting converts unrealized losses into tax value today and over multiple years via carryforwards; $3,000 per year can offset ordinary income and excess losses carry forward indefinitely.
IF realized gains exist this year, THEN harvesting losses up to those gains often yields tax savings equal to loss × capital gains rate BECAUSE capital losses offset gains dollar-for-dollar.
Watch the Wash Sale Rule: a 30-day before-and-after window blocks losses if you buy substantially identical securities within that 61-day span.
Compare tax savings to costs: for example, a $10,000 loss at 15
tax rate saves $1,500; subtract trading costs of $50 to $400 and advisory fees of 0.25
to 0.50 ext{5} of AUM to get net benefit.
Automation can be worth 0.2
to 0.5 ext{5} of AUM for accounts over $100{,}000 when it identifies 10 to 30 extra harvests per year, but manual harvesting may be preferable for smaller accounts.
Loss harvesting value falls if you expect to move into a materially lower tax bracket soon or if you plan to hold a position until estate step-up, because the future tax benefit may be 50
to 100 ext{5} smaller or zero.
Ignoring the wash sale rule. Many investors sell and then immediately buy the same fund, thinking they locked in the loss. That error disallows the loss BECAUSE repurchases within 30 days of sale of a substantially identical security trigger the rule.
Overlooking transaction costs and tracking error. People count gross tax savings but ignore $25 to $400 in trading costs and 0.1
to 0.5 ext{5} tracking slippage, which can erase a large fraction of the benefit.
Harvesting for small nominal losses. Harvesting $500 of losses at a 15
tax rate saves only $75, which often falls below trading costs and advisory fees, making the activity economically poor.
Using tax-deferred accounts incorrectly. Selling a loss in taxable and buying the same fund in an IRA within 30 days can permanently disallow the loss BECAUSE wash sale rules apply across accounts owned by the same taxpayer. That converts an intended tax benefit into a lost deduction.
You have $15,000 of realized long-term gains this year. You can harvest a $12,000 unrealized loss from Fund A and a $6,000 unrealized loss from Fund B. Your long-term rate is 15
the ordinary rate is 24
trading costs sum to $60. Compute the immediate tax savings, ordinary income offset this year, carryforward, and net benefit after trading costs.
Hint: Match losses to gains first. Then apply $3,000 ordinary income limit. Use $12{,}000 + $6{,}000 = $18{,}000 total loss.
Step 1 - Use $15,000 of losses to offset $15,000 gains. Tax avoided on gains = $15,000 × 15
tax = $2,250. Step 2 - Remaining loss = $18,000 - $15,000 = $3,000. Apply up to $3,000 to ordinary income: $3,000 × 24
tax = $720. Step 3 - Carried forward = $0. Step 4 - Net benefit after trading costs = $2,250 + $720 - $60 = $2,910.
Compare two strategies for a $200,000 taxable account with a yearly average of $8,000 harvestable losses. Option A uses automated harvesting at 0.30
the historical realized tax benefit before fees would be $1,200 in capital gains savings and $960 of ordinary income offsets. Option B is manual harvesting that realizes $4,000 per year of losses. Which option nets more after costs? Show math.
Hint: Compute gross tax savings for each option, subtract automation fees for A, and compare to manual net for B with zero fees assumed.
Option A - Gross tax savings = $1,200 + $960 = $2,160. Automation fee = 0.30 of $200,000 = $600. Net A = $2,160 - $600 = $1,560. Option B - Realized losses $4,000 gives proportional tax savings: assume 15
gains and 24
tax for ordinary part. If split proportional to historical, half to gains: $2,000 × 15
tax = $300; $2,000 ordinary at 24
tax = $480. Gross B = $780. Manual fees assumed zero, Net B = $780. Conclusion - Option A nets $1,560 vs Option B $780, so automation looks preferable by $780 under these inputs.
Hard: You plan to sell an underperforming stock at a $25,000 loss in a taxable account. You will be moving from a 32
tax bracket this year to a 12
tax bracket next year. You also expect $10,000 of long-term gains next year. Assume replacement with a similar ETF would be purchased within 20 days unless you choose an alternate ETF with 0.2
different tracking error. Model the net present value of harvesting now versus waiting one year to harvest, using a discount rate of 5
tax rates given, and assuming the $25,000 loss could offset gains next year at 15
effective rate and ordinary income. Include wash sale implications.
Hint: Compute tax value if harvested now: up to $3,000 offsets ordinary at 32
the rest carries forward to year 2 and then used against $10,000 gains at 15
the remainder reduces ordinary income at 12
tax next year. Discount future tax savings at 5
the replacement decision affects immediate ability to claim loss.
Step 1 - Harvest now scenario. Year 0: Use $3,000 against ordinary income at 32
tax saving = $3,000 × 32
tax = $960. Remaining carried loss = $25,000 - $3,000 = $22,000. Year 1: You have $10,000 of gains which are offset first by carried losses: $10,000 × 15
tax avoided = $1,500. Remaining carried loss after year 1 = $22,000 - $10,000 = $12,000. That $12,000 can offset ordinary income at 12
tax next year, value = $12,000 × 12
tax = $1,440. Total nominal tax savings = $960 + $1,500 + $1,440 = $3,900. Present value discounting year 1 amounts ($1,500 + $1,440 = $2,940) at 5
to PV = $2,940 / 1.05 = $2,800. PV total = $960 + $2,800 = $3,760. If replacing with the same ETF within 20 days, the wash sale would disallow the loss, so you must either choose alternative ETF with 0.2
divergence costing expected $50 on a $25,000 position short-term, or wait 31 days and risk missing price moves. Subtract replacement cost $50 gives PV ≈ $3,710. Step 2 - Wait one year scenario. If you wait and harvest in year 1 when in 12
tax bracket: that $25,000 loss used first to offset $10,000 gains at 15
tax saves $1,500. Remaining $15,000 reduces ordinary income at 12
tax = $1,800. Total nominal = $3,300. Discount to present value at 5
to PV = $3,300 / 1.05 = $3,143. Step 3 - Comparison. Harvest now PV ≈ $3,710 versus wait PV ≈ $3,143. Net advantage of harvesting now ≈ $567 before accounting for behavioral or tracking risk from replacement. Step 4 - Wash sale caveat. IF the investor buys the same ETF in 20 days, THEN the loss is disallowed BECAUSE of the wash sale rule; therefore replacement must be a non-identical ETF or waiting 31 days. Conclusion: harvesting now appears to provide $~567 more PV tax benefit under these assumptions, but replacement tracking error and market movement risk could eliminate that edge.
In Rebalancing (/money/rebalancing) we covered portfolio drift and methods like direct new contributions and threshold rebalancing to limit realized gains. That context matters because rebalancing choices change how often Tax-Loss Harvesting is available and which positions produce losses. In Capital Gains (/money/capital-gains) we covered short-term versus long-term rates and netting rules; those rules provide the tax rates and used throughout this lesson. Mastering Tax-Loss Harvesting unlocks more advanced topics like tax-aware asset location (/money/asset-location), Roth conversion timing (/money/roth-conversions), and estate basis planning (/money/estate-basis) because the timing and realization of losses interact directly with income-tax windows, conversion costs, and the step-up in basis available at death.
Disclaimer: This content is for educational and informational purposes only and does not constitute financial, investment, tax, or legal advice. It is not a recommendation to buy, sell, or hold any security or financial product. You should consult a qualified financial advisor, tax professional, or attorney before making financial decisions. Past performance is not indicative of future results. The author is not a registered investment advisor, broker-dealer, or financial planner.