Biên bản kiểm thử chiến lược — backtest và forward test

Biên bản điền sẵn khung này dẫn bạn từ giả thuyết và bộ quy tắc được chốt đến kết quả và quyết định kiểm thử tiếp theo. Hoàn thành mục 1–5 trước khi kiểm thử và mục 6–8 sau đó. Giữ bản xuất của từng phiên bản cùng dữ liệu và kết quả để có thể tái lập nghiên cứu.

Biên bản kiểm thử chiến lược — quy trình backtest và forward test

Biểu mẫu không chạy backtest hoặc kết nối broker. Nó ghi lại các kiểm thử thực hiện trong môi trường bạn chọn. Phiên bản tiếng Ba Lan và tiếng Anh sử dụng cùng lược đồ JSON phiên bản 1 và cùng 22 trường. Nội dung trường được chuyển nguyên trạng, không dịch. Phiên bản này nhận tệp tối đa 2,000,000 byte, tương ứng bộ nhập PL đã cập nhật. Giữ nguyên các bản sao lưu lớn hơn và mở trong phiên bản đã cập nhật — không xóa hồ sơ nghiên cứu để vừa giới hạn 600,000 byte của phiên bản EN cũ.

Trước tiên, lưu và xuất mục 1–5. Sau nghiên cứu, bổ sung kết quả vào mục 6–8, đồng thời giữ bản trước đó. Tất cả trường đều là mô tả: biểu mẫu không đánh giá tính đúng đắn của giả thuyết hay kiểm tra chỉ số bạn nhập. Mỗi trường chứa tối đa 12,000 ký tự theo cách trình duyệt đếm (một số ký hiệu chiếm hai đơn vị). JSON dùng để nhập lại; TXT và bản in dùng để đọc. Nút nhập không thể tải dữ liệu từ tệp TXT hoặc PDF.

Việc lưu được thực hiện bằng nút và chỉ nằm trong trình duyệt này, riêng cho từng phiên bản ngôn ngữ. Không tự động lưu hoặc đồng bộ giữa thiết bị; người dùng chung hồ sơ trình duyệt có thể đọc dữ liệu. Xóa dữ liệu trang web sẽ xóa bản lưu. Xuất JSON giúp giữ bản sao lưu hoặc chuyển tài liệu. Biểu mẫu không gửi dữ liệu đã nhập đến máy chủ.

1. Giả thuyết và phạm vi

Nêu cơ chế được kỳ vọng tạo lợi thế và điều kiện mà bạn dự kiến lợi thế đó biến mất. Xác định thị trường, khung thời gian và phiên trước khi xem kết quả. Dùng cùng mã nghiên cứu trong kế hoạch, tệp dữ liệu và nhật ký.

Ví dụ FX-TEST-001; tên viết tắt; ngày bắt đầu.
Điều gì nên có hiệu quả, vì sao, và kết quả quan sát nào mâu thuẫn với giả thuyết?
Liệt kê mã, thông số công cụ, khung thời gian tín hiệu và thực thi, cùng giờ giao dịch.
2. Quy tắc đã chốt và phiên bản

Quy tắc phải cho phép tái lập mọi quyết định. Chỉ nói “vào lệnh khi phá vỡ” là chưa đủ: ghi nguồn giá, thời điểm quyết định và cách thực thi. Giữ bản quy tắc hoặc mã từ trước kiểm thử. Thay đổi sau khi thấy kết quả tạo ra phiên bản mới; nó không cải thiện đánh giá lịch sử của phiên bản trước.

Phiên bản, ngày kèm UTC hoặc độ lệch múi giờ, tên tệp / commit / mã kiểm tra; phần mềm kiểm thử, phiên bản và thiết lập ngẫu nhiên hóa, nếu có.
Điều kiện, thời điểm dữ liệu trở nên khả dụng, loại lệnh, SL, TP, thoát theo thời gian, gap và chạm SL/TP đồng thời.
Khối lượng vị thế, tổng phơi nhiễm, giới hạn, chi phí tối đa, công bố dữ liệu, dữ liệu thiếu và điều kiện cấm vào lệnh.
3. Dữ liệu, thời gian và chi phí

Ghi nguồn, phạm vi dữ liệu và việc dữ liệu là giá bid, ask hay mid. Chọn độ phân giải phù hợp quy tắc thực thi. Không coi giá trị chỉ báo tương lai hoặc bản điều chỉnh công bố sau này là thông tin đã có tại thời điểm tín hiệu. Nến bao trùm cả SL lẫn TP cần quy tắc rõ ràng để xác định kết quả hoặc dữ liệu chi tiết hơn.

Nhà cung cấp, ngày tải, phạm vi, độ phân giải, bid/ask/mid, khoảng trống và phương pháp xác thực; mã định danh hoặc mã kiểm tra của bản dữ liệu được giữ lại và mô tả việc làm sạch dữ liệu.
Dấu thời gian UTC; múi giờ máy chủ nguồn; phiên, ví dụ Europe/London với GMT/BST; quy tắc DST.
Spread, hoa hồng, swap, trượt giá, chuyển đổi tiền tệ và nguồn của các giả định; ghi khoản nào đã phản ánh trong giá thực thi.
Phân chia dữ liệu trong mẫu và ngoài mẫu cùng cấu trúc forward test
Phân chia dữ liệu trong mẫu và ngoài mẫu cùng cấu trúc forward test
4. Chia mẫu và kế hoạch forward test

Tách mẫu dùng để xây dựng quy tắc (trong mẫu, IS) khỏi mẫu dùng để đánh giá (ngoài mẫu, OOS). Ghi ngày và phương pháp chia. Liên tục xem OOS rồi điều chỉnh quy tắc theo nó sẽ làm suy giảm tính độc lập. Forward test dùng dữ liệu đến sau khi quy tắc được chốt, ghi mọi tín hiệu và bỏ sót; môi trường demo không tái hiện đầy đủ thực thi trên tài khoản thật.

Ngày IS; danh sách lần thử, bộ lọc và tham số, kể cả phương án bị loại; phương pháp lựa chọn.
Ngày OOS; thứ tự thời gian của việc chia; quy tắc cho vị thế vượt ranh giới và giai đoạn khởi động chỉ báo. Không đếm cùng giao dịch ở cả hai phía; dữ liệu khởi động có thể lấy từ quá khứ nhưng không được đưa thông tin tương lai vào quy tắc.
Ngày bắt đầu, môi trường demo/paper, phiên bản quy tắc, ngày xem xét, thời hạn và số quan sát kèm lý do; dừng theo ngày hay số giao dịch, và xử lý thế nào nếu mẫu nhỏ hơn. Ghi cả phiên không có tín hiệu.
5. Tiêu chí ghi trước khi kiểm thử

Xác định chỉ số và quy tắc quyết định trước khi thấy kết quả. Không có một số giao dịch hay ngưỡng profit factor nào xác nhận lợi thế cho mọi chiến lược. Độ dài mẫu, phụ thuộc giữa quan sát, sự kiện hiếm và số biến thể đã thử ảnh hưởng cách diễn giải. Tách tiêu chí đánh giá chiến lược khỏi việc kiểm tra quy trình kiểm thử có đúng hay không. Quyết định trước cách tính đến bất định, phụ thuộc giữa kết quả và thời điểm kết thúc nghiên cứu. Không dừng ở kết quả thuận lợi đầu tiên hoặc kéo dài đến khi đạt ngưỡng mong muốn; các quyết định đó cần phương pháp đánh giá tuần tự đã lên kế hoạch hoặc thừa nhận rõ phân tích tiếp theo chỉ mang tính khám phá.

Kỳ vọng ròng theo R; định nghĩa R và đơn vị giao dịch; PF theo R hoặc tiền (nêu rõ); drawdown với chuỗi, đơn vị và điểm xuất phát; số quan sát, chi phí, độ phân tán và cách đánh giá bất định.

Để nhất quán với nhật ký F, hãy định nghĩa bội số R của một giao dịch là kết quả ròng chia cho số tiền rủi ro dương đã dự kiến trước khi vào lệnh. Tổng các bội số R khi số tiền rủi ro thay đổi không phải kết quả tính theo R cơ sở của kế hoạch. Đường R lũy kế bắt đầu từ 0; drawdown là mức giảm từ đỉnh trước đó, nên khoản lỗ ban đầu −1 R tạo drawdown 1 R. Với vốn chủ sở hữu hoặc số dư, nêu vốn đầu kỳ, dòng tiền và cách xử lý vị thế mở — không bắt đầu phép tính phần trăm từ vốn bằng không. PF khi không có khoản lỗ có mẫu số bằng không: đánh dấu không xác định, thay vì coi là bằng chứng lợi thế. Xử lý các lần thoát từng phần theo một định nghĩa giao dịch được ghi rõ.

Tiêu chí của bạn: tiếp tục kiểm thử / thu thập dữ liệu / bác bỏ giả thuyết. Kết quả chưa ngã ngũ có nghĩa gì?
Thay đổi chi phí, các giai đoạn con, tham số lân cận; điều kiện dừng do lỗi dữ liệu hoặc quy trình.
6. Kết quả và sai lệch

Ghi riêng kết quả IS, OOS và forward test. Bao gồm số tín hiệu, giao dịch và trường hợp loại trừ kèm lý do. Giữ cả diễn biến kết quả, không chỉ tổng cuối cùng. Kết quả ròng tính chi phí đúng một lần: nếu spread và trượt giá đã phản ánh trong giá thực thi, không trừ lần nữa. Đánh dấu dữ liệu thiếu là thiếu, không phải bằng không.

Ngày, số quan sát, chỉ số, độ phân tán, tệp kết quả và hạn chế.
Cùng chỉ số và đơn vị với IS; so sánh với tiêu chí đã ghi trước.
Kết quả, tín hiệu bỏ sót, khác biệt thực thi, gián đoạn và tác động đến khả năng so sánh.
7. Lịch sử thay đổi

Phân biệt sửa lỗi triển khai với thay đổi ý tưởng. Trong cả hai trường hợp, giữ kết quả trước đó và xác định dữ liệu đã xem. Không ghi đè phiên bản biên bản cũ khi đổi quy tắc. Bản xuất ghi lại trạng thái tại một thời điểm; riêng tệp hoặc bản lưu cục bộ không phải bằng chứng độc lập về ngày chốt.

Mỗi mục ghi một thay đổi: thay đổi gì, vì sao và kết quả nào đã biết.
Kết quả nào cần tính lại? Đánh giá thay đổi ra sao mà không dùng lại cùng mẫu như OOS mới?
Biên bản cổng quyết định đánh giá chiến lược khách quan
Biên bản cổng quyết định đánh giá chiến lược khách quan
8. Kết luận và kiểm thử tiếp theo

So sánh kết quả với tiêu chí ở mục 5. Ghi cả bằng chứng ủng hộ giả thuyết và sự kiện mâu thuẫn. Kết luận “cần thêm dữ liệu” phải đi kèm kế hoạch cụ thể. Tài liệu này tổ chức nghiên cứu; nó không cho phép giao dịch thật hay bảo đảm kết quả tương lai.

Tiếp tục kiểm thử / sửa giả thuyết / bác bỏ / chưa ngã ngũ; xác định bằng chứng và hạn chế.
Dữ liệu hoặc kiểm thử nào, ai thực hiện và khi nào xem xét?

Ví dụ: cùng kết quả, khác kết luận

Ví dụ minh họa: giả sử phiên bản 1.0 tạo +8 R trên OOS. Nếu sau khi xem mẫu đó, bạn loại hai phiên thua và trình bày +12 R như “xác nhận độc lập”, bạn đang trộn xây dựng quy tắc với đánh giá. Ghi bộ lọc mới là phiên bản 1.1, giữ kết quả +8 R và xác định dữ liệu đã xem. Chênh lệch +4 R ở đây đến từ việc bỏ các phiên có tổng kết quả −4 R, không phải quan sát mới. Kết quả +12 R mô tả biến thể mới được khớp với mẫu đã biết; đánh giá độc lập cần một kiểm thử tiếp theo được lên kế hoạch phù hợp.

Nguồn và phạm vi xác minh

  • Bailey, Borwein, López de Prado, Zhu, The Probability of Backtest Overfitting, bản tháng Hai năm 2015: liên tục lựa chọn biến thể trên cùng dữ liệu có thể thổi phồng đánh giá chiến lược. Bài nghiên cứu ủng hộ ghi lại các lần thử; nó không đặt ngưỡng số giao dịch phổ quát cho biểu mẫu này.
  • MDN — localStorage: phạm vi lưu trữ trình duyệt và khả năng truy cập bị từ chối. Bản sao lưu JSON độc lập với bản lưu cục bộ của trang web.

Nguồn được kiểm tra ngày 21 tháng Chín năm 2026. Các chương 15.4 và 15.9 được liên kết giải thích thêm định nghĩa chỉ số và quy trình nghiên cứu; biểu mẫu chỉ ghi nội dung, không tính toán lợi thế.

Jarosław Wasiński

Tổng biên tập, ForexMechanics.com • Chuyên gia phân tích vĩ mô và FX

Chuyên gia phân tích độc lập và chuyên nghiệp với hơn 20 năm kinh nghiệm trong các thị trường tài chính. Hoạt động trong lĩnh vực Forex từ năm 2004, tập trung vào phân tích cơ bản, cấu trúc thị trường OTC và quản lý rủi ro vốn một cách kỷ luật.

  • Người sáng lập và tổng biên tập của MyBank.pl, cung cấp giáo dục tài chính đáng tin cậy từ năm 2004.
  • Tác giả của hàng trăm bài bình luận thị trường chuyên sâu, phân tích cấu trúc và tài liệu giáo dục dành cho trader và nhà đầu tư.
  • Người ủng hộ sự minh bạch của thị trường, thúc đẩy giáo dục dựa trên dữ liệu cụ thể và các báo cáo của tổ chức (BIS, ESMA, CFTC).

Toàn bộ nội dung chỉ mang tính chất giáo dục và cung cấp thông tin – không phải là tư vấn đầu tư hay khuyến nghị bất kỳ. Xin lưu ý: giao dịch có đòn bẩy (Forex/CFD) tiềm ẩn rủi ro cao về mất vốn nhanh chóng.