זהו השבוע החולף בשוק האמריקאי, במספרים מדודים. כל נתון להלן נקרא משאילתה שמורה מול נתוני המסחר האמיתיים, והדף מתעדכן מדי שבוע, כך שהמספרים הם תמיד של שבוע המסחר המלא האחרון.
לוח התוצאות של המדדים
ה-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%. הפער בין הסקטור העליון לתחתון מלמד עד כמה הרוטציה הניעה את השבוע לעומת תנועה אחידה.
המניות שבלטו השבוע
העליות השבועיות הגדולות ביותר בקרב מניות סחירות בכבדות (מעל מיליארד דולר נפח מסחר, ללא קרנות ממונפות והפוכות):
ה-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 מיליארד. נפח גבוה על תנועת מחיר קטנה מעיד על שם צפוף ונזיל שמחליף ידיים; נפח גבוה על תנועה גדולה מעיד על שכנוע. השמות בראש הרשימה הזו הם בדרך כלל מניות הענק ומניות החדשות של השבוע, והשוואה מול רשימת הבולטות מעלה מפרידה בין המניות שזזו הרבה לבין המניות שפשוט נסחרו הרבה.
איך לקרוא שבוע בשוק
ארבעה מספרים, הנקראים יחד, מתארים שבוע טוב יותר מכל רמת מדד בודדת. לוח התוצאות של המדדים אומר כיצד התנהג הדולר הממוצע, משוקלל לטובת החברות הגדולות ביותר. רוחב השוק אומר כמה מניות באמת לקחו חלק: מדד חזק על רוחב דק הוא מהלך צר וכבד-ראש, שההיסטוריה מלמדת שנוטה לא להחזיק מעמד, בעוד רוחב רחב הוא תזוזה עמידה של כלל השוק. לוח הסקטורים אומר איזה סוג של שבוע היה: פער רחב בין הסקטור הטוב לגרוע מצביע על רוטציה וברירת מניות, פער צר מצביע על גאות שהניעה הכול בבת אחת. הבולטות ומובילות הנפח נוקבות בשמות המניות הספציפיות שהניעו את המהלך, ומפרידות בין המהלכים האחוזיים הרועשים לבין הענקיות השקטות והסחירות בכבדות. סיכום זה מניח את כל הארבעה זה לצד זה מדי שבוע, כך שהשבוע נקרא כתמונה, לא ככותרת. כשכל נתון מחושב מתוך שאילתה שמורה, שום דבר אינו יכול לסטות ממה שהטייפ באמת הדפיס.
שאלות נפוצות
מה קרה בשוק השבוע?
לשבוע שבין Jul 17 ל-Jul 23, מדד S&P 500 הניב -0.45% ומדד Nasdaq 100 0.28%. Technology היה הסקטור החזק ביותר ו-Consumer Disc. החלש ביותר, ובמושב האחרון 101 מניות סחירות בכבדות עלו לעומת 128 שירדו. הפאנלים לעיל מכילים את הפרטים המלאים.
באיזו תדירות מתעדכן הסיכום הזה?
מדי שבוע. הדף מחושב מתוך שאילתות חיות על פני חמשת מושבי המסחר האחרונים, כך שהוא תמיד משקף את השבוע המלא האחרון. מנויים מקבלים אותו באימייל אחד לשבוע.
מאיפה המספרים מגיעים?
כל נתון נקרא משאילתה שמורה מול נתוני המסחר (נתוני מניות ברזולוציית דקה). פתחו את ה-SQL מתחת לכל פאנל כדי לבקר אותו, או הריצו את אותה השאילתה בעצמכם במסוף Strasmore.
רוצים את זה בתיבת הדואר? זהו הסיכום השבועי שמקבלים המנויים: אימייל אחד לשבוע, השבוע של השוק במספרים, כל נתון בר-ביקורת. למעקב יומיומי, דפי הבולטות והשורט-אינטרסט זמינים.