Ось результати ринку США за минулий тиждень. Кожне наведене нижче значення отримано шляхом запиту до бази даних реальних ринкових даних. Ця сторінка оновлюється щотижня, тому дані завжди відображають останній повний тиждень торгів.
Табло індексів
Точний SQL-код для кожного числа
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= now() - INTERVAL 12 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, min(d) AS d0, max(d) AS d1
FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)', ticker = 'QQQ', 'Nasdaq 100 (QQQ)', ticker = 'DIA', 'Dow (DIA)', 'Russell 2000 (IWM)') AS index_etf,
round((wc / wo - 1) * 100, 2) AS week_return_pct,
(SELECT formatDateTime(min(d0), '%b %e') FROM wk) AS week_start,
(SELECT formatDateTime(max(d1), '%b %e') FROM wk) AS week_end
FROM wk
ORDER BY multiIf(ticker = 'SPY', 0, ticker = 'QQQ', 1, ticker = 'DIA', 2, 3)За тиждень з Jul 17 по Jul 23 прибутковість S&P 500 (SPY) склала -0.45%, Nasdaq 100 (QQQ) — 0.28%, Dow (DIA) — -0.67%, а Russell 2000 (IWM) — -0.09%. Різниця між цими чотирма показниками коротко описує суть тижня: коли показники Nasdaq та Russell розходяться, ринок обирає між зростанням мега-компаній та іншими активами.
Аналіз глибини ринку: охоплення
Рівень індексу не показує, скільки саме акцій брали участь у русі. Ми підраховуємо їх щосесії: серед назв з обсягом торгів не менше $500 мільйонів, скільки закрилося зростанням порівняно з попередньою сесією, а скільки — падінням.
Точний SQL-код для кожного числа
WITH day AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 14 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
chg AS (SELECT ticker, d, c, dv, lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c FROM day),
per_day AS (
SELECT d,
countIf(c > prev_c AND dv >= 500000000 AND prev_c > 3) AS advancers,
countIf(c < prev_c AND dv >= 500000000 AND prev_c > 3) AS decliners,
countIf(dv >= 500000000 AND prev_c > 3) AS total
FROM chg WHERE d >= (SELECT max(d) FROM day) - 12 AND prev_c > 0
GROUP BY d HAVING total >= 100
),
recent AS (SELECT d, advancers, decliners FROM per_day ORDER BY d DESC LIMIT 5)
SELECT d AS date, advancers, decliners FROM recent ORDER BY d ASCЦі два показники відображають рівень участі. Коли кількість акцій, що зростають, значно перевищує кількість акцій, що падають, протягом тижня, то зростання індексу підтримується усім ринком. Якщо ж вони зближуються або перетинаються, то зростання індексу забезпечується лише кількома великими компаніями, тоді як більшість акцій залишаються поза рухом. В останню сесію 101 назв зросли проти 128, що впали.
Сектори: від найкращих до найгірших
Точний SQL-код для кожного числа
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND window_start >= now() - INTERVAL 12 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
ticker = 'XLV', 'Health Care', 'Consumer Disc.') AS sector,
round((wc / wo - 1) * 100, 2) AS week_return_pct
FROM wk ORDER BY week_return_pct DESCСекторне табло розподіляє тиждень на лідерів та аутсайдерів. Technology продемонстрував лідерство з показником 3.53%, а Consumer Disc. став аутсайдером з результатом -5.75%. Різниця між найкращим і найгіршим секторами вказує на те, чи був тиждень драйвером ротації, чи одностайним рухом ринку.
Найбільші зміна ціни за тиждень
Найбільші тижневі прирости серед високоліквідних акцій (без урахування кредитних та зворотних ETF, обсяг торгів по яких перевищує $1 мільярд):
Точний SQL-код для кожного числа
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dv) AS wd, count() AS n
FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round((wc / wo - 1) * 100, 1) AS week_return_pct, round(wd / 1e9, 1) AS week_dollar_bn
FROM wk WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) DESC LIMIT 7CIFR став лідером серед ліквідних активів, зростання склало 52.4% за тиждень. Найбільше падіння зафіксовано серед:
Точний SQL-код для кожного числа
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dv) AS wd, count() AS n
FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round((wc / wo - 1) * 100, 1) AS week_return_pct, round(wd / 1e9, 1) AS week_dollar_bn
FROM wk WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) ASC LIMIT 7PATH впав найбільше серед високоліквідних акцій, на -15.2%. Повний список лідерів, що постійно оновлюється, доступний на сторінці тижневих лідерів.
Концентрація обсягів торгів
Обсяги торгів у доларах показують, куди саме спрямована увага ринку, що не завжди збігається з найбільшими відсотковими змінами ціни.
Точний SQL-код для кожного числа
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
wk AS (SELECT ticker, sum(dv) AS wd FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round(wd / 1e9, 1) AS week_dollar_bn FROM wk ORDER BY wd DESC LIMIT 8MU мав найбільший обсяг торгів серед усіх акцій за тиждень, що склало $140.2 мільярдів. Великий обсяг при незначній зміні ціни свідчить про високу ліквідність популярної назви. Великий обсяг при значній зміні ціни свідчить про впевненість інвесторів. Назви на початку цього списку зазвичай є мега-компаніями або новинами тижня; порівняння цього списку з переліком лідерів змін дозволяє відрізнити акції, що сильно змінили ціну, від акцій, які просто мали великі обсяги торгів.
Як аналізувати тиждень на ринку
Чотири показники, розглянуті разом, описують тиждень краще, ніж будь-який окремий рівень індексу. Табло індексів показує результат середнього долара з акцентом на найбільші компанії. Охоплення показує кількість акцій, що фактично брали участь у русі: сильний індекс при низькому охопленні означає вузький рух, зосереджений у топових компаніях, що, за історією, зазвичай не триває довго; широке охоплення свідчить про стійкий зсув усього ринку. Секторне табло вказує на характер тижня: велика різниця між найкращим і найгіршим секторами вказує на ротацію та вибір окремих акцій, а мала різниця — на загальний ринковий тренд. Потім лідери змін та обсягів називають конкретні акції, що спричинили рух, відокремлюючи гучні відсоткові зміни від тихих, але високоліквідних гігантів. Цей звіт щотижня представляє всі чотири показники поруч, щоб тиждень виглядав як цілісна картина, а не просто заголовок. Оскільки всі дані обчислюються за допомогою запитів до бази даних, вони точно відповідають фактичним ринковим даним.
FAQ
Що сталося на ринку цього тижня?
За тиждень з Jul 17 по Jul 23 прибутковість S&P 500 склала -0.45%, а Nasdaq 100 — 0.28%. Technology був найсильнішим сектором, а Consumer Disc. — найслабшим; в останню сесію 101 високоліквідні акції зросли проти 128, що впали. Детальна інформація наведена в панелях вище.
Як часто оновлюється цей звіт?
Щотижня. Сторінка обчислюється на основі запитів у реальному часі за останні п'ять торгових сесій, тому вона завжди відображає останній повний тиждень. Підписники отримують звіт раз на тиждень у форматі електронного листа.
Звідки беруться ці цифри?
Кожне значення отримується шляхом запиту до ринкових даних (хвилинні графіки акцій). Ви можете перевірити SQL-запит під будь-якою панеллю або запустити той самий запит самостійно в терміналі Strasmore.
Бажаєте отримувати це на свою пошту? Це щотижневий звіт для підписників: один електронний лист на тиждень, ринок у цифрах, кожен показник піддається перевірці. Для щоденного моніторингу використовуйте сторінки short-interest та movers, які оновлюються безперервно.