Aturan Wash Sale dan Opsi: Jendela 61 Hari
Aturan wash sale mencakup jendela 61 hari dan opsi, termasuk calls, rolls, deep in the money puts, celah 1099-B, serta kerugian yang dihapus IRA.
Aturan wash sale tidak mengakui capital loss ketika Anda menjual sekuritas dalam posisi rugi lalu membeli sekuritas yang secara substansial identik dalam jangka 61 hari: 30 hari sebelum penjualan, hari penjualan, dan 30 hari sesudahnya. Opsi tercakup dalam aturan ini melalui dua cara: sebagai pengganti yang menggagalkan pengakuan rugi saham, dan sebagai posisi rugi itu sendiri. Dalam taxable account, kerugian yang tidak diakui tidak hilang. Kerugian tersebut dipindahkan ke cost basis posisi pengganti dan tetap melekat di sana.
Halaman ini menjelaskan mekanismenya. Ini bukan nasihat pajak.
Mengapa jendela wash sale adalah 61 hari, bukan 30
Jumlahkan komponennya: 30 hari sebelum penjualan, ditambah hari penjualan, ditambah 30 hari sesudahnya, menjadi 61 hari kalender. Yang dihitung adalah hari kalender, bukan hari perdagangan. Penghitungan terus berjalan selama akhir pekan dan hari libur bursa. Panel di bawah menggunakan sesi perdagangan terakhir setiap bulan sebagai titik acuan, lalu menghitung berapa banyak sesi yang berada dalam jendela 61 hari bulan tersebut.
SQL tepat di balik setiap angka
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.mGaris datar menunjukkan 61 hari kalender sesuai aturan. Garis bawah menunjukkan berapa hari dari periode tersebut ketika pasar benar-benar buka. Bulan pertama pada panel memiliki 42 sesi dalam jendelanya, bulan terbaru memiliki 42 sesi, dan panel mencakup 30 bulan acuan.
Bagian jendela yang sering dilupakan adalah bagian awal. Kebanyakan orang menghitung maju dari tanggal penjualan dan menandai hari ke-31 di kalender. Padahal, 30 hari sebelum penjualan dihitung dengan cara yang sama. Anda membeli 100 saham tambahan pada tanggal 10 saat melakukan averaging down, lalu menjual lot awal dalam posisi rugi pada tanggal 20. Pembelian yang sudah Anda lakukan tersebut berada dalam jendela. Kerugian atas lot yang dijual tidak diakui meskipun Anda tidak membeli apa pun setelah penjualan. Lot yang keluar dari akun sangat penting dalam situasi ini, dan keputusan tersebut dibuat saat transaksi: lihat bagaimana metode cost basis memilih lot.
Masalah Desember
Loss harvesting terkonsentrasi pada minggu-minggu terakhir tahun berjalan. Di sinilah perhitungan jendela paling berdampak. Penjualan pada sesi terakhir tahun berjalan memiliki jendela pembelian kembali yang berlangsung jauh hingga Januari. Pembelian pada Januari dapat menyebabkan kerugian yang sudah dilaporkan dalam SPT tahun sebelumnya tidak diakui.
SQL tepat di balik setiap angka
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.dSetiap baris menunjukkan satu sesi perdagangan pada Desember, dengan acuan Desember 2025 agar perhitungannya tetap. Untuk penjualan pada Dec 1, 0 hari dalam jendela tersebut jatuh pada tahun baru. Untuk penjualan pada Dec 31, jumlahnya menjadi 30, dan jendela itu mencakup 42 sesi perdagangan secara keseluruhan. Tidak ada penanda mengenai hal ini dalam laporan Desember. Kerugian yang tidak diakui melekat pada saham yang dibeli pada Januari. Kerugian tersebut baru dapat dikurangkan ketika posisi baru itu akhirnya ditutup, yang bisa terjadi pada tahun berikutnya atau beberapa tahun kemudian.
Bagaimana opsi tercakup dalam aturan wash sale
Section 1091 mencakup saham atau sekuritas dan, dalam ketentuan yang sama, kontrak atau opsi untuk memperoleh saham yang secara substansial identik. Pada 1988, Kongres memperluas cakupannya agar meliputi kontrak dan opsi untuk membeli atau menjual. Ada empat konsekuensi pada saat melakukan transaksi:
- Membeli call atas saham yang baru saja Anda jual dalam posisi rugi merupakan wash sale tersendiri. Call tersebut adalah kontrak untuk memperoleh saham. Anda tidak harus mengeksekusinya, dan tidak ada strike yang cukup jauh untuk membuat aturan ini diabaikan.
- Menjual call dalam posisi rugi lalu membeli saham dasarnya dalam jendela tersebut membalik pertanyaannya. Jawabannya bergantung pada standar “secara substansial identik”, bukan pada safe harbor yang dipublikasikan.
- Menulis put yang cukup deep in the money sehingga eksekusinya tampak hampir pasti dapat diperlakukan seperti membeli saham.
- Kerugian atas opsi merupakan kerugian atas sekuritas. Aturan ini juga mencakup penggantian opsi dengan opsi lain.
Jumlah saham yang diwakili kontrak tertentu dapat diukur. Delta adalah perubahan harga opsi untuk setiap perubahan satu dolar pada aset dasar. Jika dikalikan 100, delta memberikan perkiraan jumlah saham yang diwakili oleh eksposur satu kontrak. Panel ini mengelompokkan kontrak AAPL dengan 20 hingga 45 hari sebelum jatuh tempo sampai Juni 2026 ke dalam 5 kelompok berdasarkan posisi strike terhadap harga saham, lalu menghitung rata-rata delta setiap kelompok.
SQL tepat di balik setiap angka
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)Baca panel dari kiri ke kanan. Call dengan strike jauh di bawah harga saham memiliki rata-rata delta 0.937. Angka tersebut cukup dekat dengan satu sehingga kontrak hampir mengikuti saham secara satu banding satu. Call dengan strike jauh di atas harga saham memiliki rata-rata 0.017. Put bergerak berlawanan: put dengan strike paling tinggi di atas harga saham memiliki rata-rata delta absolut 0.888, sedangkan put dengan strike paling rendah di bawah harga saham memiliki rata-rata 0.015. Sisi paling kanan adalah put deep in the money, yaitu kontrak yang membuat penulisnya menanggung sesuatu yang mendekati posisi long pada saham. Untuk memahami istilah strike dan expiration, lihat cara membaca option chain.
IRS tidak pernah menetapkan angka pasti untuk istilah “cukup deep”. Standar kerja yang diterapkan praktisi menilai apakah, pada saat put ditulis, terdapat kemungkinan substansial bahwa opsi tersebut berakhir tanpa dieksekusi. Put di sisi paling kanan panel dan put di bagian tengah panel bukanlah klaim yang sama.
Menggulung posisi long call yang rugi
Pertanyaan yang paling umum mengenai opsi memiliki jawaban yang paling belum pasti. Anda memiliki call yang kehilangan nilai. Anda menjualnya lalu membeli call lain atas aset dasar yang sama, tetapi dengan strike berbeda atau expiration yang lebih lama. Apakah kontrak baru tersebut secara substansial identik dengan kontrak lama?
Treasury belum menerbitkan regulasi yang mendefinisikan kapan satu opsi secara substansial identik dengan opsi lain. Itulah kondisi hukumnya saat ini. Dalam praktik, terdapat konvensi pelaporan: broker mencocokkan posisi opsi berdasarkan contract symbol. Karena itu, roll ke strike atau expiration berbeda biasanya muncul tanpa penanda pada 1099-B. Namun, konvensi bukanlah putusan hukum. Standar dalam undang-undang menanyakan apakah posisi pengganti tetap memberi Anda eksposur terhadap pergerakan naik dan turun yang sama. Call dengan strike yang berjarak satu tingkat dan expiration yang sama memberikan jawaban berbeda dibandingkan call dengan expiration enam bulan kemudian dan jauh out of the money.
Ada dua pendekatan yang berlaku bersamaan. Pendekatan hati-hati menganggap penggantian dengan strike dan expiration yang berdekatan sebagai eksposur yang sama. Pendekatan permisif menganggap setiap perubahan ketentuan kontrak menciptakan sekuritas baru. Belum ada yang diuji hingga menghasilkan batas yang tegas.
Seperti apa 61 hari terlihat pada tape
Enam puluh satu hari kalender tetap abstrak sampai Anda melihatnya sebagai sesi perdagangan. Panel di bawah menunjukkan tepat satu jendela wash sale, dari 1 Desember hingga 30 Januari. Periode tersebut merupakan jendela penuh untuk kerugian yang direalisasikan pada sesi terakhir Desember.
SQL tepat di balik setiap angka
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.dateKe-61 hari kalender tersebut mencakup 42 sesi AAPL. Saham memasuki jendela pada harga penutupan $283.1 dan keluar pada $259.48, -8.34% dari titik awalnya. Investor yang menjual pada sesi terakhir Desember dan ingin mengakui kerugian harus menghindari eksposur yang secara substansial identik selama seluruh sesi tersebut. Aturan ini mengubah keputusan pajak menjadi keputusan mengenai eksposur pasar sepanjang jendela tersebut.
Apa yang diketahui 1099-B Anda, dan apa yang tidak diketahuinya
Broker menghitung wash sale satu akun pada satu waktu dan satu security identifier pada satu waktu: CUSIP untuk saham dan contract symbol untuk opsi. Itulah yang diminta oleh aturan pelaporan broker. Cakupannya lebih sempit daripada hukum yang harus diikuti dalam SPT. Section 1091 berlaku per taxpayer dan mencakup semua akun, termasuk akun pasangan serta entitas yang Anda kendalikan.
Perbedaan ini menimbulkan sebagian besar kejutan yang dilaporkan pembaca:
- Menjual dalam posisi rugi di broker A lalu membeli kembali dalam jendela tersebut di broker B. Tidak ada 1099-B yang menunjukkan wash sale. Namun, taxpayer tetap memiliki satu wash sale.
- Menjual saham dalam posisi rugi lalu membeli call atas saham tersebut dalam akun yang sama. Apakah keduanya dicocokkan bergantung pada software broker, bukan pada undang-undang.
- Menjual dalam posisi rugi di akun Anda lalu membeli kembali di akun pasangan. Tidak ada broker yang melihat kedua sisi transaksi.
- Menggulung call yang rugi ke strike baru. Identifier berubah sehingga formulir tersebut terlihat bersih. Pertanyaan mengenai apakah keduanya secara substansial identik tetap terbuka.
Perlakukan 1099-B sebagai input, bukan sebagai penentuan akhir. Reksa dana menimbulkan masalah yang sama dalam bentuk berbeda karena dua fund yang melacak indeks yang sama secara formal merupakan sekuritas terpisah: menjual reksa dana dalam posisi rugi membahas kasus tersebut.
Yang tidak pernah kembali: membeli kembali di IRA
Setiap wash sale biasa hanya menunda pengakuan kerugian. Kerugian yang tidak diakui ditambahkan ke basis posisi pengganti. Holding period posisi lama ditambahkan ke posisi baru. Pengurangan pajak baru muncul ketika posisi tersebut akhirnya ditutup secara permanen.
Membeli posisi pengganti di dalam IRA memutus rantai tersebut. Revenue Ruling 2008-5 menetapkan bahwa kerugian dari penjualan di taxable account tidak diakui apabila saham atau sekuritas yang secara substansial identik dibeli di IRA atau Roth IRA dalam jendela tersebut. Penyesuaian basis tidak memiliki tempat untuk diterapkan karena section 1091(d) tidak menyediakan cara untuk menaikkan basis IRA. Tidak ada yang dibawa ke periode berikutnya. Pengurangan pajak tersebut hilang untuk selamanya.
Asimetri ini menjadikan IRA sebagai satu-satunya kasus yang layak dipetakan sebelum transaksi, bukan saat musim pajak. Seluruh 61 hari berlaku, dan Roth diperlakukan sama seperti traditional IRA.
Holding period dan kerugian yang berpindah
Ketika kerugian ditunda, bukan dihapus, dua hal ikut berpindah. Nilai kerugian yang tidak diakui ditambahkan ke basis saham pengganti. Holding period posisi yang dijual ditambahkan ke holding period posisi pengganti. Akibatnya, posisi pengganti yang baru dimiliki beberapa hari dapat dianggap long term secara administratif. Perhitungan holding period juga menentukan perlakuan dividen: lihat holding period qualified dividend.
Satu kelompok kontrak berada di luar kerangka ini. Broad based index options dihitung berdasarkan mark-to-market pada akhir tahun berdasarkan rezim tersendiri dan dibagi 60/40 antara long term dan short term. Karena itu, kerugian akhir tahun atas kontrak tersebut diselesaikan melalui mark tersebut, bukan melalui jendela pembelian kembali: mengapa index options dikenai pajak 60/40.
FAQ
Apakah jendela wash sale adalah 30 hari atau 61 hari?
Enam puluh satu hari kalender. Aturan ini mencakup 30 hari sebelum penjualan, hari penjualan, dan 30 hari sesudahnya. Menghitung hanya ke depan dari tanggal penjualan berarti mengabaikan separuh jendela. Pembelian yang dilakukan sebelum penjualan dalam posisi rugi juga dihitung sebagai pengganti, sama seperti pembelian setelahnya.
Apakah membeli call option menciptakan wash sale?
Ya, jika call dibeli dalam jendela tersebut atas saham yang dijual dalam posisi rugi. Section 1091 mencakup kontrak atau opsi untuk memperoleh saham yang secara substansial identik. Wash sale tetap berlaku meskipun call tidak pernah dieksekusi.
Apakah aturan wash sale berlaku pada dua akun brokerage yang berbeda?
Ya. Broker menghitung wash sale per akun dan per security identifier. Aturan tersebut berlaku pada taxpayer di seluruh akun, termasuk akun pasangan. 1099-B yang bersih dari setiap broker tidak berarti tidak ada wash sale.
Apakah call dengan strike berbeda secara substansial identik dengan call yang saya jual?
Tidak ada regulasi yang menjawabnya. Treasury belum mendefinisikan kapan satu opsi secara substansial identik dengan opsi lain. Pelaporan broker mencocokkan kontrak berdasarkan symbol, bukan berdasarkan karakteristik ekonominya. Karena itu, roll biasanya muncul tanpa penanda. Namun, standar eksposur dalam undang-undang lebih luas daripada konvensi pelaporan.
Apa yang terjadi jika saya membeli kembali saham tersebut di IRA?
Kerugian tersebut tidak diakui dan hilang secara permanen. Revenue Ruling 2008-5 menetapkan bahwa section 1091(d) tidak menyediakan cara untuk menambahkan kerugian yang tidak diakui ke basis IRA. Jadi, berbeda dari wash sale biasa, tidak ada yang dapat dipulihkan di kemudian hari.
Catatan data
Jumlah sesi berasal dari catatan harian SPY, yang digunakan sebagai representasi hari ketika pasar ekuitas AS menyelenggarakan sesi reguler. Panel pertama menggunakan sesi terakhir setiap bulan sebagai titik acuan dan menghitung setiap sesi dalam 61 hari kalender di sekitarnya. Panel Desember menggunakan acuan Desember 2025. Panel tape menggunakan periode 1 Desember 2025 hingga 30 Januari 2026. Karena itu, keduanya tidak diperbarui. Panel delta hanya menggunakan kontrak dengan implied volatility yang konvergen dan volume non-zero, 20 hingga 45 hari sebelum jatuh tempo, yang dirata-ratakan hingga Juni 2026. Strike dikelompokkan berdasarkan harga penutupan aset dasar pada hari tersebut. Data di bagian awal memiliki jeda ingest satu atau dua hari. Jeda ini hanya memengaruhi panel bulanan bergulir. Semua ini bukan nasihat pajak. Penentuan apakah suatu sekuritas secara substansial identik merupakan pertanyaan berdasarkan fakta yang perlu ditinjau secara menyeluruh oleh profesional pajak.
Setiap panel di atas disertai SQL yang menghasilkannya. Anda dapat membukanya dan menghitung ulang sesi tersebut sendiri. Untuk memetakan jendela 61 hari berdasarkan tanggal Anda, ajukan permintaan dalam bahasa biasa melalui terminal Strasmore.