Cổ phiếu đạt đỉnh và đáy 52 tuần
Xem các cổ phiếu đóng cửa tại đỉnh hoặc đáy 52 tuần, được lọc từ dữ liệu giao dịch của sàn, cùng số lượng ở mỗi nhóm để đánh giá breadth thị trường.
Mức đỉnh 52 tuần là giá đóng cửa cao nhất của một cổ phiếu trong một năm qua. Mức đáy 52 tuần là giá đóng cửa thấp nhất trong cùng khoảng thời gian. Trong phiên đã hoàn tất gần nhất, Sep 4, 2026, có 31 cổ phiếu trên bộ lọc này đóng cửa tại mức đỉnh 52 tuần hoặc trong phạm vi 1% so với mức đó. Có 10 cổ phiếu đóng cửa tại mức đáy 52 tuần hoặc trong phạm vi 1% so với mức đó. Bộ lọc này bao phủ các công ty Mỹ quy mô lớn, có thanh khoản cao và đang hoạt động kinh doanh. Dữ liệu được xây dựng lại từ dữ liệu giao dịch của sàn.
Cổ phiếu ở mức cao nhất trong 52 tuần
Danh sách dưới đây gồm tối đa mười hai cổ phiếu tăng giá mạnh nhất từ đầu năm trong nhóm đạt mức cao mới. Mỗi cổ phiếu đều kết phiên ở mức cao nhất trong 52 tuần gần nhất hoặc thấp hơn không quá 1%.
| ticker | giá đóng cửa | lợi suất từ đầu năm (%) |
|---|---|---|
| DELL | 516.38 | 310.2 |
| PBF | 74.92 | 176.2 |
| MPC | 385.9 | 137.3 |
| DINO | 106.1 | 130.3 |
| VLO | 369.15 | 126.8 |
| PSX | 253.55 | 96.5 |
| PR | 23.69 | 68.9 |
| SNOW | 353.98 | 61.4 |
| ZETA | 32.52 | 59.8 |
| HUM | 406.38 | 58.7 |
| STT | 194.92 | 51.1 |
| CNH | 13.78 | 49.5 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker NOT IN ('SPCX','KORU','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 ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(date) AS d FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 12 AND date < today()
),
daily AS (
SELECT ticker, date AS dt, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE date < today()
AND ticker IN (SELECT ticker FROM universe)
AND date > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
round(last_close, 2) AS close,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close >= hi * 0.99
ORDER BY ytd_return_pct DESC, ticker ASC
LIMIT 12DELL đứng đầu danh sách với mức tăng 310.2% trong năm, và đóng cửa ở $516.38. Theo cách xây dựng danh sách này, giá đóng cửa nằm trong phạm vi 1% so với mức cao nhất trong 52 tuần, nên cột giá cũng chính là mức đang được kiểm định. Tiếp theo là PBF với mức tăng 176.2% và MPC với mức tăng 137.3%. Ở cuối bảng, CNH ghi nhận mức tăng 49.5% trong năm.
Điểm cần lưu ý nằm ở chênh lệch đó. Mức cao nhất trong 52 tuần chỉ cho biết giá đang ở đâu trong biên độ một năm của chính cổ phiếu đó. Nó không nói thêm điều gì. Một cổ phiếu từng giảm mạnh vào mùa hè năm ngoái rồi phục hồi trở lại sẽ mang cùng nhãn này với một cổ phiếu chưa từng ngừng tăng.
Cổ phiếu ở mức thấp nhất trong 52 tuần
Cùng một bộ lọc, nhưng theo chiều ngược lại. Đây là những mã đóng cửa ở mức thấp nhất hoặc trong phạm vi 1% so với mức đóng cửa thấp nhất trong 52 tuần gần nhất. Danh sách được sắp xếp từ mức thể hiện yếu nhất từ đầu năm đến nay, tối đa mười hai mã.
| ticker | giá đóng cửa | lợi suất từ đầu năm (%) |
|---|---|---|
| LULU | 96.88 | -53.4 |
| NKE | 38.42 | -39.7 |
| BROS | 46.61 | -23.9 |
| AS | 28.62 | -23.4 |
| IDXX | 531.36 | -21.5 |
| MLM | 509.13 | -18.2 |
| MCD | 259.24 | -15.2 |
| TJX | 132.54 | -13.7 |
| LHX | 261.07 | -11.1 |
| CMS | 68.54 | -2 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker NOT IN ('SPCX','KORU','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 ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(date) AS d FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 12 AND date < today()
),
daily AS (
SELECT ticker, date AS dt, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE date < today()
AND ticker IN (SELECT ticker FROM universe)
AND date > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
round(last_close, 2) AS close,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close <= lo * 1.01
ORDER BY ytd_return_pct ASC, ticker ASC
LIMIT 12LULU có mức thể hiện từ đầu năm yếu nhất trong danh sách, ở mức -53.4%. Cổ phiếu này đóng cửa tại $96.88, trong phạm vi 1% so với mức thấp nhất của chính mã này trong 52 tuần. Tiếp theo là NKE ở mức -39.7%.
Mức thấp nhất trong 52 tuần chỉ cho biết vị trí của cổ phiếu trong một biên độ giá, không phải là kết luận về hoạt động kinh doanh. Các công ty có lợi nhuận vẫn có thể xuất hiện trong danh sách này sau những giai đoạn dài ít biến động. Những công ty thực sự gặp khó khăn cũng vậy. Chỉ riêng giá đóng cửa không thể phân biệt hai nhóm này. Để xem phiên bản trên toàn thị trường của cùng câu hỏi, hãy xem cách thị trường phục hồi sau các đợt sụp đổ.
Số lượng mã lập đỉnh và đáy nói gì về độ rộng thị trường
Độ rộng thị trường đo lường số lượng cổ phiếu tham gia vào một nhịp biến động, thay vì đo mức tăng hoặc giảm của chỉ số. Số mã lập đỉnh mới so với số mã lập đáy mới là một trong những chỉ báo độ rộng lâu đời nhất. Trên trang này, đây là số liệu đáng theo dõi.
| ngày | ở mức cao nhất 52 tuần | ở mức thấp nhất 52 tuần | đỉnh ròng |
|---|---|---|---|
| Jul 24, 2026 | 38 | 12 | 26 |
| Jul 27, 2026 | 39 | 1 | 38 |
| Jul 28, 2026 | 55 | 3 | 52 |
| Jul 29, 2026 | 32 | 15 | 17 |
| Jul 30, 2026 | 28 | 7 | 21 |
| Jul 31, 2026 | 18 | 8 | 10 |
| Aug 3, 2026 | 24 | 1 | 23 |
| Aug 4, 2026 | 50 | 2 | 48 |
| Aug 5, 2026 | 56 | 2 | 54 |
| Aug 6, 2026 | 36 | 3 | 33 |
| Aug 7, 2026 | 45 | 3 | 42 |
| Aug 10, 2026 | 56 | 5 | 51 |
| Aug 11, 2026 | 51 | 3 | 48 |
| Aug 12, 2026 | 59 | 7 | 52 |
| Aug 13, 2026 | 60 | 2 | 58 |
| Aug 14, 2026 | 48 | 2 | 46 |
| Aug 17, 2026 | 39 | 5 | 34 |
| Aug 18, 2026 | 39 | 6 | 33 |
| Aug 19, 2026 | 38 | 0 | 38 |
| Aug 20, 2026 | 26 | 10 | 16 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker NOT IN ('SPCX','KORU','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 ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(date) AS d FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 12 AND date < today()
),
daily AS (
SELECT ticker, date AS dt, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE date < today()
AND ticker IN (SELECT ticker FROM universe)
AND date <= (SELECT d FROM last_session)
AND date >= (SELECT d FROM last_session) - 425
),
rolled AS (
SELECT ticker, dt, c,
max(c) OVER w AS hi,
min(c) OVER w AS lo,
count() OVER w AS n_sessions,
min(dt) OVER (PARTITION BY ticker) AS first_dt
FROM daily
WINDOW w AS (PARTITION BY ticker ORDER BY dt RANGE BETWEEN 364 PRECEDING AND CURRENT ROW)
)
SELECT formatDateTime(dt, '%b %e, %Y') AS date,
countIf(c >= hi * 0.99) AS at_52w_high,
countIf(c <= lo * 1.01) AS at_52w_low,
countIf(c >= hi * 0.99) - countIf(c <= lo * 1.01) AS net_highs
FROM rolled
WHERE n_sessions >= 200
AND first_dt <= dt - 350
AND dt > (SELECT d FROM last_session) - 43
GROUP BY dt
ORDER BY dtVào Sep 4, 2026, bảng lọc ghi nhận 31 mã ở mức hoặc gần mức đỉnh 52 tuần, so với 10 mã ở mức hoặc gần mức đáy. Chênh lệch ròng là 21. Sáu tuần trước, vào Jul 24, 2026, cùng bảng lọc ghi nhận 38 mã lập đỉnh và 12 mã lập đáy.
Trong 31 phiên được biểu diễn trên biểu đồ, cả hai chỉ số đều biến động mạnh theo từng ngày. Vì vậy, mức ghi nhận trong một phiên riêng lẻ ít quan trọng hơn xu hướng kéo dài qua nhiều tuần. Khi một chỉ số đi ngang nhưng số mã lập đỉnh giảm dần, thị trường có độ rộng hẹp hơn so với những gì chỉ số cho thấy. Khi số mã lập đáy tăng mạnh, đó là bối cảnh hình thành chiến lược mua vào khi người khác sợ hãi, mà chúng tôi đã kiểm chứng bằng dữ liệu tâm lý tin tức.
Khoảng cách của phần còn lại của thị trường so với mức đỉnh riêng
Mức đỉnh và mức đáy là hai đầu của một phân phối; phần lớn cổ phiếu nằm ở khoảng giữa. Bảng này sắp xếp toàn bộ danh sách theo khoảng cách thấp hơn mức đỉnh 52 tuần và báo cáo lợi nhuận trung vị từ đầu năm trong từng nhóm.
| nhóm | cổ phiếu | tỷ trọng (%) | trung vị từ đầu năm (%) |
|---|---|---|---|
| At the high (under 1%) | 31 | 5.8 | 38.3 |
| 1% to 5% below | 74 | 13.8 | 24.4 |
| 5% to 10% below | 94 | 17.5 | 15.7 |
| 10% to 20% below | 122 | 22.7 | 3.7 |
| 20% to 35% below | 121 | 22.5 | -6.3 |
| More than 35% below | 96 | 17.8 | -17.8 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker NOT IN ('SPCX','KORU','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 ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(date) AS d FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 12 AND date < today()
),
daily AS (
SELECT ticker, date AS dt, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE date < today()
AND ticker IN (SELECT ticker FROM universe)
AND date > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(p < 1, 'At the high (under 1%)',
p < 5, '1% to 5% below',
p < 10, '5% to 10% below',
p < 20, '10% to 20% below',
p < 35, '20% to 35% below',
'More than 35% below') AS bucket,
count() AS stocks,
round(100.0 * count() / sum(count()) OVER (), 1) AS share_pct,
round(quantileExact(0.5)(ytd), 1) AS median_ytd_pct
FROM (
SELECT (1 - last_close / hi) * 100 AS p,
(last_close / base_close - 1) * 100 AS ytd,
multiIf(p < 1, 0, p < 5, 1, p < 10, 2, p < 20, 3, p < 35, 4, 5) AS ord
FROM ranged
)
GROUP BY bucket, ord
ORDER BY ord5.8% trong danh sách, tương ứng 31 mã, đóng cửa trong phạm vi 1% dưới mức đỉnh 52 tuần. Ở đầu kia, 17.8% mã đóng cửa thấp hơn mức đỉnh đó trên 35%. Lợi nhuận trung vị từ đầu năm trong nhóm cao nhất là 38.3%; trong nhóm thấp nhất là -17.8%, còn biểu đồ thể hiện diễn biến giữa hai mức này.
Độ dốc đó gần với một hệ quả số học hơn là một phát hiện mới: theo định nghĩa, cổ phiếu ở gần mức đỉnh 52 tuần đã dành phần lớn thời gian trong năm để tăng giá. Bảng này có ý nghĩa nhờ quy mô: các mức cực đoan hiếm đến đâu và bao nhiêu phần của thị trường đang cách rất xa mức giá tốt nhất của chính mình. Việc nắm giữ tỷ trọng lớn một trong những mã đó chính là mức độ phơi nhiễm được đo bằng rủi ro thực sự của một cổ phiếu.
Vị trí của thị trường trong biên độ 52 tuần
Một cổ phiếu riêng lẻ ở gần mức cao sẽ cho tín hiệu khác khi thị trường cũng ở gần mức cao của chính thị trường, so với khi thị trường còn cách xa mức đó. Năm ETF thị trường rộng dưới đây được đo lường theo đúng phương pháp áp dụng cho các cổ phiếu ở trên.
| nhãn | thấp hơn đỉnh (%) | cao hơn đáy (%) | lợi suất từ đầu năm (%) |
|---|---|---|---|
| S&P 500 (SPY) | 0.51 | 22.5 | 13.5 |
| Dow 30 (DIA) | 1.11 | 18.9 | 11.7 |
| S&P 500 equal weight (RSP) | 1.36 | 20.6 | 14.7 |
| Russell 2000 (IWM) | 3.23 | 28.9 | 19.9 |
| Nasdaq 100 (QQQ) | 3.3 | 29.2 | 17.5 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH last_session AS (
SELECT max(date) AS d FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 12 AND date < today()
),
daily AS (
SELECT ticker, date AS dt, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE date < today()
AND ticker IN ('SPY', 'QQQ', 'DIA', 'IWM', 'RSP')
AND date > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)',
ticker = 'QQQ', 'Nasdaq 100 (QQQ)',
ticker = 'DIA', 'Dow 30 (DIA)',
ticker = 'RSP', 'S&P 500 equal weight (RSP)',
'Russell 2000 (IWM)') AS label,
round((1 - last_close / hi) * 100, 2) AS pct_below_high,
round((last_close / lo - 1) * 100, 1) AS pct_above_low,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
ORDER BY pct_below_high ASCS&P 500 (SPY) đóng cửa thấp hơn 0.51% so với mức cao nhất trong 52 tuần, gần mức cao nhất nhất trong năm ETF, và cao hơn 22.5% so với mức thấp nhất trong 52 tuần. Nasdaq 100 (QQQ) cách mức cao nhất xa nhất, ở mức 3.3%. Từ đầu năm đến nay, hai ETF này lần lượt ghi nhận 13.5% và 17.5%.
Chênh lệch giữa phiên bản cùng một chỉ số tính theo tỷ trọng ngang và phiên bản tính theo vốn hóa là một chỉ báo về độ rộng thị trường. Khi đường chỉ số tính theo tỷ trọng ngang gần mức cao nhất hơn, cổ phiếu trung bình trong chỉ số đang tăng nhanh hơn các cổ phiếu vốn hóa lớn nhất. Khi đường chỉ số tính theo vốn hóa gần mức cao nhất hơn, một số ít doanh nghiệp rất lớn đang nâng đỡ chỉ số. Không cách phân bổ nào trong hai cách này dự báo chắc chắn điều gì. Việc rời khỏi thị trường trong giai đoạn không phù hợp có thể khiến nhà đầu tư bỏ lỡ chi phí cơ hội được nêu trong bỏ lỡ những ngày thị trường tăng mạnh nhất.
Cách đo lường
Mọi số liệu trên trang này đều lấy từ các thanh dữ liệu theo phút trên sàn giao dịch Mỹ, sau đó tổng hợp thành giá đóng cửa hằng ngày. Toàn bộ quy tắc như sau:
- Phạm vi cổ phiếu. Chỉ bao gồm các công ty đang hoạt động và niêm yết tại Mỹ. Công ty phải có báo cáo kết quả kinh doanh nộp cho SEC, với kỳ báo cáo kết thúc trong vòng 400 ngày qua. Vì vậy, ETF và quỹ không xuất hiện trong cả hai danh sách. ETF đòn bẩy và ETF nghịch đảo cũng bị loại theo tên để tránh bỏ sót.
- Ngưỡng thanh khoản. Cổ phiếu phải có tổng giá trị giao dịch ít nhất 2 tỷ USD trong 20 ngày lịch gần nhất. Sau khi loại cuối tuần và ngày nghỉ, khoảng thời gian này còn khoảng một tá phiên, tương đương gần 150 triệu USD mỗi phiên. Quy tắc này giữ lại những mã mà nhà đầu tư thực sự có thể giao dịch, đồng thời ngăn dữ liệu giao dịch thưa thớt tạo ra mức cực đoan giả.
- Loại bỏ cổ phiếu chia tách, không điều chỉnh dữ liệu. Mọi ticker đã thực hiện chia tách cổ phiếu trong 460 ngày qua đều bị loại khỏi bộ lọc. Khoảng thời gian này cố ý kéo dài hơn một năm, đủ để bao quát những mức giá cũ nhất được dùng trong biểu đồ độ rộng thị trường bên dưới. Đây là nguyên nhân dễ khiến một trang như thế này công bố số liệu sai nhất: một đợt chia tách ngược theo tỷ lệ one-for-twenty sẽ nhân giá niêm yết lên 20 lần mà không có giao dịch thực tế hỗ trợ, khiến bộ lọc không điều chỉnh báo cáo một mức cao mới trong 52 tuần đầy ấn tượng. Chia tách thuận tạo ra hiệu ứng ngược lại và có thể giả tạo một mức thấp mới trong 52 tuần.
- Giá đóng cửa, không phải mức cực trị trong phiên. Mức cao và mức thấp đều được đo bằng giá đóng cửa. Một cổ phiếu có thể giao dịch vượt mức cao nhất trong 52 tuần trong phiên, nhưng đóng cửa thấp hơn mức đó và không xuất hiện ở đây. Các bộ lọc dựa trên các prints trong phiên sẽ cho số lượng lớn hơn.
- Phiên giao dịch phải hoàn tất. Giá đóng cửa của một ngày là thanh dữ liệu theo phút cuối cùng trong khoảng từ 15:30 đến 16:00 theo giờ New York. Phiên vẫn đang được cập nhật sẽ chưa có thanh dữ liệu trong nửa giờ đó, nên không thể được đưa vào phép tính; phiên đang diễn ra cũng không bao giờ được tính. Các phiên nghỉ lễ đóng cửa sớm cũng bị loại vì cùng lý do. Ngày hiển thị ở trên là phiên gần nhất vượt qua bài kiểm tra, nên có thể chậm hơn lịch một hoặc hai ngày.
- Đủ dữ liệu một năm. Cổ phiếu phải có ít nhất 200 phiên trong khoảng thời gian 52 tuần và phiên đầu tiên phải cách hiện tại ít nhất 350 ngày. Một công ty mới niêm yết ba tháng không thể ghi nhận mức cao mới trong 52 tuần tại đây.
- Biên độ 1%. “Ở mức cao nhất trong 52 tuần” có nghĩa là giá đóng cửa nằm tại hoặc trong phạm vi 1% so với mức đóng cửa cao nhất của 52 tuần trước đó. Danh sách mức thấp được áp dụng quy tắc đối xứng. Lợi nhuận từ đầu năm được tính từ giá đóng cửa cuối cùng của năm 2025.
Câu hỏi thường gặp
Mua cổ phiếu ở mức đỉnh 52 tuần có phải là một ý tưởng tốt không?
Không có câu trả lời chung, và nội dung này không phải là khuyến nghị. Trang này chỉ cho thấy dữ liệu quá khứ: các cổ phiếu nằm trong phạm vi 1% so với đỉnh 52 tuần có mức lợi nhuận từ đầu năm đến nay trung vị là 38.3%, so với -17.8% ở nhóm cổ phiếu thấp hơn đỉnh của chúng hơn 35%. Đây là diễn biến của những cổ phiếu đó trong năm đã qua, không phải dự báo cho năm tới. Nhãn này cho biết vị trí của cổ phiếu trong một vùng giá, không phản ánh định giá.
Cổ phiếu chạm mức đáy 52 tuần có ý nghĩa gì?
Điều đó có nghĩa là cổ phiếu đóng cửa ở mức thấp hơn mọi thời điểm trong 52 tuần trước đó. Vào ngày Sep 4, 2026, có 10 mã trên màn hình này rơi vào trường hợp đó. Mức đáy có thể đi cùng hoạt động kinh doanh suy yếu hoặc một quá trình giảm kéo dài ở một doanh nghiệp vẫn có lợi nhuận. Chỉ riêng giá cổ phiếu không cho biết trường hợp nào đang xảy ra.
Hiện có bao nhiêu cổ phiếu ở mức đỉnh 52 tuần?
Tính đến thời điểm đóng cửa ngày Sep 4, 2026, có 31 cổ phiếu trên màn hình này đóng cửa ở mức đỉnh 52 tuần hoặc trong phạm vi 1% so với mức đó. Con số tương ứng ở mức đáy 52 tuần là 10. Màn hình này bao gồm các công ty Mỹ đang hoạt động, quy mô lớn và có thanh khoản cao, đạt ngưỡng doanh thu 2 tỷ USD trong 20 ngày dương lịch gần nhất. Vì vậy, các con số này thấp hơn so với kết quả của một màn hình bao gồm toàn bộ danh sách niêm yết.
Mức đỉnh 52 tuần được tính như thế nào?
Lấy tất cả giá đóng cửa trong 52 tuần gần nhất và xác định mức cao nhất. Nếu giá đóng cửa gần nhất bằng mức đó, cổ phiếu đã thiết lập đỉnh đóng cửa 52 tuần. Trang này cũng tính các cổ phiếu nằm trong phạm vi 1% so với mức đó. Đồng thời, trang loại bỏ mọi ticker có đợt chia tách cổ phiếu trong 460 ngày qua, vì chia tách làm thay đổi giá niêm yết nhưng không làm thay đổi giá trị của khoản đầu tư.
Mỗi bảng ở trên đều lưu câu lệnh SQL tương ứng. Bạn có thể mở query bên dưới bất kỳ bảng nào để kiểm tra màn hình, hoặc chạy query đó trên terminal Strasmore. Nếu bạn muốn xem những cổ phiếu tăng và giảm mạnh nhất trong tuần thay vì các mức cực trị của cả năm, hãy xem các cổ phiếu tăng và giảm mạnh nhất trong tuần này.