Most articles about tax-loss harvesting present it as a single mechanic: see a loss, harvest it. The reality is more interesting. The IRS rules around capital losses interact with each other in ways that reward thoughtful timing through the year.
This article walks through the seasonal rhythm: what to do in each quarter, why timing matters, and the specific mistake most self-directed investors make in the second half of the year.
The two rules that drive everything
Two pieces of the tax code shape the calendar:
- The $3,000 ordinary-income offset. Net capital losses above realized capital gains can offset up to $3,000 of ordinary income each year. Anything above that carries forward to future years. Critically: this is "use it or carry it forward" — unused $3K offsets in a year where you have other gains is just permanently slower compounding of your loss bank.
- December 31 deadlines. A loss only counts for this tax year if the trade settles by year-end. For most equities the trade-date is what matters (T+1 settles), but in practice brokers cut off TLH around December 28-29 to avoid the holiday settlement risk.
Q1: Watch and listen
January through March is usually low-volatility (relative to the rest of the year). Markets digest year-end positioning. There's rarely much loss to harvest in a vacuum.
The exception: tax-day rebalancing in mid-April, when individual investors realize they owe a tax bill and sell positions to fund it. This is a common micro-volatility window — a single position can drop 5%+ on no fundamental news. If your direct-index sleeve catches that, harvest it.
If your Q4 carryforward is large (you came in with $50K+ of prior-year losses), Q1 is the time to think about whether you have gains to realize against it. Many people front-load gain-realization in Q1 specifically because they have a clean carryforward to absorb it.
Q2: Mid-year inventory
April-June is when you should look at your harvest year-to-date and ask: am I on track?
The benchmark for a typical $1M direct-index sleeve in 18-vol markets is roughly $30K-$80K of harvested losses by year-end. If you're at $5K by July 1, the rest of the year is going to need to deliver substantially. If you're already at $40K, you can be more patient with the next harvests (waiting for deeper discounts).
Mid-year is also the right time to review the wash-sale list: what positions are still in cooldown? Are there positions you'd like to buy but can't until a 30-day window expires? This is a schedule, not a guess; software should surface it.
Q3: The volatility window
July through September is historically the most volatile quarter of the year. (Look at any chart of VIX seasonality.) Earnings season clusters in July and October, and August is famously thin — big moves on small volume.
This is the harvest-heavy quarter for most direct-index portfolios. If you're going to capture the year's harvest target, about half of it typically comes from August-September moves.
Strategy: be willing to harvest aggressively here. Loss thresholds you'd skip in calm markets ($500-$2K of loss on a position) start to add up when there are 60+ positions and 1-3 days a week with meaningful single-stock dislocations.
Q4: The pacing question
October through December is where most TLH mistakes happen. The temptation is to think "I have until December 31, plenty of time" and let opportunities slide. The reality is:
- October's volatility is concentrated in earnings. If you harvest a position right before its earnings call, you might be 30 days into a wash-sale lockout when the stock recovers post- earnings. Bad timing.
- November is the quiet month. Markets often drift higher on Thanksgiving / pre-Christmas seasonality. Few harvests.
- December is the rush. Last 10 trading days, end-of-year tax planning hits all at once. Liquidity is thinner, spreads can widen on small-cap names.
The right Q4 cadence: harvest deliberately in October right after earnings dust settles, hold steady in November, and use December for cleanup and rebalancing rather than panic harvesting.
The big strategic question
The most important pacing decision isn't when to harvest a single loss — it's whether to realize gains in the same year you've harvested losses.
The IRS netting order is:
- Short-term losses offset short-term gains.
- Long-term losses offset long-term gains.
- Net loss in one category offsets net gain in the other.
- Up to $3K of remaining net loss offsets ordinary income.
- The rest carries forward.
If you've harvested $50K of losses and your only realized gains this year are $5K, you'll use $5K to offset gains, $3K to offset ordinary income, and $42K carries forward. Fine — but if you have appreciated positions you've been wanting to sell anyway (concentrated stock, drift correction, life event), this is the year to do it. The $42K of carryforward is "deferred compensation" sitting on your tax return; pulling it forward against a discretionary realization is worth ~$15-25K in real dollars at typical rates.
The end-of-year checklist
Annually, by December 15, run through this:
- YTD realized gains and losses. Net them by short-term and long-term. Identify your loss bank balance.
- Unrealized gain inventory. List your positions with embedded gains. Are any of them ones you'd like to trim (concentrated stock, drift correction, asset allocation shift)?
- $3K offset target. If your net loss for the year is going to exceed your gains by $3K+ already, you're set on the ordinary-income offset. If not, look for one more harvest before year-end.
- Wash-sale calendar. Any positions in cooldown that you want to re-buy? Are the 30-day windows clear by year-end or do they spill into January?
- Roth conversion planning. If you're considering a Roth conversion (which generates ordinary income), a pre-conversion loss harvest is helpful — it directly offsets the conversion income up to $3K and reduces the bracket pressure.
The annual mistake
The most common mistake we see in customer accounts: harvesting in November after a market drop, then watching the position recover in December and not being able to re-buy until the wash-sale window clears in mid-January. The position recovers without you, your allocation is light, and the loss you "captured" is offset (in performance terms) by the rebound you missed.
Fix: always harvest into a similar-but-not- substantially-identical replacement (e.g., same sector ETF or peer stock) on the same day. Hold the replacement for 31+ days. Then swap back if you want the original. The exposure stays continuous; only the wrapper changes.
This is what HarvestEngine's replacement engine does automatically. It's the operational difference between TLH-as- strategy and TLH-as-accident.