SEPA Masterclass Việt Nam — Phần VI: Công Cụ Và Hệ Thống Hóa

CHƯƠNG 42

Khung Backtest Và Giới Hạn Của Nó Trên Dữ Liệu Việt Nam


42.1 Vì Sao Backtest Trên Dữ Liệu Việt Nam Cần Một Chương Riêng

Backtest — kiểm định một chiến lược giao dịch trên dữ liệu lịch sử — là công cụ tiêu chuẩn để đánh giá khách quan hiệu suất của một hệ thống trước khi triển khai vốn thực. Nhưng như đã cảnh báo nhiều lần xuyên suốt cuốn sách (đặc biệt Chương 3, Mục 3.13), các thư viện backtest tiêu chuẩn được xây dựng cho thị trường không giới hạn biên độ giá và thanh toán tức thời — hai giả định không đúng tại Việt Nam. Áp dụng backtest nguyên xi sẽ đánh giá quá cao hiệu suất thực tế, đặc biệt trong các giai đoạn thị trường giảm mạnh.


42.2 Ba Ràng Buộc Bắt Buộc Cho Backtest SEPA-VN

Ràng buộcVấn đề nếu bỏ quaCách xử lý
Giới hạn biên độ giá hàng ngàyBacktest giả định lệnh dừng lỗ luôn khớp đúng giá, kể cả khi giá giảm sàn nhiều phiên liên tiếpMô hình hóa ràng buộc "không thể khớp lệnh bán vượt quá giá sàn của phiên đó"; nếu giá dừng lỗ thấp hơn giá sàn phiên đó, giả định lệnh chỉ khớp một phần hoặc không khớp, chuyển sang phiên tiếp theo
Thanh toán T+2,5Backtest giả định có thể tái sử dụng vốn ngay lập tức sau khi bánMô hình hóa độ trễ giữa thời điểm bán và thời điểm vốn thực sự khả dụng để mua mã khác
Thanh khoản hạn chế trên cổ phiếu vốn hóa nhỏBacktest giả định có thể mua/bán toàn bộ khối lượng mong muốn ở giá đóng cửa mà không ảnh hưởng giáGiới hạn kích thước lệnh backtest theo phần trăm khối lượng trung bình của chính mã đó (ví dụ không vượt quá 10–20% khối lượng phiên), mô phỏng trượt giá tăng dần theo kích thước lệnh

42.3 Cấu Trúc Dữ Liệu Cần Thiết


42.4 Các Chỉ Số Đánh Giá Hiệu Suất Cần Bổ Sung

Ngoài các chỉ số backtest tiêu chuẩn (tổng lợi nhuận, tỷ lệ thắng, drawdown tối đa, tỷ lệ Sharpe), khung backtest SEPA-VN nên bổ sung các chỉ số phản ánh đặc thù rủi ro cấu trúc Việt Nam:

Chỉ số bổ sungÝ nghĩa
Tỷ lệ giao dịch bị "kẹp" (không thoát đúng giá dừng lỗ lý thuyết)Định lượng mức độ nghiêm trọng của rủi ro biên độ giá trên chính chiến lược và vũ trụ cổ phiếu đang kiểm định
Chênh lệch giữa lợi nhuận lý thuyết và lợi nhuận thực tế sau khi áp dụng ràng buộc thanh toán T+2,5Đo lường tác động của độ trễ vốn lên tốc độ tăng trưởng tài khoản
Hiệu suất phân theo nhóm vốn hóaXác nhận liệu chiến lược có phụ thuộc quá mức vào nhóm vốn hóa nhỏ, thanh khoản mỏng — nơi kết quả backtest dễ bị phóng đại nhất

42.5 Kiểm Định Chiến Lược Qua Các Chu Kỳ Lịch Sử Khác Nhau

Nhất quán với bài học từ Chương 9, Mục 9.5 (nguy cơ nhầm lẫn beta thị trường chung với alpha chiến lược), backtest SEPA-VN cần được thực hiện riêng biệt qua các giai đoạn khác nhau đã học ở Phần II — không chỉ trên toàn bộ giai đoạn gộp chung — để đánh giá độ ổn định của chiến lược qua các bối cảnh thị trường khác nhau:

Loại giai đoạn kiểm địnhVí dụ giai đoạn lịch sửMục tiêu kiểm định
Stage 2 mạnh, trên diện rộng2017–2018, 2025Xác nhận chiến lược khai thác tốt xu hướng tăng rõ ràng
Thị trường gấu mòn mỏi2010–2011Kiểm tra khả năng tránh tín hiệu giả trong môi trường khó khăn
Sụp đổ dữ dội2008, 2022Kiểm tra hiệu quả của kỷ luật cắt lỗ và giới hạn thiệt hại tối đa
Tích lũy dài hạn, ít biến động2012–2016, 2024Đánh giá chi phí cơ hội và khả năng chọn lọc cơ hội hiếm hoi
Nguyên tắc thực hành: một chiến lược chỉ nên được xem là đáng tin cậy nếu nó thể hiện hiệu suất chấp nhận được (không nhất thiết xuất sắc) qua tất cả các loại giai đoạn ở bảng trên, không chỉ vượt trội trong một loại giai đoạn duy nhất. Điều này phản ánh chính triết lý xuyên suốt Phần II của cuốn sách: hiểu và chuẩn bị cho toàn bộ phổ hành vi mà thị trường Việt Nam có khả năng tạo ra.

42.6 Tóm Tắt Chương

42.7 Bài Tập

  1. Thiết kế mô hình logic cho ràng buộc "không thể khớp lệnh bán vượt quá giá sàn" trong một backtest giả định.
  2. Chọn một chiến lược đơn giản (ví dụ mua khi thỏa Trend Template) và kiểm định riêng biệt trên hai giai đoạn: 2017–2018 và 2010–2011 — hiệu suất khác nhau ra sao?

42.8 Câu Hỏi Ôn Tập

42.9 Checklist Chuyên Nghiệp

42.10 Lỗi Thường Gặp

42.11 Ghi Chú Nâng Cao

Đối với nhà phát triển: nên xây dựng khung backtest dưới dạng mô phỏng sự kiện (event-driven simulation) thay vì mô hình vector hóa đơn giản, vì các ràng buộc như "không khớp được lệnh do giá sàn" đòi hỏi xử lý tuần tự theo từng phiên với trạng thái lệnh chờ (pending order) được mang sang phiên tiếp theo — một mô hình khó triển khai hiệu quả trong các framework backtest vector hóa tiêu chuẩn vốn giả định mọi lệnh khớp ngay lập tức.