Hệ thống Kiểm Tra Ngược cho Hợp Đồng Tương Lai (Futures Backtesting) trong AmiBroker

Hệ thống Kiểm Tra Ngược cho Hợp Đồng Tương Lai (Futures Backtesting) trong AmiBroker

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:aflCopy codeMarginDeposit = 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:aflCopy codePointValue = 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.Nguồn: https://phaisinh.online/2025/09/17/he-thong-kiem-tra-nguoc-cho-hop-dong-tuong-lai-futures-backtesting-trong-amibroker/