Strasmore Research
深度解析 Matt Connor作者: Matt Connor

洗售規則與選擇權:61天期間怎麼算

洗售規則不是30天,而是61天,選擇權也適用。了解買權、轉倉、深度價內賣權、1099-B落差,以及IRA如何使損失無法申報。

洗售規則(wash sale rule)禁止投資人在虧損出售證券後,於61天期間內取得實質上相同的證券而申報資本損失。這61天包括出售日前30天、出售日當天,以及出售日後30天。選擇權在這項規則下有兩種情況:它可能是使股票損失受到限制的替代部位,也可能本身就是產生損失的部位。在應稅帳戶中,遭禁止的損失並不會消失,而是轉入替代部位的成本基礎,等待日後處理。

本頁說明相關運作方式,但不構成稅務建議。

為何洗售期間是61天,而不是30天

把各部分加總即可:前30天,加上出售日當天,再加上後30天,共61個日曆日。這裡計算的是日曆日,不是交易日;週末與市場假日也都包含在內。下方圖表以每個月最後一個交易日為錨點,計算有多少交易日落在該月錨點的61天期間內。

查詢61天洗售期間內包含多少個交易日
每個數據背後的精確 SQL 語法
WITH sessions AS
(
    SELECT DISTINCT date AS d
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2023-11-01'
),
month_ends AS
(
    SELECT
        toStartOfMonth(d) AS m,
        max(d)            AS anchor
    FROM sessions
    WHERE d >= '2024-01-01'
      AND d <  '2026-07-01'
    GROUP BY m
)
SELECT
    toString(me.m)                                            AS month,
    toString(me.anchor)                                       AS last_session,
    countIf(s.d >= me.anchor - 30 AND s.d <= me.anchor + 30)   AS sessions_in_window,
    61                                                        AS calendar_days_in_window
FROM month_ends AS me
CROSS JOIN sessions AS s
GROUP BY me.m, me.anchor
ORDER BY me.m
Run this yourself

水平線代表規則中的61個日曆日。下方線條代表其中市場實際開市的天數。圖表中的第一個月份,在其期間內有42個交易日;最近一個月份有42個交易日;圖表共涵蓋30個錨定月份。

許多人忽略的是期間的前半段。多數人會從出售日往後計算,並在日曆上圈出第31天。但出售日前30天的計算方式完全相同。假設你在10日為攤低成本而再買進100股,並在20日以虧損出售原先持有的部位;你先前已經完成的買進,就落在洗售期間內。即使出售後沒有再買進任何證券,你出售部位產生的損失仍會遭禁止。此時,哪一批股票離開帳戶非常重要,而這是在交易時決定的事項:請參閱成本基礎方法如何決定出售批次

12月問題

損失收割通常集中在年底最後幾週,這也是期間計算最容易產生影響的時候。若在年內最後一個交易日出售,回購期間會一路延伸至1月;而1月的買進,可能使前一年度申報表上已列報的損失受到禁止。

查詢每個12月交易日及其洗售期間延伸至新年的範圍
每個數據背後的精確 SQL 語法
WITH sessions AS
(
    SELECT DISTINCT date AS d
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2025-10-20'
      AND date <  '2026-02-10'
)
SELECT
    toString(sale.d)                                                    AS session_date,
    concat(formatDateTime(sale.d, '%b'), ' ', toString(toDayOfMonth(sale.d))) AS sold_on,
    countIf(s.d >= sale.d - 30 AND s.d <= sale.d + 30)                   AS sessions_in_window,
    greatest(dateDiff('day', toDate('2025-12-31'), sale.d + 30), 0)      AS window_days_in_new_year
FROM
(
    SELECT d
    FROM sessions
    WHERE d >= '2025-12-01'
      AND d <  '2026-01-01'
) AS sale
CROSS JOIN sessions AS s
GROUP BY sale.d
ORDER BY sale.d
Run this yourself

每一列代表12月的一個交易日,並固定以2025年12月為基準,使計算結果維持不變。若在Dec 1出售,期間內有0的天數落在新年度。若在Dec 31出售,則有30的天數落在新年度,而且該期間前後共涵蓋42個交易日。12月對帳單不會標示這項情況。遭禁止的損失會附加至1月買進股票的成本基礎,只有在該新部位最終出售時,才可能成為可扣除損失;這可能發生在下一年度,甚至數年後。

選擇權如何適用洗售規則

第1091條涵蓋股票或證券,也同時涵蓋取得實質上相同股票的契約或選擇權。國會在1988年擴大適用範圍,使其涵蓋買進或賣出的契約與選擇權。對交易畫面上的操作而言,會產生四項結果:

  • 若你以虧損出售股票後,在期間內買進該股票的買權,這本身就構成洗售。買權是取得股票的契約。你不必實際履約,也不存在任何遠到足以讓規則忽略的履約價。
  • 若你以虧損出售買權,並在期間內買進標的股票,則會出現反向的同一問題。判斷關鍵在於「實質上相同」標準,而不是任何已公布的安全港。
  • 若你賣出的賣權深度價內,使履約看起來幾乎確定,可能會被視為與買進股票相當。
  • 選擇權的損失就是證券損失,規則也涵蓋以另一個選擇權取代原選擇權的情況。

特定契約代表多少股票曝險,可以加以衡量。Delta是標的資產每變動1美元時,選擇權價格的變動幅度;乘以100後,可近似代表一份契約所取代的股票曝險股數。下方圖表篩選截至2026年6月、距到期日20至45天的AAPL契約,依履約價相對於股票價格的位置分成5個區間,再計算各區間的平均Delta。

查詢依履約價距離區分的買權與賣權平均 delta:AAPL,距到期20至45天,2026年6月
每個數據背後的精確 SQL 語法
SELECT
    bucket                                 AS strike_vs_spot,
    round(avgIf(delta, delta > 0), 3)      AS call_delta,
    round(avgIf(abs(delta), delta < 0), 3) AS put_delta_abs,
    count()                                AS contract_count
FROM
(
    SELECT
        delta,
        toFloat64(strike_price) / toFloat64(underlying_close) AS mny,
        multiIf(
            mny < 0.85, 'strike 15%+ below spot',
            mny < 0.95, 'strike 5-15% below spot',
            mny < 1.05, 'strike within 5% of spot',
            mny < 1.15, 'strike 5-15% above spot',
                        'strike 15%+ above spot'
        ) AS bucket
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND underlying_close > 0
)
GROUP BY bucket
HAVING countIf(delta > 0) > 0
   AND countIf(delta < 0) > 0
ORDER BY min(mny)
Run this yourself

請由左至右閱讀。履約價遠低於股票價格的買權,平均Delta為0.937,已接近1,表示該契約幾乎與股票呈現一比一的價格連動。履約價遠高於股票價格的買權,平均值為0.017。賣權則相反:履約價遠高於股票價格的賣權,其絕對Delta平均為0.888;履約價遠低於股票價格的賣權,平均為0.015。圖表最右側代表深度價內賣權,這類契約的賣方承擔的曝險接近股票多頭部位。若要了解履約價與到期日的相關用語,請先參閱如何閱讀選擇權鏈

IRS從未為「足夠深」設定明確數字。實務上採用的標準,是在賣出賣權的當下,判斷該賣權是否有任何實質可能在未履約的情況下到期。圖表最右側的賣權,與位於中間位置的賣權,並不是相同的主張。

展期虧損的長期買權

最常見的選擇權專屬問題,答案反而最不明確。你持有一份買權,該買權已經貶值;你賣出原買權,再以相同標的買進另一份、但履約價不同或到期日較晚的買權。新的契約是否與舊契約實質上相同?

財政部尚未發布規則,界定一份選擇權在何種情況下會與另一份選擇權實質上相同。這就是目前的實際狀況。實務上存在的是申報慣例:券商依契約代碼配對選擇權部位,因此展期至不同履約價或不同到期日,通常會在1099-B表格上直接通過而不被標示。慣例不是正式裁定。法規標準要求判斷替代部位是否仍使你承擔相同的上漲與下跌曝險;相同到期日但履約價相差一檔的買權,與距到期日六個月且深度價外的買權,答案可能不同。

目前並存兩種解讀。較謹慎的解讀認為,替代部位若履約價接近且到期日接近,仍可能構成實質上相同。較寬鬆的解讀則認為,只要契約條款有所變更,就屬於新的證券。兩種解讀都尚未經判例確立為明確界線。

61天期間在市場走勢上的樣貌

在將61個日曆日轉換為交易日之前,這個概念仍然很抽象。下方圖表正好涵蓋一個完整的洗售期間,即12月1日至1月30日,代表在12月最後一個交易日實現損失時的完整期間。

查詢盤面上的完整61天洗售期間:AAPL,2025年12月1日至2026年1月30日
每個數據背後的精確 SQL 語法
SELECT
    toString(t.date)                              AS session_date,
    round(t.close, 2)                             AS close,
    round(100 * (t.close / a.first_close - 1), 2) AS change_pct
FROM
(
    SELECT
        date,
        toFloat64(any(close)) AS close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'AAPL'
      AND date >= '2025-12-01'
      AND date <= '2026-01-30'
    GROUP BY date
) AS t
CROSS JOIN
(
    SELECT toFloat64(argMin(close, date)) AS first_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'AAPL'
      AND date >= '2025-12-01'
      AND date <= '2026-01-30'
) AS a
ORDER BY t.date
Run this yourself

這61個日曆日包含42個AAPL交易日。股票在收盤價$283.1時進入該期間,並在$259.48時離開,較起始位置變動-8.34%。若有人在12月最後一個交易日出售股票並希望申報損失,就必須在這些交易日的每一天避免持有實質上相同的曝險。這項規則使稅務決策在整個期間內轉化為市場曝險決策。

你的1099-B知道什麼,以及它無法知道什麼

券商會逐一帳戶、逐一證券識別碼計算洗售。股票使用CUSIP,選擇權則使用契約代碼。這是券商申報規則要求的範圍,但比報稅申報表必須遵循的法律範圍狹窄。第1091條是以納稅人為單位,涵蓋所有帳戶,包括配偶的帳戶以及你控制的實體。

這項落差造成讀者最常反映的幾種意外情況:

  • 在券商A以虧損出售,再於期間內在券商B買回。兩份1099-B都不會顯示洗售,但納稅人仍然發生洗售。
  • 以虧損出售股票,再在同一帳戶買進該股票的買權。兩者是否會被配對,取決於券商軟體,而不是法規。
  • 在自己的帳戶以虧損出售,再由配偶的帳戶買回。沒有任何一家券商能看到交易的兩個側面。
  • 將虧損買權展期至新的履約價。由於識別碼已改變,表格會看似沒有問題,但實質上相同的判斷仍未解決。

應將1099-B視為輸入資料,而不是最終判定。基金也有類似問題,只是呈現方式不同,因為追蹤同一指數的兩檔基金,在法律文件上仍是不同證券:虧損出售共同基金會說明這種情況。

永遠不會回來的損失:在IRA中買回

一般洗售都只是遞延。遭禁止的損失會加到替代部位的成本基礎;原持有部位的持有期間會接續至新部位;當新部位最終完全結清時,才會取得扣除效果。

若在IRA內買進替代部位,這條鏈結就會中斷。Revenue Ruling 2008-5認定,若投資人在應稅帳戶出售證券產生損失,並在期間內於自己的IRA或Roth IRA買進實質上相同的股票或證券,該損失將遭禁止;而且成本基礎調整沒有可附加的對象:第1091(d)條沒有提供提高IRA成本基礎的方法。任何金額都不會遞延至日後。這項扣除永久消失。

這種不對稱性,使IRA成為唯一值得在交易前就先規劃,而不是等到報稅時才處理的情況。61天全部適用,Roth IRA與傳統IRA的處理方式相同。

持有期間與移轉的損失

當損失遭遞延而非消除時,有兩項內容會隨之移轉。遭禁止的金額會加到替代股票的成本基礎。你出售部位的持有期間,會加到替代部位的持有期間;因此,買進才幾天的新部位,在帳面上可能已經屬於長期持有。持有期間的計算也會影響股息處理:請參閱合格股息的持有期間

有一類契約不適用這套架構。廣泛型指數選擇權依其自身制度在年底按市價評價,並在長期與短期之間以60/40比例拆分。因此,年底的損失是透過該市價評價結算,而不是由回購期間決定:指數選擇權為何按60/40課稅

常見問題

洗售期間是30天還是61天?

61個日曆日。規則涵蓋出售日前30天、出售日當天,以及出售日後30天。只從出售日向後計算會漏掉一半期間;在虧損出售前已完成的買進,與之後的買進一樣,都會被視為替代部位。

買進買權會產生洗售嗎?

如果你在期間內買進某股票的買權,而該股票先前是以虧損出售,答案是會。第1091條涵蓋取得實質上相同股票的契約或選擇權;即使買權從未履約,洗售仍然成立。

洗售規則是否適用於兩個不同的券商帳戶?

是。券商會依帳戶及證券識別碼計算洗售,但規則適用於納稅人的所有帳戶,包括配偶的帳戶。每家券商各自提供一份看似正常的1099-B,不代表沒有發生洗售。

不同履約價的買權,是否與我出售的買權實質上相同?

沒有任何規則直接回答這個問題。財政部尚未界定一份選擇權何時會與另一份選擇權實質上相同;而且券商依代碼、而非經濟曝險配對契約,因此展期通常不會被標示。法規中的曝險標準,比申報慣例更廣泛。

如果我在IRA內買回股票,會發生什麼事?

該損失會遭禁止,並永久消失。Revenue Ruling 2008-5認定,第1091(d)條沒有提供將遭禁止損失加到IRA成本基礎的方法。因此,不同於一般洗售,之後不會取回任何扣除效果。

資料說明

交易日計數來自SPY的每日資料,SPY用來代表美國股票市場實際進行正常交易的日期。第一個圖表以每個月最後一個交易日為錨點,計算其周圍61個日曆日內的所有交易日。12月圖表固定以2025年12月為基準,市場走勢圖表則固定涵蓋2025年12月1日至2026年1月30日,因此兩者都不會更新。Delta圖表只納入隱含波動率已收斂且成交量不為零、距到期日20至45天的契約,並以截至2026年6月的資料計算平均值;履約價則依當日標的資產收盤價分組。前端資料有一至兩天的匯入延遲,但只會影響滾動月度圖表。以上內容均不構成稅務建議;實質上相同的判斷取決於具體事實,稅務專業人士需要完整檢視相關情況。


上方每個圖表都附有產生資料的SQL,你可以自行開啟並重新計算交易日。若要依照自己的日期套用61天期間,請以自然語言在Strasmore終端機提出要求。