Dữ liệu final là dữ liệu của một phiên sau khi đã đối soát cuối ngày và sẽ không đổi nữa; dữ liệu trong phiên là tạm thời. Point-in-time là nguyên tắc mỗi giá trị mang thời điểm sớm nhất mà người quan sát có thể biết nó, để kiểm định không dùng thông tin tương lai.
Định nghĩa đầy đủ
Dữ liệu point-in-time là dữ liệu mà mỗi giá trị được ghi kèm thời điểm nó trở nên biết được, tách biệt với thời điểm sự kiện xảy ra. Dữ liệu final là bản dữ liệu của một ngày đã qua đối soát cuối phiên và được giữ nguyên; sửa đổi sau đó tạo bản mới có đánh số.
Lưu ý rủi ro: Nội dung mang tính giáo dục về phương pháp dữ liệu và kiểm định, không phải tư vấn đầu tư. Hợp đồng tương lai dùng đòn bẩy nên lãi và lỗ đều bị khuếch đại; kết quả backtest không đảm bảo kết quả giao dịch thật.
Những điều cần nhớ
- Mỗi dòng dữ liệu có thời điểm nến (
bar_time) và thời điểm biết được (available_at) - Dữ liệu một phiên thành final sau đối soát cuối ngày, khoảng 15:45
- Sửa dữ liệu đã final tạo revision mới, không ghi đè bản cũ
- Chỉ số VN30 trong hệ thống chỉ được tính sau khi kết thúc phiên
- Biểu đồ ghim ngày kèm phiên bản
ms-v2cho cùng kết quả ở mọi lần xem
Dữ liệu tính đến phiên 02/10/2026, phiên bản tính toán ms-v2, đã đối soát cuối ngày.
Hai mốc thời gian của mỗi dòng dữ liệu
Một bảng giá thông thường chỉ có một cột thời gian: giờ của cây nến. Với kiểm định, cần thêm câu trả lời cho câu hỏi lúc nào thì con số này biết được?
Dữ liệu point-in-time ghi hai mốc cho mỗi dòng:
bar_time— thời điểm bắt đầu của nến mà giá trị thuộc về.available_at— thời điểm sớm nhất giá trị đó tồn tại với một người quan sát thời gian thực.
Ví dụ minh họa: nến 5 phút 10:00 có bar_time là 10:00 nhưng available_at là 10:05, vì giá đóng cửa, giá cao nhất, thấp nhất của nến chỉ biết khi nến đóng. Một quy tắc đọc giá đóng cửa nến 10:00 chỉ được chạy từ 10:05.
Khoảng cách giữa hai mốc không phải lúc nào cũng bằng độ dài nến. Nến 5 phút cuối phiên của VN30F1M bắt đầu lúc 14:25 nhưng chỉ biết được lúc 14:46, vì nó chứa lần khớp đóng cửa — xem bài gộp nến theo khung neo phiên. Với đỉnh và đáy, khoảng cách còn dài hơn: một đỉnh chỉ biết được sau khi đủ nến xác nhận, như đã phân tích ở bài độ trễ xác nhận swing và look-ahead.
Nguyên tắc dùng trong kiểm định rất gọn: tại thời điểm T, chỉ được dùng các dòng có available_at không muộn hơn T. Mọi vi phạm nguyên tắc này là một dạng nhìn trước — xem bài thuật ngữ look-ahead bias trong dữ liệu lịch sử và bài look-ahead bias trong tín hiệu giao dịch khi backtest.
Tạm thời trong phiên, final sau đối soát
Point-in-time trả lời "biết lúc nào". Còn một câu hỏi thứ hai: "con số đã biết đó có thể thay đổi không?"
Trong phiên, dữ liệu VN30F1M được tính ngay khi từng nến đóng. Nguồn dữ liệu trong phiên có thể thiếu hoặc lệch vài lần khớp, nên mọi giá trị tính trong phiên được coi là tạm thời.
Sau khi phiên kết thúc, dữ liệu của cả ngày được đối soát với nguồn cuối ngày và toàn bộ phép tính được chạy lại. Từ lúc đó — khoảng 15:45 — ngày đó được đánh dấu final. Có ba quy tắc đi kèm trạng thái final:
- Không ghi đè. Nếu sau này phát hiện sai sót ở một ngày đã final, bản sửa được ghi thành một revision mới có số thứ tự. Bản cũ vẫn còn.
- Kiểm tra chất lượng trước khi chốt. Ngày thiếu quá nhiều nến 1 phút không được chốt là final và không dùng được cho biểu đồ ghim ngày.
- Phiên bản tính toán đi kèm. Final chỉ cố định dữ liệu đầu vào. Công thức và tham số được cố định bằng phiên bản tính toán, hiện là
ms-v2.
Một bộ dữ liệu vì vậy chỉ tái lập được khi biết cả ngày, phiên bản tính toán và revision. Các tiêu chí kiểm tra khác cho dữ liệu lịch sử có trong checklist chất lượng dữ liệu lịch sử VN30F1M.
Biểu đồ ghim ngày: phiên 30/09/2026
VN30F1M khung 5 phút, phiên 30/09/2026 — dữ liệu đã đối soát cuối ngày
| Đỉnh/đáy | Giá | Nhãn | Xác nhận lúc |
|---|---|---|---|
| 09:10 30/09 | 1.935 | HH — Đỉnh cao hơn | 09:30 30/09 |
| 10:00 30/09 | 1.926,7 | HL — Đáy cao hơn | 10:20 30/09 |
| 10:05 30/09 | 1.931,3 | LH — Đỉnh thấp hơn | 11:05 30/09 |
| 10:45 30/09 | 1.922,4 | LL — Đáy thấp hơn | 11:05 30/09 |
| 11:10 30/09 | 1.926,4 | LH — Đỉnh thấp hơn | 11:30 30/09 |
| 11:25 30/09 | 1.922,8 | HL — Đáy cao hơn | 13:20 30/09 |
| 13:00 30/09 | 1.927,4 | HH — Đỉnh cao hơn | 13:20 30/09 |
| 13:20 30/09 | 1.920,2 | LL — Đáy thấp hơn | 13:40 30/09 |
| 13:30 30/09 | 1.926,5 | LH — Đỉnh thấp hơn | 13:50 30/09 |
Đỉnh/đáy chỉ được xác nhận sau 3 nến 5 phút — swing gần nhất luôn hiện trễ so với giá.
Dữ liệu: VN30F1M · 5m · phiên 30/09/2026 · ms-v2 · final
Biểu đồ trên được yêu cầu với một ngày cụ thể và một phiên bản cụ thể. Phiên 30/09/2026 của hợp đồng 41I1GA000 có 9 swing đã xác nhận trên khung 5 phút và đóng cửa ở 1.908,4 điểm. Hai con số này được lấy từ cùng nguồn với biểu đồ, nên câu văn và hình vẽ không thể lệch nhau.
Dòng chữ nhỏ dưới biểu đồ — tem dữ liệu — ghi đủ các thông tin cần để tái lập: chuỗi giá, khung, phiên, phiên bản tính toán và trạng thái final.
Chỉ số VN30: chỉ có dữ liệu final
Chỉ số VN30 khung 15 phút, phiên 30/09/2026 — dữ liệu đã đối soát cuối ngày
- HH_HL — Đỉnh và đáy cùng cao dần
- HH_LL — Biên độ mở rộng: đỉnh cao hơn, đáy thấp hơn
- 09:45 30/09: HH_HL → HH_LL
Dữ liệu: VN30 · 15m · phiên 30/09/2026 · ms-v2 · final
Chỉ số VN30 đi theo một quy trình đơn giản hơn: hệ thống không tính chỉ số trong phiên mà chỉ tính một lần sau khi phiên kết thúc và nến chỉ số đã được đối soát. Vì vậy dữ liệu chỉ số không có giai đoạn "tạm thời". Phiên 30/09/2026 trên khung 15 phút, chỉ số kết thúc ở trạng thái HH_LL — khái niệm trạng thái ở bài cấu trúc thị trường.
Đổi lại, dữ liệu chỉ số của hôm nay chỉ có sau giờ đóng cửa. Cách ghi nhận thời điểm một giá trị bắt đầu dùng được, cho cả dữ liệu về sau phiên, có ở bài dữ liệu trong phiên và sau phiên.
Khối trạng thái hiện tại: dữ liệu không ghim ngày
Để thấy khác biệt, khối dưới đây không ghim ngày. Nó hiển thị trạng thái mới nhất của VN30F1M tại lúc trang được mở, với độ trễ so với thị trường.
Nội dung của khối này thay đổi theo thời gian, nên bài viết không nhắc tới bất kỳ con số nào trong đó. So với các biểu đồ ở trên, có ba điểm khác:
- Tem dữ liệu của khối ghi "dữ liệu tới" một thời điểm, thay vì một phiên cố định.
- Hai người mở trang vào hai ngày khác nhau sẽ thấy hai nội dung khác nhau.
Ba câu hỏi cho mọi bộ dữ liệu kiểm định
Trước khi chạy kiểm định trên bất kỳ bộ dữ liệu nào, nên trả lời được ba câu:
- Mỗi giá trị biết được lúc nào? Nếu bộ dữ liệu chỉ có giờ của nến mà không có mốc biết được, phải tự suy ra và ghi rõ giả định — tối thiểu là "biết khi nến đóng".
- Dữ liệu đã chốt chưa, và nếu bị sửa thì có dấu vết không? Bộ dữ liệu bị ghi đè âm thầm làm kết quả kiểm định không tái lập được.
- Giá trị được tính bằng công thức, tham số nào? Một chỉ báo cùng tên nhưng khác tham số là một chuỗi số khác.
Câu hỏi thường gặp
Dữ liệu point-in-time là gì?
Là dữ liệu mà mỗi giá trị được ghi kèm thời điểm nó trở nên biết được, bên cạnh thời điểm của sự kiện. Nhờ đó, khi mô phỏng lại quá khứ, có thể lọc chính xác những gì đã biết tại từng thời điểm và loại bỏ mọi thông tin chỉ xuất hiện về sau.
Dữ liệu final khác dữ liệu tạm thời thế nào?
Dữ liệu tạm thời được tính ngay trong phiên từ nguồn dữ liệu đang chạy, có thể còn thiếu hoặc lệch. Dữ liệu final là bản tính lại sau khi cả ngày đã được đối soát với nguồn cuối ngày và qua kiểm tra chất lượng. Bài viết và kiểm định nên dựa trên dữ liệu final.
Dữ liệu final có thể thay đổi không?
Bản đã final không bị ghi đè. Nếu phát hiện sai sót, bản sửa được ghi thành một revision mới có số thứ tự, còn bản cũ vẫn được giữ lại. Biểu đồ ghim ngày sẽ hiển thị revision mới nhất và ghi số revision trong tem dữ liệu, nên thay đổi luôn để lại dấu vết.
Vì sao biểu đồ trong bài phải ghim ngày?
Vì câu văn bên cạnh biểu đồ mô tả những con số cụ thể. Nếu biểu đồ tự cập nhật theo dữ liệu mới nhất, câu văn sẽ sai ngay phiên sau. Ghim ngày cùng phiên bản tính toán bảo đảm người đọc hôm nay và người đọc một năm sau thấy cùng một biểu đồ.
available_at dùng để làm gì trong backtest?
Để lọc dữ liệu theo thời điểm biết được. Tại mỗi bước mô phỏng ở thời điểm T, chỉ dùng các dòng có mốc biết được không muộn hơn T. Cách làm này chặn việc dùng giá đóng cửa của nến chưa đóng, hay dùng một đỉnh trước khi nó được xác nhận.
Tem "ms-v2 · final" dưới biểu đồ nghĩa là gì?
Tem cho biết biểu đồ lấy dữ liệu của chuỗi giá, khung và phiên nào, được tính bằng phiên bản công thức nào, và dữ liệu đã ở trạng thái final hay còn tạm thời. ms-v2 là tên phiên bản tính toán hiện tại; final nghĩa là phiên đó đã qua đối soát cuối ngày.
Nguồn tham khảo
- HNX – Hợp đồng tương lai chỉ số VN30: đặc tả hợp đồng và thời gian giao dịch – hnx.vn – truy cập 04/10/2026
- HOSE – Quy tắc xây dựng và quản lý chỉ số HOSE-Index (chỉ số VN30) – hsx.vn – truy cập 04/10/2026
- Dữ liệu thị trường: Stockup Market Structure, phiên bản
ms-v2, dữ liệu đã đối soát cuối ngày
Giờ đối soát cuối ngày và quy trình tính chỉ số là theo vận hành hiện tại của hệ thống, được rà soát định kỳ 6 tháng.
Lưu ý rủi ro: Bài viết trình bày phương pháp dữ liệu, không ngụ ý chiến lược nào có lãi. Chứng khoán phái sinh dùng đòn bẩy — lãi và lỗ đều được khuếch đại.
Kiểm định trung thực bắt đầu từ dữ liệu biết-lúc-nào — đăng ký bản tin Stockup để nhận các bài về dữ liệu và kiểm định VN30F1M.
