Hệ thống Kiểm Tra Ngược cho Hợp Đồng Tương Lai (Futures Backtesting) trong AmiBroker
Amibroker
Mục lục
Giới thiệu
Trước khi đi sâu vào kiểm tra ngược cho hợp đồng tương lai, bạn nên đọc trước bài
_
“Kiểm tra ngược ý tưởng giao dịch của bạn”
_
để hiểu nền tảng của khái niệm
backtest
.
Kiểm tra ngược hợp đồng tương lai khác với cổ phiếu ở hai điểm chính:
-
Sử dụng ký quỹ (margin)
thay vì mua toàn bộ giá trị hợp đồng. -
Giá trị điểm (point value)
ảnh hưởng trực tiếp đến lãi/lỗ.
1. Sự khác biệt trong giao dịch hợp đồng tương lai
| Khía cạnh | Cổ phiếu | Hợp đồng tương lai |
| Cách vào lệnh | Mua số lượng cổ phiếu | Trả tiền ký quỹ cho mỗi hợp đồng |
| Lãi/lỗ tính theo | (Giá bán - Giá mua) × số cổ phiếu | Số hợp đồng × Point Value × chênh lệch giá |
| Đòn bẩy | Không (hoặc thấp) | Cao do dùng margin |
| Rủi ro | Hạn chế | Cao hơn do biến động giá lớn hơn |
2. Ba cài đặt quan trọng cho hợp đồng tương lai
AmiBroker hỗ trợ kiểm tra ngược hợp đồng tương lai thông qua
3 thiết lập chính
:
a. Future Mode (Chế độ Hợp đồng Tương lai)
-
Vị trí:
Tools → Preferences → Backtester → Enable futures mode -
Chức năng:
Bật chế độ này thì AmiBroker mới sử dụng giá trịMarginDeposit
và
PointValue
trong tính toán vị thế và lợi nhuận.
-
Lưu ý:
Nếu không bật thì công thức sẽ được xử lý như giao dịch cổ phiếu thông thường.
b. Margin Deposit (Tiền ký quỹ)
-
Vị trí:
Symbol → Information → Margin Deposit -
Chức năng:
Cho biết cần bao nhiêu tiền để mở
một hợp đồng
. -
Nhập số dương:
ký quỹ theo giá trị tuyệt đối ($) -
Nhập số âm:
ký quỹ theo phần trăm của giá hợp đồng
Có thể đặt trong công thức:
afl
Copy code
MarginDeposit = 675;
-
Tác động:
Xác định
quy mô vị thế
có thể mua được dựa trên vốn và tỷ lệ rủi ro.Ví dụ: Với $50.000 vốn, ký quỹ $675/hợp đồng, và sử dụng 20% vốn thì mua được ~14 hợp đồng.
c. Point Value (Giá trị điểm)
- Vị trí:
Symbol → Information → Point Value
-
Chức năng:
Cho biết
mỗi điểm thay đổi giá hợp đồng
tương ứng với bao nhiêu $ lãi/lỗ. -
Ví dụ:
Nếu PointValue = 5, thì mỗi thay đổi 1 điểm = $5 lãi/lỗ/hợp đồng.
Cài đặt từ công thức:
afl
Copy code
PointValue = 2.5;
Quan trọng:
Giá trị này
_
không ảnh hưởng đến điểm dừng
_
(stop loss) vì các mức dừng vẫn tính theo đơn vị giá.
3. Các trường hợp sử dụng phổ biến
✅ Giao dịch 1 hợp đồng
afl
Copy code
PositionSize = MarginDeposit = 1;
✅ Giao dịch cố định 7 hợp đồng
afl
Copy code
NumContracts = 7;
PositionSize = NumContracts * MarginDeposit;
✅ Giao dịch theo phần trăm vốn
afl
Copy code
SetOption(“InitialEquity”, 50000);
PositionSize = -20; // 20% vốn
MarginDeposit = 675;
RoundLotSize = 1;
4. Ghi chú nâng cao
-
PointValue = 1
là mặc định với dữ liệu cũ để đảm bảo tính tương thích. -
Điểm dừng (Stop) luôn theo giá
, không theo lãi/lỗ thực tế → cần hiệu chỉnh nếu dùng giá trị điểm ≠ 1. -
Có thể sử dụng
bo.AddCustomMetric()
để đưa lãi/lỗ thực tế (đã tính PointValue) vào báo cáo kiểm thử ngược.
Kết luận
Ba thiết lập chính:
Future Mode
,
Margin Deposit
, và
Point Value
là cốt lõi để kiểm tra ngược các chiến lược giao dịch hợp đồng tương lai. Việc hiểu rõ và sử dụng đúng các thông số này giúp bạn mô phỏng chính xác rủi ro, đòn bẩy và hiệu suất thực tế của hệ thống trong thị trường phái sinh.
Thông tin trong bài chỉ mang tính tham khảo, không phải khuyến nghị mua bán. Giao dịch phái sinh có rủi ro cao do sử dụng đòn bẩy; nhà đầu tư tự chịu trách nhiệm với quyết định của mình.
Tự động đặt lệnh theo tín hiệu AmiBroker thẳng vào tài khoản chứng khoán.
* Phần mềm chạy trên máy tính Windows. Giao dịch tự động vẫn có rủi ro mất vốn.





