Trang chủBlogChiến Lược TradingOHLCV LÀ GÌ VÀ 5 CỘT DỮ LIỆU NÀY ĐANG KỂ CÂU CHUYỆN GÌ VỀ THỊ TRƯỜNG?
OHLCV LÀ GÌ VÀ 5 CỘT DỮ LIỆU NÀY ĐANG KỂ CÂU CHUYỆN GÌ VỀ THỊ TRƯỜNG?
Chiến Lược Trading

OHLCV LÀ GÌ VÀ 5 CỘT DỮ LIỆU NÀY ĐANG KỂ CÂU CHUYỆN GÌ VỀ THỊ TRƯỜNG?

OHLCV LÀ GÌ

Ngọc Hải LươngNgọc Hải Lương
30/7/2026
10 phút phút đọc
38 lượt xem

Phần 1: Đằng sau một cây nến giá là cả một cuộc chiến giữa người mua và người bán

Khi mở một biểu đồ chứng khoán, phần lớn nhà đầu tư thường bắt đầu bằng một câu hỏi rất đơn giản: “Hôm nay cổ phiếu tăng hay giảm?”. Một mã cổ phiếu tăng từ 50.000 đồng lên 55.000 đồng thường được hiểu là đã tăng 10%. Tuy nhiên, đối với những người làm phân tích dữ liệu hoặc Quant Trading, con số 10% đó mới chỉ là phần kết quả cuối cùng. Điều quan trọng hơn là phải hiểu quá trình nào đã tạo ra mức tăng đó: giá tăng nhờ dòng tiền lớn tham gia, do lượng người bán tạm thời biến mất, hay chỉ là một nhịp kéo ngắn hạn trước khi áp lực bán quay trở lại.

Mỗi phiên giao dịch trên thị trường thực chất là một cuộc đấu giá liên tục giữa bên mua và bên bán. Trong vài giờ giao dịch, có hàng triệu quyết định được đưa ra: người mua chấp nhận trả giá cao hơn để sở hữu cổ phiếu, người bán chấp nhận hạ giá để thoát vị thế, các quỹ lớn tái cơ cấu danh mục, nhà đầu tư cá nhân phản ứng với tin tức. Toàn bộ quá trình phức tạp đó cuối cùng được cô đọng lại trong 5 cột dữ liệu cơ bản: Open, High, Low, Close và Volume, thường được gọi chung là OHLCV.

OHLCV gồm:

  • Open (O): Giá mở cửa của phiên giao dịch.

  • High (H): Giá cao nhất mà cổ phiếu đạt được trong phiên.

  • Low (L): Giá thấp nhất mà cổ phiếu chạm tới trong phiên.

  • Close (C): Giá đóng cửa cuối phiên.

  • Volume (V): Khối lượng cổ phiếu được giao dịch.

Đây là bộ dữ liệu nền tảng được sử dụng trong hầu hết các hệ thống phân tích kỹ thuật, chiến lược giao dịch định lượng và mô hình Machine Learning trong tài chính. Dù một quỹ đầu tư đang nghiên cứu chiến lược Momentum, Breakout, Mean Reversion hay xây dựng mô hình dự báo xu hướng, điểm bắt đầu thường vẫn là dữ liệu OHLCV.

Ví dụ, một cổ phiếu có dữ liệu trong ngày như sau:

Open:   100.000 đồng
High:   110.000 đồng
Low:     98.000 đồng
Close:  105.000 đồng
Volume: 8 triệu cổ phiếu

Nếu chỉ nhìn giá đóng cửa, nhà đầu tư có thể kết luận rằng cổ phiếu tăng 5% và đây là một phiên tích cực. Nhưng OHLCV kể một câu chuyện sâu hơn. Trong phiên, cổ phiếu từng bị bán xuống 98.000 đồng, nghĩa là bên bán đã có thời điểm chiếm ưu thế. Sau đó lực cầu xuất hiện, đẩy giá lên tận 110.000 đồng. Tuy nhiên, cuối phiên giá không thể giữ được mức cao nhất mà đóng cửa tại 105.000 đồng. Điều này cho thấy vùng 110.000 đồng đã xuất hiện lượng cung đáng kể.

Cùng một mức tăng 5%, nhưng hành vi giá có thể hoàn toàn khác nhau. Một cổ phiếu mở cửa 100.000 đồng, tăng đều lên 105.000 đồng và đóng cửa sát mức cao nhất thể hiện một trạng thái rất khác với cổ phiếu mở cửa 100.000 đồng, bị kéo lên 115.000 đồng rồi bị bán ngược về 105.000 đồng. Cả hai đều tăng 5%, nhưng một bên cho thấy bên mua kiểm soát cả ngày, bên còn lại cho thấy người mua đã gặp phải lực bán mạnh ở vùng giá cao.

Đó chính là lý do các nhà giao dịch chuyên nghiệp không chỉ nhìn vào việc giá tăng hay giảm. Họ quan tâm đến cách giá di chuyển. OHLCV không dự đoán tương lai, nhưng nó ghi lại dấu vết của cuộc chiến cung cầu đã xảy ra.

Phần 2: Năm cột dữ liệu OHLCV đang nói gì về tâm lý thị trường?

Giá Open thường phản ánh kỳ vọng ban đầu của thị trường trước khi phiên giao dịch bắt đầu. Những thông tin xuất hiện ngoài giờ như báo cáo tài chính, tin vĩ mô, thay đổi chính sách hoặc biến động thị trường quốc tế thường được phản ánh đầu tiên qua giá mở cửa.

Ví dụ, một doanh nghiệp công bố lợi nhuận quý tăng 50% sau khi thị trường đóng cửa. Sáng hôm sau, cổ phiếu mở cửa cao hơn 5%. Điều này có nghĩa là nhiều nhà đầu tư đã sẵn sàng trả mức giá cao hơn ngay khi thị trường mở cửa vì họ tin rằng thông tin mới làm tăng giá trị doanh nghiệp.

Tuy nhiên, Open chỉ phản ánh kỳ vọng ban đầu, chưa phản ánh cuộc chiến trong cả phiên. Một cổ phiếu có thể mở cửa rất tích cực nhưng sau đó bị bán mạnh.

Ví dụ:

Open: 100
High: 112
Low: 99
Close: 101

Nếu chỉ nhìn Open và Close, có thể nghĩ đây là một phiên gần như không thay đổi. Nhưng thực tế, cổ phiếu đã từng được đẩy tăng 12% trong ngày trước khi bị bán xuống. Điều này cho thấy có lực mua ban đầu, nhưng vùng giá cao đã kích hoạt lượng cung lớn.

Trong nhiều trường hợp, đây là hành vi xuất hiện ở những cổ phiếu đã tăng mạnh trước đó. Tin tức tốt vẫn xuất hiện, nhà đầu tư mới vẫn hào hứng mua vào, nhưng những người mua từ vùng giá thấp bắt đầu tận dụng cơ hội để chốt lời.


High – Giá cao nhất trong phiên thể hiện mức giá mà bên mua từng sẵn sàng trả cao nhất. Nhưng High không chỉ phản ánh sức mạnh của người mua, nó còn cho thấy nơi bên bán bắt đầu phản ứng.

Một cổ phiếu tăng từ 30.000 đồng lên 80.000 đồng thường sẽ thu hút rất nhiều nhà đầu tư muốn tham gia vì câu chuyện tăng trưởng. Nhưng những người mua ở vùng 30.000 đồng cũng đang có mức lợi nhuận rất lớn. Khi giá tiến đến những vùng cao, họ có động lực bán ra.

Nếu một cổ phiếu liên tục có hiện tượng:

  • - Trong phiên vượt đỉnh cũ.
    - Khối lượng giao dịch tăng mạnh.
    - Nhưng cuối phiên đóng cửa thấp hơn đáng kể.

  • Đây là tín hiệu cần quan sát. Nó cho thấy bên mua vẫn cố đẩy giá lên, nhưng lượng cung ở phía trên đang hấp thụ phần lớn lực cầu.

Trong phân tích kỹ thuật, đây là lý do nhiều nhà đầu tư quan tâm đến bóng nến. Một cây nến có bóng trên dài không tự động có nghĩa là đảo chiều, nhưng nếu xuất hiện liên tục tại vùng đỉnh với thanh khoản lớn, nó có thể phản ánh sự thay đổi trong cán cân cung cầu.

Low – Giá thấp nhất trong phiên lại kể một câu chuyện ngược lại: khi bên bán ép giá xuống, bên mua phản ứng ở đâu?

Ví dụ:

Open: 200
High: 215
Low: 180
Close: 212

Trong phiên, cổ phiếu từng giảm 10% từ giá mở cửa. Nếu chỉ nhìn giữa phiên, nhiều người có thể nghĩ cổ phiếu đang rất yếu. Nhưng cuối ngày giá hồi phục gần mức cao nhất.

Điều này cho thấy tại vùng 180, lượng tiền chờ mua đã xuất hiện đủ lớn để hấp thụ lực bán. Đây có thể là dấu hiệu của cầu mạnh.

Ngược lại:

Open: 200
High: 205
Low: 175
Close: 176

Cổ phiếu không chỉ giảm mà còn đóng cửa gần mức thấp nhất. Điều này cho thấy bên bán duy trì quyền kiểm soát đến cuối phiên.

Trong Quant Trading, những đặc điểm như vậy được biến thành dữ liệu:

  • Tỷ lệ Close so với High và Low.
    Biên độ dao động trong ngày.
    Khả năng hồi phục sau khi giảm sâu.
    Close – Giá đóng cửa thường là dữ liệu quan trọng nhất trong OHLCV vì đây là mức giá cuối cùng mà thị trường chấp nhận sau toàn bộ quá trình giao dịch.

Rất nhiều chỉ báo nổi tiếng đều được xây dựng từ Close:

df["MA50"] = df["Close"].rolling(50).mean()
df["Trend"] = (
    df["Close"] > df["MA50"]
)

Đoạn code trên chỉ trả lời một câu hỏi:

“Giá hiện tại có nằm trên mức trung bình 50 phiên gần nhất hay không?”

Nếu có, nhiều hệ thống xem đây là dấu hiệu xu hướng ngắn và trung hạn đang tích cực hơn.

Tuy nhiên, chỉ nhìn Close có thể bỏ qua diễn biến bên trong phiên. Hai cổ phiếu cùng tăng 5% nhưng có thể mang thông điệp hoàn toàn khác.

Một cổ phiếu tăng từ đầu ngày đến cuối ngày và đóng cửa gần High thường thể hiện lực mua ổn định.

Một cổ phiếu tăng mạnh đầu ngày rồi bị bán ngược và đóng cửa gần Low lại cho thấy bên mua chưa thực sự kiểm soát.

Volume – Khối lượng giao dịch là phần giúp trả lời câu hỏi quan trọng nhất:

“Giá di chuyển với bao nhiêu sự tham gia của dòng tiền?”

Một cổ phiếu tăng 5% với 500 nghìn cổ phiếu giao dịch khác hoàn toàn với tăng 5% cùng 30 triệu cổ phiếu.

Ví dụ:

Ngày A:

Giá: +5%
Volume: 1 triệu cổ phiếu

Ngày B:

Giá: +5%
Volume: 20 triệu cổ phiếu

Ngày B cho thấy có sự tham gia mạnh hơn của thị trường.

Trong phân tích kỹ thuật có một nguyên tắc phổ biến:

Giá tăng đi cùng khối lượng tăng thường đáng tin hơn giá tăng nhưng thanh khoản suy giảm.

Đặc biệt trong các giai đoạn breakout, Volume đóng vai trò xác nhận. Một cổ phiếu vượt vùng kháng cự với thanh khoản cao thường được đánh giá tích cực hơn so với một cú vượt cản nhưng gần như không có dòng tiền tham gia.

Phần 3: Từ OHLCV đến Quant Trading – biến dữ liệu giá thành tín hiệu có thể kiểm chứng

OHLCV chỉ là dữ liệu thô. Giá trị thực sự xuất hiện khi chúng ta biến những con số này thành các đặc trưng có thể đo lường.

Ví dụ, một nhà đầu tư nói:

“Cổ phiếu này đang breakout”.

Một hệ thống Quant sẽ không hiểu câu đó. Nó cần biến thành quy tắc:

  • Giá có vượt đỉnh 20 phiên không?
    Khối lượng hôm nay có cao hơn bình thường không?
    Biến động hiện tại có quá lớn không?
    Xu hướng dài hạn có ủng hộ không?

  • Ví dụ một chiến lược breakout đơn giản:

import pandas as pd
df["High_20"] = (
    df["High"]
    .rolling(20)
    .max()
)
df["Volume_Avg"] = (
    df["Volume"]
    .rolling(20)
    .mean()
)
df["Breakout"] = (
    (df["Close"] > df["High_20"])
    &
    (df["Volume"] > df["Volume_Avg"] * 1.5)
)

Logic rất đơn giản:

Không mua chỉ vì giá tăng.

Chỉ quan tâm khi giá vượt vùng mà 20 phiên trước chưa vượt và dòng tiền lớn hơn bình thường.

Một ví dụ khác là đo biến động:

df["Return"] = (
    df["Close"]
    .pct_change()
)
df["Volatility"] = (
    df["Return"]
    .rolling(20)
    .std()
)

Từ đó có thể biết cổ phiếu nào đang biến động mạnh, giai đoạn nào rủi ro tăng và khi nào cần giảm tỷ trọng.

Nhưng cần nhớ rằng OHLCV chỉ phản ánh hành vi giá, không phản ánh toàn bộ nguyên nhân phía sau. Một mô hình nhìn thấy cổ phiếu giảm 10% trong ba phiên liên tiếp, nhưng nó không biết nguyên nhân là do:

  • Thị trường chung điều chỉnh.
    Doanh nghiệp gặp vấn đề pháp lý.
    Lợi nhuận suy giảm.
    Nhà đầu tư lớn thoát vị thế.

  • Vì vậy, các quỹ chuyên nghiệp thường kết hợp OHLCV với nhiều lớp dữ liệu khác:

  • Báo cáo tài chính.
    Dữ liệu vĩ mô.
    Dòng tiền tổ chức.
    Tin tức.
    Dữ liệu thay thế.