Второй квартал 2026 года: период восстановления
Второй квартал 2026 года стал периодом восстановления: после отрицательных показателей первого квартала все основные индексные ETF показали двузначный рост, лидером среди которых стал QQQ с результатом 26.5%. Ниже представлены панели, отражающие динамику квартала, помесячный график, фон процентных ставок, календарь и два примечания к данным, раскрытые по ходу изложения. Каждая цифра является результатом сохраненного запроса; разверните любую панель для получения точного SQL.
Квартальные результаты
Насколько значительным был разворот по сравнению с первым кварталом? Данная панель рассчитывает доходность за оба квартала в рамках одного запроса; показатели первого квартала пересчитываются в режиме реального времени на основе тех же определений, а не берутся из архивных данных.
| ticker | Доходность Q2 (%) | Доходность Q1 (%) | Закрытие Q2 |
|---|---|---|---|
| DIA | 12.1 | -3.9 | 522.28 |
| IWM | 20.2 | 0.1 | 300.42 |
| QQQ | 26.5 | -6.9 | 735.76 |
| SPY | 14.1 | -5.2 | 746.32 |
Точный SQL-код для каждого числа
SELECT ticker,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS q2_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY tickerETF QQQ вырос на 26.5% за квартал после снижения на -6.9% в первом квартале; SPY прибавил 14.1% после -5.2%; IWM показал 20.2%. Каждый индекс, который снизился в первом квартале, с избытком отыграл падение во втором. Эти четыре показателя иллюстрируют три различных сценария: индекс роста пережил наиболее глубокую просадку в первом квартале и продемонстрировал самый значительный отскок; DIA, индекс промышленных компаний с ценовым взвешиванием, изменил динамику с -3.9% на 12.1%; а IWM фактически не снижался (0.1% в первом квартале), поэтому его результат в 20.2% за квартал стал следствием накопленного эффекта при отсутствии значительной просадки. Восстановление и импульс выглядят идентично в столбце квартальной доходности; именно данные первого квартала позволяют их различать.
Квартал в сравнении с каждым вторым кварталом на ленте
Кварталы восстановления кажутся историческими, пока вы находитесь внутри них; лента позволяет определить, можно ли считать текущий квартал таковым. Панели пересчитывают ОДИНАКОВУЮ доходность за период с апреля по июнь для каждого года минутной истории в рамках одного запроса, используя идентичную арифметику для каждого года, а затем ранжируют текущий квартал относительно остальных.
| Г | ticker | Сессии | Доходность Q2 (%) |
|---|---|---|---|
| 2004 | QQQ | 62 | 5.3 |
| 2004 | SPY | 62 | 1.2 |
| 2005 | SPY | 64 | 0.4 |
| 2006 | SPY | 63 | -2.4 |
| 2007 | SPY | 63 | 5.5 |
| 2008 | SPY | 64 | -4.3 |
| 2009 | SPY | 63 | 17.2 |
| 2010 | SPY | 63 | -12.5 |
| 2011 | QQQ | 63 | -1.2 |
| 2011 | SPY | 63 | -1.1 |
| 2012 | QQQ | 63 | -4.9 |
| 2012 | SPY | 63 | -3.1 |
| 2013 | QQQ | 64 | 3.2 |
| 2013 | SPY | 64 | 2.3 |
| 2014 | QQQ | 63 | 6.6 |
| 2014 | SPY | 63 | 4.3 |
| 2015 | QQQ | 63 | 1.4 |
| 2015 | SPY | 63 | -0.2 |
| 2016 | QQQ | 64 | -0.9 |
| 2016 | SPY | 64 | 2.5 |
Точный SQL-код для каждого числа
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
ticker,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS q2_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2003-01-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND toMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 4 AND 6
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 50
ORDER BY y ASC, ticker ASC| ticker | Q2 2026 (%) | Рейтинг | Сравнение Q2 | Первый год | Сессии 2026 |
|---|---|---|---|---|---|
| QQQ | 26.5 | 2 | 17 | 2004 | 62 |
| SPY | 14.1 | 3 | 23 | 2004 | 62 |
Точный SQL-код для каждого числа
SELECT ticker,
round(anyIf(ret, y = 2026), 1) AS q2_2026_pct,
arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
count() AS q2s_compared,
min(y) AS first_year,
anyIf(sessions, y = 2026) AS sessions_2026
FROM (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
ticker,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2003-01-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND toMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 4 AND 6
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 50
)
GROUP BY ticker
ORDER BY ticker ASCРезультат близок к историческому: доходность QQQ 26.5% занимает 2 место из 17 сопоставимых вторых кварталов (ранг 1 = лучший); ровно один предыдущий второй квартал завершился с более высоким показателем, и таблица по годам выше показывает, какой именно. Показатель SPY 14.1% занимает 3 место из 23 с 2004 года. Следует учитывать два момента: временной ряд QQQ короче (фонд в течение ряда лет торговался под другим тикером, и фильтр по количеству сессий исключает эти годы из визуального отображения, при этом количество лет указано в таблице), а каждый запрос к истории фиксирует верхнюю границу на конец текущего квартала, поэтому набор для сравнения не может автоматически расширяться по мере появления данных за последующие годы. Основа для каждого ранга на этой странице: доходность от цены открытия до цены закрытия в рамках календарного квартала в основную торговую сессию.
Ежемесячная динамика
| Начало периода | ticker | Доходность за мес. (%) | Закрытие месяца |
|---|---|---|---|
| 2026-04-01 | QQQ | 14.8 | 667.6 |
| 2026-04-01 | SPY | 9.9 | 718.43 |
| 2026-05-01 | QQQ | 10.3 | 738.25 |
| 2026-05-01 | SPY | 4.9 | 756.4 |
| 2026-06-01 | QQQ | -0.2 | 735.76 |
| 2026-06-01 | SPY | -1.2 | 746.32 |
Точный SQL-код для каждого числа
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,
round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, tickerОсновной рост пришелся на начало квартала: апрель обеспечил значительную часть результата (SPY 9.9%, QQQ 14.8%), май добавил еще (4.9% и 10.3%), а в июне наблюдался небольшой откат, SPY -1.2%. В июньском обзоре подробно описаны результаты месяца, включая показатели рыночного охвата.
Лидеры по объему торгов, квартальный масштаб
| ticker | млрд $ | % от лидера |
|---|---|---|
| MU | 2047.5 | 100 |
| SPY | 2032 | 99.2 |
| QQQ | 1658.5 | 81 |
| NVDA | 1591.8 | 77.7 |
| TSLA | 1198.8 | 58.5 |
| SNDK | 980 | 47.9 |
| AMD | 755.2 | 36.9 |
| INTC | 712.3 | 34.8 |
Точный SQL-код для каждого числа
SELECT ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS dollar_bn,
round(100 * sum(toFloat64(close) * toFloat64(volume)) / max(sum(toFloat64(close) * toFloat64(volume))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_bn DESC
LIMIT 8По итогам квартала MU ($2047.5 млрд) опередил SPY ($2032 млрд) в верхней части ленты сделок. Отдельная акция показала объем торгов выше, чем флагманский индексный фонд за три месяца, с отрывом в 99.2% от общего показателя лидера. Следом идут: QQQ ($1658.5 млрд), затем NVDA с $1591.8 млрд, чей июнь подробно разобран потиково здесь, и TSLA с $1198.8 млрд. Обратите внимание на критерий: это оборот в основную торговую сессию, а не доходность; бумага может доминировать в ленте даже в месяц падения котировок. Июнь самого лидера разобран потиково в его углубленном анализе. База: основная торговая сессия с первого апреля по тридцатое июня; одна июньская позиция с повторно использованным тикером исключена до завершения проверки эмитента (его поступления).
Рыночная ширина: зерно дня
| Рост. сессии | Пад. сессии | Нейтр. сессии | Всего сессий |
|---|---|---|---|
| 36 | 26 | 0 | 62 |
Точный SQL-код для каждого числа
SELECT countIf(day_ret > 0) AS up_sessions,
countIf(day_ret < 0) AS down_sessions,
countIf(day_ret = 0) AS flat_sessions,
count() AS sessions_total
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS day_ret
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-04-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)36 из 62 торговых сессий квартала закрылись ростом SPY против 26 сессий снижения; такое доминирование дней роста соответствует кварталу с двузначной доходностью. Подсчет тикеров (каждый растущий и падающий актив) ограничен масштабом квартала: единое сканирование всего рынка превышает лимит запросов, установленный для данной страницы (на момент написания), поэтому данные о ширине рынка с равным весом представлены в масштабе месяца. Распределение растущих и падающих активов в июне, когда количество снизившихся бумаг превысило число выросших, приведено в июньском обзоре, и данное ограничение раскрывается здесь, а не сужается без уведомления.
Рынок опционов: помесячная динамика
Микроструктура рынка в прошедшем квартале, представленная в единственно верном масштабе — помесячно по всему спектру листинговых опционов. Объем торгов рос к концу квартала: с 1386.9 млн контрактов в апреле до 1477.9 млн в июне, ставшем самым активным месяцем квартала. Доля опционов с исполнением в день покупки (0DTE) также увеличилась — с 30.3% до 34.3%; июньский показатель стал максимальным за полугодие, а динамика с января представлена в обзоре первого полугодия.
| Контракты (млн) | 0DTE (%) | Сессии |
|---|---|---|
| 1386.9 | 30.3 | 21 |
Точный SQL-код для каждого числа
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-04-01 00:00:00')
AND window_start < toDateTime('2026-05-01 00:00:00')| Контракты (млн) | 0DTE (%) | Сессии |
|---|---|---|
| 1394.6 | 30.3 | 20 |
Точный SQL-код для каждого числа
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-05-01 00:00:00')
AND window_start < toDateTime('2026-06-01 00:00:00')| Контракты (млн) | 0DTE (%) | Сессии |
|---|---|---|
| 1477.9 | 34.3 | 21 |
Точный SQL-код для каждого числа
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')Стоимость совершения сделок, ежемесячная выборка
| Сессия | Мед. спред (б.п.) | Обновл. котировок (млн) | Отклонено |
|---|---|---|---|
| 2026-04-15 | 0.286 | 2.12 | 1047 |
| 2026-05-13 | 0.27 | 2.64 | 661 |
| 2026-06-10 | 0.409 | 7.48 | 12382 |
Точный SQL-код для каждого числа
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 3) AS med_spread_bps,
round(count() / 1e6, 2) AS quote_updates_m,
countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND ((sip_timestamp >= toDateTime64('2026-04-15 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-04-15 20:00:00', 9))
OR (sip_timestamp >= toDateTime64('2026-05-13 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-05-13 20:00:00', 9))
OR (sip_timestamp >= toDateTime64('2026-06-10 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-10 20:00:00', 9)))
GROUP BY session
ORDER BY session ASCМедианный котируемый спред SPY по результатам ежемесячных сессий в течение квартала составил: 0.286 б.п. в апрельской выборке, 0.27 в майской и 0.409 в июньской; июньский показатель является максимальным. Основа данных: отдельные контрольные торговые сессии (вторая среда каждого месяца), а не медианные значения за весь месяц; невалидные котировки учитываются в выборке и не исключаются из неё.
Ставки: квартал сглаживания кривой
| Д | 10Л | Спред 2/10 (б.п.) |
|---|---|---|
| 2026-04-01 | 4.33 | 52 |
| 2026-04-02 | 4.31 | 52 |
| 2026-04-03 | 4.35 | 51 |
| 2026-04-06 | 4.34 | 50 |
| 2026-04-07 | 4.33 | 52 |
| 2026-04-08 | 4.29 | 50 |
| 2026-04-09 | 4.29 | 51 |
| 2026-04-10 | 4.31 | 50 |
| 2026-04-13 | 4.3 | 52 |
| 2026-04-14 | 4.26 | 50 |
| 2026-04-15 | 4.29 | 53 |
| 2026-04-16 | 4.32 | 54 |
| 2026-04-17 | 4.26 | 55 |
| 2026-04-20 | 4.26 | 54 |
| 2026-04-21 | 4.3 | 52 |
| 2026-04-22 | 4.3 | 51 |
| 2026-04-23 | 4.34 | 51 |
| 2026-04-24 | 4.31 | 53 |
| 2026-04-27 | 4.35 | 57 |
| 2026-04-28 | 4.36 | 52 |
Точный SQL-код для каждого числа
SELECT toString(date) AS d,
round(yield_10_year, 2) AS y10,
round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-04-01') AND date <= toDate('2026-06-30')
AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY dateСпред 2s10s начал квартал на уровне 52 базисных пунктов, а завершил его на отметке 30, что свидетельствует о сглаживании кривой; доходность десятилетних облигаций составила 4.44%. Шестимесячный обзор этой динамики представлен в обзоре первого полугодия. С технической точки зрения сглаживание означает, что краткосрочные ставки сократили разрыв с долгосрочными. Сохранится ли эта тенденция — невозможно определить на основе данной таблицы, и этот раздел не ставит перед собой такой задачи.
Календарь и квартальная шкала
| Див. отсечки | Сплиты | IPO | Отчетность Q2 | Отчетность (30 апр) | Отчетность (30 июн) |
|---|---|---|---|---|---|
| 15402 | 435 | 105 | 235075 | 34 | 31 |
Точный SQL-код для каждого числа
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-04-01') AND ex_dividend_date <= toDate('2026-06-30')) AS ex_div_events,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-04-01') AND execution_date <= toDate('2026-06-30')) AS splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-04-01') AND listing_date <= toDate('2026-06-30')) AS ipos,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= toDate('2026-04-01') AND filing_date <= toDate('2026-06-30')) AS q2_filings,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')) AS filings_apr30,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30105 компаний прошли листинг в этом квартале, 435 сплитов было исполнено, и 15402 событий ex-dividend завершились выплатами. Количество поданных отчетов (235075) содержит выявленный разрыв: индекс содержит только 31 отчетов на тридцатое июня, последний день квартала, и 34 на тридцатое апреля, в то время как в соседние дни их число исчисляется тысячами. Таким образом, квартальный итог охватывает два дня закрытия месяца и остается заниженным до тех пор, пока поток данных не будет дополнен. Разрыв в конце месяца имеет собственное диагностическое примечание.
Календарь событий в конце квартала
| М | IPO | Сплиты | Див. отсечки |
|---|---|---|---|
| 2026-04 | 30 | 129 | 3947 |
| 2026-05 | 40 | 142 | 4804 |
| 2026-06 | 35 | 164 | 6651 |
Точный SQL-код для каждого числа
SELECT m, ipos, splits, ex_divs FROM (
SELECT '2026-04' AS m,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-04-01') AND listing_date <= toDate('2026-04-30')) AS ipos,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-04-01') AND execution_date <= toDate('2026-04-30')) AS splits,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-04-01') AND ex_dividend_date <= toDate('2026-04-30')) AS ex_divs, 1 AS o
UNION ALL SELECT '2026-05',
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-05-01') AND listing_date <= toDate('2026-05-31')),
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-05-01') AND execution_date <= toDate('2026-05-31')),
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-05-01') AND ex_dividend_date <= toDate('2026-05-31')), 2
UNION ALL SELECT '2026-06',
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-01') AND listing_date <= toDate('2026-06-30')),
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-06-01') AND execution_date <= toDate('2026-06-30')),
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')), 3
) ORDER BY oКорпоративный календарь стал более насыщенным по мере приближения конца квартала: количество дат ex-dividend увеличивалось каждый месяц, с 3947 в апреле до 6651 в июне, а число дробления акций также выросло (с 129 до 164). Количество листингов оставалось стабильным на протяжении всех трех месяцев; метафора «волны» в этом квартале применима к дивидендам, а не к IPO.
Результаты торговых сессий
| Сессии Q2 | Сессии (апрель) | Сессии (май) | Сессии (июнь) |
|---|---|---|---|
| 62 | 21 | 20 | 21 |
Точный SQL-код для каждого числа
SELECT
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS q2_sessions,
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-05-01 00:00:00')) AS april_sessions,
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-05-01 00:00:00') AND window_start < toDateTime('2026-06-01 00:00:00')) AS may_sessions,
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS june_sessions62 сессий, подтвержденных по фактическим торговым интервалам, а не по календарным дням: 21 в апреле, 20 в мае (День поминовения), 21 в июне (День освобождения от рабства). Месячные показатели и данные о закрытии торгов представлены в обзоре июньский отчет и в разъяснении по праздничным дням.
Примечания к данным
Полные примечания к данным
- Данные по коротким позициям (short interest) актуальны на дату расчетов 15 июня на момент формирования отчета; данные по сделкам на конец июня ожидаются. В июньском обзоре приведено полное раскрытие информации. Данная публикация будет обновлена после поступления этих данных.
- Разрыв в индексах отчетности на конец месяца раскрыт в тексте: 30 июня и 30 апреля приходятся на этот квартал, аналогичная ситуация наблюдается по 31 марта; все отчетные периоды 2026 года, заканчивающиеся в рабочий день, характеризуются почти полным отсутствием данных. В диагностической заметке представлены подтверждающие документы и ограниченный анализ.
- Микроструктура (анализ на уровне тиков) здесь намеренно отсутствует; в глубоком анализе от 29 июня приведена полная анатомия торговой сессии.
- Исключение лидеров по объему: один тикер, использованный повторно в июньском листинге, исключен до завершения проверки юридического лица.
Методология
- Период охватывает интервал с первого апреля по тридцатое июня две тысячи двадцать шестого года, 62 торговых сессий, подтвержденных по наблюдаемым барам. Квартальная доходность рассчитывается от цены открытия основной торговой сессии до цены закрытия основной сессии в рамках периода; показатели первого квартала пересчитаны в режиме реального времени на основе идентичных определений.
- Временные метки хранятся в формате UTC и фильтруются по исходным границам UTC; основная торговая сессия длится с тринадцати тридцати до двадцати ноль-ноль по UTC на протяжении всего квартала (EDT). Денежный объем рассчитывается как произведение цены закрытия минутной свечи на объем торгов за эту минуту в основное время. Блоки многолетних исторических данных фильтруются по основной торговой сессии согласно восточному поясному времени (с конвертацией по каждой строке, что обеспечивает корректность с учетом перехода на летнее время на протяжении десятилетий) с фиксацией верхней границы на конец текущего квартала; проверка глубины данных (минутная история с сентября две тысячи третьего года) описана в методологии обзора H1.
- Генерация данных выполняется через защищенный путь доступа только для чтения; публичная страница не делает запросов к «живым» данным. Состояние хранилища данных зафиксировано на пятое июля две тысячи двадцать шестого года.
Это первый выпуск регулярного квартального обзора; выпуск за третий квартал будет содержать ссылку на данный материал. Детализация по месяцам: июнь. Итоги первой половины текущего квартала: H1 2026.