LacQuantLACQUANT

Blog

Công cụ & Thực hành

Backtesting chiến lược đầu tư trên HOSE: Hướng dẫn thực hành từ A đến Z

Hướng dẫn chi tiết cách backtesting chiến lược đầu tư trên sàn HOSE — từ xác định điều kiện, chọn dữ liệu, đến đọc kết quả và tránh các bẫy phổ biến.

27 tháng 1, 2025

·

6 min read

Bạn có một chiến lược đầu tư nghe có vẻ hợp lý: "Mua cổ phiếu ngân hàng khi P/B dưới 1.0 và RSI dưới 35, giữ đến khi P/B vượt 1.5."

Câu hỏi thực tế là: Chiến lược này có hoạt động trên dữ liệu lịch sử HOSE không? Và nếu có, nó hoạt động tốt đến đâu trong các giai đoạn thị trường khác nhau?

Tại sao backtesting trên dữ liệu VN quan trọng?

HOSE có đặc thù riêng mà dữ liệu quốc tế không phản ánh được

±7%

Biên độ giao dịch — tạo ngưỡng tâm lý đặc thù

400+

Cổ phiếu trên HOSE — cần lọc bằng dữ liệu thực

2022

Siết tín dụng — giai đoạn phải có trong backtest VN

Thị trường HOSE có những đặc thù mà dữ liệu quốc tế không phản ánh được:

  • Biên độ giao dịch ±7% — tạo ra ngưỡng kháng cự tâm lý đặc thù
  • Thanh khoản phân tán — nhiều cổ phiếu mid-cap có thanh khoản thấp, slippage cao
  • Cơ sở nhà đầu tư cá nhân lớn — tạo ra các pattern tâm lý đám đông rõ nét hơn
  • Ảnh hưởng từ Trung Quốc — tương quan với thị trường TQ cao hơn phương Tây

Chiến lược S&P 500 có thể thất bại hoàn toàn trên HOSE

Mỗi thị trường có chu kỳ và đặc thù riêng. Backtesting trên đúng dữ liệu VN là bước không thể bỏ qua.

Bước 1: Xác định chiến lược rõ ràng

Trước khi chạy bất kỳ backtest nào, chiến lược phải được định nghĩa hoàn toàn cụ thể — không mơ hồ.

Không dùng đượcDùng được
Điều kiện mua"Mua cổ phiếu tốt khi thị trường giảm"P/B < 1.0 VÀ ROE > 12% VÀ Volume > 500K/ngày
Điều kiện bán"Bán khi cổ phiếu đủ tốt"Bán khi P/B > 1.6 HOẶC sau 6 tháng
Quản lý vốn"Mỗi lệnh một ít"10% tổng danh mục, tối đa 5 vị thế

Bước 2: Chọn dữ liệu và giai đoạn

Giai đoạn lý tưởng cho backtest HOSE

Tăng trưởng mạnh 2016–2018

85%

Điều chỉnh Q4/2018

40%

COVID crash 2020

30%

Tăng mạnh 2020–2021

90%

Siết tín dụng 2022

25%

Phục hồi 2023–2024

70%

Chiến lược tốt phải hoạt động được qua cả giai đoạn tăng lẫn giảm mạnh.

Dữ liệu cần có:

Loại dữ liệuDùng cho
Giá OHLCV hàng ngàyĐiểm mua/bán, tính lợi nhuận
Fundamental (P/E, P/B, ROE...)Điều kiện lọc cổ phiếu
Lịch sử cổ tức và tách cổ phiếuĐiều chỉnh giá chính xác
Danh sách niêm yết/hủy niêm yết theo thời gianTránh survivorship bias — thường bị bỏ qua nhất

Bước 3: Xây dựng logic backtest

1

Lọc danh sách cổ phiếu đủ điều kiện mua

Với mỗi ngày giao dịch: áp dụng tất cả điều kiện lên dữ liệu có sẵn vào ngày đó.

2

Kiểm tra danh mục hiện tại

Xem có vị thế nào thỏa điều kiện bán không — xử lý bán trước khi mua mới.

3

Thực thi lệnh mua theo giá mở cửa hôm sau

Không dùng giá đóng cửa — phản ánh thực tế: tín hiệu hôm nay, lệnh ngày mai.

4

Trừ phí giao dịch

Tại VN thường 0.1–0.3%/chiều + thuế 0.1% khi bán. 50 giao dịch/năm = ~20% chi phí.

5

Ghi lại giá trị danh mục cuối ngày

Tích lũy equity curve để tính tất cả các chỉ số hiệu suất sau này.

Bước 4: Đọc kết quả backtest

NhómChỉ sốNgưỡng tốt trên HOSE
Lợi nhuậnCAGR> VN-Index + 8%
Lợi nhuậnTotal Return> Benchmark cùng kỳ
Rủi roMax Drawdown< 20%
Rủi roLongest Drawdown Period< 12 tháng
Hiệu quảSharpe Ratio> 1.0
Hiệu quảWin Rate> 55%
Hiệu quảProfit Factor> 1.8

Bước 5: Kiểm tra độ bền vững

70/30

Out-of-sample split

70% để tối ưu, 30% để kiểm tra

2+2

Walk-forward

Tối ưu 2 năm, test 6 tháng, lặp lại

3 kỳ

Stress test

2020 COVID, 2022, 2018 Q4

Bẫy phổ biến cần tránh

4 bẫy lớn nhất trong backtesting

Overfitting — Nếu bạn thử đủ tham số, lúc nào cũng tìm được bộ cho kết quả đẹp trên dữ liệu cũ. Chiến lược càng ít tham số, càng ít nghi ngờ overfitting.

Survivorship bias — Chỉ test trên cổ phiếu còn tồn tại đến hôm nay sẽ loại bỏ tất cả cổ phiếu đã phá sản hoặc hủy niêm yết — làm kết quả đẹp hơn thực tế rất nhiều.

Bỏ qua phí và slippage — Với chiến lược thường xuyên, 50 giao dịch/năm × 0.4% = 20% chi phí — xóa sổ nhiều chiến lược tưởng chừng tốt.

Data snooping bias — Bạn vô tình "biết" kết quả của một số giai đoạn và thiết kế chiến lược dựa trên kiến thức đó.

Kết quả tốt trông như thế nào trên HOSE?

Chỉ sốNgưỡng chấp nhậnNgưỡng tốt
CAGR> VN-Index + 3%> VN-Index + 8%
Max Drawdown< 35%< 20%
Sharpe Ratio> 0.6> 1.0
Win Rate> 45%> 55%
Profit Factor> 1.3> 1.8

Backtesting trên HOSE đòi hỏi dữ liệu tốt, tư duy cẩn thận và hiểu biết về đặc thù thị trường VN. Không có chiến lược nào hoàn hảo — nhưng chiến lược được kiểm chứng kỹ trên dữ liệu thực sẽ luôn tốt hơn chiến lược chỉ dựa trên cảm tính.

Phân tích rủi ro danh mục của bạn với LacQuant

Công cụ quant + AI cho nhà đầu tư cá nhân Việt Nam.

Dùng thử miễn phí