Bắt đầuBacktest rổ ngân hàng
Backtest rổ ngân hàng
Chiến lược: mỗi tháng, mua 3 mã ngân hàng tăng mạnh nhất 3 tháng qua, chia đều vốn. Bài này chạy backtest 5 năm và đọc kết quả.
Ý tưởng: động lượng
Mã đang khoẻ thường khoẻ thêm một thời gian. Ta xếp hạng mọi mã ngân hàng theo mức tăng giá 63 phiên gần nhất (khoảng 3 tháng), giữ top 3, mỗi đầu tháng xét lại.
Viết script
Chọn loại Danh mục rồi dán:
universe("HX-BANK")
period("5Y")
rebalance("M")
benchmark("VNINDEX")
holdings = input(3, "Holdings")
pick(top(momentum(63), holdings))| Dòng | Ý nghĩa |
|---|---|
universe("HX-BANK") |
Rổ ngành ngân hàng của HODL, lấy đúng thành phần tại từng kỳ. |
period("5Y") |
Chạy đủ 5 năm tới hôm nay. |
rebalance("M") |
Script chạy lại ở phiên đầu mỗi tháng để chọn danh mục mới. |
benchmark("VNINDEX") |
Vẽ VN-Index làm đường so sánh. |
momentum(63) |
Mức tăng 63 phiên của từng mã trong rổ. |
top(…, holdings) |
Lấy 3 mã cao nhất. |
pick(…) |
Chốt danh mục kỳ này, chia đều vốn. |
Đọc kết quả
- Tổng quan: Lãi, XIRR / năm (lãi quy ra mỗi năm), Sharpe, Lỗ sâu nhất, VN-Index cùng kỳ, Vòng quay / năm. Bên dưới là đường vốn (vàng) so với VN-Index (xám), vùng sụt giảm (đỏ), khối Đầu vào và Cách đọc.
- Giao dịch: từng lệnh mua / bán ở mỗi kỳ.
- Theo tháng: lãi / lỗ từng tháng.
- Nắm giữ: mã và tỷ trọng của từng kỳ. Bấm một mã để mở biểu đồ mã đó kèm điểm mua / bán của danh mục.
Thử biến thể
- Đổi Holdings ở form thành
5. - Thay
momentum(63)bằngmomentum(126)để xếp hạng theo 6 tháng. - Thay
rebalance("M")bằngrebalance("Q")để cân bằng mỗi quý, ít giao dịch và ít phí hơn.
Bước tiếp theo
Xếp hạng theo định giá ở Ví dụ giá trị. Trước khi tin vào một con số đẹp, đọc Lỗi thường gặp.