Giao dịch thuật toán — quy trình kiểm thử và đánh giá kết quả của người khác
Chương trình có thể thực hiện quy tắc nhanh và chính xác hơn, nhưng riêng việc tự động hóa giao dịch không xác lập lợi thế. Cần kiểm tra thay đổi về tín hiệu, giá khớp và chi phí. Bài này giải thích cách chuẩn bị kiểm thử có thể tái lập, nhận biết giới hạn dữ liệu và đánh giá kết quả của bạn hoặc báo cáo của nhà cung cấp thuật toán. Bài cũng cho thấy vì sao lựa chọn tham số và trình tự sự kiện trong một nến có thể quyết định kết quả. Mọi ví dụ số đều mang tính minh họa; không có kiểm thử nào trên báo giá thị trường được thực hiện.

- Tự động hóa có thể thay đổi thực thi và kết quả ròng. Với các giá trị minh họa trong bài, chuyển từ thực thi thủ công sang tự động tăng số tín hiệu được thực hiện từ 150 lên 236 trong 240 tín hiệu tạo ra. Khi trung bình ròng giữ nguyên, hệ số 1,57 tác động theo cả hai chiều: giá trị kỳ vọng −0,20 pip mỗi giao dịch biến −30 pip thành −47,2, còn +0,20 pip biến +30 thành +47,2.
- Trình tự sự kiện chưa xác định trong một nến có thể đảo dấu kết quả của toàn bộ kiểm thử. Trong ví dụ, 46 trên 400 giao dịch, tức 11,5%, nằm trong các nến có biên độ bao trùm cả hai mức thoát. Phiên bản lạc quan cho +3,90 pip mỗi giao dịch; phiên bản thận trọng cho −1,85. Chênh lệch 5,75 pip này đến từ quy ước, không phải dữ liệu.
- Đỉnh cô lập cho thấy độ nhạy; không chứng minh đó là sản phẩm giả tạo của phương pháp. Trong bảng ở mục 7, phiên bản A đạt đỉnh +1,73 pip so với trung bình lân cận +0,40, tỷ số 4,33; B đạt +0,51 so với +0,46 — chính xác hơn là 0,463442 — tỷ số 1,10. Tăng chi phí thêm 0,60 pip khiến cả hai trung bình lân cận xuống dưới không.
- Bài này không có mã, hướng dẫn công cụ hay quy tắc xác định quy mô vị thế. Triển khai kỹ thuật và cấu hình môi trường thuộc phần 12; diễn đạt quy tắc khách quan như một kỹ thuật phân tích thuộc bài 5.12; quy mô vị thế và thước đo rủi ro danh mục thuộc phần 9; còn địa vị pháp lý của dịch vụ sao chép giao dịch thuộc phần 13. Ở đây chỉ bàn về phương pháp: ghi gì, tính gì và một kết quả không thể hỗ trợ những kết luận nào.
1. Tự động hóa thay đổi gì trong thực thi và giữ nguyên gì trong phép tính
Chương trình chuyển đặc tả thành lệnh và nhật ký sự kiện. Mức độ tuân thủ phụ thuộc vào mã đúng, dữ liệu và môi trường hoạt động; sai sót và gián đoạn vẫn có thể xảy ra.
Vì thế cần kiểm tra cả quy tắc lẫn việc triển khai có thực hiện đúng phiên bản hay không. Tự động hóa chỉ cung cấp quy trình có thể tái lập trong những điều kiện đó.
Hệ thống tự động có thể đánh giá điều kiện vào giờ định sẵn, gửi lệnh với tham số xác định và lưu hồ sơ. Mỗi yếu tố cần triển khai đúng và giám sát môi trường. Hồ sơ cũng phải gồm tín hiệu không thực hiện và lý do bỏ qua. Đây là lợi ích thực thi có thể có, không phải bảo đảm vận hành không lỗi.
Thực hiện nhiều tín hiệu hơn không nhất thiết mang lại lợi nhuận cao hơn. Phép nhân dưới đây chỉ giữ nguyên dấu trong mô hình có kết quả ròng trung bình mỗi giao dịch không đổi. Nó không mô tả mọi tác động của việc đổi phương thức thực thi.
Giả định. Một quy tắc đánh giá khi nến đóng, một công cụ và 240 lần xuất hiện điều kiện vào lệnh trong giai đoạn nghiên cứu. Thực thi thủ công tạo 150 giao dịch; tín hiệu còn lại bị bỏ lỡ vì xuất hiện ngoài giờ quan sát hoặc không có quyết định. Thực thi tự động tạo 236 giao dịch; bốn lệnh bị từ chối và ghi là tín hiệu không thực hiện. Giá trị kỳ vọng mỗi giao dịch: hai phiên bản giả định, −0,20 và +0,20 pip; bài 8.2 giải thích phép tính. Mọi con số đều mang tính minh họa; kết quả là ví dụ số, không phải kiểm thử trên dữ liệu.
Phép tính. Tỷ lệ thực hiện tín hiệu: thủ công 150÷240=62,5%, tự động 236÷240=98,3%. Hệ số chuyển đổi: 236÷150=1,573.
Phiên bản âm: 150×(−0,20)=−30,0 pip so với 236×(−0,20)=−47,2 pip.
Phiên bản dương: 150×(+0,20)=+30,0 pip so với 236×(+0,20)=+47,2 pip.
Tính sẵn có của thông tin và thực thi. Số lần điều kiện xuất hiện chỉ được biết sau khi xử lý toàn bộ giai đoạn, nên đây là phép tính hồi cứu. Tỷ lệ thực hiện thủ công chỉ có thể lấy từ hồ sơ gồm cả tín hiệu bỏ qua; thiếu trường đó thì không tính được. Bài 8.1 xác định trường này. Bốn lệnh hệ thống từ chối là sự kiện thực thi được biết sau đó.
Hệ số 1,573 áp dụng cho cả hai phiên bản chỉ vì đã giả định cùng kết quả ròng trung bình và tập tín hiệu có thể so sánh. Chuyển sang tự động hóa thực tế có thể thay đổi lựa chọn tín hiệu, thời gian phản hồi và giá khớp. Chỉ đếm lệnh không xác định được chiều của chênh lệch cuối cùng.
So sánh phải nêu những gì giữ chung: định nghĩa tín hiệu, cơ hội sẵn có, quy tắc thoát và cách tính kết quả. Tỷ lệ thực hiện cao hơn không cho biết gì về các giao dịch bổ sung. Nếu tín hiệu bị bỏ qua thủ công có phân phối khác tín hiệu thực hiện, nhân trung bình cũ với số lượng mới tạo ra kịch bản sai.
Giá phản hồi và chi phí được đánh giá riêng. Chương trình có thể gửi lệnh sớm hơn, nhưng cũng có thể lặp lỗi hoặc hành động theo dữ liệu cũ. Chênh lệch thực thi chỉ có giá trị kinh tế trong phép tính của phiên bản đầy đủ. Ví dụ giữ trung bình cố định tách riêng số tín hiệu; ví dụ sau đổi chi phí. Kết luận nhất quán vì giả định khác nhau.
Vì sao hồ sơ thủ công không dự báo kết quả của hệ thống tự động
Không biết 90 tín hiệu bỏ qua có phải mẫu ngẫu nhiên không. Việc bỏ qua có thể phụ thuộc giờ quan sát và bộ lọc bổ sung, nhưng quan hệ với kết quả cần dữ liệu. Hồ sơ phải gồm tín hiệu không thực hiện cùng lý do của từng lần bỏ qua.
Hồ sơ thủ công mô tả phiên bản quy tắc được thực hiện. Nó không nhất thiết mô tả phiên bản thực hiện mọi tín hiệu. Bộ lọc tùy nghi có thể cải thiện hoặc làm xấu kết quả; không thể ước tính chênh lệch nếu thiếu các trường hợp bỏ qua.
Giải quyết bằng cách xác định kết quả của mọi tín hiệu, gồm tín hiệu bỏ qua, trên dữ liệu lịch sử — đó là kiểm thử được bàn trong phần còn lại của bài. Hồ sơ tiến cứu có cả tín hiệu không thực hiện, như phép tính trên, cũng phục vụ mục đích đó. Khác biệt là chúng tích lũy theo nhịp thị trường không thể tăng tốc, còn kiểm thử lịch sử dùng tài liệu đã sẵn có.
Giới hạn đóng góp của tự động hóa
Danh sách những việc tự động hóa không thực hiện thì ngắn hơn danh sách các lời hứa, nhưng có thể kiểm chứng các khẳng định trong đó.
Tự động hóa không xác lập lợi thế. Nó có thể thay đổi lãi, lỗ trung bình, tỷ lệ thắng và chi phí qua thời điểm và cách thực thi. Phải kiểm tra giá trị kỳ vọng ròng cho phiên bản quy tắc thực tế, thay vì mượn kết quả của phiên bản thủ công trước đó.
Nó không bảo đảm chi phí thấp hơn. Chênh lệch giá và hoa hồng vẫn áp dụng, dù phản hồi nhanh hơn hoặc thời điểm thoát thích hợp có thể đổi thực thi. Độ trễ từ tín hiệu đến gửi lệnh và trượt giá từ lệnh đến khớp là hai sai lệch khác nhau; cả hai có thể ảnh hưởng kết quả. Thay đổi chi phí cần đo trên tín hiệu có thể so sánh.
Nhiều giao dịch hơn có thể cung cấp thêm thông tin, nhưng không tỷ lệ với số dòng thêm vào. Phụ thuộc dương giữa kết quả có thể tăng sai số của trung bình, còn một số dạng phụ thuộc âm có thể giảm nó. Cỡ mẫu hiệu dụng thuộc một mô hình có cơ sở; không tự động nhỏ hơn N. Bài 8.2 phát triển cách đánh giá.
Nó chuyển quyết định lên sớm hơn thay vì loại bỏ chúng. Mọi quyết định đưa ra trong giao dịch thủ công phải được quyết định trước cho giao dịch tự động — dưới dạng đặc tả. Cần nhiều quyết định hơn vì chương trình cũng cần câu trả lời cho những câu hỏi con người xử lý theo bản năng: điều gì xảy ra với tín hiệu khi đang có vị thế, với nến bị thiếu hoặc vị thế không chạm mức nào? Mục 3 bàn về những câu hỏi này.
Hệ thống tự động thực hiện quy trình xác định; đánh giá bao quát logic, dữ liệu và thực thi. Thực thi tốt hơn có thể có giá trị kinh tế. Nó không thay thế bằng chứng rằng quy tắc đầy đủ còn sinh lời sau chi phí ngoài tài liệu dùng để lựa chọn quy tắc.
Thực thi có thể thay đổi dấu của kết quả ròng
Minh họa với cùng logic tín hiệu: kết quả trung bình trước sai lệch thực thi là +0,40 pip. Với chi phí và độ trễ của phiên bản thủ công là 0,65, trung bình ròng là −0,25; với con số của phiên bản tự động là 0,25, kết quả là +0,15. Các giá trị này không xác lập rằng tự động hóa thường cải thiện kết quả. Chúng cho thấy vì sao khẳng định dấu không đổi cần giả định thực thi không đổi.
2. Bốn hình thức tự động hóa và động cơ của nhà cung cấp
Người tham gia cá nhân có thể chọn các cách tổ chức khác nhau bởi điều quan trọng hơn mức tự động hóa: ai đặc tả quy tắc và ai có thể kiểm chứng nó. Điều này quan trọng hơn phân biệt “thủ công” và “tự động”, vì quyết định quy trình dưới đây có thể áp dụng hay không.
| Cách tổ chức | Ai đặc tả quy tắc | Có biết quy tắc không? | Có thể kiểm tra độc lập những gì? | Điều gì quyết định doanh thu nhà cung cấp? |
|---|---|---|---|---|
| Chương trình của bạn | Người dùng | Có, đầy đủ | Mọi mục trong hồ sơ tái lập: quy tắc, dữ liệu, chi phí và cách chia mẫu | Không có nhà cung cấp |
| Bán tự động — chương trình đánh giá điều kiện; người dùng quyết định và gửi lệnh | Người dùng | Có, đối với điều kiện; quy tắc quyết định cần đặc tả riêng | Danh sách và thời điểm tín hiệu; có thể kiểm tra toàn bộ nếu quy tắc lựa chọn được đặc tả | Không có nhà cung cấp |
| Sao chép giao dịch — lệnh tái tạo giao dịch từ tài khoản khác | Bên thứ ba | Không; chỉ ghi giao dịch đã thực hiện | Lịch sử giao dịch nếu cung cấp đầy đủ; không tái lập được điều kiện kích hoạt | Theo thỏa thuận; kiểm tra các cấu phần thù lao |
| Chương trình có sẵn hoặc đăng ký tín hiệu | Bên thứ ba | Tùy thỏa thuận; có thể không công bố đầy đủ | Chỉ những gì nhà cung cấp đưa ra; quy tắc không công bố ngăn tái lập kiểm thử | Theo thỏa thuận: cần kiểm tra phí đăng ký, doanh số giao dịch hoặc khoản trả theo hiệu suất |
Phải đọc mô hình thù lao nhà cung cấp trong điều khoản dịch vụ: nó có thể phụ thuộc phí đăng ký, doanh số giao dịch hoặc hiệu suất. Riêng mô hình không xác lập chất lượng hay sự gian dối. Đánh giá cần quy tắc, mô tả kiểm thử và dữ liệu xác định kết quả công bố đại diện cho điều gì.
Các sản phẩm đang có có thể bỏ qua chương trình đã rút hoặc tài khoản không còn công bố kết quả. Nếu vậy, bảng xếp hạng có lựa chọn theo khả năng tồn tại. Hãy xác định thành phần lịch sử thay vì cho rằng mọi chương trình thất bại đều biến mất.
Chương trình của bạn và xung đột không có người bán
Hàng đầu của bảng có vẻ không gặp vấn đề ở cột cuối vì không có nhà cung cấp. Tuy nhiên, một xung đột vẫn còn và có thể khó hơn vì không có bên khác chỉ ra. Tác giả và người kiểm thử quy tắc là cùng một người, còn kiểm thử quyết định số phận công việc họ đã thực hiện.
Tác giả nên ghi mọi phiên bản kiểm thử và mọi lần dùng dữ liệu kiểm định, kể cả thất bại. Không gán tần suất bỏ sót hay động cơ cho tác giả. Hồ sơ giữ ngay từ đầu đơn giản là đáng tin hơn việc dựng lại lịch sử thử nghiệm.
Bán tự động và khoảng trống để lại
Trong bán tự động, chương trình có thể đánh giá điều kiện còn con người chọn lệnh. Nếu bộ lọc bổ sung được đặc tả và tái lập được, có thể kiểm thử toàn bộ cách tổ chức. Nếu vẫn tùy nghi, kết quả thuộc tổ hợp chương trình và quyết định con người.
Hệ quả giống hồ sơ thủ công ở mục 1 và cần làm rõ ở đây vì có thể khó nhận thấy hơn. Kết quả không chỉ thuộc quy tắc đã lập trình; nó thuộc quy tắc đó kết hợp một quy tắc lựa chọn chưa đặc tả. Kiểm thử quy tắc thứ nhất không nói gì về tổ hợp. Muốn đánh giá, phải đặc tả quy tắc thứ hai. Bài 8.1 đưa ra tiêu chí đặc tả: hai người phải diễn giải giống hệt nhau.
Tư cách kết quả phụ thuộc những gì được đặc tả và thực hiện, không chỉ sự tham gia của con người. Chương trình có bộ lọc rõ ràng có thể tạo hệ thống tái lập được; bộ lọc không công bố hạn chế khả năng tái lập.
Tái tạo giao dịch của tài khoản khác
Thiếu quy tắc, sao chép giao dịch cho phép đánh giá chuỗi giao dịch công bố nhưng không tái lập được kiểm thử chiến lược ở giai đoạn khác. Vẫn có thể hỏi về ngày tháng, công cụ, chi phí và khác biệt thực thi. Thiếu quy tắc giới hạn đánh giá; không loại bỏ mọi thông tin trong hồ sơ.
Thực thi cũng khác. Sao chép đi sau tín hiệu từ tài khoản khác, nên lệnh đến thị trường muộn hơn và khối lượng có thể được điều chỉnh tỷ lệ. Cả hai khác biệt tác động tài khoản sao chép chứ không phải tài khoản gốc, nên đường kết quả công bố mô tả điều khác với thứ người sao chép nhận. Độ lệch phụ thuộc quy tắc: có thể không đáng kể với mục tiêu hàng chục pip, nhưng vượt toàn bộ lãi dự kiến nếu mục tiêu chỉ vài pip. Phép tính chi phí trên mục tiêu trong bài 8.3 cho thấy điều này.
Vấn đề pháp lý — địa vị dịch vụ, nghĩa vụ nhà cung cấp và bảo vệ khách hàng — thuộc phần 13 và nằm ngoài bài này. Điểm phương pháp là sao chép loại bỏ khả năng kiểm thử quy tắc, để lại các câu hỏi ở mục 9.
3. Điều kiện tiên quyết: có tái lập được quy tắc trên dữ liệu không?
Trước khi hỏi về hiệu suất, hãy hỏi hai lần dựng lại độc lập từ cùng đặc tả trên cùng dữ liệu báo giá có tạo cùng danh sách giao dịch hay không. Nếu không, so sánh tiếp theo mất ý nghĩa: sẽ là so hai quy tắc khác nhau mang cùng tên.
Hai triển khai độc lập kiểm tra tính không mơ hồ một cách chặt chẽ. Chúng không nhất thiết là phép kiểm tra duy nhất: trường hợp tham chiếu thống nhất và so sánh từng sự kiện cũng hữu ích. Sai khác có thể do lỗ hổng đặc tả hoặc lỗi mã. Hãy tìm nguyên nhân thay vì tự động viết lại quy tắc.
Kiểm tra danh sách sự kiện cho nhiều thông tin hơn khớp tổng cuối. Hai triển khai có thể đạt cùng kết quả qua giao dịch khác nhau, hoặc tạo tín hiệu giống hệt nhưng thoát khác vì trình tự thực thi khác. So sánh thời điểm, hướng, phía báo giá, cơ sở kích hoạt và khớp lệnh.
Sự trùng khớp không xác lập lợi thế hay mô hình thực thi hợp lệ. Nó xác nhận tái lập nhất quán một đặc tả và cấu hình cụ thể. Cả hai triển khai có thể cùng giả định sai. Trường hợp tham chiếu và kiểm tra tính sẵn có thông tin kiểm tra giả định ở cấp quyết định riêng trước khi dùng tổng hợp để đánh giá kinh tế.
Kiểm tra mức trùng khớp giữa hai lần dựng lại
Quy trình đơn giản và cần hai lần chạy: cùng quy tắc, tệp báo giá và giai đoạn. So danh sách thay vì số tổng: dấu thời gian vào, hướng, giá vào, dấu thời gian thoát, giá thoát và cơ sở thoát. Mức trùng khớp là tỷ lệ giao dịch có ở cả hai danh sách trên hợp các giao dịch duy nhất.
Giả định. Cùng đặc tả quy tắc, nến và giai đoạn. Lần dựng lại A tạo 62 giao dịch; B tạo 58. Có 54 trường hợp khớp dấu thời gian vào và hướng. Giá trị minh họa: phép tính cho thấy quy mô tác động, không phải phép đo khác biệt giữa chương trình thực tế nào.
Tính mức trùng khớp. Giao dịch duy nhất: 62+58−54=66. Trùng khớp: 54÷66=0,8182=81,8%. Khác biệt: 12 trên 66, tức 18,2% — tám chỉ có ở A và bốn chỉ ở B.
Định nghĩa trước giao dịch chung. Minh họa dùng thời điểm vào và hướng, thước đo hẹp hơn trùng khớp giao dịch đầy đủ gồm giá và thoát. Dung sai thời gian hay phương pháp ghép khác có thể thay đổi 54 trường hợp khớp, nên định nghĩa ghép là một phần phương pháp.
Kết quả 81,8% mô tả các danh sách được dựng. Không có nghĩa 18,2% còn lại là lỗi đã chứng minh của một triển khai. Trước hết xác định nguyên nhân nằm ở đặc tả, dữ liệu, mã hay mô hình hóa thực thi. Tác động lên trung bình là thước đo riêng, có thể lớn hoặc nhỏ bất kể tỷ lệ trùng khớp, như các tổng giả định A và B cho thấy.
Tổng minh họa của A: 54×0,30+8×(−1,50)=4,20 pip, tức 4,20/62=0,067742 mỗi giao dịch. B: 54×0,30+4×2=24,20, tức 24,20/58=0,417241. Tỷ số dùng trung bình chưa làm tròn là 6,1593, hay 6,16. Các giá trị làm tròn 0,417 và 0,068 sẽ cho khoảng 6,13.
Hai triển khai trong minh họa có cùng mô hình khớp. Thực tế, sai khác cũng có thể do lỗi mã, cài đặt dữ liệu hoặc phiên bản công cụ, dù cùng đặc tả quy tắc.
Mười hai giao dịch khác nhau làm trung bình kết quả thay đổi hơn sáu lần trong bộ này. Điều đó đến từ kết quả giả định, không phải thuộc tính phổ quát của giao dịch chưa thống nhất. Khớp thời điểm vào và hướng chưa đủ: cũng phải so thoát, giá và cơ sở của chúng.
Sai khác đến từ đâu
Các trường hợp sau cần đặc tả rõ hoặc kiểm tra triển khai. Không gán tần suất cho chúng. Đặc tả rõ loại bỏ một số khác biệt; số khác cần kiểm tra dữ liệu và mô hình thực thi.
- Ranh giới cửa sổ. Nến đang đánh giá có thuộc cửa sổ mức tham chiếu không? Với cửa sổ 20 nến, thay một nến có thể đổi mức tùy công thức — từ không đổi đến một bội số mục tiêu dự kiến.
- Bất đẳng thức nghiêm ngặt hay không nghiêm ngặt. “Giá trên mức” có gồm bằng nhau không? Với độ chính xác thập phân hữu hạn, bằng nhau xảy ra thường hơn trực giác vì giá được làm tròn theo bước báo giá.
- Tín hiệu khi đang có vị thế. Bỏ qua, tăng vị thế hay thay thế nó? Ba câu trả lời tạo ba danh sách giao dịch từ cùng luồng tín hiệu.
- Tín hiệu trên nến đóng vị thế. Vị thế đã đóng trước khi đánh giá tín hiệu chưa? Câu trả lời phụ thuộc trình tự mà nến không chứa.
- Dữ liệu thiếu. Có đánh giá điều kiện khi cửa sổ thiếu một nến không? Điền khoảng trống bằng giá trị lân cận và bỏ qua đánh giá tạo danh sách khác nhau; có thể chọn một cách mà không nhận ra đó là lựa chọn.
- Nhận diện nến và đổi đồng hồ. Nến được nhận diện bằng dấu thời gian địa phương nguồn hay giờ toàn cầu? Trong giờ lặp lại sau khi đổi đồng hồ, quy ước thứ nhất tạo nhãn trùng; thiếu độ lệch rõ ràng, nhãn địa phương có thể lặp. Hãy kiểm tra quy tắc nhận diện.
- Vị thế chưa kết thúc. Có thoát theo thời gian không, bộ đếm dùng nến tồn tại hay giờ đồng hồ? Cuối tuần khiến hai cách trả lời tạo ngày đóng khác nhau.
- Kết thúc giai đoạn kiểm thử. Vị thế mở trên nến cuối sẽ ra sao? Đóng ở giá cuối, bỏ toàn bộ giao dịch và để mở tạo ba tổng khác nhau.
Quy mỗi sai khác về đặc tả, mã, dữ liệu hay mô hình hóa thực thi. Làm rõ lỗ hổng đặc tả bằng văn bản; sửa lỗi triển khai trong chương trình. Sau đó lặp so sánh bằng trường hợp tham chiếu và danh sách sự kiện đầy đủ.
Tách hai vấn đề hay bị gộp trong thực tế. Khách quan hóa quy tắc — chuyển quan sát đồ thị thành điều kiện tính được — là kỹ thuật phân tích trong bài 5.12. Kiểm tra hai chương trình độc lập có tái lập đặc tả đó giống hệt hay không là vấn đề phương pháp ở đây. Câu thứ nhất hỏi “có tính được không?”, câu thứ hai “có luôn tính cùng cách không?”.
Quy tắc dựa vào giá đóng và giá phản hồi
Điều kiện dùng giá đóng nến chỉ sẵn có sau đó. Khớp lệnh không thể đi trước tín hiệu sẵn có và một phản hồi thực tế. Báo giá sau có thể bằng giá đóng; riêng giá bằng nhau không chứng minh nhìn trước.
Lỗi xảy ra khi kiểm thử dùng thông tin chưa sẵn có ở thời điểm quyết định được gán. Ghi giá đóng sau khi tín hiệu sẵn có không tự nó là lỗi; hãy kiểm tra dấu thời gian sẵn có, gửi và thực thi cùng quy tắc của bộ mô phỏng.
Ví dụ nhìn trước: mức thoát tại thời điểm t dùng đỉnh hoặc đáy của nến chỉ xuất hiện sau t. Dùng nến hiện tại không luôn sai — dữ liệu đã hình thành có thể đã sẵn có. Phép kiểm tra hỏi một giá trị cụ thể được biết lúc nào, không chỉ nhãn nến.
Xác định thời điểm sẵn có của từng giá trị. Giá trị biết khi nến đóng chỉ có thể kích hoạt lệnh sau khi chiến lược nhận được nó. Lần khớp sau có thể bằng giá đóng, nhưng riêng nến không xác lập điều đó. Thiếu thông tin thời điểm hạn chế diễn giải, cần công bố và điều tra.
4. Dữ liệu, phía báo giá và quy ước trong nến
Kiểm thử là hàm của ba yếu tố: quy tắc, dữ liệu và mô hình chi phí. Mục trước bàn yếu tố đầu. Mục này bàn các yếu tố khác, bắt đầu từ điểm thường thiếu trong tài liệu kiểm thử: dữ liệu không phải một hồ sơ phổ quát duy nhất. Một công cụ trong một giai đoạn có số hồ sơ bằng số nguồn, và khác biệt vượt việc làm tròn.
Cần biết gì về dữ liệu
Bộ dữ liệu báo giá được mô tả bởi các đặc tính không thể suy ra lẫn nhau.
Nguồn và phiên bản. Hồ sơ đến từ nhà cung cấp cụ thể và có thể được sửa sau — lấp khoảng trống, sửa báo giá sai. Kiểm thử trước và sau sửa là hai kiểm thử khác. Tái lập đòi hỏi ghi ngày tải cùng tên nguồn.
Phía báo giá. Hồ sơ có thể chứa Bid, Ask, cả hai hoặc trung điểm. Phần 2 giải thích phân biệt này; tác động số học trong kiểm thử nằm dưới đây.
OHLC không chứa trình tự trong nến. Hồ sơ tick đầy đủ cho trình tự thay đổi ghi nhận ở độ phân giải dấu thời gian của nó, nhưng không bảo đảm tính đầy đủ hay khớp lệnh. Phải biết độ phân giải thời gian, phía báo giá và khoảng trống; đó là các đặc tính riêng.
Tính đầy đủ. Đơn vị thời gian thiếu, dấu thời gian trùng và nguồn gián đoạn thay đổi cơ hội đánh giá. Phải đặc tả xử lý khoảng trống; nếu không, mặc định công cụ sẽ quyết định.
Thay đổi tập công cụ. Với kiểm thử nhiều công cụ, xác định tập công cụ có giữ nguyên suốt giai đoạn không. Công cụ bị rút báo giá biến mất cùng kết quả — cùng cơ chế tác động các sản phẩm ở mục 2.
Phía báo giá: tác động số học
Quy tắc có thể tính trên một phía còn lệnh khớp ở phía kia. Vị thế mua mở ở Ask được chào cho người tham gia và đóng ở Bid; chênh lệch trả một lần cho vòng mở–đóng hoàn chỉnh. Nếu mô phỏng vào và ra cùng phía, toàn bộ chênh lệch biến mất khỏi phép tính.
Với chênh lệch giá cố định và danh sách giao dịch cố định, thành phần bỏ sót tăng tuyến tính theo số giao dịch. Chênh lệch thực có thể đổi và ảnh hưởng kích hoạt cùng lệnh sau. Ví dụ dưới tách riêng điều chỉnh số học cố định; không phải mô phỏng Ask/Bid đầy đủ.
Quy ước trong nến: nơi dữ liệu im lặng
OHLC không nói đỉnh hay đáy xảy ra trước. Khi cả hai mức thoát đạt sau vào lệnh trong cùng nến, kết quả có thể phụ thuộc đường đi chưa biết. Ngay khi chỉ một mức đạt, vẫn có thể còn câu hỏi về thời điểm vào, phía báo giá và khả năng khớp.
Giả định TP trước SL hoặc SL trước TP là quy ước mô hình. Chẳng hạn TradingView mô tả đường O–H–L–C và O–L–H–C được chọn theo vị trí giá mở.[6] Dữ liệu chi tiết hơn có thể giảm mơ hồ nhưng không tự động xác lập khả năng khớp ở mọi mức chạm.
Giả định. Mục tiêu 30 pip và thoát bảo vệ 20 pip, đều đo từ cùng giá tham chiếu trước chi phí. Dữ liệu nến trên một phía báo giá tạo 400 giao dịch đã đóng. Trong 46 trường hợp, biên độ một nến bao trùm cả hai mức. Tổng kết quả của 354 giao dịch xác định được là +180 pip. Mô phỏng bỏ qua chênh lệch giá 0,80 pip mỗi giao dịch do ghi nhận vào và ra cùng phía. Mọi con số đều mang tính minh họa; đây là ví dụ số, không phải kết quả kiểm thử.
Tỷ lệ chưa xác định. 46÷400=11,5%.
Phiên bản lạc quan. 180+46×30=180+1380=+1560 pip;1560÷400=+3,90 pip mỗi giao dịch.
Phiên bản thận trọng. 180−46×20=180−920=−740 pip;−740÷400=−1,85 pip mỗi giao dịch.
Khoảng chênh. 46×(30+20)÷400=2300÷400=5,75 pip mỗi giao dịch. Toàn bộ lượng này đến từ quy ước, không phải dữ liệu.
Sau khi thêm chênh lệch giá bị bỏ sót. Mọi giao dịch đã đóng đều chịu chi phí: 354×0,80=283,2 pip cho giao dịch xác định được kết quả; 400×0,80=320 pip tổng cộng. Tổng xác định được giảm từ +180 xuống 180−283,2=−103,2 pip. Lạc quan: 1560−320=+1240 pip, tức +3,10 pip mỗi giao dịch. Thận trọng: −740−320=−1060 pip, tức −2,65 pip.
Ví dụ xác định 46 giao dịch phụ thuộc hai trình tự giả định. 354 giao dịch còn lại được coi là xác định được trong mô hình này. Trong kiểm thử thực tế, độ phân giải cao hơn cũng có thể phát hiện lỗi thời điểm vào và khớp ngoài nhóm đó.
Kết quả và diễn giải. Mười một phẩy năm phần trăm giao dịch đảo dấu tổng thể. Vì vậy, quy ước trong nến không công bố bỏ sót thông tin quyết định, không phải thông tin phụ. Giới hạn: giả định cả hai mức khớp đầy đủ trong mọi nến chưa thống nhất, loại trừ chạm mức nhưng không có khả năng khớp. Trượt giá cũng bị bỏ qua; trong phiên bản thận trọng, nó sẽ làm lỗ tăng.
Cuộn ngang sơ đồ hoặc mở ở kích thước đầy đủ.
Báo cáo tác động của giao dịch chưa thống nhất lên cả tổng và trung bình cùng tỷ lệ của chúng. Tỷ lệ nhỏ có thể gây tác động lớn khi kết quả lớn. Hai đường đi chỉ cho giới hạn hữu ích trong mô hình mức và khớp đã đặc tả; không phải giới hạn chung của kết quả thực.
Kiểm tra tính rõ ràng của phía giá và trình tự sau điều kiện vào. Nến bao trùm hai mức trước khi vào không nhất thiết tạo vấn đề giống nến bao trùm sau đó. Đặc tả phải phân biệt các tình huống, thay vì tự động coi mọi nến như vậy là chưa thống nhất.
Có thể tính độ nhạy trình tự cho mức và khớp giả định, nhưng thanh khoản chưa biết hoặc khớp một phần có thể tạo kết quả khác. Vì vậy, “lạc quan” và “thận trọng” chỉ một quy ước cụ thể. Báo cáo cả hai nhiều thông tin hơn che giấu một lựa chọn, nhưng không bảo đảm giao dịch thực nằm giữa chúng.
Mô hình hóa chi phí trong mô phỏng
Ghi riêng chênh lệch giá, hoa hồng và trượt giá. Mô hình dùng một giá tham chiếu phải thêm chi phí rõ ràng. Với chênh lệch khớp Ask/Bid thực tế, chênh lệch giá và trượt giá đã nằm trong giá được tính rồi, không được trừ lại. Trượt giá mô phỏng có thể ước tính từ mẫu thực nghiệm riêng; chính backtest không đo khớp mới.
Mô hình trượt giá cố định và dựa trên phân phối có thể khác nhau. Phân phối có thể phụ thuộc kiểu thoát và điều kiện thị trường. Không gán chiều hay độ lớn bất đối xứng khi thiếu dữ liệu; hãy so kịch bản rõ ràng và thực thi thực nghiệm sẵn có.
Có thể mô phỏng từ chối và khớp một phần. Bỏ chúng không luôn làm lệch kết quả theo một chiều: lệnh bị từ chối có thể đã thắng hoặc thua. Ghi sự vắng mặt là giới hạn mô hình, không phải bằng chứng kết quả luôn bị thổi phồng.
Với vị thế qua rollover, tổng tài trợ là Σ rⱼdⱼ. Ở đây rⱼ là mức phí lúc đó và dⱼ là trọng số ghi nhận. Bỏ swap âm làm kết quả cao hơn thực tế; bỏ swap dương làm thấp hơn. Bài 8.5 và 8.6 giải thích trọng số.
Không nhân mức hôm nay với số đêm rồi áp hồi cứu cho toàn lịch sử. Cần trọng số từng sự kiện ghi nhận, mức tại thời điểm đó và đơn vị. Khối lượng thay đổi cũng cần cơ sở tính cho từng đoạn. Phải ghi thiếu lịch sử mức phí là giới hạn hoặc thay bằng kịch bản chi phí được gọi tên rõ ràng.
Swap bỏ sót có thể làm lệch so sánh hai chân trời theo hướng khác nhau. Khoản ghi nhận dương là thu nhập cải thiện số dư dưới điều kiện giả định, không phải chi phí đổi tên. Khoản âm làm giảm số dư. Không dấu nào tự động đến từ hướng vị thế. Chuyển phương pháp tính từ bài 8.5–8.6, không chuyển các mức minh họa.
Nếu quy tắc dừng giao dịch quanh sự kiện, hãy tái lập bộ lọc bằng lịch sự kiện trong quá khứ và múi giờ. Thiếu bộ lọc, kết quả chứa cả hai điều kiện. Trung bình có thể mô tả hỗn hợp, nhưng phải công bố thành phần và chi phí riêng. Bài 8.8 bàn cửa sổ công bố; 8.4 định nghĩa kết thúc ngày giao dịch.
Bộ lọc công bố cần thông tin sẵn có trước quyết định, không phải bình luận sau xác định sự kiện nào hóa ra quan trọng. Đặc tả danh sách, giờ công bố trong múi giờ liên quan và xử lý sửa lịch. Nếu quy tắc không có bộ lọc, đừng loại giao dịch bất lợi quanh công bố sau đó rồi gọi phần còn lại là kiểm thử không đổi.
Đổi ranh giới ngày tương tự về phương pháp: có thể đổi tín hiệu và phân bổ dữ liệu. Giữ quy ước nguồn và độ lệch đồng hồ thay vì chỉnh theo kết quả. Trung bình mẫu hỗn hợp vẫn mô tả hợp lệ hỗn hợp đó, nhưng có thể giấu tập trung hiệu suất nếu thiếu giai đoạn con và điều kiện chi phí.
Kiểm thử demo kiểm tra tín hiệu và thực thi trong môi trường thử nghiệm. Có thể phân tích kết quả, nhưng không xác lập phân phối chi phí giống hệt tài khoản thực. Kiểm thử quan sát không gửi lệnh và không đo khớp. Hãy ghi rõ các chế độ này.
Một nến, hai kết quả khả dĩ
Một vị thế mua minh họa đã mở tại Ask 1,10000. Stop kích hoạt tại Bid 1,09800, mục tiêu tại Bid 1,10300. Nến Bid tiếp theo: O=1,09992; H=1,10320; L=1,09780; C=1,10040. Cả hai đường phù hợp OHLC này: O–H–L–C chạm mục tiêu trước; O–L–H–C chạm stop trước.
Với khớp đầy đủ được mô hình hóa tại các mức, kết quả giá là +30 và −20 pip. Sau hoa hồng 0,20, chúng là +29,80 và −20,20. Chênh lệch giá đã được tính giữa Ask vào thực tế và Bid thoát, nên không trừ lại. OHLC không xác lập trình tự hay thực thi ở mức chạm.
Cả hai đường vẽ đi qua cùng O, H, L và C theo thứ tự khác nhau. Như vậy đủ chứng minh mơ hồ, dù không bao quát mọi đường phù hợp OHLC. Kết quả đo từ Ask vào giả định đến Bid thoát. Nến Bid không có lịch sử Ask và không tự dựng lại được toàn bộ lịch sử chênh lệch giá.
Các số +29,80 và −20,20 là phép tính của hai lần khớp đầy đủ theo mô hình, không phải thực thi quan sát. Tài liệu bộ mô phỏng định nghĩa quy ước; dữ liệu chi tiết hơn có thể xác định trình tự báo giá. Khớp thực cần hồ sơ lệnh và thực thi. Báo cáo riêng ba lớp — đường đi, quy ước và thực thi.
5. Từ quy tắc đến triển khai, với tiêu chí chuyển bước
Các bước kiểm thử quy tắc thường được trình bày như danh sách việc. Riêng danh sách không quyết định gì vì không cho điều kiện chuyển bước. Dưới đây mỗi bước có câu hỏi cần trả lời khẳng định để bước sau có ý nghĩa, cùng hành động khi trả lời phủ định. Trình tự không tùy tiện: mỗi bước giả định đã hoàn thành bước trước.
Cuộn ngang sơ đồ hoặc mở ở kích thước đầy đủ.
Điều xảy ra sau câu trả lời phủ định
Danh sách không trùng dừng diễn giải kết quả cho đến khi xác định nguyên nhân. Sau khi sửa dữ liệu, mã hoặc đặc tả, lặp cả hai lần chạy. Đừng chọn danh sách chỉ vì kết quả tốt hơn.
Bước hai. Thiếu bất kỳ đặc tính nào trong năm đặc tính dữ liệu đều dừng kiểm thử vì mỗi đặc tính ảnh hưởng kết quả. Cung cấp chúng là công việc tổ chức, không phải nghiên cứu nội dung, và thường nhanh hơn tranh luận có cần hay không.
Kết quả trên dữ liệu lựa chọn mô tả phiên bản đã điều chỉnh, không cho xác nhận độc lập. Chúng có thể chẩn đoán vấn đề và loại ý tưởng theo tiêu chí định trước. Kết quả âm không nhất thiết kết thúc mọi dự án, nhưng phiên bản sửa là quyết định mới cần đánh giá độc lập. Báo cáo tỷ lệ và tác động trường hợp trong nến chưa xác định ngay cả khi trung bình dương.
Walk-forward chọn tham số trên cửa sổ trước và đánh giá trên cửa sổ sau. Trích đoạn chương Pardo sẵn có mô tả cách xây dựng này.[1] Kết quả nằm ngoài từng cửa sổ lựa chọn cục bộ, nhưng chọn độ dài cửa sổ và toàn quy trình sau khi xem mọi kết quả vẫn có thể điều chỉnh theo đánh giá. Ghi lịch sử quyết định và sau sửa đổi như vậy dùng kiểm thử cuối mới chưa đụng tới.
Kiểm thử trên dữ liệu mới đến có thể là quan sát, demo hoặc tài khoản thực. Quan sát so tính sẵn có dữ liệu và tín hiệu; demo thêm khớp thử nghiệm. Trượt giá, từ chối và khớp một phần thực tế cần hồ sơ lệnh thực. Mỗi chế độ còn cung cấp thông tin tiến cứu về hành vi quy tắc, không chỉ thực thi.
Bước sáu. Tiêu chí tắt viết sau triển khai là bình luận về kết quả, không phải tiêu chí. Mục 10 giải thích xây dựng và tính chất thống kê. Ở đây chỉ cần yêu cầu hình thức: phải tồn tại trước lệnh đầu.
Giám sát so cùng thước đo trong cùng đơn vị, tính đến cỡ mẫu và giai đoạn. Kết quả bằng tiền tài khoản và bằng pip không so trực tiếp được. Không khẳng định mức phổ biến hay ưu tiên của lỗi này khi chưa nghiên cứu báo cáo.
Tiêu chí tắt là một phần quy trình. Không chắc nó sẽ kích hoạt trong mọi giai đoạn hữu hạn. Sửa sau khi xem kết quả cần ghi phiên bản mới và kiểm tra riêng.
Mỗi bước dùng bao nhiêu lịch sử
Đằng sau chuỗi nhiệm vụ là việc tiêu thụ một nguồn hữu hạn: lịch sử báo giá sẵn có. Xem phân bổ bằng số hữu ích vì có thể đó là lý do duy nhất khiến không thực hiện được quy trình theo kế hoạch.
Giả định. 60 tháng lịch sử sẵn có. Cửa sổ trượt có giai đoạn chọn tham số 12 tháng và đánh giá 3 tháng, tiến mỗi 3 tháng. Quy tắc trung bình có 4 giao dịch đóng mỗi tháng. Mọi con số mang tính minh họa; đây là phép tính tổ chức, không phải kiểm thử.
Số cửa sổ đánh giá. Cửa sổ đầu bao phủ tháng 13–15, cuối là 58–60. Số lượng: (58−13)÷3+1=16.
Lịch sử được đánh giá. 16×3=48 tháng, tức 48÷60=80,0% toàn bộ lịch sử. 12 tháng đầu không bao giờ được đánh giá vì chỉ dùng chọn tham số cho cửa sổ đầu.
Số giao dịch. Được đánh giá: 48×4=192. Trong một cửa sổ chọn tham số: 12×4=48.
Tính sẵn có của thông tin và thực thi. Cố định và ghi cách chia trước lần chạy đầu vì nó quyết định tư cách mỗi con số báo cáo. Đổi một trong hai độ dài cửa sổ sau khi thấy kết quả là lần dùng dữ liệu kiểm định nữa, thuộc mục 6.
Kết quả và diễn giải. So hai số lượng. 192 giao dịch đánh giá ngoài dữ liệu huấn luyện là toàn bộ mẫu đánh giá. Số này — không phải độ dài lịch sử tính bằng năm — đi vào phép tính bất định trong bài 8.2 và tiêu chí tắt ở mục 10. 48 giao dịch trong mỗi cửa sổ lựa chọn là toàn bộ cơ sở chọn giá trị tham số: sáu giá trị nghĩa là chọn một trong sáu từ 48 quan sát. Giới hạn: bốn giao dịch mỗi tháng là giả định; số thực thay đổi giữa các cửa sổ theo điều kiện. Cửa sổ ít giao dịch cho lựa chọn kém tin cậy hơn nhưng chiếm cùng tỷ lệ tổng thời gian.
Cửa sổ huấn luyện dài hơn cho thêm dữ liệu nhưng có thể gồm điều kiện thị trường xa hơn; không bảo đảm lựa chọn tốt hơn. Kết luận phụ thuộc bất định, độ lớn tác động và thay đổi theo thời gian. Chỉ vài chục giao dịch không xác lập rằng kiểm thử không chứa thông tin.
Tư cách dữ liệu và chế độ thực thi
In-sample chỉ tài liệu dùng xây dựng hoặc lựa chọn. OOS chỉ tài liệu không dùng cho quyết định đó; walk-forward là quy trình cụ thể gồm các đánh giá OOS cục bộ liên tiếp. Tiến cứu nghĩa là dữ liệu đến sau khi cố định phiên bản, với thực thi quan sát, demo hoặc tài khoản thực. Kết quả thực là kết quả thực sự phát sinh trong tài khoản. Những nhãn này mô tả các trục riêng, có thể kết hợp; tiến cứu không tự động nghĩa là khớp thực.
Tư cách luôn gắn với một quyết định cụ thể. Một giai đoạn có thể là OOS cho phiên bản cũ và tài liệu lựa chọn cho phiên bản sau nếu kết quả đầu dẫn đến sửa đổi. Tiến cứu mô tả thứ tự thời gian, nên quan sát tiến cứu cũng có thể chọn phiên bản sau.
Chế độ thực thi trả lời câu hỏi riêng. Quan sát theo dõi dữ liệu và tín hiệu mà không gửi lệnh; demo cung cấp khớp thử nghiệm; tài khoản thực cung cấp khớp thực. Đây không phải các cấp của một phân loại. Vì vậy báo cáo có thể đồng thời nêu giai đoạn tiến cứu, vai trò so với phiên bản và chế độ thực thi. Mỗi yếu tố giải quyết một bất định diễn giải khác nhau.
Báo cáo riêng vai trò dữ liệu và chế độ thực thi. Thiếu chúng, ý nghĩa con số bị giới hạn: nó có thể mô tả lựa chọn phiên bản, đánh giá độc lập, tín hiệu tương lai hoặc kết quả thực sự phát sinh. Đây không phải bốn nhóm loại trừ nhau.
Cuộn ngang sơ đồ hoặc mở ở kích thước đầy đủ.
Kiểm thử tiến cứu: bạn thực sự quan sát được sự kiện nào?
| Chế độ tiến cứu | Sự kiện quan sát | Điều không xác lập được |
|---|---|---|
| Quan sát — không gửi lệnh | Tính sẵn có dữ liệu và tín hiệu, lệnh giả định | Khớp thực tế và chi phí thực thi |
| Demo | Tín hiệu, lệnh và khớp thử nghiệm | Thực thi giống hệt tài khoản thực |
| Tài khoản thực | Lệnh, khớp, chi phí và từ chối thực tế | Lợi thế tiếp tục tồn tại ngoài giai đoạn quan sát |
Mỗi báo cáo xác định ngày tháng, phiên bản quy tắc cố định và thay đổi trong giai đoạn. Tiến cứu mô tả kiểm thử theo thời gian; “thực” mô tả thực thi. Hai nhãn không thay thế nhau.
6. Danh mục bẫy trong kiểm thử
Các bẫy hạn chế độ tin cậy theo nhiều cách. Một số lỗi cụ thể, như nhìn trước trong triển khai đã biết, có thể loại bỏ và kiểm chứng bằng chạy lại. Không bảo đảm tương lai không có nghĩa mọi lỗi phát hiện chỉ có thể giảm nhẹ một phần.
| Bẫy | Cơ chế | Kiểm tra | Giới hạn |
|---|---|---|---|
| Nhìn trước | Giá trị chỉ sẵn có sau thời điểm quyết định được gán | Hồ sơ sẵn có và kiểm tra sự kiện; chạy lại sau sửa | Phiên bản dữ liệu chưa dựng lại có thể để lại giới hạn |
| Sửa giá trị lịch sử | Kiểm thử dùng bản sửa sau thay cho giá trị sẵn có lúc đó | Giữ phiên bản lịch sử và kiểm tra tính sẵn có | Công bố việc thiếu phiên bản gốc |
| Thiên lệch sống sót | Tập chỉ gồm công cụ hoặc quy tắc còn có sẵn | Dựng lại thành phần lịch sử và thay đổi | Thiếu lịch sử không ước tính được kết quả đã loại |
| Lựa chọn theo hiệu suất | Chọn tốt nhất từ nhiều lần thử có thể chứa phần vượt trội ngẫu nhiên | Hồ sơ phiên bản và đánh giá độc lập toàn quy trình | Không bảo đảm tránh nhiễu; riêng lựa chọn không chứng minh kết quả giả tạo |
| Quá khớp | Khớp chi tiết riêng của mẫu thay cho thuộc tính chuyển được ra ngoài mẫu | Đánh giá OOS quy trình cố định và kiểm tra độ nhạy | Vùng lân cận cũng có thể được chọn sau khi xem kết quả |
| Phụ thuộc giai đoạn | Hiệu suất tập trung trong điều kiện cụ thể | Giai đoạn con không giao nhau và mô tả tập trung hiệu suất | Lịch sử ngắn có thể không gồm điều kiện khác |
| Giao dịch phụ thuộc nhau | Bỏ qua phụ thuộc có thể hạ thấp sai số trung bình | Mô hình cụm rõ ràng hoặc kiểm tra theo khối | Chia thời gian không loại mọi phụ thuộc giữa công cụ |
| Chi phí thiếu | Chi phí và sự kiện thực thi bỏ sót hoặc không phù hợp | Cơ sở giá đầy đủ, kịch bản và hồ sơ khớp | Tác động từ chối phụ thuộc giao dịch bị bỏ |
| Quy ước trong nến | OHLC không xác lập mức thoát nào đến trước | Tỷ lệ và khoảng kết quả của trường hợp chưa thống nhất; dữ liệu chi tiết hơn | Chạm giá không xác lập khớp lệnh |
| Trộn tư cách dữ liệu | Hiệu suất trên dữ liệu lựa chọn được trình bày là kiểm định | Vai trò từng giai đoạn, phiên bản và chế độ thực thi | Tổng IS+OOS có thể mô tả nhưng không phải OOS độc lập |
Xem nhiều phiên bản tăng khả năng chọn kết quả thuận lợi ngẫu nhiên. Riêng cực đại không chứng minh sản phẩm giả tạo; phải tính đến họ quy tắc kiểm thử và quy trình lựa chọn. White mô tả phép kiểm định so hiệu suất tốt nhất với chuẩn tham chiếu, đồng thời kiểm soát việc dò dữ liệu.[2]
Harvey, Liu và Zhu phân tích nhiều quan hệ được kiểm định trong nghiên cứu mặt cắt ngang lợi suất kỳ vọng.[4] Ngưỡng ý nghĩa của họ không được chuyển sang kiểm thử FX cá nhân. Nguồn này chỉ đến dòng tài liệu riêng về kiểm định nhiều lần.
Vì sao dùng lặp lại tiêu thụ cửa sổ kiểm định
OOS không còn là kiểm định độc lập cho quyết định mới nếu kết quả được dùng sửa quy tắc hoặc quy trình. Chỉ đọc lại không đổi dữ liệu, nhưng hành động theo lần đọc đổi vai trò của chúng.
Khi sửa đổi dùng kết quả OOS, giai đoạn đó trở thành một phần lựa chọn phiên bản mới. Bailey và đồng tác giả mô tả xác suất quá khớp trong quy trình lựa chọn cụ thể.[3] Điều này không xác lập rằng mọi lựa chọn làm vô hiệu mọi thông tin về tương lai.
Cửa sổ đã dùng không thể trở lại chưa xem. Tuy nhiên, có thể cố định toàn quy trình rồi đánh giá trên dữ liệu mới chưa chạm hoặc bằng cách chia ngoài riêng. Hồ sơ sử dụng xác định phiên bản mà kết quả còn là OOS.
Phạm vi bảng
Các hàng mô tả nhiều giới hạn kiểm thử, không chỉ thổi phồng kết quả. Một số bỏ sót có thể tác động cả hai chiều. Đặc tả hợp đồng cần kiểm tra riêng: nếu không thể thực hiện quy tắc dưới các hạn chế đó, kiểm thử thuận lợi không giải quyết vấn đề. Phần 11 phát triển những điều kiện này.
Tổng quan của Park và Irwin khảo sát nghiên cứu khả năng sinh lời của phân tích kỹ thuật.[5] Ở đây không dùng nó để gán tỷ lệ kết quả sai hay nói phần lớn quy tắc thất bại. Phép tính mô hình rõ ràng xác lập giới hạn trong bài, không phải khái quát chưa kiểm chứng về tài liệu.
Kiểm thử mới sau khi sửa quy tắc bằng dữ liệu OOS
Phiên bản v 1 được chọn không dùng giai đoạn B, nên B là OOS cho quyết định đó. Đọc B dẫn đến đổi tham số và v 2. Nay B phục vụ lựa chọn v 2: vẫn có thể ghi nhận lỗi nhưng không còn xác nhận độc lập v 2. V 2 cố định cần giai đoạn C, chưa dùng cho tham số, độ dài cửa sổ hay chi phí. Báo cáo giữ v 1, v 2, ngày quyết định và vai trò mỗi giai đoạn.
7. Kiểm thử độ nhạy: chi phí, tham số và giai đoạn
Khẳng định lợi thế đòi hỏi kiểm tra hiệu suất có vượt qua thay đổi giả định hợp lý không. Ba trục thiết yếu vì mọi kiểm thử chứa ba loại giả định: chi phí, giá trị tham số chính và giai đoạn chọn. Cả ba được xét trên cùng bộ số dưới đây để so sánh.
Quy tắc có một tham số tự do: độ dài cửa sổ tính mức tham chiếu. Các giá trị thử là 10, 15, 20, 25, 30 và 40 nến. Thước đo là kết quả trung bình mỗi giao dịch đóng tính bằng pip sau chi phí 0,60 pip. Phiên bản A và B khác cách xây dựng điều kiện vào. Mọi con số trong mục này mang tính minh họa, không đến từ kiểm thử thực tế nào và chỉ cho thấy cách diễn giải một bộ như vậy.
Bảng dùng trung bình và số lượng giả định, không xử lý báo giá. Vì thế không có tỷ lệ thực nghiệm nến chưa thống nhất, hồ sơ khớp hay tư cách IS/OOS. Các trường này không áp dụng — không thực hiện kiểm thử, không phải 0%. Báo cáo thực phải cung cấp chúng cùng dữ liệu và mô hình.
Không thực hiện kiểm thử không có nghĩa không có lỗi. Nến chưa thống nhất, từ chối và trường hợp nhìn trước chưa biết vì không có danh sách sự kiện đó. Không lỗi sẽ là kết quả phép kiểm tra đặc tả trên mẫu đầy đủ. “Không áp dụng”, kèm lý do, mô tả chính xác cách dựng minh họa.
So sánh thực cần nguồn và phiên bản báo giá, định nghĩa tín hiệu, chi phí, vai trò giai đoạn và danh sách sự kiện tái lập trung bình. Trông giống báo cáo kiểm thử không mang lại tư cách đó. Các giá trị là đầu vào tính độ nhạy; kiểm định kiểm tra số học chứ không phải chất lượng thực nghiệm của A hay B.
Trục tham số
| Độ dài cửa sổ | Phiên bản A — giao dịch | Phiên bản A — kết quả trung bình | Phiên bản B — giao dịch | Phiên bản B — kết quả trung bình |
|---|---|---|---|---|
| 10 nến | 320 | +0,05 pip | 300 | +0,18 pip |
| 15 nến | 250 | +0,42 pip | 240 | +0,44 pip |
| 20 nến | 210 | +1,73 pip | 200 | +0,51 pip |
| 25 nến | 180 | +0,38 pip | 175 | +0,49 pip |
| 30 nến | 160 | +0,31 pip | 155 | +0,46 pip |
| 40 nến | 130 | +0,22 pip | 125 | +0,29 pip |
Cả hai phiên bản đạt đỉnh ở 20 nến. Chỉ chọn số lớn hơn sẽ ưu tiên A. Kiểm tra lân cận và giai đoạn con cho thấy A nhạy hơn trong bộ này, nhưng không xác lập lợi thế cho B.
Tỷ số từ trung bình có trọng số đầy đủ là 1,733333/0,400028=4,3330 cho A và 0,509750/0,463442=1,0999 cho B. Bảng hiển thị giá trị làm tròn. Trung bình lân cận dùng hai trung bình đầy đủ thay vì các hàng đã làm tròn.
A có đỉnh cô lập; B có vùng kết quả tương tự rộng hơn. Đây là chẩn đoán độ nhạy, không chứng minh A là kết quả giả tạo hay B là chiến lược ổn định. Trung bình lân cận cũng đến từ cùng mẫu, thường chung giao dịch; chúng không thay thế dữ liệu OOS mới.
Đồ thị giữ trục tham số bằng số: khoảng 30 đến 40 rộng hơn các khoảng liền kề trước đó. Vì vậy, bề rộng vùng vẽ tương ứng độ dài cửa sổ, không phải số cột tùy ý. Độ cao điểm dùng trung bình có trọng số đầy đủ, không sao chép hàng làm tròn.
Vùng dương rộng hơn mô tả hữu ích độ nhạy mẫu này. Không cho nhiều xác nhận độc lập vì quy tắc lân cận có thể dùng cùng giao dịch. Chính vùng đó cũng có thể chọn sau khi thấy kết quả; lịch sử lựa chọn khi ấy cần xem xét như một đỉnh. Hình học đồ thị không thay cách chia dữ liệu và đánh giá bất định.
Cuộn ngang sơ đồ hoặc mở ở kích thước đầy đủ.
Số giao dịch giảm khi cửa sổ dài hơn, nhưng bất định còn phụ thuộc độ phân tán và phụ thuộc. Hàng có N nhỏ vẫn có thể cho thông tin hữu ích. Thiếu phân phối, không gán khoảng tin cậy hay độ chắc chắn lựa chọn ở đây.
Trục chi phí
Với danh sách giao dịch cố định và chi phí thêm đồng đều ΔC, trung bình giảm đúng ΔC. Quy tắc không có bộ lọc chi phí không bảo đảm danh sách không đổi: chênh lệch giá thay đổi có thể đổi kích hoạt, còn khớp hay từ chối có thể đổi vị thế và tín hiệu sau. Kiểm thử đầy đủ phải mô phỏng lại các sự kiện.
Dịch mọi trung bình chỉ hữu ích khi danh sách cố định và chi phí thêm bằng nhau mỗi kết quả. Nó nhanh chóng cho thấy biên dư nhưng không dựng lại hành vi chiến lược đã đổi. Nếu chi phí thêm phụ thuộc giờ, kiểu thoát hay thời gian giữ, hãy tính cho sự kiện tương ứng.
Đổi chênh lệch giá cũng có thể vi phạm giả định danh sách cố định. Với vị thế bán, Ask có thể kích hoạt stop sớm hơn; việc đóng đổi tín hiệu sau mà quy tắc một vị thế cho phép. Khi ấy chi phí là phần của trình tự quyết định, không phải khoản trừ tổng cuối. Kiểm thử sức chịu đựng thực thi đầy đủ cần chạy lại rõ ràng.
| Chi phí mỗi giao dịch | A — đỉnh (cửa sổ 20) | A — lân cận đỉnh | B — đỉnh (cửa sổ 20) | B — lân cận đỉnh |
|---|---|---|---|---|
| 0,60 pip (giả định trong kiểm thử) | +1,73 | +0,40 | +0,51 | +0,463442 |
| 0,90 pip | +1,43 | +0,10 | +0,21 | +0,163442 |
| 1,20 pip | +1,13 | −0,20 | −0,09 | −0,136558 |
Thêm 0,60 pip là mức kiểm tra sức chịu đựng minh họa, không phải chênh lệch điển hình đo được giữa mô phỏng và giao dịch. Với danh sách cố định, nó khiến cả hai trung bình lân cận âm. Khoảng thử đáng tin trong báo cáo thực cần dữ liệu hoặc điều kiện thực thi có cơ sở.
B ít nhạy với tham số lân cận trong bộ này nhưng nhạy với chi phí hơn. Sau chi phí thêm có cơ sở, riêng đỉnh dương không đủ xác lập lợi thế. Đánh giá đầy đủ còn cần bất định và dữ liệu ngoài lựa chọn.
Trục giai đoạn
Trục thứ ba lặp toàn bộ xem xét tham số riêng trên hai giai đoạn con không giao nhau.
Tham số tốt nhất đổi cho thấy phụ thuộc giai đoạn. Có thể phản ánh nhiễu, điều kiện đổi hoặc thích nghi có cơ sở. Riêng dịch chuyển cực đại không phân biệt được chúng.
| Độ dài cửa sổ | A — giai đoạn con I | A — giai đoạn con II | B — giai đoạn con I | B — giai đoạn con II |
|---|---|---|---|---|
| 10 nến | +0,20 (170 giao dịch) | −0,12 (150) | +0,25 (160) | +0,10 (140) |
| 15 nến | +0,95 (130) | −0,15 (120) | +0,52 (125) | +0,35 (115) |
| 20 nến | +3,20 (110) | +0,12 (100) | +0,60 (105) | +0,41 (95) |
| 25 nến | +0,60 (95) | +0,13 (85) | +0,55 (92) | +0,42 (83) |
| 30 nến | +0,42 (85) | +0,19 (75) | +0,50 (82) | +0,41 (73) |
| 40 nến | +0,15 (70) | +0,30 (60) | +0,33 (66) | +0,24 (59) |
Gán trọng số trung bình theo số giao dịch. Ở 20, A: (110×3,20+100×0,12)/210=1,733333. B: (105×0,60+95×0,41)/200=0,509750, làm tròn thành 0,51. Trung bình chính xác của cả sáu cấu hình là cơ sở tính lân cận và kiểm tra sức chịu đựng chi phí.
Cực đại A chuyển từ 20 nến trong giai đoạn con đầu sang 40 ở giai đoạn sau. Tại cấu hình 20, giai đoạn đầu đóng góp 110×3,20=352 pip, giai đoạn sau 100×0,12=12; đầu chiếm 96,7% tổng 364. Cực đại B chuyển từ 20 sang 25 và mọi trung bình vẫn dương. Chênh lệch 0,01 giữa hai cấu hình là đặc điểm số được dựng; không xác định được ý nghĩa nếu thiếu phân tán kết quả.
A nhạy với tham số và giai đoạn trong bộ này; B cho kết quả lân cận tương tự. Cả hai yếu đi khi chi phí cao hơn. Không có mẫu thực nghiệm, phương sai kết quả hay kiểm định lựa chọn, nên không gán lợi thế bền vững cho bên nào.
Dùng kết quả kiểm thử độ nhạy
Trục tham số mô tả lân cận; chi phí mô tả biên dư cho một phụ phí cụ thể; giai đoạn mô tả tập trung hiệu suất lịch sử. Không trục nào xác định được số có thể chuyển sang tương lai nếu không kiểm tra thêm.
Khi cả ba đánh giá cùng hướng, kết luận rõ ràng. Khi khác nhau, không có quy tắc phân định, giả vờ ngược lại không hữu ích. Tuy vậy, một điều rõ: kết quả đổi dấu sau thay đổi giả định nhỏ và thực tế là không ổn định, bất kể độ cao ban đầu.
Vùng lân cận phẳng vẫn có thể dùng chung mẫu
Các phiên bản 15, 20 và 25 nến có thể chung nhiều giao dịch. Trung bình giống nhau khi đó không cho ba xác nhận độc lập. Trước khi kết luận vững, hãy kiểm tra sự kiện chung, kết quả giai đoạn con và lịch sử lựa chọn toàn vùng. Trung bình lân cận mô tả mẫu này; không phải bằng chứng OOS mới.
8. Hồ sơ tái lập
Kiểm thử tái lập được khi người khác chỉ có mô tả vẫn thu cùng kết quả. Tiêu chí nghiêm ngặt, không có mức trung gian: mô tả đủ hoặc không. Hồ sơ dưới liệt kê mục mà thiếu sẽ dừng tái lập và xác định điều chưa biết khi đó.
| Mục | Nội dung cần có | Điều chưa biết nếu thiếu |
|---|---|---|
| Quy tắc | Đặc tả đầy đủ, có thể quyết định được, gồm trường hợp biên ở mục 3: tín hiệu khi đang có vị thế, thoát chưa kết thúc, dữ liệu thiếu và cuối giai đoạn | Danh sách giao dịch — tức mọi thứ, vì mọi số sau đều suy ra từ đó |
| Công cụ và giai đoạn | Mã, ngày bắt đầu/kết thúc, số công cụ và với nhiều công cụ, tập công cụ tại từng thời điểm | Kết quả có đến từ một đoạn lịch sử và tập công cụ có được định nghĩa hồi cứu không |
| Nguồn và phiên bản dữ liệu | Nhà cung cấp, ngày tải và sửa đổi áp dụng sau | Tái lập kiểm thử bằng lần tải sau có dùng cùng báo giá không |
| Phía báo giá | Phía báo giá dùng cho điều kiện và ghi nhận thực thi, riêng cho vào và thoát | Chênh lệch giá được tính hay bỏ hoàn toàn |
| Độ phân giải | Nến kèm đơn vị thời gian hoặc từng bản ghi thay đổi giá | Trình tự sự kiện trong đơn vị đó được biết hay giả định |
| Quy ước trong nến | Quy ước khi biên độ một đơn vị thời gian bao trùm cả hai mức thoát và tỷ lệ trường hợp đó | Bao nhiêu hiệu suất đến từ dữ liệu và từ quy ước — xem phép tính ở mục 4 tương ứng |
| Mô hình chi phí | Chênh lệch giá, hoa hồng quy đổi sang đơn vị kiểm thử và trượt giá, tách riêng; ghi từng mục là cố định, đọc từ dữ liệu hay rút ngẫu nhiên | Hiệu suất gộp hay ròng và thay đổi sau khi tăng chi phí thực tế hợp lý |
| Xử lý dữ liệu thiếu | Xử lý đơn vị thời gian thiếu, dấu thời gian trùng và gián đoạn ghi nhận | Hai lần dựng lại có cùng cơ hội đánh giá điều kiện hay không |
| Chia mẫu | Dữ liệu chọn tham số, dữ liệu đánh giá, số lần dùng cửa sổ kiểm định và số phiên bản kiểm thử | Tư cách kết quả — thiếu mục này không phân biệt được hiệu suất trên dữ liệu huấn luyện với ngoài dữ liệu đó |
| Số giao dịch và phân bố thời gian | Tổng số, số trong giai đoạn con và thông tin phân cụm | Giao dịch đại diện bao nhiêu quan sát độc lập, do đó bất định ước lượng là gì |
| Quy trình hoặc mã | Đặc tả tái lập từng bước cùng phiên bản công cụ | Khác biệt dựng lại đến từ quy tắc hay thực thi |
| Tư cách kết quả | Vai trò dữ liệu và chế độ thực thi của mỗi con số ở mục 5 | Con số thực sự có nghĩa gì |
Hồ sơ ghi dữ liệu, quy tắc và cách thực thi. Không gán thời gian hoàn thành hay mức phổ biến bỏ sót trong báo cáo khác khi chưa nghiên cứu. Phiên bản công cụ, tổng kiểm tệp và danh sách quyết định xác định có đang so cùng thử nghiệm không.
Đường vốn có thể cho thấy đường kết quả và mức tập trung nếu xác định trục và cơ sở. Nó không thay quy tắc, dữ liệu, chi phí hay lịch sử lựa chọn. Riêng đồ thị không tái lập kiểm thử hay đánh giá mọi giới hạn, dù không phải không có thông tin.
Cần cố định những gì để tái lập kết quả
Cùng hồ sơ, giữ hàm băm SHA-256 của dữ liệu và mã, phiên bản công cụ, tham số, múi giờ và độ lệch UTC, hạt giống ngẫu nhiên nếu áp dụng và danh sách sự kiện. Ngày kiểm chứng nguồn xác định tài liệu mô hình được xem. Sau khi đổi dữ liệu hay công cụ, so danh sách giao dịch với bảng kê trước thay vì chỉ tổng cuối.
Tổng kiểm phát hiện byte tệp thay đổi; không đánh giá chất lượng dữ liệu hay mã đúng. Tệp giống hệt có thể cùng lỗi. Bảng kê xác định những gì đã dùng để người độc lập điều tra và lặp lần chạy đã sửa trên phiên bản được đặt tên.
Thành phần ngẫu nhiên cũng cần tham số bộ sinh, cách lấy mẫu và trình tự sử dụng. Chỉ hạt giống có thể không đủ sau khi đổi thư viện hay mô hình. Phiên bản công cụ và hồ sơ sự kiện phân biệt luồng ngẫu nhiên đổi với quy tắc đổi. Đây là thông tin diễn giải kết quả, không phải hướng dẫn cấu hình môi trường.
9. Đánh giá kết quả của người khác bằng câu hỏi
Đánh giá kết quả người khác như của mình, với một khác biệt: không tự bổ sung độc lập được thông tin thiếu, nên câu hỏi không được trả lời chấm dứt đánh giá thay vì trở thành bước trong đó.
Tách hai danh sách trước câu hỏi đầu; nếu không so sánh sẽ quá dài để kết thúc. Tám câu hỏi về chính kết quả — số giao dịch, giai đoạn và công cụ, chi phí, cách chia dữ liệu, số phiên bản thử, sụt giảm tối đa, tập trung ở giao dịch lớn nhất và ai chịu rủi ro — thuộc bài 8.2, mục 13. Chúng áp dụng nguyên vẹn cho kết quả thuật toán và không lặp lại ở đây. Danh sách dưới chỉ bao quát phần bổ sung khi con số đến từ kiểm thử báo giá lịch sử thay vì giao dịch đã thực hiện. Mỗi hàng theo cùng thứ tự: câu hỏi, câu trả lời cần có và ý nghĩa nếu thiếu.
| Câu hỏi | Câu trả lời phải có gì | Thiếu nó có nghĩa gì |
|---|---|---|
| Dữ liệu và phía báo giá nào? | Nhà cung cấp, ngày tải, phía báo giá cho điều kiện và ghi nhận thực thi | Chưa biết chênh lệch giá có được tính không; bỏ chênh lệch cố định có tác động mỗi giao dịch cộng dồn tuyến tính |
| Độ phân giải và quy ước trong nến nào? | Đơn vị thời gian ghi nhận, quy ước trình tự và tỷ lệ trường hợp nó quyết định | Kết quả có thể đến từ quy ước thay vì dữ liệu; mục 4 tính quy mô tác động |
| Xử lý khoảng trống ghi nhận thế nào? | Xử lý đơn vị thời gian thiếu, dấu thời gian trùng và gián đoạn báo giá, cùng số lượng | Chưa biết các lần dựng lại có cùng cơ hội đánh giá điều kiện; đổi danh sách đó sẽ đổi giao dịch và mọi con số sau |
| Mỗi cấu phần chi phí cố định, đọc từ dữ liệu hay rút ngẫu nhiên? | Riêng cho chênh lệch giá, hoa hồng và trượt giá: giá trị cố định, dữ liệu quan sát hoặc phân phối và tham số lấy mẫu | Cấu phần chi phí đã có trong danh sách 8.2; điểm bổ sung là mỗi dạng tái lập khác nhau, và lấy mẫu ngẫu nhiên không có hạt giống xác định sẽ khác mỗi lần chạy. Toàn bộ trục chi phí ở mục 7 cũng không thể đánh giá được |
| Giao dịch phân bố trong thời gian thế nào? | Số trong giai đoạn con và phân cụm; tổng số đã thuộc danh sách 8.2 | Không ước tính được số quan sát độc lập hiệu dụng, bất định và liệu kết quả tập trung trong một đoạn bên cạnh giai đoạn con trống |
| Cửa sổ kiểm định được dùng bao lần? | Số lần đánh giá trên dữ liệu không dùng chọn tham số và có lần đọc nào dẫn đến sửa quy tắc không | Chia dữ liệu đã có trong danh sách 8.2; vấn đề bổ sung là tiêu thụ dữ liệu kiểm định. Lần đọc dùng để sửa trở thành tài liệu lựa chọn cho phiên bản mới, khiến nhãn “ngoài mẫu” rỗng dù vẫn còn cách chia hình thức |
| Điều gì xảy ra khi tham số dịch một bước? | Giá trị lân cận, không chỉ cực đại | Chưa biết độ nhạy với tham số lân cận |
| Định nghĩa đường đi xấu nhất thế nào? | Định nghĩa vận hành của thước đo và giai đoạn/mẫu nguồn; độ lớn sụt giảm đã thuộc danh sách 8.2 | Hai định nghĩa tạo hai số cho cùng đường đi, nên so số thiếu định nghĩa là so đại lượng khác nhau; phần 9 giải thích thước đo rủi ro và cách xây dựng |
| Có kết quả trên dữ liệu mới đến không, và trong bao lâu? | Ngày bắt đầu, số giao dịch và quy tắc có đổi trong giai đoạn không | Chỉ còn hiệu suất lịch sử; tư cách thực thi cần mô tả riêng |
| Kiểm thử được tiến hành thế nào? | Quy trình hoặc mã tái lập sự kiện từng bước cùng phiên bản công cụ | Không quy được sai khác dựng lại cho quy tắc hay thực thi — những kết luận khác nhau cần hành động khác nhau |
| Người công bố có chạy cùng đặc tả bằng vốn của mình không? | Phiên bản quy tắc cung cấp có khớp phiên bản trên tài khoản người công bố và điều gì quyết định doanh thu của họ | Ai chịu rủi ro đã có trong danh sách 8.2; vấn đề bổ sung là tách phiên bản. Có thể cung cấp thuật toán ở phiên bản khác phiên bản đang dùng, khác với chuỗi giao dịch thủ công. Không phân biệt thì không đánh giá được động cơ kiểm chứng trước khi cung cấp — mục 2 |
Câu cuối có thể bị coi là bất lịch sự và là câu duy nhất không nói về chính quy trình kiểm thử. Nó làm rõ mười câu kia hỏi người đã chịu hệ quả từ phát hiện của mình hay người chỉ bị tác động bởi phát hiện của người khác. Không cáo buộc bên nào; nó xác định gánh nặng kiểm chứng nằm ở đâu.
Hai danh sách phối hợp thế nào
Thứ tự thực hành quan trọng. Bắt đầu bằng tám câu hỏi trong bài 8.2: chúng ngắn hơn và thường giải quyết vấn đề hơn. Thiếu số giao dịch, ngày tháng hay chia dữ liệu, độ phân giải ghi nhận không liên quan vì chưa biết nó mô tả gì. Kết quả qua danh sách đó cần mười một câu hỏi trên, xác định con số mô tả quy tắc hay quy trình kiểm thử quy tắc.
Báo cáo lệnh thực có khớp thực tế nhưng vẫn cần phiên bản thuật toán, nguồn tín hiệu và thay đổi quy tắc. Câu hỏi trong nến liên quan mô phỏng; chất lượng dữ liệu và tín hiệu sẵn có cũng quan trọng trong thực thi thực. Mô hình chi phí lịch sử có thể ước tính từ mẫu thực thi riêng.
Thực thi giải quyết bất định về giá lần khớp đó, không giải thích vì sao chương trình gửi lệnh. Vẫn cần dữ liệu sẵn có lúc ấy, phiên bản quy tắc và hồ sơ tín hiệu. Nguồn gián đoạn hoặc ranh giới nến sai có thể xảy ra trong giao dịch thực dù khớp được ghi đúng.
Mô phỏng có thể dùng trượt giá ước tính từ khớp thực trước đó. Mẫu đó có ngày tháng, công cụ và giới hạn riêng. Nó không đo lần khớp backtest mới hay bảo đảm chuyển phân phối sang giai đoạn tới. Giữ nguồn gốc từng cấu phần thay vì xem toàn kiểm thử đối lập với mọi dạng dữ liệu thực.
Có thể cung cấp gì thay câu trả lời
Tài liệu khác có thể thay câu trả lời dù không thứ nào tương đương. Thứ nhất, đường vốn không có quy tắc, mô hình chi phí hay chia mẫu. Thứ hai, độ dài giai đoạn không kèm số giao dịch: hai năm có thể là 20 hoặc 2000 giao dịch, nên cùng thời gian không nhất thiết cho số quan sát tương đương. Cả hai đại lượng thuộc danh sách bài 8.2, nhưng cái này có thể thay cái kia. Thứ ba, một chỉ số chất lượng tổng hợp thiếu mẫu, giai đoạn, chi phí hay chia dữ liệu là hàm của những đại lượng thiếu đó, không chỉ của quy tắc.
Hồ sơ hiệu suất chính xác có thể có giá trị hạn chế để xét tương lai. Phân biệt dữ liệu đúng với kiểm thử độc lập, phạm vi chi phí và lịch sử lựa chọn. Riêng chọn theo hiệu suất không chứng minh kết quả giả tạo, nhưng cần kiểm định có xét lựa chọn.
Áp dụng cùng câu hỏi cho kết quả của bạn
Báo cáo phải giữ ngày quyết định, cả những lần đọc không đổi quy tắc. Dựng lại hồi cứu kém tin cậy hơn ghi nhận đương thời, nhưng không nên gán trước chiều sai lệch ký ức.
Cách chia ghi trước kiểm thử xác lập kế hoạch sử dụng dữ liệu. Dựng lại có thể mô tả cách chia đã dùng, nhưng không chứng minh nó giữ nguyên sau khi xem kết quả. Cần lịch sử phiên bản và quyết định.
10. Giám sát và tiêu chí tắt định trước
Sau triển khai, quan sát hành vi quy tắc có phù hợp phạm vi phiên bản kiểm thử không. Khác biệt có thể phản ánh phân tán ngẫu nhiên, điều kiện đổi hoặc lỗi dữ liệu/thực thi. Tiêu chí hiệu suất không xác định hoàn hảo nguyên nhân, nhưng có thể đánh giá tần suất báo động và độ trễ trong mô hình rõ ràng.
Tiêu chí dựa vào việc vượt quan sát xấu nhất của kiểm thử
Một cách xây dựng báo động khi kết quả riêng lẻ xấu hơn mức tối thiểu của kiểm thử. Tính chất được tính dưới đây cho mô hình xác định, không khẳng định cách này phổ biến.
Giả định. Tắt thuật toán khi một quan sát xấu hơn quan sát xấu nhất giai đoạn kiểm thử. Một quan sát là kết quả một giao dịch đã đóng. Kiểm thử có N giao dịch; giai đoạn sau triển khai có M giao dịch. Phân phối hoàn toàn không đổi và quan sát có tính hoán đổi — mọi thứ tự có xác suất như nhau. Phân phối cũng liên tục nên không có quan sát trùng giá trị. Giá trị minh họa: phép tính xác suất dưới giả định đã nêu, không phải kết quả kiểm thử.
Phép tính. Kích hoạt xảy ra đúng khi quan sát xấu nhất trong toàn N+M nằm sau triển khai. Tính hoán đổi khiến mỗi quan sát trong N+M có khả năng như nhau là xấu nhất, nên P=M/(N+M).
N=200 và M=100: P=100÷300=33,3%.
N=200 và M=200: P=200÷400=50,0%.
N=600 và M=100: P=100÷700=14,3%.
Với mọi M hữu hạn, xác suất này dưới 1. Nó tiến tới 1 khi M tăng vô hạn trong mô hình này. Không bảo đảm có báo động trong thời gian xác định; tính hoán đổi và liên tục là giả định quan trọng.
M/(N+M) nói về tối thiểu của kết quả riêng lẻ khi các quan sát hoán đổi được và không trùng giá trị. Thậm chí không phải xấp xỉ sẵn dùng cho vượt sụt giảm tối đa, vốn phụ thuộc đường đi và cần mô hình riêng. Tần suất báo động có thể khác ngoài các giả định này.
Tính hoán đổi nghĩa là phân phối chung đối xứng khi đổi thứ tự. Chỉ trung bình bằng nhau không đủ cho phép tính. Phụ thuộc thời gian hay đổi phân phối có thể đổi xác suất vị trí mức tối thiểu. Không có giá trị trùng nhau bảo đảm quan sát xấu nhất duy nhất; giá trị trùng nhau cần quy tắc báo động rõ ràng.
Sụt giảm tối đa không phải kết quả riêng lẻ nhỏ nhất. Nó đến từ đường tích lũy và có thể đổi khi sắp lại kết quả dù cùng tập giao dịch. Vì vậy công thức không biến số lượng mẫu thành tần suất báo động sụt giảm. Mô hình ở đây cho thấy vấn đề giai đoạn tham chiếu ngắn đối với lỗ riêng lẻ.
Cuộn ngang sơ đồ hoặc mở ở kích thước đầy đủ.
Phép tính có hệ quả thiết kế. Tiêu chí như vậy phải gắn với độ dài giai đoạn, không chỉ ngưỡng: “xấu hơn xấu nhất kiểm thử” khác sau 100 và 1000 giao dịch. Hệ quả thứ hai liên quan bước bốn trong quy trình: kiểm thử dài hơn giảm độ nhạy báo động giả, thêm lý do không rút ngắn bước đó.
Tiêu chí dựa trên không có giao dịch
Cách xây dựng thứ hai xét tình huống ngược lại: quy tắc không tạo tín hiệu dù đáng lẽ có. Cảnh báo hỏi quy tắc có gặp điều kiện mà nó được thiết kế để xử lý không, thay vì hiệu suất.
Giả định. Quy tắc kiểm thử trung bình có một giao dịch mỗi 21 phiên. Giả định tín hiệu xuất hiện độc lập và đồng đều theo thời gian: số lượng trong khoảng theo phân phối Poisson có trung bình bằng độ dài khoảng chia 21. Giá trị minh họa.
Phép tính. Xác suất không có tín hiệu trong g phiên là e^(−g/21).
g=40: e^(−1,905)=14,9%.
g=60: e^(−2,857)=5,7%.
g=90: e^(−4,286)=1,4%.
Khoảng trống có xác suất 5% dài −ln(0,05)×21=2,996×21=62,9 phiên; ở 1%, −ln(0,01)×21=4,605×21=96,7 phiên.
Tính sẵn có của thông tin và thực thi. Một giao dịch mỗi 21 phiên lấy từ kiểm thử và được biết trước triển khai, cho phép tiêu chí định trước. Độ dài khoảng trống hiện tại được biết khi nó hình thành, không cần đại lượng sau giao dịch.
Với một cửa sổ 40 phiên chọn trước, xác suất Poisson không tín hiệu là 14,9%. Đây không phải tần suất khoảng trống dài nhất qua nhiều năm giám sát. Phân cụm và cường độ biến đổi có thể đổi kết quả cả hai chiều; thiếu mô hình, không gọi các tỷ lệ này là cận dưới.
Tiêu chí tắt bằng văn bản cần có gì
Tiêu chí hiệu suất nên nêu thước đo, đơn vị, ngưỡng, độ dài quan sát, mẫu cần và hành động sau báo động. Lỗi toàn vẹn riêng, như lệnh trùng hoặc thiếu dữ liệu bắt buộc, có thể cần tạm dừng ngay mà không chờ số giao dịch tối thiểu.
Ngưỡng không kèm giai đoạn quan sát là thiếu: một kết quả, trung bình cửa sổ gần đây và mức tối thiểu lịch sử là đại lượng khác nhau. Độ dài cửa sổ và N cần quyết định sự kiện nào báo động. Nhiều phép kiểm tra cần tính tần suất và phụ thuộc; tỷ lệ của một phép không tự động mô tả toàn giám sát.
Cũng phải đặc tả hành động sau báo động. Tạm dừng, chẩn đoán và khởi động lại cần nguyên nhân và phiên bản giám sát. Sửa đổi dùng giai đoạn báo động không giữ được tư cách kiểm thử độc lập cũ. Lỗi toàn vẹn vẫn riêng: phát hiện chúng không cần chờ đánh giá thống kê của trung bình.
Điều kiện khởi động lại nên tái lập được: xác định nguyên nhân báo động, sửa và đánh giá phiên bản mới trên dữ liệu chưa dùng cùng chế độ tiến cứu xác định. Giai đoạn dẫn đến sửa phục vụ chẩn đoán, không phải kiểm định OOS độc lập mới.
Vì sao tiêu chí có thể sai cả hai chiều
Tiêu chí nhạy tắt một quy tắc đang hoạt động, như phép tính đầu cho thấy. Tiêu chí kém nhạy để quy tắc tiếp tục sau khi điều kiện đổi trong thời gian cần thu mẫu phân định. Cả hai phía đánh đổi xuất hiện vì một chuỗi kết quả phù hợp nhiều phân phối, còn phân biệt cần quan sát mất thời gian tích lũy. Bài 8.2 bàn về mẫu cần để phát hiện khác biệt xác định.
Tiêu chí hiệu suất chọn cân bằng giữa báo động thường xuyên và phản ứng trễ. Có thể đánh giá tính chất trong mô hình rõ ràng và theo hướng tiến cứu. Kết quả không xác định chắc chế độ, nhưng vẫn có thể chẩn đoán hữu ích.
Nhiều phép kiểm tra làm tăng khả năng báo động
Trong mô hình Poisson đồng nhất, một khoảng trống 60 phiên chọn trước có xác suất không tín hiệu q=exp(−60/21)=5,74%. Với 12 cửa sổ không giao nhau, độc lập trong mô hình này, khả năng có ít nhất một cửa sổ trống là 1−(1−q)¹²=50,82%. Đây không mô hình hóa cửa sổ trượt chồng lấn. Không thể gọi ngưỡng của một phép kiểm tra là tỷ lệ báo động giả hằng năm nếu không tính lại.
12 cửa sổ không giao nhau định nghĩa tập phép kiểm tra cụ thể. Số đếm Poisson trong đó độc lập, cho phép nhân xác suất không cửa sổ nào trống rồi lấy 1 trừ đi. Giả định ấy thuộc công thức, không thuộc mọi chiến lược quan sát.
Kiểm tra trượt dùng chung nhiều phiên. Kết quả phụ thuộc nhau và có thể báo lặp một khoảng trống dài. Tần suất cần phép tính khác hoặc mô phỏng rõ toàn quy trình. Ước lượng cường độ từ mẫu ngắn cũng thêm bất định. Minh họa coi một giao dịch mỗi 21 phiên là tham số cho trước, không phải lợi thế đo được.
11. Điều bài viết này không xác lập
Quy trình có phạm vi xác định, cần nêu rõ vì mỗi giới hạn dưới thay đổi kết luận mà nó hỗ trợ.
Hoàn thành quy trình không xác lập lợi thế
Quy trình cung cấp bằng chứng về phiên bản kiểm thử dưới dữ liệu và chi phí xác định. Nó không bảo đảm lợi thế bền vững. Hiệu suất OOS tốt kèm đánh giá bất định có thể hỗ trợ lợi thế; lựa chọn và kiểm thử không định trước thành công hay kết quả giả tạo.
Phân biệt này thực tế, không phải triết học. “Quy tắc hoàn thành quy trình” có thể kiểm tra và nêu. “Quy tắc có lợi thế” còn cần ước tính kỳ vọng đủ chi phí và bất định trên dữ liệu ngoài xây dựng quy tắc. Điều đó thuộc bài 8.2, không thuộc bài này.
Mọi giá trị số ở đây đều giả định
Không thực hiện kiểm thử. 240 tín hiệu, 400 giao dịch, 46 trường hợp chưa thống nhất, sáu giá trị tham số qua hai phiên bản và 21 phiên giữa tín hiệu chỉ minh họa phép tính và quy mô. Đầu vào của bạn sẽ đổi mọi kết quả, đôi khi cả dấu. Coi những số này là ước tính sẽ trái tư cách đã nêu.
Tìm quy tắc đáng kiểm thử
Ý tưởng và xây dựng tín hiệu thuộc phần 5 và bài 8.7. Kiểm thử có thể cho chẩn đoán hữu ích cho giả thuyết sau, nhưng không bảo đảm ý tưởng tốt hơn. Mọi sửa đổi dùng kết quả kiểm thử mở rộng lịch sử lựa chọn.
Ở đây thực thi là đầu vào, không phải chủ đề
Trượt giá, từ chối và khớp một phần đi vào mô hình chi phí dưới dạng số cần nguồn. Nguồn liên quan điều kiện giao dịch và so sánh, thuộc phần 11. Môi trường, cấu hình và yêu cầu kỹ thuật chương trình thuộc phần 12. Không chủ đề nào được mô tả ở đây hay suy ra từ tài liệu trước.
Quy mô vị thế và thước đo rủi ro danh mục nằm ngoài phép tính
Kết quả pip độc lập khối lượng trong mô hình chi phí tuyến tính giả định. Phí tối thiểu và điều kiện khớp khác có thể vi phạm điều đó. Xác định quy mô vị thế và thước đo đường vốn thuộc phần 9.
Hành vi sau khi tắt thuộc phần khác
Tiêu chí tắt được bàn như yếu tố quy trình với tính chất mô hình hóa. Định nghĩa trước triển khai và ghi thay đổi sau. Phản ứng con người trước kết quả bất lợi thuộc phần 10.
12. Bài tập tự kiểm tra và bước tiếp theo
Bài tập lặp ba phép tính với đầu vào khác và xác định mục thiếu trong báo cáo người khác. Bộ dữ liệu và lời giải dưới đây.
Phần một — quy ước trong nến. 300 giao dịch đã đóng, mục tiêu 25 pip và thoát bảo vệ 25 pip đo từ cùng giá tham chiếu trước chi phí. Trong 39 giao dịch, một nến bao trùm cả hai mức. Tổng kết quả của 261 giao dịch xác định được là −60 pip. Vào và thoát được mô phỏng trên cùng phía báo giá, bỏ qua chênh lệch giá 0,50 pip. Giá trị minh họa.
- Tính tỷ lệ chưa xác định.
- Tính tổng và trung bình mỗi giao dịch cho phiên bản lạc quan và thận trọng.
- Tính khoảng chênh mỗi giao dịch.
- Sửa cả hai theo chênh lệch giá bỏ sót.
Phần hai — độ nhạy. Xem xét tham số đạt đỉnh +1,10 pip mỗi giao dịch; lân cận liền kề là +0,24 và +0,16 pip.
- Tính tỷ số đỉnh trên trung bình lân cận và mô tả độ nhạy; riêng hình học không xác lập ổn định lâu dài.
- Kiểm tra đỉnh và lân cận sau khi thêm chi phí 0,45 pip.
Phần ba — tiêu chí tắt. Kiểm thử có 150 giao dịch. Tắt khi một giao dịch xấu hơn giao dịch xấu nhất của kiểm thử.
- Tính xác suất kích hoạt trong 150 giao dịch sau triển khai khi phân phối không đổi.
- Lặp với 450 giao dịch kiểm thử thay vì 150.
Phần bốn — kết quả của người khác. Một tuyên bố viết: “Hệ thống trên một cặp tiền, hai năm dữ liệu theo giờ, hiệu suất dương, kiểm thử ngoài mẫu.” Xác định mục thiếu trong hồ sơ tái lập.
1. Tỷ lệ chưa xác định. 39÷300=0,130=13,0%.
2. Hai phiên bản. Lạc quan: −60+39×25=−60+975=+915 pip, tức 915÷300=+3,05 pip mỗi giao dịch. Thận trọng: −60−39×25=−60−975=−1035 pip, tức −1035÷300=−3,45 pip.
3. Khoảng chênh. 39×(25+25)÷300=1950÷300=6,50 pip mỗi giao dịch. Kiểm tra: 3,05−(−3,45)=6,50. Dấu chỉ phụ thuộc quy ước thay vì dữ liệu; 13% giao dịch quyết định toàn bộ kết quả.
4. Sửa chênh lệch giá. 300×0,50=150 pip tổng cộng; 261×0,50=130,5 pip cho giao dịch xác định được. Lạc quan: 915−150=765 pip, tức +2,55 pip. Thận trọng: −1035−150=−1185 pip, tức −3,95 pip. Tổng xác định được giảm từ −60 xuống −190,5 pip, nên loại trường hợp chưa thống nhất thì quy tắc lỗ dưới cả hai giả định.
5. Trung bình lân cận 0,20; tỷ số đỉnh 1,10/0,20=5,50. Giảm một bước là 78,2% và 85,5%. Đỉnh nhạy trong bộ này. Trung bình 0,20 không thành kỳ vọng được xác nhận; vẫn đến từ cùng mẫu.
6. Thêm 0,45 khiến đỉnh là +0,65 và trung bình lân cận −0,25 pip. Điều này cho thấy độ nhạy chi phí và tham số ở đây. Không xác lập kết quả giả tạo hay xác suất tiếp tục cụ thể cho đỉnh dương.
7. Với N=M=150, tính hoán đổi và việc không có giá trị trùng nhau cho P=150/300=50%. Đây là xác suất ít nhất một mức tối thiểu mới đến số quan sát đó, không phải báo động bảo đảm ở giao dịch cụ thể.
8. Kiểm thử dài hơn. P=150÷(450+150)=150÷600=25,0%. Tăng độ dài kiểm thử gấp ba làm xác suất kích hoạt giả giảm một nửa mà không đổi quy tắc hay tiêu chí.
9. Mục thiếu trong báo cáo. Nó đề cập ba mục nhưng hoàn thành một. Công cụ và giai đoạn rời rạc: thiếu mã và ngày; “hai năm” không thay khoảng ngày. Độ phân giải được cung cấp — mục đầy đủ duy nhất. “Kiểm thử ngoài mẫu” tuyên bố tư cách, nhưng thiếu chia mẫu thì không kiểm chứng được và chưa hoàn thành mục đó.
Thiếu chín mục khác: quy tắc đầy đủ, nguồn/phiên bản dữ liệu, phía báo giá, quy ước trong nến/tỷ lệ chưa thống nhất, mô hình chi phí chi tiết, xử lý khoảng trống, chia mẫu/số lần dùng kiểm định/số phiên bản thử, số giao dịch/phân bố thời gian và quy trình tái lập được. Với dữ liệu theo giờ và hai mức thoát, riêng việc thiếu quy ước trong nến có thể ngăn diễn giải, như phép tính phần một cho thấy: dấu hoàn toàn phụ thuộc quy ước đó.
Kiểm tra. Kết quả thận trọng thấp hơn trong cả hai phép tính. Hai phép tính khoảng chênh trùng nhau. Xác suất báo động giảm khi kiểm thử dài hơn. Tổng giao dịch biểu thị bằng pip và trung bình bằng pip mỗi giao dịch; chưa quy đổi sang tiền tài khoản và muốn đổi cần giá trị pip.
Áp dụng quy trình tiếp theo
Ghi quy tắc, dữ liệu và mô hình trước. Sau đó kiểm tra triển khai trùng khớp rồi tính. Không giả định mất một giờ hay số mục thiếu cụ thể xuất hiện trong phần lớn báo cáo.
Chẩn đoán tỷ lệ và tác động trường hợp trong nến, lân cận tham số và độ nhạy chi phí. Việc đầu cần sự kiện mô phỏng; việc thứ hai cần cấu hình tham số thêm; kiểm tra sức chịu đựng chi phí đầy đủ có thể cần mô phỏng lại. Không phải mọi thông tin đến từ một lần chạy.
Câu hỏi riêng ngoài bài thường quyết định tính khả thi trước: phương pháp làm việc này có phù hợp giờ và hoàn cảnh của bạn không? Tự động hóa đổi ít hơn tưởng tượng, chuyển gánh nặng từ quan sát thị trường sang xây dựng và giám sát thay vì bỏ nó. Giám sát ở mục 10 vẫn là công việc thường xuyên. Bài 8.10, bài cuối của phần, loại phương pháp không khả thi dưới ràng buộc cá nhân.
FAQ — câu hỏi thường gặp
Tự động hóa có cải thiện hiệu suất không?
Nó có thể đổi thời gian phản hồi, bỏ sót, khớp và chi phí, qua đó đổi hiệu suất ròng. Hệ số 1,573 ở mục 1 chỉ giữ dấu khi trung bình mỗi giao dịch không đổi. Riêng tự động hóa không xác lập lợi thế dương và không bảo đảm cải thiện.
Backtest lịch sử có chứng minh quy tắc hoạt động không?
Kiểm thử lịch sử có thể phục vụ lựa chọn, chẩn đoán hay kiểm định OOS tùy vai trò dữ liệu. Riêng kết quả không bảo đảm tiếp tục. Báo cáo quy tắc, tính sẵn có thông tin, chi phí, quy ước trong nến và lịch sử lựa chọn. 46 giao dịch chưa thống nhất trong 400 cho thấy thiếu thông tin trình tự có thể đổi dấu toàn trung bình.
Kiểm tra khớp tham số với lịch sử thế nào?
Kiểm tra tham số lân cận, giai đoạn con, chi phí và lịch sử lựa chọn. Vùng phẳng hữu ích để chẩn đoán độ nhạy nhưng cũng có thể do chọn trên cùng mẫu. Riêng đỉnh cô lập không chứng minh kết quả giả tạo. Cần kiểm định độc lập và bất định kết quả.
Cần hỏi gì trước khi dùng thuật toán người khác hoặc sao chép giao dịch?
Cần hai bộ câu hỏi. Bài 8.2, mục 13 cho tám câu về kết quả: số giao dịch, giai đoạn/công cụ, chi phí, chia dữ liệu, số phiên bản thử, sụt giảm, tập trung ở giao dịch lớn nhất và ai chịu rủi ro. Áp dụng như nhau cho thuật toán và quyết định thủ công. Mục 9 thêm mười một câu về kiểm thử: nguồn dữ liệu/phía báo giá, độ phân giải/quy ước trong nến, xử lý khoảng trống, dạng từng cấu phần chi phí, phân bố thời gian, số lần dùng cửa sổ kiểm định, độ nhạy tham số một bước, định nghĩa đường xấu nhất, thời lượng dữ liệu mới đến, quy trình/phiên bản công cụ và người công bố có dùng cùng quy tắc bằng vốn mình không. Sao chép thiếu quy tắc công bố loại khả năng tái lập; chỉ còn hồ sơ hiệu suất, không phải kiểm thử.
Khi nào nên tắt thuật toán?
Khi đạt tiêu chí đã đặc tả. Báo động hiệu suất cần ngưỡng, giai đoạn, mẫu và hành động. Lỗi dữ liệu hoặc lệnh trùng là căn cứ tạm dừng riêng, không cần chờ mẫu. Mô hình mức tối thiểu M/(N+M) chỉ nói về kết quả riêng lẻ khi các quan sát hoán đổi được và không trùng giá trị.
Vì sao hai chương trình dựa trên cùng mô tả khác nhau?
Nguyên nhân có thể ở đặc tả mơ hồ, lỗi mã, dữ liệu hoặc cấu hình thực thi. So sự kiện và tìm khác biệt đầu. Sửa lỗ hổng đặc tả bằng văn bản và lỗi triển khai rồi chạy lại. Khác biệt danh sách minh họa 18,2% tạo chênh trung bình hơn sáu lần, không phải tỷ số phổ quát.
Nguồn và tài liệu tham khảo
- The Evaluation and Optimization of Trading Strategies — trích chương 1. Mô tả xây dựng walk-forward; không chứng minh kết quả nào trong bài này. Phạm vi kiểm chứng: trích chương 1 sẵn có dài 12 trang và siêu dữ liệu nhà xuất bản, không phải cả sách. Kiểm tra truy cập: 2026-10-05.
- A Reality Check for Data Snooping. Tóm tắt mô tả rủi ro chọn mô hình sau dùng dữ liệu lặp lại và phép kiểm định chuẩn tham chiếu. Phạm vi kiểm chứng: tóm tắt và siêu dữ liệu bài trong bản PDF học thuật, không phải toàn bộ 30 trang. Kiểm tra truy cập: 2026-10-05.
- The Probability of Backtest Overfitting. Quy trình xác suất quá khớp; riêng lựa chọn không xác lập kết quả giả tạo. Phạm vi kiểm chứng: tóm tắt và trích định nghĩa trong PDF tác giả; không tuyên bố đọc cả 34 trang. Kiểm tra truy cập: 2026-10-05.
- …and the Cross-Section of Expected Returns. Tóm tắt mô tả kiểm định nhiều lần trong mặt cắt ngang lợi suất kỳ vọng; không chuyển ngưỡng số sang FX. Phạm vi kiểm chứng: tóm tắt trang 1 trong PDF tác giả và siêu dữ liệu xuất bản, không phải cả 64 trang. Kiểm tra truy cập: 2026-10-05.
- What Do We Know About the Profitability of Technical Analysis?. Thư mục tổng quan; không dùng để nói phần lớn kết quả là sai. Phạm vi kiểm chứng: siêu dữ liệu thư mục trên trang tác giả; không đọc toàn bài. Kiểm tra truy cập: 2026-10-05.
- TradingView Pine Script — Strategies: Broker emulator. Hai quy ước đường OHLC, giới hạn mô hình môi giới và dữ liệu trong nến. Phạm vi kiểm chứng: mục Broker emulator và Bar Magnifier trong tài liệu. Kiểm tra truy cập: 2026-10-05.