Правило wash sale и опционы: 61-дневное окно
Правило фиктивной продажи действует шестьдесят один день. Узнайте, как опционы влияют на налоговый убыток, почему возникают разрывы в форме 1099-B и как IRA аннулирует списание.
Правило «wash sale» (фиктивная продажа) аннулирует налоговый убыток, если вы продаете ценную бумагу с убытком и приобретаете «существенно идентичную» в течение 61-дневного окна: 30 дней до продажи, день продажи и 30 дней после. Опционы подпадают под это правило дважды: как инструмент, который делает продажу акций фиктивной, и как позиция, по которой сам опцион может быть продан с убытком. Налогооблагаемый убыток на брокерском счете не исчезает бесследно. Он переносится в стоимость (cost basis) новой позиции и учитывается при ее последующей реализации.
Данный материал описывает механику процесса. Это не налоговая консультация.
Почему окно wash sale составляет 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 дней до продажи учитываются точно так же. Если вы купили 100 акций 10-го числа, усредняя позицию, а 20-го продали старый лот с убытком, то покупка, совершенная ранее, уже находится внутри окна. Убыток по проданному лоту будет аннулирован, даже если после этого вы ничего не покупали. Здесь критически важно, какой именно лот списывается со счета, что определяется в момент сделки: см. как методы учета стоимости (cost basis) выбирают лот.
Декабрьская проблема
Фиксация убытков для налоговой оптимизации (loss harvesting) достигает пика в последние недели года, когда арифметика окна наиболее чувствительна. Продажа в последнюю сессию года создает окно для обратной покупки, которое тянется глубоко в январь, а январская покупка может аннулировать убыток, уже отраженный в налоговой декларации за прошлый год.
Точный 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 торговых сессий. В декабрьской выписке по счету это никак не выделено. Аннулированный убыток «привязывается» к январским акциям и становится доступным для вычета только после закрытия этой новой позиции, что может произойти в следующем году или через несколько лет.
Как опционы попадают под правило wash sale
Раздел 1091 охватывает акции или ценные бумаги, а также контракты или опционы на приобретение «существенно идентичных» акций. В 1988 году Конгресс расширил это определение, включив контракты и опционы на покупку или продажу. На практике это означает следующее:
- Покупка call-опциона на акцию, которую вы только что продали с убытком, сама по себе является wash sale. Call-опцион — это контракт на приобретение акций. Не имеет значения, исполните вы его или нет, и цена исполнения (strike) не может быть настолько далекой, чтобы правило перестало действовать.
- Продажа call-опциона с убытком и покупка базовой акции внутри окна ставит тот же вопрос в обратном порядке. Ответ зависит от критерия «существенной идентичности», а не от каких-либо опубликованных исключений.
- Продажа put-опциона настолько глубоко «в деньгах» (deep in the money), что его исполнение практически неизбежно, может рассматриваться почти так же, как покупка акций.
- Убыток по опциону — это убыток по ценной бумаге, и правило распространяется также на замену одного опциона другим.
Объем акций, который подразумевает контракт, измерим. Дельта (delta) — это изменение цены опциона при изменении цены базового актива на один доллар; умноженная на 100, она примерно соответствует количеству акций, которые замещает один контракт. На панели ниже контракты AAPL со сроком экспирации от 20 до 45 дней (на июнь 2026 года) распределены по 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)Читайте слева направо. Call-опционы со страйком значительно ниже цены акции имели среднюю дельту 0.937 — достаточно близко к единице, чтобы контракт отслеживал акции почти один к одному. Call-опционы со страйком значительно выше имели среднюю дельту 0.017. С put-опционами ситуация обратная: put-опционы со страйком значительно выше цены акции имели среднюю абсолютную дельту 0.888, а те, что значительно ниже — 0.015. Правый край — это глубоко «в деньгах» put-опцион, продавец которого фактически держит позицию, близкую к длинной по акциям. Для понимания терминологии страйков и экспираций начните с как читать опционную доску.
IRS никогда не давала количественного определения понятию «достаточно глубоко». Практикующие специалисты исходят из того, есть ли в момент продажи put-опциона существенная вероятность того, что он истечет неисполненным. Put-опцион на дальнем правом краю панели и опцион в центре — это разные требования.
Роллирование убыточного длинного call-опциона
Самый частый вопрос по опционам имеет наименее однозначный ответ. У вас есть call-опцион, он обесценился, вы продаете его и покупаете другой call-опцион на тот же актив с другим страйком или более поздней экспирацией. Является ли новый контракт «существенно идентичным» старому?
Министерство финансов не выпустило нормативных актов, определяющих, когда один опцион считается существенно идентичным другому. Такова реальность. На практике существует конвенция отчетности: брокеры сопоставляют опционные позиции по символу контракта, поэтому роллирование на другой страйк или другую экспирацию обычно проходит в форме 1099-B без пометок. Однако конвенция — это не закон. Законодательный стандарт требует оценить, оставляет ли замена вас подверженным тем же ценовым колебаниям. Call-опцион с соседним страйком и той же экспирацией — это одно, а опцион с экспирацией через полгода и далеко «вне денег» — совсем другое.
Существуют две трактовки. Осторожная считает замену с близким страйком и экспирацией «существенно идентичной». Либеральная считает любое изменение условий контракта новой ценной бумагой. Ни одна из них не была закреплена в качестве четкого правила.
Как выглядят 61 день на графике
Шестьдесят один календарный день остается абстракцией, пока вы не увидите это в торговых сессиях. Панель ниже — это ровно одно окно wash sale, с 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, а чего не знает
Брокеры рассчитывают wash sale по каждому счету отдельно и по каждому идентификатору ценной бумаги (CUSIP для акций, символ контракта для опционов). Это то, чего требуют правила отчетности, и это уже, чем закон, которому должна следовать налоговая декларация. Раздел 1091 применяется к налогоплательщику в целом, по всем счетам, включая счета супруга и подконтрольные организации.
Этот разрыв порождает большинство сюрпризов:
- Продажа с убытком у брокера A, обратная покупка внутри окна у брокера B. Ни один 1099-B не показывает wash sale. Но у налогоплательщика он есть.
- Продажа акций с убытком, покупка call-опциона на них же на том же счете. Будут ли они сопоставлены, зависит от программного обеспечения брокера, а не от закона.
- Продажа с убытком на вашем счете, обратная покупка на счете супруга. Ни один брокер не видит обе стороны сделки.
- Роллирование убыточного call-опциона на новый страйк. Идентификатор изменился, форма чиста. Вопрос о «существенной идентичности» остается открытым.
Относитесь к 1099-B как к исходным данным, а не как к окончательному вердикту. Фонды создают ту же проблему, но с другой стороны, поскольку два фонда, отслеживающих один индекс, на бумаге являются разными ценными бумагами: продажа паевых инвестиционных фондов с убытком разбирает этот случай.
Убыток, который не вернется: обратная покупка в IRA
Любой обычный wash sale — это отсрочка. Аннулированный убыток добавляется к стоимости новой позиции, старый срок владения переносится на новую, и вычет происходит позже, когда позиция окончательно закрывается.
Покупка замены внутри IRA разрывает эту цепочку. Согласно Revenue Ruling 2008-5, убыток от продажи на налогооблагаемом счете аннулируется, если «существенно идентичные» бумаги куплены в вашем IRA или Roth IRA внутри окна, и корректировка стоимости невозможна: раздел 1091(d) не дает способа увеличить стоимость активов в IRA. Ничего не переносится на будущее. Вычет теряется навсегда.
Эта асимметрия делает IRA тем случаем, который стоит проверить до сделки, а не во время подачи налоговой декларации. Все 61 день действуют в полной мере, а Roth IRA приравнивается к обычному IRA.
Сроки владения и перенос убытка
Когда убыток откладывается, а не аннулируется, с ним перемещаются две вещи. Сумма аннулированного убытка добавляется к стоимости (basis) новых акций. Срок владения проданной позиции добавляется к сроку владения новой, что может сделать замену, купленную несколько дней назад, «долгосрочной» на бумаге. Арифметика сроков владения также определяет налогообложение дивидендов: см. срок владения для квалифицированных дивидендов.
Одно семейство контрактов стоит вне этой структуры. Опционы на широкие индексы переоцениваются по рыночной стоимости в конце года по своему собственному режиму и делятся в пропорции 60/40 между долгосрочными и краткосрочными, поэтому убыток по ним в конце года учитывается через эту переоценку, а не через окно обратной покупки: почему опционы на индексы облагаются по ставке 60/40.
Часто задаваемые вопросы
Окно wash sale составляет 30 или 61 день?
Шестьдесят один календарный день. Правило охватывает 30 дней до продажи, день самой продажи и 30 дней после. Если считать только вперед от продажи, вы упустите половину, а покупка, сделанная до продажи с убытком, считается заменой точно так же, как и последующая.
Создает ли покупка call-опциона wash sale?
Да, если call-опцион куплен внутри окна на акцию, проданную с убытком. Раздел 1091 охватывает контракты или опционы на приобретение «существенно идентичных» акций, и wash sale сохраняется, даже если опцион никогда не будет исполнен.
Применяется ли правило wash sale к разным брокерским счетам?
Да. Брокеры рассчитывают wash sale по каждому счету и идентификатору бумаги, в то время как правило применяется к налогоплательщику по всем его счетам, включая счета супруга. Чистый 1099-B от каждого брокера не означает, что wash sale не было.
Является ли call-опцион с другим страйком «существенно идентичным» проданному?
Никакие нормативные акты не дают ответа. Минфин не определил, когда один опцион является существенно идентичным другому, а брокерская отчетность сопоставляет контракты по символу, а не по экономике, поэтому роллирование обычно не помечается. Стандарт «экспозиции» в законе шире, чем конвенция отчетности.
Что будет, если я куплю акции обратно внутри своего IRA?
Убыток аннулируется и теряется навсегда. Revenue Ruling 2008-5 гласит, что раздел 1091(d) не предлагает способа добавить аннулированный убыток к стоимости активов в IRA, поэтому, в отличие от обычного wash sale, ничего не восстанавливается.
Примечания к данным
Подсчет сессий основан на ежедневных данных SPY, который выступает в качестве индикатора дней, когда фондовые рынки США проводили регулярные сессии. Первая панель привязана к последней сессии каждого месяца и учитывает все сессии в пределах 61 календарного дня вокруг нее. Декабрьская панель привязана к декабрю 2025 года, а панель ленты — к периоду с 1 декабря 2025 года по 30 января 2026 года, поэтому они не обновляются. Панель дельты учитывает только контракты с конвергированной подразумеваемой волатильностью и ненулевым объемом, со сроком экспирации от 20 до 45 дней, усредненные по июню 2026 года, со страйками, распределенными по закрытию базового актива в тот день. Данные по текущему периоду имеют задержку в день или два, что влияет только на панель ежемесячного роллирования. Ничто из этого не является налоговой консультацией, а определение «существенной идентичности» — это вопрос фактов, который должен быть полностью изучен налоговым специалистом.
Каждая панель выше поставляется с SQL-запросом, который ее создал, поэтому вы можете открыть его и пересчитать сессии самостоятельно. Чтобы составить 61-дневное окно для ваших дат, запросите его на обычном английском языке в терминале Strasmore.