以下是美國市場過去一週的量化回顧。以下每個數字皆來自儲存查詢,對應真實交易紀錄,且本頁面每週更新,因此數據始終反映最近一個完整交易週。
指數計分板
每個數據背後的精確 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 當週,標普500指數(SPY)回報率為 -0.45%,那斯達克100指數(QQQ)為 0.28%,道瓊指數(DIA)為 -0.67%,小型股羅素2000指數(IWM)為 -0.09%。這四者之間的差距,用一句話概括了本週的故事:當那斯達克與羅素指數走勢分歧,代表市場正在大型成長股與其他所有股票之間做選擇。
表面之下:市場寬度
指數水位隱藏了實際有多少股票參與其中。以下統計了每個交易日的參與情況:在成交額至少達5億美元的股票中,有多少檔收盤價高於前一個交易日,又有多少檔收低。
每個數據背後的精確 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%。表現最佳與最差類股之間的差距,可用來判斷本週是由板塊輪動驅動,還是整體一致性的走勢。
本週波動最大的股票
成交活躍股票中(成交額超過10億美元,排除槓桿與反向ETF),本週漲幅最大的股票如下:
每個數據背後的精確 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 當週,標普500指數回報率為 -0.45%,那斯達克100指數為 0.28%。Technology 是表現最強的類股,Consumer Disc. 則是最弱的類股。最近一個交易日,101 檔成交活躍的股票上漲,128 檔下跌。上方圖表提供完整細節。
這份回顧多久更新一次?
每週更新。本頁面是根據過去五個交易日的即時查詢計算得出,因此始終反映最近一個完整交易週的狀況。訂閱者每週會收到一封電子郵件。
這些數字從何而來?
每個數字都來自針對市場交易紀錄(股票分鐘K線)的儲存查詢。打開任何圖表下方的SQL即可進行審計,或是在Strasmore終端機上自行執行相同的查詢。
想把這份回顧送到您的收件匣嗎?這就是訂閱者收到的週度回顧:每週一封電子郵件,用數字呈現市場的一週,每個數字皆可審計。至於每日追蹤,波動股與沽空興趣頁面會持續更新。