Wash Sale Rule और Options: इकसठ दिनों की विंडो
Wash sale नियम इकसठ दिनों तक प्रभावी रहता है। इसमें ऑप्शंस, कॉल्स, रोल्स और डीप इन द मनी पुट्स शामिल हैं। यह लेख IRA में नुकसान और 1099-B गैप की जटिलताओं को स्पष्ट करता है।
Wash sale नियम तब एक कैपिटल लॉस (capital loss) को अस्वीकार कर देता है जब आप किसी सिक्योरिटी को नुकसान पर बेचते हैं और 61 दिनों की अवधि के भीतर एक समान (substantially identical) सिक्योरिटी खरीद लेते हैं: बिक्री से 30 दिन पहले, बिक्री का दिन, और बिक्री के 30 दिन बाद। ऑप्शंस इस नियम के दायरे में दो तरह से आते हैं: एक तो स्टॉक के नुकसान को अमान्य करने वाले रिप्लेसमेंट के रूप में, और दूसरा स्वयं एक लॉस पोजीशन के रूप में। एक टैक्सेबल अकाउंट में, अस्वीकृत नुकसान खत्म नहीं होता है। यह रिप्लेसमेंट पोजीशन के कॉस्ट बेसिस (cost basis) में जुड़ जाता है और वहीं बना रहता है।
यह पेज इसकी कार्यप्रणाली को समझाता है। यह टैक्स सलाह नहीं है।
वॉश सेल विंडो 61 दिनों की क्यों है, 30 दिनों की नहीं
हिसाब जोड़ें: बिक्री से 30 दिन पहले, बिक्री का दिन स्वयं, और 30 दिन बाद, कुल 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सीधी रेखा नियम के 61 कैलेंडर दिनों को दर्शाती है। निचली रेखा यह दिखाती है कि उन दिनों में से बाजार कितने दिन खुला था। पैनल का पहला महीना अपनी विंडो के भीतर 42 सत्र रखता है, सबसे हालिया महीना 42 सत्र रखता है, और पैनल 30 महीनों के एंकर को कवर करता है।
विंडो का वह आधा हिस्सा जिसे लोग भूल जाते हैं, वह शुरुआती आधा हिस्सा है। हम में से अधिकांश बिक्री के बाद से आगे गिनते हैं और कैलेंडर पर 31वें दिन को मार्क करते हैं। बिक्री से पहले के 30 दिन भी समान रूप से गिने जाते हैं। यदि आप 10 तारीख को औसत कम (averaging down) करते हुए 100 और शेयर खरीदते हैं, और 20 तारीख को अपने मूल लॉट को नुकसान पर बेचते हैं, तो आपके द्वारा पहले ही की गई खरीदारी विंडो के भीतर आ जाती है। आपके द्वारा बेचे गए लॉट पर हुआ नुकसान अस्वीकार कर दिया जाता है, भले ही आपने बाद में कुछ भी न खरीदा हो। यहाँ यह बहुत मायने रखता है कि कौन सा लॉट अकाउंट से बाहर निकलता है, और यह ट्रेड के समय लिया गया एक विकल्प है: देखें कॉस्ट बेसिस मेथड लॉट का चयन कैसे करते हैं।
दिसंबर की समस्या
लॉस हार्वेस्टिंग साल के अंतिम हफ्तों में केंद्रित होती है, जहाँ विंडो का गणित सबसे अधिक प्रभावित करता है। साल के अंतिम सत्र में की गई बिक्री की पुनर्खरीद विंडो जनवरी तक चलती है, और जनवरी की खरीदारी पीछे जाकर उस नुकसान को अस्वीकार कर देती है जिसे पिछले साल के रिटर्न में पहले ही रिपोर्ट किया जा चुका है।
हर आंकड़े के पीछे का पूरा 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प्रत्येक पंक्ति दिसंबर का एक सत्र है, जिसे दिसंबर 2025 पर पिन किया गया है ताकि गणित स्थिर रहे। Dec 1 को की गई बिक्री के लिए, विंडो के 0 दिन नए साल में आते हैं। Dec 31 को की गई बिक्री के लिए, इसके 30 दिन नए साल में आते हैं, और वह विंडो शुरू से अंत तक 42 ट्रेडिंग सत्रों तक फैली होती है। दिसंबर के स्टेटमेंट में कुछ भी इसे फ्लैग नहीं करता है। अस्वीकृत नुकसान जनवरी के शेयरों से जुड़ जाता है, और यह तभी डिडक्टिबल (deductible) होता है जब वह नई पोजीशन अंततः बंद हो जाती है, जो अगले साल या कई साल बाद हो सकती है।
ऑप्शंस वॉश सेल नियम में कहाँ आते हैं
धारा 1091 स्टॉक या सिक्योरिटीज को कवर करती है और इसी के साथ, समान स्टॉक प्राप्त करने के लिए किसी कॉन्ट्रैक्ट या ऑप्शन को भी शामिल करती है। कांग्रेस ने 1988 में इसे खरीदने या बेचने के कॉन्ट्रैक्ट्स और ऑप्शंस तक विस्तारित किया। ट्रेडिंग स्क्रीन पर चार बातें सामने आती हैं:
- जिस स्टॉक को आपने अभी नुकसान पर बेचा है, उस पर कॉल ऑप्शन खरीदना अपने आप में एक वॉश सेल है। कॉल शेयर प्राप्त करने का एक कॉन्ट्रैक्ट है। आपको इसे कभी एक्सरसाइज करने की आवश्यकता नहीं है, और कोई भी स्ट्राइक इतनी दूर नहीं है कि नियम इसे अनदेखा कर दे।
- नुकसान पर कॉल बेचना और विंडो के भीतर अंतर्निहित स्टॉक खरीदना उसी प्रश्न को उल्टा कर देता है। इसका उत्तर किसी प्रकाशित सेफ हार्बर के बजाय 'समान' (substantially identical) मानक पर निर्भर करता है।
- पुट (put) को इतना 'इन द मनी' (in the money) लिखना कि एक्सरसाइज लगभग निश्चित लगे, उसे स्टॉक खरीदने जैसा ही माना जा सकता है।
- ऑप्शन पर हुआ नुकसान एक सिक्योरिटी पर हुआ नुकसान है, और यह नियम ऑप्शन-टू-ऑप्शन रिप्लेसमेंट तक भी पहुंचता है।
एक दिया गया कॉन्ट्रैक्ट कितने स्टॉक को कवर करता है, यह मापने योग्य है। डेल्टा (delta) अंतर्निहित स्टॉक में एक डॉलर के बदलाव पर ऑप्शन की कीमत में होने वाला बदलाव है, और इसे 100 से गुणा करने पर यह उन शेयरों के एक्सपोज़र का अनुमान देता है जिसे एक कॉन्ट्रैक्ट दर्शाता है। पैनल जून 2026 तक 20 से 45 दिनों की एक्सपायरी वाले AAPL कॉन्ट्रैक्ट्स को स्ट्राइक के आधार पर 5 बैंड में छांटता है, फिर प्रत्येक में औसत डेल्टा निकालता है।
हर आंकड़े के पीछे का पूरा 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)इसे बाएं से दाएं पढ़ें। स्टॉक से काफी नीचे स्ट्राइक वाली कॉल्स का औसत डेल्टा 0.937 था, जो एक के इतना करीब है कि कॉन्ट्रैक्ट लगभग डॉलर-दर-डॉलर शेयरों को ट्रैक करता है। स्टॉक से काफी ऊपर स्ट्राइक वाली कॉल्स का औसत 0.017 था। पुट्स दूसरी तरफ काम करती हैं: स्टॉक से सबसे ऊपर स्ट्राइक वाली पुट्स का औसत एब्सोल्यूट डेल्टा 0.888 था, और सबसे नीचे स्ट्राइक वाली पुट्स का औसत 0.015 था। वह दाहिना किनारा 'डीप इन द मनी' पुट है, एक ऐसा कॉन्ट्रैक्ट जिसका राइटर शेयरों में लॉन्ग पोजीशन के करीब कुछ ले जा रहा है। स्ट्राइक और एक्सपायरी की शब्दावली के लिए, ऑप्शन चेन को कैसे पढ़ें से शुरुआत करें।
IRS ने कभी भी "पर्याप्त रूप से गहरा" (deep enough) के लिए कोई संख्या निर्धारित नहीं की है। प्रैक्टिशनर्स द्वारा लागू किया जाने वाला मानक यह पूछता है कि क्या, जिस समय पुट लिखा गया है, उसके बिना एक्सरसाइज हुए समाप्त होने की कोई ठोस संभावना है। उस पैनल के बिल्कुल दाहिने छोर पर स्थित पुट और बीच में स्थित पुट एक ही दावा नहीं हैं।
लॉस वाली लॉन्ग कॉल को रोल करना
ऑप्शन से संबंधित सबसे आम प्रश्न का उत्तर सबसे कम स्पष्ट है। आपके पास एक कॉल है, उसका मूल्य कम हो गया है, आप उसे बेचते हैं और उसी अंतर्निहित स्टॉक पर एक अलग स्ट्राइक या बाद की एक्सपायरी वाली दूसरी कॉल खरीदते हैं। क्या नया कॉन्ट्रैक्ट पुराने के समान है?
ट्रेजरी ने ऐसे नियम जारी नहीं किए हैं जो यह परिभाषित करें कि एक ऑप्शन दूसरे के समान कब होता है। यही वास्तविकता है। व्यवहार में एक रिपोर्टिंग कन्वेंशन मौजूद है: ब्रोकर्स कॉन्ट्रैक्ट सिंबल के आधार पर ऑप्शन पोजीशन का मिलान करते हैं, इसलिए एक अलग स्ट्राइक या अलग एक्सपायरी पर रोल आमतौर पर 1099-B पर बिना किसी फ्लैग के निकल जाता है। एक कन्वेंशन कोई नियम नहीं है। वैधानिक मानक यह पूछता है कि क्या रिप्लेसमेंट आपको समान उतार-चढ़ाव के प्रति एक्सपोज़्ड छोड़ता है, और एक ही एक्सपायरी वाली एक स्ट्राइक दूर की कॉल का उत्तर छह महीने बाद की और 'आउट ऑफ द मनी' कॉल से अलग होता है।
दो व्याख्याएं मौजूद हैं। सतर्क व्याख्या एक निकट स्ट्राइक, निकट एक्सपायरी रिप्लेसमेंट को एक्सपोज़्ड मानती है। उदार व्याख्या कॉन्ट्रैक्ट की शर्तों में किसी भी बदलाव को एक नई सिक्योरिटी मानती है। किसी को भी स्पष्ट रूप से परखा नहीं गया है।
टेप पर 61 दिन कैसे दिखते हैं
61 कैलेंडर दिन तब तक एक अमूर्त अवधारणा बने रहते हैं जब तक आप उन्हें सत्रों के रूप में नहीं देखते। नीचे दिया गया पैनल बिल्कुल एक वॉश सेल विंडो है, 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उन 61 कैलेंडर दिनों में 42 AAPL सत्र थे। स्टॉक $283.1 के क्लोज पर विंडो में प्रवेश किया और $259.48 पर बाहर निकला, जो शुरुआती बिंदु से -8.34% है। जिस किसी ने दिसंबर के अंतिम सत्र में बिक्री की और नुकसान का लाभ उठाना चाहा, उसे उन सभी सत्रों के दौरान समान एक्सपोज़र से दूर रहना पड़ा। यह नियम टैक्स निर्णय को विंडो की अवधि के लिए बाजार एक्सपोज़र निर्णय में बदल देता है।
आपका 1099-B क्या जानता है, और क्या नहीं
ब्रोकर्स एक समय में एक अकाउंट और एक सिक्योरिटी आइडेंटिफायर के आधार पर वॉश सेल की गणना करते हैं, स्टॉक के लिए CUSIP और ऑप्शन के लिए कॉन्ट्रैक्ट सिंबल। यही ब्रोकर रिपोर्टिंग नियम उनसे मांगते हैं, और यह उस कानून से संकीर्ण है जिसका रिटर्न को पालन करना होता है। धारा 1091 प्रति करदाता, हर अकाउंट पर लागू होती है, जिसमें जीवनसाथी के अकाउंट और आपके द्वारा नियंत्रित संस्थाएं शामिल हैं।
यह अंतर उन अधिकांश आश्चर्यों को पैदा करता है जिनकी रिपोर्ट पाठक करते हैं:
- ब्रोकर A पर नुकसान पर बेचें, विंडो के भीतर ब्रोकर B पर वापस खरीदें। कोई भी 1099-B वॉश सेल नहीं दिखाता है। करदाता के पास अभी भी एक वॉश सेल है।
- स्टॉक को नुकसान पर बेचें, उसी अकाउंट में उस पर कॉल खरीदें। क्या दोनों का मिलान होगा, यह ब्रोकर के सॉफ्टवेयर पर निर्भर करता है, कानून पर नहीं।
- अपने अकाउंट में नुकसान पर बेचें, अपने जीवनसाथी के अकाउंट में वापस खरीदें। कोई भी ब्रोकर दोनों पक्षों को नहीं देखता है।
- लॉस वाली कॉल को नई स्ट्राइक पर रोल करें। आइडेंटिफायर बदल गया, इसलिए फॉर्म साफ आता है। 'समान' होने का प्रश्न अभी भी खुला है।
1099-B को एक इनपुट के रूप में मानें, न कि एक निर्धारण के रूप में। फंड्स एक अलग रूप के साथ यही समस्या पैदा करते हैं, क्योंकि एक इंडेक्स को ट्रैक करने वाले दो फंड कागजों पर अलग-अलग सिक्योरिटीज हैं: म्यूचुअल फंड को नुकसान पर बेचना उस मामले को समझाता है।
वह जो कभी वापस नहीं आता: IRA में पुनर्खरीद
हर सामान्य वॉश सेल एक आस्थगन (deferral) है। अस्वीकृत नुकसान को रिप्लेसमेंट पोजीशन के बेसिस में जोड़ा जाता है, पुरानी होल्डिंग अवधि नई में जुड़ जाती है, और कटौती तब मिलती है जब पोजीशन को पूरी तरह से बंद कर दिया जाता है।
IRA के भीतर रिप्लेसमेंट खरीदना उस श्रृंखला को तोड़ देता है। रेवेन्यू रूलिंग 2008-5 के अनुसार, टैक्सेबल अकाउंट की बिक्री पर हुआ नुकसान तब अस्वीकार कर दिया जाता है जब विंडो के भीतर आपके IRA या Roth IRA में समान स्टॉक या सिक्योरिटीज खरीदी जाती हैं, और बेसिस एडजस्टमेंट के लिए कोई जगह नहीं होती: धारा 1091(d) IRA के बेसिस को बढ़ाने का कोई तरीका प्रदान नहीं करती है। कुछ भी आगे नहीं बढ़ता है। कटौती हमेशा के लिए खत्म हो जाती है।
वह विषमता IRA को ट्रेड से पहले मैप करने योग्य एकमात्र मामला बनाती है, न कि टैक्स के समय। सभी 61 दिन लागू होते हैं, और Roth को पारंपरिक IRA के समान ही माना जाता है।
होल्डिंग अवधि और वह नुकसान जो आगे बढ़ता है
जब नुकसान को मिटाने के बजाय आस्थगित किया जाता है, तो दो चीजें इसके साथ चलती हैं। अस्वीकृत राशि को रिप्लेसमेंट शेयरों के बेसिस में जोड़ा जाता है। आपके द्वारा बेची गई पोजीशन की होल्डिंग अवधि रिप्लेसमेंट की होल्डिंग अवधि में जुड़ जाती है, जो कुछ दिन पुराने रिप्लेसमेंट को कागजों पर लॉन्ग टर्म बना सकती है। होल्डिंग अवधि का गणित डिविडेंड ट्रीटमेंट को भी नियंत्रित करता है: देखें क्वालिफाइड डिविडेंड होल्डिंग अवधि।
कॉन्ट्रैक्ट्स का एक परिवार इस ढांचे से बाहर है। ब्रॉड-बेस्ड इंडेक्स ऑप्शंस साल के अंत में अपने स्वयं के शासन के तहत मार्क-टू-मार्केट होते हैं और लॉन्ग टर्म और शॉर्ट टर्म के बीच 60/40 विभाजित होते हैं, इसलिए उन पर साल के अंत का नुकसान पुनर्खरीद विंडो के बजाय उस मार्क द्वारा तय किया जाता है: इंडेक्स ऑप्शंस पर 60/40 टैक्स क्यों लगता है।
FAQ
क्या वॉश सेल विंडो 30 दिन की है या 61 दिन की?
61 कैलेंडर दिन। नियम बिक्री से 30 दिन पहले, बिक्री के दिन और 30 दिन बाद को कवर करता है। केवल बिक्री के बाद से गिनना इसका आधा हिस्सा छोड़ देता है, और नुकसान वाली बिक्री से पहले की गई खरीदारी भी रिप्लेसमेंट के रूप में उतनी ही मायने रखती है जितनी बाद वाली।
क्या कॉल ऑप्शन खरीदने से वॉश सेल बनती है?
हाँ, जब कॉल को नुकसान पर बेचे गए स्टॉक पर विंडो के भीतर खरीदा जाता है। धारा 1091 समान स्टॉक प्राप्त करने के लिए एक कॉन्ट्रैक्ट या ऑप्शन तक पहुंचती है, और वॉश सेल तब भी बनी रहती है यदि कॉल को कभी एक्सरसाइज न किया जाए।
क्या वॉश सेल नियम दो अलग-अलग ब्रोकरेज अकाउंट्स पर लागू होता है?
हाँ। ब्रोकर्स प्रति अकाउंट और प्रति सिक्योरिटी आइडेंटिफायर वॉश सेल की गणना करते हैं, जबकि नियम करदाता पर सभी अकाउंट्स में लागू होता है, जिसमें जीवनसाथी के अकाउंट भी शामिल हैं। प्रत्येक ब्रोकर से एक साफ 1099-B का मतलब यह नहीं है कि कोई वॉश सेल नहीं थी।
क्या अलग स्ट्राइक वाली कॉल मेरे द्वारा बेची गई कॉल के समान है?
कोई भी नियम इसका उत्तर नहीं देता है। ट्रेजरी ने यह परिभाषित नहीं किया है कि एक ऑप्शन दूसरे के समान कब होता है, और ब्रोकर रिपोर्टिंग कॉन्ट्रैक्ट्स का मिलान इकोनॉमिक्स के बजाय सिंबल से करती है, इसलिए एक रोल आमतौर पर बिना फ्लैग के दिखाई देता है। कानून में एक्सपोज़र मानक रिपोर्टिंग कन्वेंशन से व्यापक है।
यदि मैं अपने IRA के भीतर स्टॉक वापस खरीद लूं तो क्या होगा?
नुकसान अस्वीकार कर दिया जाता है और स्थायी रूप से खो जाता है। रेवेन्यू रूलिंग 2008-5 के अनुसार, धारा 1091(d) अस्वीकृत नुकसान को IRA के बेसिस में जोड़ने का कोई तरीका नहीं देती है, इसलिए सामान्य वॉश सेल के विपरीत, बाद में कुछ भी रिकवर नहीं होता है।
डेटा नोट्स
सत्रों की गिनती SPY के दैनिक रिकॉर्ड से आती है, जो उन दिनों का प्रतिनिधित्व करता है जब अमेरिकी इक्विटी बाजारों में नियमित सत्र था। पहला पैनल प्रत्येक महीने के अंतिम सत्र पर आधारित है और इसके आसपास के 61 कैलेंडर दिनों के भीतर प्रत्येक सत्र को गिनता है। दिसंबर पैनल दिसंबर 2025 पर और टेप पैनल 1 दिसंबर 2025 से 30 जनवरी 2026 तक पिन किया गया है, इसलिए कोई भी रिफ्रेश नहीं होता है। डेल्टा पैनल केवल उन कॉन्ट्रैक्ट्स को पढ़ता है जिनमें कन्वर्ज्ड इंप्लाइड वोलेटिलिटी और नॉन-जीरो वॉल्यूम है, 20 से 45 दिनों की एक्सपायरी, जून 2026 में औसत, उस दिन के अंतर्निहित क्लोज के खिलाफ स्ट्राइक बकेटेड हैं। फ्रंट एज डेटा में एक या दो दिन का इनजेस्ट लैग होता है, जो केवल रोलिंग मंथली पैनल को प्रभावित करता है। इनमें से कोई भी टैक्स सलाह नहीं है, और 'समान' होने का निर्धारण एक तथ्यों का प्रश्न है जिसे एक टैक्स पेशेवर को पूरी तरह से देखने की आवश्यकता है।
ऊपर दिया गया प्रत्येक पैनल उस SQL के साथ आता है जिसने इसे तैयार किया है, इसलिए आप एक को खोल सकते हैं और स्वयं सत्रों की पुनर्गणना कर सकते हैं। अपनी तारीखों पर 61 दिनों की विंडो मैप करने के लिए, Strasmore टर्मिनल पर इसे सरल अंग्रेजी में पूछें।