Strasmore Research

Kanuni ya wash sale na options: Dirisha la siku 61

Kanuni ya wash sale inachukua siku sitini na moja badala ya thelathini. Jifunze jinsi options, rolls, na hasara katika IRA zinavyoathiri kodi yako ya mtaji kwa usahihi.

Kanuni ya wash sale inakataa hasara ya mtaji (capital loss) pale unapouza dhamana kwa hasara na kununua nyingine inayofanana kimsingi ndani ya kipindi cha siku 61: siku 30 kabla ya mauzo, siku ya mauzo yenyewe, na siku 30 baada ya mauzo. Chaguzi (options) huangukia ndani ya kanuni hii mara mbili, kama mbadala unaoharibu hasara ya hisa na kama nafasi ya hasara yenyewe. Katika akaunti inayotozwa kodi, hasara iliyokataliwa haipotei. Inahamia kwenye cost basis ya nafasi mbadala na kusubiri hapo.

Ukurasa huu unaelezea utaratibu wake. Hii si ushauri wa kodi.

Kwa nini dirisha la wash sale ni siku 61, si 30

Jumlisha vipengele: siku 30 kabla, pamoja na siku ya mauzo yenyewe, pamoja na siku 30 baada, ni siku 61 za kalenda. Hizi ni siku za kalenda, si siku za biashara, na hesabu inaendelea kupitia wikendi na sikukuu za soko. Paneli iliyo hapa chini inajikita kwenye kikao cha mwisho cha biashara cha kila mwezi na kuhesabu ni vikao vingapi viko ndani ya dirisha la siku 61 la mwezi huo.

UlizaIdadi ya vipindi vya biashara ndani ya muda wa siku 61 wa wash sale
SQL halisi nyuma ya kila namba
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

Mstari ulionyooka ni siku 61 za kalenda za kanuni hiyo. Mstari wa chini ni ni siku ngapi kati ya hizo soko lilikuwa wazi. Mwezi wa kwanza kwenye paneli una vikao 42 ndani ya dirisha lake, wa hivi karibuni una 42, na paneli inashughulikia miezi 30 ya nanga.

Nusu ya dirisha ambayo watu husahau ni nusu ya mbele. Wengi wetu huhesabu mbele kuanzia mauzo na kuzungushia siku ya 31 kwenye kalenda. Siku 30 kabla ya mauzo huhesabika vivyo hivyo. Nunua hisa 100 zaidi tarehe 10 wakati unapunguza wastani wa gharama, uza kundi lako la awali kwa hasara tarehe 20, na ununuzi ulioufanya tayari uko ndani ya dirisha. Hasara kwenye kundi ulilouza inakataliwa hata kama hukununua chochote baadaye. Ni kundi lipi linalotoka kwenye akaunti ni muhimu sana hapa, na hilo ni chaguo linalofanywa wakati wa biashara: tazama jinsi mbinu za cost basis zinavyochagua kundi.

Tatizo la Desemba

Uvunaji wa hasara (loss harvesting) hujikusanya katika wiki za mwisho za mwaka, ambapo hesabu ya dirisha huumiza zaidi. Mauzo katika kikao cha mwisho cha mwaka hubeba dirisha la ununuzi upya linaloendelea hadi Januari, na ununuzi wa Januari hurudi nyuma kukataa hasara iliyoripotiwa tayari kwenye marejesho ya kodi ya mwaka uliopita.

UlizaKila kipindi cha Desemba na muda wa wash sale unavyoingia mwaka mpya
SQL halisi nyuma ya kila namba
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

Kila safu ni kikao kimoja cha Desemba, kilichowekwa kwenye Desemba 2025 ili hesabu isibadilike. Kwa mauzo ya tarehe Dec 1, 0 ya siku za dirisha huangukia mwaka mpya. Kwa mauzo ya tarehe Dec 31, 30 ya siku hizo huangukia huko, na dirisha hilo linachukua vikao 42 vya biashara kuanzia mwanzo hadi mwisho. Hakuna kitu kwenye taarifa ya Desemba kinachoashiria hili. Hasara iliyokataliwa inaambatana na hisa za Januari, na inakuwa inayoweza kupunguzwa kodi tu wakati nafasi hiyo mpya itakapofungwa hatimaye, jambo ambalo linaweza kuwa mwaka unaofuata au miaka kadhaa baadaye.

Mahali ambapo chaguzi (options) huingia kwenye kanuni ya wash sale

Sehemu ya 1091 inashughulikia hisa au dhamana na, kwa wakati mmoja, mkataba au chaguo la kupata hisa inayofanana kimsingi. Bunge lilipanua kanuni hiyo mwaka 1988 ili kufikia mikataba na chaguzi za kununua au kuuza. Mambo manne hutokea kwenye skrini ya biashara:

  • Kununua call kwenye hisa uliyoiuza hivi karibuni kwa hasara ni wash sale yenyewe. Call ni mkataba wa kupata hisa hizo. Huna haja ya kuutumia (exercise), na hakuna strike price iliyo mbali kiasi cha kuifanya kanuni hiyo kuipuuza.
  • Kuuza call kwa hasara na kununua hisa husika ndani ya dirisha huleta swali lilelile kwa njia tofauti. Jibu hutegemea kiwango cha kufanana kimsingi badala ya kanuni yoyote iliyochapishwa ya usalama.
  • Kuandika put ambayo iko deep in the money kiasi kwamba utekelezaji unaonekana kuwa karibu na uhakika inaweza kuchukuliwa kama kununua hisa.
  • Hasara kwenye chaguo ni hasara kwenye dhamana, na kanuni hiyo inafikia pia uingizwaji wa chaguo kwa chaguo.

Kiasi gani cha hisa ambacho mkataba fulani unawakilisha kinaweza kupimika. Delta ni mabadiliko ya bei ya chaguo kwa kila dola moja ya mabadiliko katika hisa husika, na ikizidishwa kwa 100 inakadiria hisa za mfiduo (exposure) ambazo mkataba mmoja unawakilisha. Paneli inapanga mikataba ya AAPL yenye siku 20 hadi 45 hadi muda wa kuisha (expiry) kupitia Juni 2026 katika bendi 5 kulingana na mahali ambapo strike ilipo dhidi ya hisa, kisha inapata wastani wa delta katika kila moja.

UlizaWastani wa delta ya call na put kwa umbali wa strike, AAPL, siku 20 hadi 45 kabla ya expiry, Juni 2026
SQL halisi nyuma ya kila namba
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

Isome kutoka kushoto kwenda kulia. Calls zilizopigwa bei (struck) vizuri chini ya hisa zilikuwa na wastani wa delta ya 0.937, karibu kutosha na moja hivi kwamba mkataba unafuatilia hisa karibu dola kwa dola. Calls zilizopigwa bei vizuri juu zilikuwa na wastani wa 0.017. Puts huenda upande mwingine: puts zilizopigwa bei mbali zaidi juu ya hisa zilikuwa na wastani wa 0.888 katika delta kamili, na zile zilizopigwa bei mbali zaidi chini zilikuwa na wastani wa 0.015. Ukingo huo wa kulia ni deep in the money put, mkataba ambao mwandishi wake anabeba kitu kinachokaribia nafasi ya long katika hisa. Kwa msamiati wa strikes na expirations, anza na jinsi ya kusoma option chain.

IRS haijawahi kuweka nambari kwenye "deep enough". Kiwango cha kazi ambacho wataalamu hutumia huuliza ikiwa, wakati put inaandikwa, kuna uwezekano wowote mkubwa kwamba itaisha bila kutekelezwa. Put iliyo kwenye ukingo wa mbali wa kulia wa paneli hiyo na ile iliyo katikati si dai lilelile.

Kusogeza (rolling) call ya long inayopata hasara

Swali la kawaida zaidi kuhusu chaguzi lina jibu lisilo na uhakika zaidi. Unamiliki call, imepoteza thamani, unaiuza na kununua call nyingine kwenye hisa ileile kwa strike tofauti au muda wa kuisha wa baadaye. Je, mkataba mpya unafanana kimsingi na ule wa zamani?

Hazina (Treasury) haijatoa kanuni zinazofafanua wakati chaguo moja linafanana kimsingi na lingine. Hiyo ndiyo hali halisi. Kinachopo katika mazoezi ni mkataba wa kuripoti: madalali hulinganisha nafasi za chaguzi kwa alama ya mkataba, kwa hivyo kusogeza kwenye strike tofauti au muda tofauti wa kuisha kwa kawaida hupita kwenye 1099-B bila kuashiriwa. Mkataba si uamuzi wa kisheria. Kiwango cha kisheria huuliza ikiwa uingizwaji unakuacha ukiwa wazi kwa mabadiliko yaleyale ya kupanda na kushuka, na call iliyo strike moja mbali na muda uleule wa kuisha hujibu hilo tofauti na call iliyo miezi sita mbele na mbali sana na out of the money.

Ufafanuzi mbili zipo pamoja. Ule wa tahadhari unachukulia uingizwaji wa strike ya karibu na muda wa kuisha wa karibu kuwa wazi. Ule wa kuruhusu unachukulia mabadiliko yoyote katika masharti ya mkataba kama dhamana mpya. Hakuna hata mmoja uliopimwa kuwa mstari wazi.

Siku 61 zinavyoonekana kwenye mkanda

Siku 61 za kalenda hubaki kuwa dhana hadi unapoiona kama vikao. Paneli iliyo hapa chini ni dirisha moja kamili la wash sale, Desemba 1 hadi Januari 30, dirisha kamili kwa hasara iliyochukuliwa katika kikao cha mwisho cha Desemba.

UlizaMuda kamili wa siku 61 wa wash sale kwenye soko: AAPL, Des 1 2025 hadi Jan 30 2026
SQL halisi nyuma ya kila namba
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

Siku hizo 61 za kalenda zilikuwa na vikao 42 vya AAPL. Hisa iliingia kwenye dirisha kwa kufunga kwa $283.1 na kutoka kwa $259.48, -8.34% kutoka mahali ilipoanzia. Mtu aliyeuza katika kikao cha mwisho cha Desemba na kutaka hasara hiyo ilibidi akae mbali na mfiduo unaofanana kimsingi kupitia kila moja ya vikao hivyo. Kanuni hiyo inabadilisha uamuzi wa kodi kuwa uamuzi wa mfiduo wa soko kwa muda wa dirisha.

1099-B yako inajua nini, na nini haiwezi kujua

Madalali huhesabu wash sales akaunti moja kwa wakati na kitambulisho kimoja cha dhamana kwa wakati, CUSIP kwa hisa na alama ya mkataba kwa chaguo. Hiyo ndiyo kanuni za kuripoti za dalali zinazowauliza, na ni finyu kuliko sheria ambayo marejesho ya kodi lazima yafuate. Sehemu ya 1091 inatumika kwa kila mlipakodi, katika kila akaunti, ambayo inajumuisha akaunti za mwenzi na taasisi unazozidhibiti.

Pengo hilo hutoa mshangao mwingi ambao wasomaji huripoti:

  • Uza kwa hasara kwa dalali A, nunua tena ndani ya dirisha kwa dalali B. Hakuna 1099-B inayoonyesha wash sale. Mlipakodi bado anayo moja.
  • Uza hisa kwa hasara, nunua call juu yake katika akaunti ileile. Ikiwa hizo mbili zitalinganishwa inategemea programu ya dalali, si sheria.
  • Uza kwa hasara katika akaunti yako, nunua tena katika akaunti ya mwenzi wako. Hakuna dalali anayeona pande zote mbili.
  • Sogeza call inayopata hasara kwenye strike mpya. Kitambulisho kimebadilika, kwa hivyo fomu inarudi ikiwa safi. Swali la kufanana kimsingi bado liko wazi.

Chukulia 1099-B kama pembejeo, si uamuzi. Fedha (funds) huleta tatizo lilelile kwa sura tofauti, kwa kuwa fedha mbili zinazofuatilia fahirisi moja ni dhamana tofauti kwenye karatasi: kuuza mutual funds kwa hasara inaelezea kesi hiyo.

Ile ambayo haijawahi kurudi: kununua tena katika IRA

Kila wash sale ya kawaida ni kuahirishwa. Hasara iliyokataliwa huongezwa kwenye basis ya nafasi mbadala, kipindi cha umiliki wa zamani huongezwa kwenye kipindi kipya, na punguzo la kodi hufika baadaye wakati nafasi hiyo inafungwa kabisa.

Kununua mbadala ndani ya IRA huvunja mnyororo huo. Uamuzi wa Mapato (Revenue Ruling) 2008-5 unashikilia kwamba hasara kwenye mauzo ya akaunti inayotozwa kodi inakataliwa wakati hisa au dhamana zinazofanana kimsingi zinanunuliwa katika IRA yako au Roth IRA ndani ya dirisha, na kwamba marekebisho ya basis hayana mahali pa kutua: sehemu ya 1091(d) haitoi njia ya kuongeza basis ya IRA. Hakuna kitu kinachohamia mbele. Punguzo la kodi limepotea kabisa.

Asymmetry hiyo hufanya IRA kuwa kesi moja inayostahili kupangwa kabla ya biashara badala ya wakati wa kodi. Siku zote 61 zinatumika, na Roth inachukuliwa sawa na IRA ya kawaida.

Vipindi vya umiliki na hasara inayohamia

Wakati hasara inapoahirishwa badala ya kufutwa, mambo mawili husafiri nayo. Kiasi kilichokataliwa huongezwa kwenye basis ya hisa mbadala. Kipindi cha umiliki wa nafasi uliyoiuza huongezwa kwenye kipindi cha umiliki wa mbadala, jambo ambalo linaweza kufanya mbadala wa siku chache kuwa wa muda mrefu kwenye karatasi. Hesabu ya kipindi cha umiliki inatawala matibabu ya dividend pia: tazama kipindi cha umiliki wa qualified dividend.

Familia moja ya mikataba iko nje ya mfumo huu. Chaguzi za fahirisi pana (broad based index options) hupimwa kwa soko mwishoni mwa mwaka chini ya utawala wao wenyewe na kugawanywa 60/40 kati ya muda mrefu na muda mfupi, kwa hivyo hasara ya mwisho wa mwaka juu yao inatatuliwa na kipimo hicho badala ya dirisha la ununuzi upya: kwa nini index options hutozwa kodi 60/40.

Maswali Yanayoulizwa Mara Kwa Mara

Je, dirisha la wash sale ni siku 30 au 61?

Siku 61 za kalenda. Kanuni inashughulikia siku 30 kabla ya mauzo, siku ya mauzo yenyewe, na siku 30 baada. Kuhesabu mbele tu kutoka kwa mauzo hukosa nusu yake, na ununuzi uliofanywa kabla ya mauzo ya hasara huhesabika kama mbadala sawa na ule wa baadaye.

Je, kununua call option kunatengeneza wash sale?

Ndiyo, wakati call inaponunuliwa ndani ya dirisha kwenye hisa iliyouzwa kwa hasara. Sehemu ya 1091 inafikia mkataba au chaguo la kupata hisa inayofanana kimsingi, na wash sale inabaki hata kama call haijawahi kutekelezwa.

Je, kanuni ya wash sale inatumika katika akaunti mbili tofauti za udalali?

Ndiyo. Madalali huhesabu wash sales kwa kila akaunti na kwa kila kitambulisho cha dhamana, wakati kanuni inatumika kwa mlipakodi katika akaunti zote, ikiwa ni pamoja na za mwenzi. 1099-B safi kutoka kwa kila dalali haimaanishi kuwa hakukuwa na wash sale.

Je, call kwenye strike tofauti inafanana kimsingi na ile niliyoiuza?

Hakuna kanuni inayojibu hilo. Hazina haijafafanua wakati chaguo moja linafanana kimsingi na lingine, na kuripoti kwa dalali hulinganisha mikataba kwa alama badala ya uchumi, kwa hivyo kusogeza (roll) kwa kawaida huonekana bila kuashiriwa. Kiwango cha mfiduo katika sheria ni pana kuliko mkataba wa kuripoti.

Nini kinatokea nikinunua hisa tena ndani ya IRA yangu?

Hasara inakataliwa na kupotea kabisa. Uamuzi wa Mapato 2008-5 unashikilia kwamba sehemu ya 1091(d) haitoi njia ya kuongeza hasara iliyokataliwa kwenye basis ya IRA, kwa hivyo tofauti na wash sale ya kawaida, hakuna kitu kinachorejeshwa baadaye.

Data notes

Hesabu za vikao zinatoka kwenye rekodi ya kila siku ya SPY, ambayo inawakilisha siku ambazo masoko ya hisa ya Marekani yalikuwa na kikao cha kawaida. Paneli ya kwanza inajikita kwenye kikao cha mwisho cha kila mwezi na kuhesabu kila kikao ndani ya siku 61 za kalenda zinazouzunguka. Paneli ya Desemba imewekwa kwenye Desemba 2025 na paneli ya mkanda kwenye Desemba 1 2025 hadi Januari 30 2026, kwa hivyo hakuna inayoburudishwa. Paneli ya delta inasoma tu mikataba yenye implied volatility iliyounganishwa na ujazo usio sifuri, siku 20 hadi 45 hadi muda wa kuisha, wastani katika Juni 2026, na strikes zilizopangwa dhidi ya kufunga kwa hisa husika kwa siku hiyo. Data ya ukingo wa mbele ina ucheleweshaji wa siku moja au mbili, ambayo inagusa paneli ya kila mwezi inayozunguka pekee. Hakuna kati ya haya ni ushauri wa kodi, na uamuzi wa kufanana kimsingi ni swali la ukweli ambalo mtaalamu wa kodi anahitaji kuona kikamilifu.


Kila paneli hapo juu inasafirishwa na SQL iliyoizalisha, kwa hivyo unaweza kufungua moja na kuhesabu vikao mwenyewe. Ili kupanga dirisha la siku 61 katika tarehe zako mwenyewe, iombe kwa Kiingereza rahisi kwenye terminal ya Strasmore.