RVOL là gì? Cách đọc khối lượng tương đối
RVOL là khối lượng giao dịch chia cho bình quân 20 ngày: trên 1 là sôi động hơn thường lệ. Tìm hiểu RVOL theo từng thời điểm trong ngày và mức nào được xem là cao.
Relative volume (RVOL) đo lường mức độ giao dịch sôi động của một cổ phiếu so với mức thông thường gần đây của chính cổ phiếu đó: khối lượng cổ phiếu trong phiên chia cho khối lượng giao dịch bình quân ngày của cổ phiếu, thường tính trên 20 phiên gần nhất. RVOL bằng 1 là một ngày giao dịch bình thường; bằng 2 nghĩa là số cổ phiếu được sang tay gấp đôi mức thông thường; còn 0,5 cho thấy phiên giao dịch chỉ đạt một nửa nhịp độ bình thường. Mọi số liệu trên trang này đều được tính từ dữ liệu thị trường Mỹ theo từng phút, với truy vấn chính xác được đính kèm trong mỗi biểu đồ.
Khối lượng tương đối là gì? Định nghĩa bằng ngôn ngữ dễ hiểu
Khối lượng giao dịch tuyệt đối không nói lên nhiều điều nếu đứng một mình: năm triệu cổ phiếu là một phiên cực kỳ trầm lắng đối với cổ phiếu vốn hóa siêu lớn, nhưng lại là sự kiện chỉ xảy ra mỗi năm một lần đối với cổ phiếu vốn hóa nhỏ. Khối lượng tương đối làm rõ phép so sánh với mức thông thường của chính cổ phiếu đó:
RVOL = khối lượng giao dịch trong ngày ÷ khối lượng giao dịch bình quân mỗi ngày của cổ phiếu (thường là 20 phiên gần nhất)
Ví dụ giả định: một cổ phiếu có khối lượng bình quân 10 triệu cổ phiếu mỗi ngày và ghi nhận 25 triệu cổ phiếu được khớp lệnh đến cuối phiên sẽ có RVOL là 2.5. (Print là một giao dịch được báo cáo lên consolidated tape, hệ thống ghi nhận lệnh khớp trên toàn thị trường; còn “tape” là cách trader gọi tắt hệ thống này.) Khoảng nhìn lại 20 phiên là một thông lệ; các nền tảng cũng có thể sử dụng 10, 30 hoặc 50 ngày. Khoảng thời gian này tương đương khoảng một tháng giao dịch theo lịch. Khoảng thời gian tính bình quân cũng chịu ảnh hưởng từ những đặc điểm của lịch giao dịch tại sở giao dịch: một phiên rút ngắn do ngày lễ chỉ đóng góp một phần khối lượng của phiên thông thường vào mức bình quân, và lịch nghỉ lễ và các phiên đóng cửa sớm cho biết những ngày đó rơi vào thời điểm nào.
Vì sao trader theo dõi relative volume?
RVOL là thước đo mức độ tham gia, không phải thước đo hướng đi của giá. Những ngày RVOL cao thường tập trung quanh các sự kiện dễ nhận diện như công bố lợi nhuận, được bổ sung vào chỉ số hoặc xuất hiện tin tức đáng chú ý. Một biến động giá được ghi nhận với khối lượng lớn cho thấy có nhiều bên tham gia; cùng biến động đó nhưng ở mức RVOL 0,3 có thể chỉ do một số ít lệnh tạo ra. Mức độ hoạt động cũng gắn với khả năng giao dịch: giữa các cổ phiếu, những mã có thanh khoản thấp nhất thường có spread bid-ask rộng nhất. Các spread này do market maker yết giá hai chiều trong suốt ngày giao dịch. Với từng cổ phiếu, báo giá thường rộng hơn đôi chút trong những phiên trầm lắng nhất so với các phiên sôi động nhất. (Khối lượng cũng là nền tảng của VWAP, giá trung bình theo khối lượng, một tham chiếu quan trọng khác dựa trên khối lượng.)
Cách tính relative volume và bẫy theo thời điểm trong ngày
Cách tính cho cả ngày chỉ gồm một phép chia: tổng volume của phiên ÷ volume giao dịch bình quân ngày của 20 phiên. Chỉ số này chỉ phản ánh đúng sau khi thị trường đóng cửa. Bẫy nằm ở việc tính giữa phiên: lúc 10:30 sáng, tổng volume tích lũy đương nhiên chỉ bằng một phần của bất kỳ con số nào tính cho cả ngày. Vì vậy, ngay cả một buổi sáng giao dịch dữ dội cũng có thể bị đánh giá là trầm lắng. Volume trong ngày thường đi theo hình chữ U theo thời gian, nên mọi chỉ số RVOL trong phiên đều phải bắt đầu từ quy luật này.
Dưới đây là diễn biến đó, được đo trên SPY, ETF S&P 500: số cổ phiếu giao dịch trung vị mỗi phút trong từng khung giờ 30 phút trong 30 phiên đã hoàn tất gần nhất, bao gồm cả giao dịch ngoài giờ (từ 4:00 sáng đến 8:00 tối theo giờ miền Đông nước Mỹ).
| giờ ET | khối lượng trung vị mỗi phút (k) |
|---|---|
| 04:00 | 0.7 |
| 04:30 | 0.5 |
| 05:00 | 0.4 |
| 05:30 | 0.4 |
| 06:00 | 0.4 |
| 06:30 | 0.4 |
| 07:00 | 1.4 |
| 07:30 | 1.5 |
| 08:00 | 1.9 |
| 08:30 | 2.5 |
| 09:00 | 3.6 |
| 09:30 | 95.5 |
| 10:00 | 68.2 |
| 10:30 | 58.9 |
| 11:00 | 49.1 |
| 11:30 | 45 |
| 12:00 | 39.8 |
| 12:30 | 37.8 |
| 13:00 | 37.1 |
| 13:30 | 34.2 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(toUnixTimestamp(window_start))) / 1000, 1) AS median_minute_volume_k
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
ORDER BY et_timeTrong khung 9:30, tức nửa giờ đầu tiên của phiên giao dịch chính, số cổ phiếu giao dịch trung vị đạt 95.5 nghìn cổ phiếu mỗi phút, so với 3.6 nghìn trong khung 9:00 của phiên premarket ngay trước đó. Nhịp giao dịch giảm xuống 37.8 nghìn trong khung 12:30, rồi tăng dần khi tiến đến lúc đóng cửa: 138.9 nghìn trong khung 3:30, thời điểm volume tăng tốc trước phiên đấu giá đóng cửa, và cao hơn nhiều so với vùng đáy buổi trưa. Sau tiếng chuông 4:00 chiều, nhịp giao dịch mỗi phút giảm mạnh khi bước vào giao dịch sau giờ.
Khối lượng tương đối trong phiên: điều chỉnh theo thời điểm trong ngày
Cách khắc phục là thay đổi mẫu số: so sánh tổng khối lượng lũy kế trong ngày hôm nay với tổng khối lượng lũy kế bình quân tại cùng thời điểm. Để làm vậy, cần biết tỷ trọng khối lượng của một ngày giao dịch thông thường đã được thực hiện đến từng thời điểm trên đồng hồ. Trong bài này, tỷ trọng đó được đo theo từng giao dịch từ dữ liệu consolidated tape của SPY trong 20 phiên gần nhất đã hoàn tất:
| mốc ET | % khối lượng trong ngày đã thực hiện trung bình |
|---|---|
| 10:00 | 12 |
| 12:00 | 34.3 |
| 14:00 | 51.1 |
| 15:30 | 64.9 |
| 16:00 | 82.8 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_min AS (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS et_date,
formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i') AS et_min,
sum(toFloat64(size)) AS v
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND sip_timestamp >= now() - INTERVAL 45 DAY
AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY et_date, et_min
),
last20 AS (
SELECT DISTINCT et_date FROM per_min ORDER BY et_date DESC LIMIT 20
)
SELECT checkpoint AS et_checkpoint,
round(avg(share) * 100, 1) AS avg_pct_of_day_volume_done
FROM (
SELECT et_date,
checkpoint,
sumIf(v, et_min < checkpoint) / sum(v) AS share
FROM (
SELECT et_date, et_min, v, arrayJoin(['10:00', '12:00', '14:00', '15:30', '16:00']) AS checkpoint
FROM per_min
WHERE et_date IN (SELECT et_date FROM last20)
)
GROUP BY et_date, checkpoint
)
GROUP BY checkpoint
ORDER BY checkpointĐến 10:00 sáng, tức 30 phút sau khi phiên giao dịch thông thường bắt đầu, SPY thường mới ghi nhận 12% tổng khối lượng cả ngày; đến trưa là 34.3%, đến 2:00 chiều là 51.1%, còn đến 3:30 chiều vẫn chỉ 64.9%. Ngay cả khi tiếng chuông đóng cửa vang lên lúc 4:00 chiều, tổng khối lượng mới đạt 82.8%. Phần còn lại được báo cáo vào hoặc sau 16:00, phần lớn xuất hiện trong những phút đầu sau khi thị trường đóng cửa, khi phiên đấu giá đóng cửa và các giao dịch cuối ngày khác được đưa lên tape. Bản thân phiên giao dịch ngoài giờ có thanh khoản thấp hơn nhiều.
Điều này phù hợp với đoạn dốc trong biểu đồ trên: tốc độ giao dịch mỗi phút sụt mạnh khi thị trường đóng cửa, dù một phần đáng kể tổng khối lượng trong ngày vẫn đang được báo cáo. RVOL buổi sáng đã điều chỉnh theo thời gian lấy khối lượng lũy kế hôm nay chia cho khối lượng bình quân 20 ngày nhân với tỷ trọng tại thời điểm kiểm tra. Cần lưu ý rằng lịch này áp dụng cho SPY; mỗi cổ phiếu có nhịp thời gian riêng. Ví dụ minh họa bên dưới đo lường một mã cụ thể.
Ví dụ minh họa: một phiên có thanh khoản rất cao trong thực tế (MU)
Tháng 6 năm 2026 là một tháng có thanh khoản rất cao đối với Micron. Bài phân tích chuyên sâu về MU tháng 6 năm 2026 trình bày toàn bộ diễn biến giao dịch. Dưới đây là phiên có khối lượng lớn nhất trong tháng đó, với phép tính RVOL theo cả hai cách:
| ngày phiên | khối lượng đến 10:30 (triệu) | khối lượng trung bình đến 10:30 (triệu) | RVOL đến 10:30 đã điều chỉnh | RVOL đến 10:30 chưa điều chỉnh | khối lượng phiên (triệu) | ADV trượt (triệu) | RVOL cả ngày |
|---|---|---|---|---|---|---|---|
| 2026-06-25 | 32.8 | 17.3 | 1.9 | 0.64 | 77.2 | 51 | 1.5 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH mu_daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS day_volume,
sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '10:30') AS vol_by_1030
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-04-15 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-01 00:00:00', 'America/New_York')
GROUP BY et_date
HAVING day_volume > 1000000
),
biggest AS (
SELECT et_date, day_volume, vol_by_1030
FROM mu_daily
WHERE et_date >= toDate('2026-06-01') AND et_date <= toDate('2026-06-30')
ORDER BY day_volume DESC
LIMIT 1
),
trailing AS (
SELECT sum(day_volume) / 20 AS adv, sum(vol_by_1030) / 20 AS avg_by_1030
FROM (
SELECT day_volume, vol_by_1030
FROM mu_daily
WHERE et_date < (SELECT et_date FROM biggest)
ORDER BY et_date DESC
LIMIT 20
)
)
SELECT formatDateTime((SELECT et_date FROM biggest), '%Y-%m-%d') AS session_date,
round((SELECT vol_by_1030 FROM biggest) / 1e6, 1) AS vol_by_1030_m,
round((SELECT avg_by_1030 FROM trailing) / 1e6, 1) AS avg_vol_by_1030_m,
round((SELECT vol_by_1030 FROM biggest) / (SELECT avg_by_1030 FROM trailing), 1) AS rvol_1030_adjusted,
round((SELECT vol_by_1030 FROM biggest) / (SELECT adv FROM trailing), 2) AS rvol_1030_naive,
round((SELECT day_volume FROM biggest) / 1e6, 1) AS session_volume_m,
round((SELECT adv FROM trailing) / 1e6, 1) AS trailing_adv_m,
round((SELECT day_volume FROM biggest) / (SELECT adv FROM trailing), 1) AS rvol_full_dayPhiên lớn nhất trong tháng của MU diễn ra vào 2026-06-25. Đến 10:30 sáng hôm đó, đã có 32.8 triệu cổ phiếu được giao dịch, so với mức trung bình 17.3 triệu cổ phiếu vào cùng thời điểm trong 20 phiên trước đó. RVOL đã điều chỉnh theo thời gian là 1.9. Nếu chia tổng khối lượng buổi sáng cho khối lượng trung bình cả ngày là 51 triệu cổ phiếu, cách tính đơn giản cho kết quả 0.64: một phiên dưới mức trung bình, dù buổi sáng đang diễn ra với tốc độ gần gấp đôi thông thường. Phiên này kết thúc với 77.2 triệu cổ phiếu được giao dịch, tương đương RVOL cả ngày là 1.5.
Con số cuối phiên này có thể trông khiêm tốn khi đặt cạnh các mã tăng mạnh với khối lượng gấp mười lần mức trung bình. Việc nó thực sự khiêm tốn hay không là câu hỏi về phân phối, sẽ được đo lường tiếp theo.
Mức relative volume nào được xem là cao?
Các diễn đàn giao dịch thường đưa ra ngưỡng như “RVOL trên 2 là cao”. Dưới đây là cách đo cụ thể: RVOL cả ngày của mọi cổ phiếu và ETF niêm yết tại Mỹ có khối lượng giao dịch bình quân 20 ngày trên 5 triệu cổ phiếu, đồng thời có đủ dữ liệu của 20 phiên trước đó. Các giá trị được xếp theo percentile trong toàn bộ nhóm, dựa trên phiên gần nhất đã hoàn tất trong dữ liệu của chúng tôi. Lưu ý về cách gọi: bộ lọc đếm số cổ phiếu, không phải giá trị giao dịch bằng USD. Vì vậy, nhóm có khối lượng cao này bao gồm từ cổ phiếu vốn hóa mega-cap và ETF đến các cổ phiếu vốn hóa nhỏ, giá thấp nhưng có tần suất giao dịch cao. Khối lượng cổ phiếu lớn không đồng nghĩa với khả năng giao dịch dễ dàng.
| bách phân vị | RVOL |
|---|---|
| p10 | 0.1 |
| p25 | 0.77 |
| p50 (median) | 1.05 |
| p75 | 1.38 |
| p90 | 1.81 |
| p99 | 3.99 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
toFloat64(sum(volume)) AS day_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 40 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY ticker, et_date
),
spy_days AS (
SELECT et_date,
day_volume,
avg(day_volume) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS prior_avg
FROM daily
WHERE ticker = 'SPY' AND day_volume > 10000000
),
sessions AS (
SELECT et_date FROM spy_days
),
latest AS (
SELECT max(et_date) AS d FROM spy_days WHERE prior_avg > 0 AND day_volume >= 0.6 * prior_avg
),
prior20 AS (
SELECT et_date FROM sessions WHERE et_date < (SELECT d FROM latest) ORDER BY et_date DESC LIMIT 20
),
rvols AS (
SELECT ticker, day_vol / adv20 AS rvol
FROM (
SELECT ticker,
sumIf(day_volume, et_date = (SELECT d FROM latest)) AS day_vol,
sumIf(day_volume, et_date IN (SELECT et_date FROM prior20)) / 20 AS adv20,
countIf(day_volume > 0 AND et_date IN (SELECT et_date FROM prior20)) AS sessions_traded
FROM daily
WHERE ticker NOT IN ('SPCX')
GROUP BY ticker
HAVING adv20 > 5000000 AND day_vol > 0 AND sessions_traded = 20
)
)
SELECT pair.1 AS percentile,
round(pair.2, 2) AS rvol
FROM (
SELECT arrayJoin(arrayZip(['p10', 'p25', 'p50 (median)', 'p75', 'p90', 'p99'], quantilesExact(0.1, 0.25, 0.5, 0.75, 0.9, 0.99)(rvol))) AS pair
FROM rvols
)
ORDER BY percentileCổ phiếu trung vị trong nhóm có khối lượng cao này giao dịch ở mức 1.05 lần khối lượng bình quân 20 ngày của chính nó. Chín trên mười cổ phiếu có mức dưới 1.81, và chỉ một trên một trăm cổ phiếu vượt 3.99. Đặt phiên giao dịch của MU ở phần trước cạnh bảng này, mức đó không còn khiêm tốn. Ngay cả những cổ phiếu giao dịch sôi động cũng thường chỉ quanh mức bình quân của chính chúng trong phần lớn số phiên. Các mức cao hơn nhiều lần là rất hiếm.
Phần đuôi thấp cũng đáng chú ý: percentile thứ 10 nằm ở 0.1. Mức thấp như vậy thường cho thấy bình quân 20 ngày của một cổ phiếu vẫn bị ảnh hưởng bởi một phiên có khối lượng đặc biệt lớn sau một đợt tăng đột biến. Khi đó, mẫu số bị đẩy lên cao và giữ RVOL ở mức thấp trong nhiều tuần. Cửa sổ quan sát có tính ghi nhớ theo cả hai hướng.
Một điểm cần lưu ý: đây là phân bố chéo của một phiên duy nhất, nên các percentile thay đổi theo từng ngày. Những ngày xuất hiện sự kiện trên toàn thị trường, như các đợt tái cân bằng chỉ số hoặc ngày đáo hạn quyền chọn, có thể nâng toàn bộ đường phân bố.
Cổ phiếu nào có khối lượng bất thường? Bảng xếp hạng RVOL
Cùng một nhóm cổ phiếu, được xếp hạng (bảng theo dõi hằng tuần cố định nằm tại cổ phiếu có khối lượng bất thường trong tuần này): mười mức RVOL cả phiên cao nhất trong phiên 2026-10-15 của các mã có khối lượng bình quân trên 5 triệu cổ phiếu mỗi ngày. Đây là những mã mà screener sẽ gắn cờ là có khối lượng bất thường. Bộ lọc yêu cầu đủ 20 phiên trước đó. Các mã mới niêm yết chưa có mức bình quân 20 ngày đáng tin cậy và nếu không loại ra sẽ khiến bảng bị lấp đầy bởi các kết quả nhiễu.
| ticker | ngày phiên | khối lượng phiên (triệu) | ADV 20 ngày (triệu) | RVOL |
|---|---|---|---|---|
| CCC | 2026-10-15 | 318 | 9.3 | 34.1 |
| WETO | 2026-10-15 | 111.2 | 6.5 | 17 |
| SDST | 2026-10-15 | 1641.1 | 106.3 | 15.4 |
| DKI | 2026-10-15 | 125.7 | 19.1 | 6.6 |
| WFF | 2026-10-15 | 140.1 | 23.1 | 6.1 |
| ERIC | 2026-10-15 | 39.9 | 8.2 | 4.9 |
| WULF | 2026-10-15 | 105.9 | 26.5 | 4 |
| CRWV | 2026-10-15 | 127.5 | 32.6 | 3.9 |
| HUMA | 2026-10-15 | 20.7 | 5.3 | 3.9 |
| KORU | 2026-10-15 | 77.4 | 21.4 | 3.6 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
toFloat64(sum(volume)) AS day_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 40 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY ticker, et_date
),
spy_days AS (
SELECT et_date,
day_volume,
avg(day_volume) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS prior_avg
FROM daily
WHERE ticker = 'SPY' AND day_volume > 10000000
),
sessions AS (
SELECT et_date FROM spy_days
),
latest AS (
SELECT max(et_date) AS d FROM spy_days WHERE prior_avg > 0 AND day_volume >= 0.6 * prior_avg
),
prior20 AS (
SELECT et_date FROM sessions WHERE et_date < (SELECT d FROM latest) ORDER BY et_date DESC LIMIT 20
)
SELECT ticker,
formatDateTime((SELECT d FROM latest), '%Y-%m-%d') AS session_date,
round(day_vol / 1e6, 1) AS session_volume_m,
round(adv20 / 1e6, 1) AS adv_20d_m,
round(day_vol / adv20, 1) AS rvol
FROM (
SELECT ticker,
sumIf(day_volume, et_date = (SELECT d FROM latest)) AS day_vol,
sumIf(day_volume, et_date IN (SELECT et_date FROM prior20)) / 20 AS adv20,
countIf(day_volume > 0 AND et_date IN (SELECT et_date FROM prior20)) AS sessions_traded
FROM daily
WHERE ticker NOT IN ('SPCX')
GROUP BY ticker
HAVING adv20 > 5000000 AND day_vol > 0 AND sessions_traded = 20
)
ORDER BY rvol DESC, ticker
LIMIT 10Đứng đầu bảng, CCC, ghi nhận 318 triệu cổ phiếu, so với mức bình quân 20 ngày là 9.3 triệu cổ phiếu, tương ứng RVOL 34.1. Tất cả các dòng đều vượt mức bình quân riêng của mình. Những bảng như vậy thường ít xuất hiện các mega-cap quen thuộc với nhà đầu tư cá nhân. Để tăng gấp đôi một mức bình quân vốn đã rất lớn cần số cổ phiếu giao dịch đặc biệt cao, trong khi một mã nhỏ hơn có thể ghi nhận khối lượng gấp nhiều lần chỉ trong một phiên.
Ghi chú dữ liệu: lựa chọn phiên và các trường hợp loại trừ
Cả hai bảng xếp hạng sử dụng cùng một nhóm cổ phiếu và cùng quy tắc chọn phiên. Một phiên chỉ được tính là hoàn tất khi dữ liệu giao dịch của SPY trong ngày đó đạt ít nhất 60% khối lượng bình quân của chính SPY trong 20 phiên trước đó. Dữ liệu của ngày gần nhất được cập nhật trễ. Kiểm tra này giúp tránh coi một ngày mới chỉ được tải một phần là phiên đã hoàn tất. Cả hai bảng cũng loại trừ một mã mà các sở giao dịch gần đây đã chuyển sang một đợt niêm yết mới. Nguồn dữ liệu của nhà cung cấp đang gộp lịch sử của hai công ty khác nhau dưới cùng ticker đó, nên mức bình quân 20 ngày không phải là một cơ sở tham chiếu có ý nghĩa. Danh sách loại trừ trong SQL được đồng bộ với các bước kiểm tra nhận diện mã tại mỗi lần cập nhật. Bất kỳ mã được tái sử dụng nào mới bị gắn cờ cũng sẽ được thêm theo cùng cách.
Câu hỏi thường gặp
Chỉ số RVOL bao nhiêu được xem là tốt?
Không có ngưỡng chính thức. Trong nhóm cổ phiếu Mỹ có thanh khoản cao, dựa trên phiên gần nhất đã hoàn tất trong dữ liệu của chúng tôi, mã trung vị đạt 1.05 lần khối lượng trung bình 20 ngày, bách phân vị 90 là 1.81 và bách phân vị 99 là 3.99.
RVOL bằng 2 có nghĩa là gì?
Cổ phiếu đã giao dịch với khối lượng gấp hai lần mức trung bình trong khung thời gian đo lường, thường là 20 phiên gần nhất. Thời điểm trong ngày rất quan trọng: mức 2 so với trung bình tại cùng thời điểm trong ngày là một tín hiệu mạnh vào giữa phiên; mức 2 khi đóng cửa cho thấy cả ngày có nhịp giao dịch gấp hai lần thông thường.
Tính relative volume trong phiên như thế nào?
Lấy khối lượng lũy kế hôm nay chia cho khối lượng lũy kế trung bình tại cùng thời điểm trong ngày trong giai đoạn quan sát. Nếu lấy tổng khối lượng giữa buổi sáng chia cho khối lượng trung bình cả ngày, kết quả sẽ bị đánh giá thấp đáng kể. Đến 10:00 sáng, SPY thường mới hoàn tất 12% khối lượng của cả ngày.
Relative volume có bao gồm giao dịch premarket và after-hours không?
Quy ước của mỗi nền tảng khác nhau. Trang này tính toàn bộ ngày lịch theo Eastern Time, bao gồm cả giờ giao dịch mở rộng. Với SPY, đóng góp từ premarket khá nhỏ: trung vị là 3.6 nghìn cổ phiếu mỗi phút trong khung 9:00, so với 95.5 nghìn ngay sau giờ mở cửa.
Relative volume cao là tín hiệu tăng giá hay giảm giá?
Không phải cả hai. RVOL đo lường mức độ tham gia, không đo hướng đi của giá. Dòng lệnh lớn xuất hiện trong cả những ngày cổ phiếu tăng mạnh nhất và giảm mạnh nhất. Trong lịch sử, các phiên có RVOL cao thường trùng với thời điểm công bố kết quả kinh doanh, thay đổi chỉ số và tin tức quan trọng. Chỉ số này cho biết thị trường có đông người tham gia, chứ không cho biết họ nghiêng về hướng nào.
Mỗi bảng ở trên đều kèm theo câu lệnh SQL chính xác đã tạo ra dữ liệu. Hãy mở một bảng, thay bằng ticker của bạn và đo RVOL cho những mã bạn thực sự giao dịch trên terminal Strasmore.