Bỏ qua, đến nội dung chính
Stockup
Kiểm định chiến lược

Cách Trừ Chi Phí Giao Dịch Trong Backtest VN30F1M

Trừ một hằng số 0,5 điểm/lệnh làm backtest VN30F1M lệch. Mô hình chi phí đúng gồm phí cố định, thuế theo giá, bước giá và slippage giả định.

Tuan Nguyen

Tuan Nguyen

Cách Trừ Chi Phí Giao Dịch Trong Backtest VN30F1M

Đừng trừ một hằng số điểm cho mọi lệnh. Chi phí VN30F1M gồm phí cố định theo hợp đồng và thuế tỉ lệ với giá khớp, nên cùng một lệnh ở giá 1.500 tốn ít điểm hơn ở giá 2.500. Mô hình đúng tính chi phí theo từng lượt khớp, cộng slippage giả định và tôn trọng bước giá.

Định nghĩa đầy đủ

Mô hình chi phí trong backtest là quy tắc trừ phí, thuế và chi phí thị trường cho từng lệnh giả lập, sao cho lợi nhuận kiểm định phản ánh đúng lợi nhuận ròng nếu giao dịch thật. Với VN30F1M, mô hình cần tách phần cố định theo hợp đồng và phần thuế biến đổi theo giá khớp.

Lưu ý rủi ro: Nội dung mang tính giáo dục về phương pháp kiểm định, không phải khuyến nghị đầu tư và không trình bày kết quả của chiến lược cụ thể nào. Hợp đồng tương lai dùng đòn bẩy nên lãi và lỗ đều bị khuếch đại; kết quả backtest không đảm bảo kết quả giao dịch thật.

Các hệ số trong bài lấy từ công cụ tính chi phí và điểm hòa vốn VN30 của Stockup, nên bạn có thể dùng công cụ để kiểm tra chéo mô hình của mình ở bất kỳ mức giá nào.

Những điều cần nhớ

  • Phí môi giới, phí Sở, phí bù trừ tính theo số hợp đồng, không theo giá
  • Thuế tỉ lệ với giá khớp, nên chi phí tính theo điểm tăng khi chỉ số tăng
  • Ví dụ minh họa: chi phí mỗi vòng khoảng 0,44 điểm ở giá 1.500 và 0,61 điểm ở giá 2.500
  • Chiến lược càng nhiều lệnh, sai số mô hình chi phí càng cộng dồn lớn
  • Biểu phí và tỷ lệ ký quỹ lịch sử có thể khác hiện tại — backtest dài hạn cần ghi rõ giả định

Vì sao trừ một hằng số điểm mỗi lệnh là chưa đủ

Cách phổ biến nhất là trừ một con số cố định, ví dụ 0,5 điểm, cho mỗi lệnh. Cách này có hai vấn đề.

Thứ nhất, chi phí tính theo điểm không phải hằng số. Thuế TNCN chiếm khoảng 58–70% chi phí một vòng và tỉ lệ thuận với giá. Khi chỉ số ở vùng 1.500, một vòng tốn khoảng 0,44 điểm; ở vùng 2.500 là khoảng 0,61 điểm. Một hằng số duy nhất sẽ trừ thừa ở giai đoạn giá thấp và trừ thiếu ở giai đoạn giá cao — làm méo kết quả theo từng thời kỳ.

Thứ hai, hằng số thường bỏ sót chi phí thị trường. Con số "0,5 điểm" gần với chi phí cố định ở mức giá hiện tại, nhưng chưa có spread hay slippage. Đây là một dạng giả định khớp lệnh phi thực tế — backtest ngầm cho rằng mọi lệnh khớp đúng giá tín hiệu.

4 thành phần của mô hình chi phí VN30F1M

Phí cố định theo hợp đồng mỗi lượt

Mỗi lượt khớp chịu phí môi giới, phí Sở và phí bù trừ. Ở mức tham chiếu của công cụ (đã gồm VAT theo cấu hình ), tổng là 9.075đ/hợp đồng/lượt, tức 18.150đ mỗi vòng — khoảng 0,1815 điểm. Hãy thay bằng biểu phí thật của bạn; cách đọc biểu phí có trong bài đối chiếu biểu phí môi giới phái sinh.

Thuế TNCN tỉ lệ với giá khớp

Thuế mỗi lượt bằng 0,1% × giá khớp × 100.000 × tỷ lệ ký quỹ ban đầu ÷ 2. Với tỷ lệ 17%, thuế mỗi lượt quy ra điểm bằng 0,000085 × giá khớp. Tính thuế riêng cho lượt mở theo giá mở và lượt đóng theo giá đóng, không dùng một giá chung. Gộp hai thành phần đầu, chi phí cố định cả vòng xấp xỉ:

Chi phí (điểm/HĐ) ≈ 0,1815 + 0,000085 × (giá mở + giá đóng)

Công thức này khớp với công cụ tới 4 chữ số thập phân ở các mức giá thường gặp. Cách cộng từng khoản được trình bày trong hướng dẫn tính chi phí một vòng VN30F1M từng bước.

Slippage/spread giả định

Chi phí thị trường không tính trước được, nên cần giả định — ví dụ 0,1 điểm mỗi lượt cho lệnh khớp ngay. Không có một con số chung đúng cho mọi chiến lược; nó phụ thuộc khung giờ, cỡ lệnh và loại lệnh. Cách an toàn là chạy backtest với vài mức (0; 0,1; 0,2 điểm mỗi lượt) để xem kết quả nhạy thế nào. Khái niệm này được phân biệt rõ trong bài chi phí cố định và chi phí thị trường.

Làm tròn theo bước giá

Giá khớp giả lập phải là bội số của 0,1 điểm. Nếu logic tín hiệu cho ra giá lẻ (ví dụ mức chốt lời tính theo phần trăm), hãy quy về tick theo hướng bất lợi cho vị thế, như cách công cụ làm với giá hòa vốn — xem bước giá làm tròn điểm hòa vốn. Chi phí tính bằng đồng thì không cần làm tròn.

Chi phí tích lũy thay đổi kết quả chiến lược thế nào

Chi phí tích lũy giả lập của mô hình hằng số và mô hình theo giá tách dần qua 10 tháng

Mốc giả lậpMức giá giả lậpChi phí mỗi vòng theo giá (điểm)Tích lũy — hằng số 0,44Tích lũy — theo giá
Tháng 11.5000,436517,517,5
Tháng 41.7000,470569,872,2
Tháng 71.9800,5181122,2132,6
Tháng 102.4000,5895174,6200,3

Dữ liệu giả lập minh họa: 40 vòng giao dịch mỗi tháng, mức giá tăng dần từ 1.500 lên 2.400, 1 hợp đồng, chưa gồm slippage. Không phải giá thật, không phải kết quả kiểm định của chiến lược nào.

Ví dụ minh họa: một chiến lược giả định 400 vòng mỗi năm, trung bình khoảng 0,52 điểm chi phí mỗi vòng, tiêu tốn khoảng 208 điểm mỗi hợp đồng mỗi năm — tương đương khoảng 20,8 triệu đồng. Nếu mô hình dùng hằng số 0,44 điểm (tính ở giá 1.500) cho giai đoạn giá quanh 1.980, backtest sẽ trừ thiếu khoảng 33 điểm mỗi năm. Với chiến lược có biên lợi nhuận mỏng, khoảng chênh đó đủ đổi dấu kết quả.

Bài ngưỡng chi phí giao dịch để chiến lược ngắn hạn còn khả thi cho thấy vì sao chiến lược nhiều lệnh nhạy cảm nhất với sai số này.

Kiểm tra chéo mô hình chi phí bằng công cụ

Sau khi viết hàm chi phí cho backtest, hãy chọn vài lệnh mẫu ở các mức giá khác nhau và đối chiếu chi phí mỗi lệnh trong backtest với công cụ: nhập giá mở, số hợp đồng và biểu phí của bạn, so "Tổng chi phí một vòng" với con số mô hình của bạn. Nếu lệch quá vài đồng mỗi hợp đồng, kiểm tra lại đơn vị phí (mỗi lượt hay mỗi vòng), VAT và tỷ lệ ký quỹ. Khái niệm round-trip giúp đảm bảo bạn trừ đủ cả lượt mở lẫn lượt đóng.

Những lỗi mô hình chi phí thường gặp

  • Chỉ trừ chi phí một chiều: quên lượt đóng, làm chi phí thấp đi một nửa.
  • Tính thuế trên giá trị danh nghĩa: thuế phái sinh tính trên giá trị ký quỹ ban đầu chia 2, không phải toàn bộ giá trị hợp đồng.
  • Dùng biểu phí hiện tại cho dữ liệu nhiều năm: phí và tỷ lệ ký quỹ lịch sử có thể khác; hãy ghi rõ giả định.
  • Bỏ qua chi phí thị trường: không có slippage, backtest giả định mọi lệnh khớp đúng giá tín hiệu.
  • Không trừ chi phí rollover: chiến lược giữ vị thế qua ngày đáo hạn phát sinh thêm một vòng mỗi lần chuyển hợp đồng.

Đây chỉ là một trong nhiều lý do khiến backtest chiến lược hay "nói dối"; bài thuật ngữ backtest đơn giản tóm tắt các giới hạn chung của phương pháp.

Câu hỏi thường gặp

Trừ 0,5 điểm mỗi lệnh có đủ không?

Chấp nhận được như một ước lượng thô ở vùng giá quanh 1.900–2.000, vì chi phí cố định một vòng khi đó khoảng 0,5 điểm. Nhưng con số này lệch theo mức giá — thấp hơn ở vùng giá thấp, cao hơn ở vùng giá cao — và chưa gồm slippage. Với backtest nhiều năm hoặc nhiều lệnh, nên dùng mô hình theo giá khớp.

Có cần tính thuế trong backtest không?

Có. Thuế TNCN phái sinh là phần lớn nhất của chi phí một vòng, khoảng 58–70% tùy mức giá ở ví dụ minh họa. Thuế thu trên mỗi lượt khớp, kể cả lệnh lỗ, nên bỏ qua thuế làm backtest đánh giá quá cao mọi chiến lược, đặc biệt các chiến lược giao dịch nhiều lần.

Slippage giả định bao nhiêu là hợp lý?

Không có một con số chung. Mức hợp lý phụ thuộc thanh khoản trong khung giờ chiến lược giao dịch, cỡ lệnh và loại lệnh. Thay vì chọn một số duy nhất, hãy chạy backtest với vài mức slippage và quan sát kết quả thay đổi thế nào; chiến lược chỉ có lãi khi slippage bằng 0 cần được xem xét rất thận trọng.

Dùng biểu phí hiện tại cho dữ liệu nhiều năm trước được không?

Được, nếu ghi rõ đó là giả định "chi phí theo biểu phí hiện tại". Cách này trả lời câu hỏi "chiến lược có khả thi với chi phí hôm nay không". Nếu muốn tái hiện kết quả lịch sử sát hơn, nên phân đoạn theo thời kỳ với biểu phí và tỷ lệ ký quỹ tương ứng từng giai đoạn.

Vì sao backtest lãi mà giao dịch thật lỗ?

Mô hình chi phí thiếu là một nguyên nhân phổ biến: trừ một chiều, bỏ qua thuế hoặc slippage. Bên cạnh đó còn có giả định khớp lệnh phi thực tế, điểm khớp quá mức (overfitting) và thay đổi chế độ thị trường. Mô hình chi phí đúng không đảm bảo chiến lược có lãi, nhưng loại bỏ một nguồn sai lệch có hệ thống.

Nguồn tham khảo

  • Thông tư 25/2018/TT-BTC – thuvienphapluat.vn
  • VSDC – Tra cứu thông tin ký quỹ theo kỳ – vsdc.vn
  • HNX – Đặc tả hợp đồng tương lai chỉ số VN30 – hnx.vn

Lưu ý rủi ro: Nội dung trên đây là để tham khảo về phương pháp kiểm định, không phải khuyến nghị đầu tư và không ngụ ý chiến lược nào có lãi. Biểu đồ và bảng dùng dữ liệu giả lập minh họa. Chứng khoán phái sinh dùng đòn bẩy — lãi và lỗ đều được khuếch đại.

Xem thêm bài giả định khớp lệnh phi thực tế trong backtest và vì sao backtest chiến lược hay nói dối. Kiểm định trung thực bắt đầu từ chi phí đúng — đăng ký bản tin Stockup để nhận các bài kiểm định chiến lược VN30F1M đã trừ chi phí.

Tuan Nguyen

Tuan Nguyen

Founder

18+ năm xây dựng sản phẩm Web, SaaS, FinTech và Blockchain, hơn 120 dự án thực tế; kết hợp kinh nghiệm đầu tư chứng khoán với phát triển hệ thống phân tích.

Trang tác giảLiên hệ

Chia sẻ bài viết

fin

Stockup cung cấp công cụ nghiên cứu và dữ liệu lịch sử. Nội dung trên website không phải khuyến nghị đầu tư và không phải dịch vụ tư vấn đầu tư chứng khoán. Mọi quyết định giao dịch và rủi ro thuộc về người dùng. Giao dịch chứng khoán phái sinh sử dụng đòn bẩy và có thể dẫn tới thua lỗ lớn.

Bình luận (0)

Góp ý về phương pháp, số liệu hoặc cách bạn đang áp dụng. Bình luận hiển thị công khai sau khi gửi, có thể bị ẩn nếu vi phạm quy định. Email chỉ dùng để liên hệ lại, không hiển thị công khai.

0/800

Đang tải bình luận...

Đọc tiếp các bài khác trong cùng cụm nghiên cứu.

Xem tất cả