Why the wash-sale rule exists
IRC §1091 was enacted in 1921 to prevent taxpayers from artificially harvesting losses for deduction purposes while retaining the economic position in the same security. The legislative history shows Congress's concern that without §1091, taxpayers could sell at a loss on December 31 and repurchase on January 2, claiming the loss as a deduction while continuing to hold the asset for capital appreciation.
For options traders the rule creates a structural friction: many strategies — wheel, roll-the-loser, recovery covered calls, calendar adjustments — naturally close one position at a loss and open another on the same underlying within a few days. Each such transition is potentially a wash sale, and the broker's reporting may capture some but not all related-account activity.
Substantially-identical analysis for options
The IRS has not issued comprehensive regulations on what makes two options 'substantially identical' for §1091 purposes. The leading guidance comes from IRS Publication 550 and Treasury Information Release IR-2008-5, which apply a facts-and-circumstances test focused on whether the options have equivalent economic exposure.
Practical interpretation in 2026: the same strike and expiration on the same underlying is always identical. A US$5 difference in strike on the same expiration is generally identical for at-the-money positions but increasingly distinguishable as the options move further from at-the-money. A different expiration on the same strike is usually distinguishable if the time gap exceeds three months. Broker tax engines (Schwab, Fidelity, TD Ameritrade, IBKR) generally flag only same-strike same-expiry rolls; cross-strike or cross-expiry rolls flow through without flagging but may still be disallowed if challenged.
- Same underlying + same strike + same expiry = always identical
- Same underlying + same expiry + adjacent strike (within US$5 ATM) = usually identical
- Same underlying + same strike + adjacent expiry (within 30 days) = usually identical
- Same underlying + ITM strike rolled to OTM strike = case-by-case
- Same underlying + monthly expiry rolled to weekly = usually identical for short windows
- Different underlying within same sector = generally not identical
- Different underlying tracking same index (SPY/IVV/VOO) = potentially identical
Worked example: covered-call harvest gone wrong
Investor holds 100 AAPL at US$185 cost basis. Sold a 30-day AAPL US$190 covered call for US$3.50 premium on November 1, 2026. By December 22 the call is trading at US$5.20 due to a rally; the investor closes for a US$170 loss and immediately writes a new US$195 covered call expiring January 17, 2027 for US$4.10.
Analysis: the new short call is substantially identical (same underlying, same general strategy, 26-day expiration extension). The US$170 short-call closing loss is disallowed under §1091 and added to the new short-call basis. When the new call eventually closes or expires, the disallowed loss is recovered through reduced premium income or larger closing loss.
Alternative path: investor closes the December 22 short call for US$170 loss and waits until January 22, 2027 (31 days post-close) before writing any new AAPL short calls. The US$170 loss is fully deductible in tax year 2026.
Cross-account aggregation: the spouse-IRA trap
Rev. Rul. 2008-5 explicitly extends §1091 to repurchases in the taxpayer's IRA, including the spouse's IRA. This creates a household-level aggregation problem that brokers do not detect.
Example: husband sells 100 shares of SPY in his taxable account at a US$3,000 loss on December 15. The day before — December 14 — wife bought 100 shares of SPY in her Roth IRA. The husband's US$3,000 loss is disallowed under §1091 because the wife's pre-existing IRA purchase falls within the 30-day pre-window. Worse: because the replacement is in a Roth IRA, the disallowed loss is permanent — it does not add to the Roth's basis the way it would add to a taxable replacement.
Defensive practice: maintain a household-level positions log covering all taxable, IRA, 401(k), and HSA accounts. Before harvesting any loss, check the log for the same security within the household across the 61-day window.
Clean replacements that pass substantially-identical analysis
The cleanest rotation always involves a different underlying that is not from the same legal issuer and not tracking the same index. When in doubt, hold cash for 31 days; the loss savings often justify the brief tracking error.
- AAPL or MSFT loss harvest → rotate to QQQ (broad NASDAQ exposure, different security)
- SPY loss harvest → rotate to VOO is risky (same S&P 500 index); IWM (Russell 2000) is clean
- GOOGL loss harvest → temporarily hold cash or a sector ETF (XLK) for 31 days
- TSLA loss harvest → no clean rotation; either accept market exposure gap or use long-dated leveraged ETF call (different expiration class)
- BTC short-call loss harvest → rotate to ETHE or a different crypto-related security
- Sector ETF loss harvest → rotate to broad-market ETF, then back after 31 days
Broker reporting accuracy and box reconciliation
Per IRC §6045(g), brokers must report cost basis and wash-sale disallowances on Form 1099-B box 1g for covered securities. However, the reporting is limited to wash sales within the same account on the same CUSIP. Cross-account wash sales (taxable + IRA) and substantially-identical-but-not-same-CUSIP wash sales are not captured.
Year-end reconciliation: compare your trade log against the 1099-B. Confirm that (1) all closed positions with realized losses are reported, (2) box 1g wash-sale amounts match your expectation, and (3) replacement basis on subsequent sales reflects the disallowed loss addition. Discrepancies are common and require manual Form 8949 adjustments with code 'W' for wash sales not reported by the broker.
Year-end harvest checklist for option traders
- Run a YTD realized P/L by lot before Thanksgiving — there is still time to plan
- Identify positions with losses exceeding the annual US$3,000 ordinary-income limit; these need capital-gain offsets
- List every account in the household holding the same underlyings
- Schedule closes for early December if you do not need to retain exposure
- If you must retain exposure, plan a clean rotation 31 days before harvest
- After harvest, do not touch any related accounts on the same underlying for 31 days
- January: reconcile 1099-B against your trade log; flag manual Form 8949 adjustments
- Document your substantially-identical analysis in case of audit
Related Internal Guides
- Options Portfolio Rebalancing and Tax-Loss Harvesting 2026
- Qualified vs Non-Qualified Covered Call Tax Treatment
- Managing Assigned Covered Call Tax Implications 2026
- Mark-to-Market Trader Status §475(f) Election 2026
Calculators Mentioned
- Covered Call Calculator
- Cash Secured Put Calculator
- Iron Condor Calculator
- Margin Calculator
- Capital Gains Tax Calculator
Official Sources
- IRS Publication 550 — Investment Income and Expenses: Authoritative IRS guidance on dividends, interest, capital gains/losses, wash sales, qualified covered calls, and option transactions.
- IRC §1091 — Loss From Wash Sales of Stock or Securities: Cornell LII statutory text governing disallowed losses on wash sales of substantially identical securities.
- IRS Form 6781 — Gains and Losses from §1256 Contracts and Straddles: Reports §1256 contract mark-to-market gains and losses with 60/40 character election.
- FINRA Rule 2360 — Options Account Approval: FINRA rule on options account approval, levels 1-4, and supervisory requirements.
- FINRA — Trading Options: Understanding Assignment: FINRA investor education on short-option assignment, obligations, and exercise mechanics.
- OCC Characteristics and Risks of Standardized Options: OCC options disclosure document required before trading listed options.