Strasmore Research
Học tập Matt ConnorBởi Matt Connor · Cập nhật 2026-07-23 · data as of July 23, 2026 · refreshed weekly

Cổ phiếu có khối lượng giao dịch bất thường

Bảng xếp hạng các cổ phiếu có khối lượng giao dịch đột biến so với trung bình bốn mươi phiên, kèm theo tỷ lệ lợi nhuận tuần và mức độ hiếm gặp của tín hiệu.

Khối lượng giao dịch bất thường có nghĩa là một cổ phiếu đang giao dịch cao hơn nhiều so với mức bình thường của chính nó, chứ không phải so với thị trường. Một cổ phiếu vốn hóa lớn giao dịch 40 triệu cổ phiếu là chuyện bình thường; nhưng với một cổ phiếu vốn hóa nhỏ, đó là một sự kiện. Trang này xếp hạng các cổ phiếu có khối lượng giao dịch bất thường trong tuần vừa qua: mỗi mã được tính bằng cách lấy khối lượng giao dịch trung bình của năm phiên gần nhất chia cho mức trung bình của bốn mươi phiên trước đó, kèm theo một mức sàn giá trị để đảm bảo mọi dòng đều là cổ phiếu có thể giao dịch thực tế. Dữ liệu được cập nhật hàng tuần và mốc thời gian "dữ liệu tính đến" sẽ xác định phạm vi thời gian. Bản thân phép đo này — khối lượng tương đối — có hướng dẫn đầy đủ riêng.

Những cổ phiếu có khối lượng giao dịch bất thường trong tuần này

Ba cột dữ liệu chính được sử dụng. Cột multiple cho biết mức độ vượt trội của khối lượng giao dịch so với mức bình thường của chính cổ phiếu đó. Cột baseline cho biết mức bình thường là bao nhiêu — một mức multiple lớn từ một baseline thấp sẽ ít quan trọng hơn một mức multiple vừa phải từ một baseline cao. Cột dollars cho biết hoạt động giao dịch đó có thực sự có ý nghĩa về mặt kinh tế hay không. Cột cuối cùng, mức thay đổi từ giá mở cửa đến giá đóng cửa trong tuần, là cột mà hầu hết các bộ lọc khối lượng thường bỏ qua.

Truy vấnRelative volume cao nhất tuần này: 5 phiên gần nhất so với 40 phiên trước đó, cho các mã giao dịch >$500M/tuần
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars,
           argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS day_open,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS day_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 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 NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           argMaxIf(s.day_open, c.rn, c.rn <= 5) AS week_open,
           argMinIf(s.day_close, c.rn, c.rn <= 5) AS week_close,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND dollar_recent >= 500000000 AND recent_sessions = 5 AND base_sessions >= 35
)
SELECT ticker,
       round(adv_recent / adv_base, 1) AS rvol_week,
       round(adv_recent / 1e6, 2) AS recent_adv_m,
       round(adv_base / 1e6, 2) AS baseline_adv_m,
       round(dollar_recent / 1e9, 2) AS week_dollar_bn,
       round(100.0 * (week_close / week_open - 1), 1) AS week_pct
FROM per_name
ORDER BY rvol_week DESC, ticker ASC
LIMIT 8

Đọc từng dòng theo thứ tự:

  • JLHL — đạt 99.2 lần mức bình thường, đứng đầu danh sách: giao dịch 16.95 triệu cổ phiếu/ngày so với mức baseline là 0.17 triệu, giá trị giao dịch đạt $0.68 tỷ, và mức thay đổi từ mở cửa đến đóng cửa là 160.6%.
  • AGEN — đạt 41.1 lần trên mức baseline 0.62 triệu cổ phiếu, với giá trị giao dịch là $0.88 tỷ; mức thay đổi trong tuần là 54.3%.
  • IONS — đạt 4.7 lần, nhưng trên mức baseline thấp là 1.43 triệu cổ phiếu và chỉ có $2.1 tỷ giá trị giao dịch; thay đổi trong tuần là -19.6%.
  • ALNY — đạt 2.3 lần, giao dịch 1.91 triệu cổ phiếu/ngày so với mức bình thường là 0.83 triệu; mức thay đổi mở cửa đến đóng cửa là -26.2%.
  • BBIO — đạt 2.1 lần, giao dịch $2.25 tỷ, thay đổi -0.2% trong tuần.
  • MULL — đạt 2.1 lần trên mức baseline 1.96 triệu cổ phiếu, giao dịch $0.52 tỷ, thay đổi mở cửa đến đóng cửa là -22.8%.
  • HLI — đạt 1.9 lần, giao dịch 0.9 triệu cổ phiếu/ngày, $0.61 tỷ; thay đổi trong tuần là 5.6%.
  • QGEN — dòng thứ tám và cũng là dòng cuối cùng, đạt 1.8 lần với $0.76 tỷ giao dịch và mức thay đổi là 8.7%.

Hướng biến động không nằm trong bảng xếp hạng, và hai cột bên phải đã làm rõ điều này: cổ phiếu đứng đầu danh sách kết thúc tuần với mức 160.6% so với giá mở cửa, trong khi cổ phiếu thứ tám kết thúc ở mức 8.7% so với giá mở cửa của chính nó — cùng một bộ lọc, nhưng kết quả trái ngược nhau. Khối lượng giao dịch lớn cho thấy những phiên mà float của cổ phiếu thực sự đang bị thử thách; nó không cho biết bên nào đã thắng trong cuộc thử thách đó.

Cách tính hệ số multiple

Hãy lấy một cổ phiếu có khối lượng giao dịch trung bình là 200.000 cổ phiếu mỗi ngày trong bốn mươi phiên trước đó. Trong tuần qua, khối lượng giao dịch lần lượt là 1.000.000, 1.400.000, 900.000, 1.100.000 và 600.000 cổ phiếu — trung bình năm phiên là 1.000.000. Phép tính: 1.000.000 ÷ 200.000 = 5.0x. Nếu lấy mức cơ sở của cùng cổ phiếu đó là hai triệu cổ phiếu, thì tuần tương tự sẽ có kết quả là 0.5x. Tử số là khối lượng tuần này; mẫu số là mức giao dịch thông thường của cổ phiếu. (Mẫu số chính là average daily volume, được đo lường trong bốn mươi phiên thay vì hai mươi phiên như thông thường.)

Tại sao lại là bốn mươi phiên? Khoảng thời gian này tương đương hai tháng lịch — đủ dài để một đợt tăng đột biến trước đó không chiếm tỷ trọng quá lớn trong mẫu số, nhưng cũng đủ ngắn để phản ánh đúng trạng thái giao dịch hiện tại của cổ phiếu. Tại sao tử số là năm phiên? Đây là một tuần giao dịch đầy đủ, giúp kết quả không bị ảnh hưởng bởi một phiên bị tạm dừng giao dịch hoặc một giao dịch lô lớn (block trade) đơn lẻ.

Phép tính này mang một cảnh báo thực tế: mức cơ sở càng thấp, hệ số multiple càng rẻ. Cổ phiếu dẫn đầu tuần này có mức cơ sở chỉ 0.17M cổ phiếu mỗi ngày — với quy mô đó, chỉ cần một phiên giao dịch quá tải cũng sẽ kéo trung bình tuần lên cao, đó chính là lý do tại sao hội đồng yêu cầu mức cơ sở phải đạt sáu chữ số và khối lượng tuần phải đạt 500 triệu USD trước khi một mã cổ phiếu được đưa vào danh sách.

Một tuần như thế này hiếm đến mức nào?

Một hệ số nhân (multiple) chỉ có ý nghĩa khi so sánh với phân phối dữ liệu gốc. Trong cùng một phạm vi và cùng một khung thời gian, dưới đây là tất cả các mã đủ điều kiện được phân loại theo hệ số nhân của chúng:

Truy vấnDiễn biến của toàn bộ universe tuần này, phân loại theo relative volume
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 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 NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND dollar_recent >= 500000000 AND recent_sessions = 5 AND base_sessions >= 35
),
scored AS (
    SELECT ticker,
           multiIf(adv_recent / adv_base >= 10, 1,
                   adv_recent / adv_base >= 5, 2,
                   adv_recent / adv_base >= 3, 3,
                   adv_recent / adv_base >= 2, 4,
                   adv_recent / adv_base >= 1.5, 5,
                   adv_recent / adv_base >= 1, 6, 7) AS bucket_key
    FROM per_name
),
buckets AS (
    SELECT arrayJoin([(1, '10x or more'), (2, '5x to 10x'), (3, '3x to 5x'), (4, '2x to 3x'),
                      (5, '1.5x to 2x'), (6, '1x to 1.5x'), (7, 'below 1x')]) AS bk
)
SELECT bk.2 AS rvol_bucket,
       countIf(scored.bucket_key = bk.1) AS names,
       round(100.0 * countIf(scored.bucket_key = bk.1) / count(), 1) AS pct_of_universe,
       count() AS universe_names
FROM scored CROSS JOIN buckets
GROUP BY bk
ORDER BY bk.1 ASC

647 cổ phiếu và ETF đã vượt ngưỡng sàn trong tuần này. Trong số đó, 2 giao dịch ở mức gấp mười lần mức bình thường của chính chúng — chiếm 0.3% tổng số mã. 0 mã khác nằm trong nhóm gấp 5 đến 10 lần và 1 nằm trong nhóm gấp 3 đến 5 lần. Bảng xếp hạng ở trên được trích xuất từ nhóm dẫn đầu này. Phía dưới đó, 3 mã giao dịch ở mức gấp 2 đến 3 lần mức bình thường (chiếm 0.5% tổng số mã) và 5 nằm trong khoảng gấp 1.5 đến 2 lần (chiếm 0.8%). Thêm 19 mã chỉ ở mức tăng nhẹ từ 1 đến 1.5 lần, tương đương 2.9% các mã đủ điều kiện.

Phần còn lại của bảng là phần không ai muốn chụp màn hình: 617 mã — chiếm 95.4% tổng số mã — đã giao dịch thấp hơn mức trung bình 40 phiên của chính chúng trong tuần này. Đó mới là trạng thái bình thường của thị trường, và chính điều này khiến nhóm dẫn đầu ở trên trở thành một điểm ngoại lệ thực sự chứ không phải là một sai số làm tròn.

Khối lượng giao dịch bất thường có kéo dài không?

Có quan điểm cho rằng khối lượng giao dịch bất thường sẽ kéo dài trong nhiều ngày, vì vậy một mã nằm ở nhóm dẫn đầu như bảng này thường đã hoàn tất đà tăng trưởng. Điều này có thể kiểm chứng được. Đối với mỗi mã trong số tám mã dẫn đầu: có bao nhiêu phiên trong số năm phiên đạt mức gấp đôi mức cơ sở hoặc cao hơn, phiên có khối lượng lớn nhất là bao nhiêu, và có bao nhiêu phiên cách biệt giữa phiên cao nhất đó với phiên cuối cùng của tuần.

Truy vấnKiểm tra tính liên tục: relative volume hàng ngày của 8 mã dẫn đầu trong 5 phiên
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 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 NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND dollar_recent >= 500000000 AND recent_sessions = 5 AND base_sessions >= 35
),
leaders AS (
    SELECT ticker, adv_recent / adv_base AS rvol_week, adv_base
    FROM per_name
    ORDER BY rvol_week DESC, ticker ASC
    LIMIT 8
),
daily AS (
    SELECT l.ticker AS ticker,
           l.rvol_week AS rvol_week,
           c.rn AS rn,
           s.vol / l.adv_base AS rvol_day
    FROM sess s
    INNER JOIN cal c ON s.d = c.d
    INNER JOIN leaders l ON s.ticker = l.ticker
    WHERE c.rn <= 5
)
SELECT ticker,
       round(max(rvol_week), 1) AS week_rvol,
       countIf(rvol_day >= 2) AS days_above_2x,
       round(max(rvol_day), 1) AS peak_day_rvol,
       argMax(rn, (rvol_day, -rn)) - 1 AS sessions_since_peak
FROM daily
GROUP BY ticker
ORDER BY days_above_2x ASC, peak_day_rvol ASC, ticker ASC

Sắp xếp theo tính bền vững, mã ít bền vững nhất trên bảng là HLI, đạt mức gấp đôi mức cơ sở trong 1 trên năm phiên, với mức đỉnh là 6.2x. Mã bền vững nhất, JLHL, đạt mức này trong 3 trên năm phiên, với mức đỉnh là 404.6x. Đây là các sự kiện kéo dài nhiều phiên chứ không phải là các lệnh giao dịch đơn lẻ — đây là lý do kỹ thuật khiến bảng tuần và bảng ngày thường có các cổ phiếu trùng nhau.

Cột cuối cùng là về thời gian: số phiên giữa ngày có khối lượng lớn nhất và phiên cuối cùng của tuần — 4 cho HLI, 4 cho JLHL. Khi khoảng cách đó lớn hơn không, nghĩa là đợt giao dịch mạnh nhất đã diễn ra trước khi tuần kết thúc. Bảng này mô tả tuần vừa kết thúc; nó không dự báo tuần sắp tới.

Mười lăm phiên của cổ phiếu dẫn dắt theo từng ngày

Giá trị trung bình hàng tuần không phản ánh được xu hướng thực tế. Dưới đây là khối lượng giao dịch tương đối hàng ngày của cổ phiếu dẫn dắt hiện tại — so sánh lượng cổ phiếu mỗi phiên với mức cơ sở forty-session — cùng với mức thay đổi giá từ mở cửa đến đóng cửa trong mười lăm phiên gần nhất:

Truy vấnDiễn biến của mã dẫn đầu qua từng ngày: relative volume hàng ngày và thay đổi giá open-to-close (15 phiên gần nhất)
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars,
           argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS day_open,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS day_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 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 NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND dollar_recent >= 500000000 AND recent_sessions = 5 AND base_sessions >= 35
),
leader AS (
    SELECT ticker, adv_base
    FROM per_name
    ORDER BY adv_recent / adv_base DESC, ticker ASC
    LIMIT 1
),
path AS (
    SELECT formatDateTime(s.d, '%Y-%m-%d') AS session_date,
           formatDateTime(s.d, '%b %e') AS session_label,
           s.vol / l.adv_base AS rvol_day,
           100.0 * (s.day_close / s.day_open - 1) AS day_pct
    FROM sess s
    INNER JOIN cal c ON s.d = c.d
    INNER JOIN leader l ON s.ticker = l.ticker
    WHERE c.rn <= 15
)
SELECT session_date,
       session_label,
       round(rvol_day, 1) AS rvol_day,
       round(day_pct, 1) AS day_pct,
       round(max(rvol_day) OVER (), 1) AS peak_rvol_day
FROM path
ORDER BY session_date ASC

Mười lăm phiên trước, cổ phiếu này chỉ giao dịch ở mức 0.5x so với mức cơ sở — một mã cổ phiếu bình thường và trầm lặng. Phiên có khối lượng lớn nhất trong giai đoạn này đạt 404.6x. Trong phiên gần nhất, Jul 15, khối lượng vẫn ở mức 0.7x với mức thay đổi giá từ mở cửa đến đóng cửa là -3.5%.

Hãy lưu ý những gì biểu đồ không làm: không giảm dần theo một đường thẳng đều đặn. Khối lượng tăng cao thường xuất hiện theo từng cụm, và các phiên sau đỉnh có thể tăng tốc trở lại thay vì giảm dần — đây là lý do tại sao nhận định "khối lượng đang cạn kiệt" cần được kiểm chứng qua chuỗi dữ liệu hàng ngày thay vì chỉ giả định. Chuỗi dữ liệu hàng ngày này cũng là điểm bắt đầu để đo lường tốc độ trong ngày, loại thước đo được xây dựng từ đầu trong hướng dẫn relative volume và được sử dụng bởi VWAP.

Những gì bộ lọc loại bỏ

Bốn quy tắc giúp bảng xếp hạng đảm bảo tính trung thực, và mỗi quy tắc đều loại bỏ một yếu tố mà người đọc có thể muốn xem:

  1. Mức sàn khối lượng giao dịch tuần là 500 triệu USD. Nếu chỉ dựa vào số lượng cổ phiếu, bảng xếp hạng sẽ tràn ngập những cái tên mà ở đó một triệu cổ phiếu chỉ là con số không đáng kể.
  2. Mức cơ sở trên 100.000 cổ phiếu mỗi ngày, để mẫu số là một con số thực tế thay vì là sai số do làm tròn.
  3. Ít nhất 35 trong số 40 phiên giao dịch trước đó phải có giao dịch, điều này loại bỏ các mã niêm yết mới — một mã IPO mới sẽ không có mức "bình thường" ý nghĩa để làm cơ sở chia, nếu không chúng sẽ chiếm lĩnh bảng xếp hạng này trong nhiều tuần.
  4. Loại bỏ một ticker bị dùng lại: một ticker mà các sàn giao dịch vừa gán lại cho một mã niêm yết mới, khiến dữ liệu lịch sử từ nhà cung cấp bị trộn lẫn giữa hai công ty khác nhau. Mức cơ sở của nó sẽ là con số ảo.

Quy tắc 1 là quy tắc loại bỏ các bội số biến động mạnh nhất trên bảng điện. Dưới đây là sáu mã lớn nhất bị loại bởi quy tắc này:

Truy vấnCác mức nhân (multiples) cực lớn khi loại bỏ floor $500M: relative volume cao nhất trong các mã giao dịch <$500M tuần này
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 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 NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND recent_sessions = 5 AND base_sessions >= 35
       AND dollar_recent > 0 AND dollar_recent < 500000000
)
SELECT ticker,
       round(adv_recent / adv_base, 1) AS rvol_week,
       round(dollar_recent / 1e6, 1) AS week_dollar_m,
       round(dollar_recent / (adv_recent * 5), 2) AS avg_share_price,
       round(adv_base / 1e6, 2) AS baseline_adv_m
FROM per_name
ORDER BY rvol_week DESC, ticker ASC
LIMIT 6

SOBR giao dịch gấp 109.8 lần mức bình thường, nhưng chỉ có khối lượng giao dịch là $262.4M trong cả tuần với giá cổ phiếu trung bình là $1.04. Tiếp theo là: ZBAO ở mức 109.3 lần với $72M (giá trung bình $0.44), WRAP ở mức 51.8 lần với $162.5M, CPHI ở mức 38.1x với $31.8M, KAPA ở mức 36.7x với $9.5M, và LGPS ở mức 20.2x với $57.5M. Đây là hoạt động thực tế, thực sự bất thường đối với những mã này — và là nhóm mà bội số thường làm đẹp cho một lượng tiền rất nhỏ.

Nguồn gốc của khối lượng giao dịch bất thường

Các yếu tố tạo ra khối lượng giao dịch lặp đi lặp lại giúp bảng điện tử biến động nhanh hơn: tuần báo cáo kết quả kinh doanh, nguồn cung cấp thông tin định kỳ; các sự kiện doanh nghiệp — bao gồm sáp nhập, chào bán cổ phiếu, thêm hoặc loại khỏi chỉ số — vốn tạo ra khối lượng giao dịch mang tính kỹ thuật và không phụ thuộc vào quan điểm thị trường; động lực squeeze, nơi khối lượng tăng mạnh cùng với tốc độ biến động giá, một mô hình đã được tài liệu giải thích về short squeeze ghi chép lại; và các niêm yết mới, vốn chiếm ưu thế trên bảng điện cho đến khi lượng cổ phiếu lưu hành tự do trở nên ổn định. Bảng điện của một tuần bất kỳ thường là sự kết hợp của các yếu tố này, cộng thêm một hoặc hai trường hợp bí ẩn thực sự — và những bí ẩn đó chính là những dòng dữ liệu đáng để bạn dành thêm thời gian nghiên cứu.

Câu hỏi thường gặp về khối lượng giao dịch bất thường

Thế nào được coi là khối lượng giao dịch bất thường đối với một cổ phiếu?

Không có ngưỡng chính thức, vì vậy hãy xem xét phân bổ sau: trong số 647 mã vượt qua mức sàn của trang này tuần này, chỉ có 2 giao dịch ở mức gấp 10 lần mức bình thường của chính chúng, và 95.4% thực tế giao dịch dưới mức trung bình. Bất kỳ mức nào cao hơn khoảng 2x đã nằm trong nhóm vài phần trăm dẫn đầu thị trường trong một tuần nhất định.

Khối lượng bất thường là tín hiệu tăng giá hay giảm giá?

Không phải cả hai — đó là sự chú ý, và sự chú ý xuất hiện đồng thời với cả các đợt tăng giá lẫn sụt giảm. Tuần này, mã dẫn đầu bảng điện tử kết thúc năm phiên 160.6% so với giá mở cửa và mã thứ tám kết thúc 8.7%; cả hai đều đạt tiêu chuẩn dựa trên cùng một thước đo.

Khối lượng bất thường kéo dài bao lâu?

Thường lâu hơn một ngày. Bảng theo dõi tính liên tục tính số phiên của mỗi mã trên bảng điện tử cao hơn gấp đôi mức cơ sở: tuần này các mã chạy từ 1 trên năm (HLI) đến 3 trên năm (JLHL), và phiên giao dịch mạnh nhất thường rơi vào trước khi kết thúc tuần thay vì vào ngày cuối cùng.

Tại sao danh sách lại sử dụng mức sàn giá trị giao dịch (dollar-volume floor)?

Một bộ lọc số lượng cổ phiếu nếu không có mức sàn này sẽ tràn ngập các ticker giá rẻ, nơi tỷ lệ nhân là rất lớn nhưng dòng tiền thực tế lại không lớn: mã lớn nhất bị loại trừ tuần này giao dịch 109.8x mức bình thường với tổng trị giá $262.4M, ở mức giá trung bình $1.04 một cổ phiếu. Mức sàn hàng tuần 500 triệu USD giúp mọi dòng trên bảng điện tử đều có giá trị kinh tế thực sự.

Khối lượng cổ phiếu bất thường có xuất hiện trên thị trường options không?

Thường là có — khối lượng giao dịch cổ phiếu lớn và khối lượng giao dịch options lớn có xu hướng xuất hiện cùng nhau trên cùng một mã, đó là lý do tại sao các trader theo dõi cả hai. Tuy nhiên, hoạt động options được đo lường khác nhau: số lượng hợp đồng giao dịch là một con số dòng tiền (flow), trong khi open interest tính các vị thế vẫn đang mở, và hai chỉ số này trả lời cho các câu hỏi khác nhau — hãy xem options volume vs. open interest trước khi diễn giải bất kỳ cảnh báo "unusual options activity" nào.


Mọi con số ở trên đều là kết quả từ các truy vấn đã được lưu trữ và phân phiên — hãy mở rộng SQL dưới bất kỳ bảng nào để xem thước đo chính xác, hoặc chạy cùng một bộ lọc đó cho bất kỳ khoảng thời gian nào bạn muốn trên terminal Strasmore.