Vì Sao Tiến Bộ Sớm Trong Trading Chưa Phải Là Bằng Chứng
· #trading-psychology #validation #systematic-trading #risk-management #backtesting
Tiến bộ sớm trong trading chưa phải là bằng chứng, bởi vì nhìn từ bên trong, một giai đoạn thuận lợi và một edge thật sự trông giống hệt nhau. Bằng chứng là thứ sống sót qua những điều kiện mà ý tưởng đó chưa từng được tinh chỉnh cho: chi phí khác, regime khác, năm khác. Nghiên cứu của mình có một ví dụ rất rõ về khoảng cách này, và trong năm tệ nhất nó tốn 67 phần trăm.
Dưới đây là cách mình phân biệt đà tiến với bằng chứng, gồm cả những kết quả đã thất bại và con số duy nhất mà mình từ chối trích dẫn nếu không kèm theo mặt xấu xí của nó.
Vì sao một tháng tốt nói lên rất ít?
Bởi vì một tháng chỉ là mẫu của khoảng một điều kiện thị trường.
Tiến bộ đáng được ghi nhận. Nhưng riêng nó thì chưa đủ để chốt lại bất cứ điều gì. Một vài tín hiệu tích cực nghĩa là ý tưởng xứng đáng được test thêm, chứ không phải việc test đã xong. Khoảnh khắc mình nâng một tín hiệu sớm lên thành bằng chứng, nó thôi là một hướng nghiên cứu và trở thành một gánh nặng, vì từ đó mình sẽ bảo vệ nó thay vì tấn công nó.
Trong ghi chú của mình, sự phân biệt đó có tên riêng: đà tiến và bằng chứng. Đà tiến thì dễ chịu và rẻ. Bằng chứng là phần còn lại sau khi ý tưởng đã gặp những điều kiện mà mình không tự chọn cho nó.
Hy vọng và kế hoạch khác nhau ở đâu?
Hy vọng nói "mình nghĩ cái này sẽ chạy được". Kế hoạch nói "nếu A xảy ra thì mình làm B, và nếu nó hỏng ở C thì mình dừng".
Mình không phản đối hy vọng. Hy vọng là thứ giữ cho một dự án khó tiếp tục đi tới. Nhưng hy vọng không có cấu trúc thì không có cách nào để sai, và thứ gì không thể sai thì cũng không thể cải thiện. Kế hoạch cho hy vọng một đường biên: rule được viết ra, một bài test có thể đánh trượt nó, và một giới hạn rủi ro nằm trong code chứ không nằm trong ý định của mình vào hôm đó.
Phiên bản thực tế của điều này là mọi rule trong Master Volume Profile đều tường minh đủ để mình debug. Khi một lệnh diễn ra tệ, mình muốn truy ngược nó về một input có tên, không phải về một tâm trạng.
Vì sao một chiến lược có Sharpe 3.78 vẫn mất 67 phần trăm?
Bởi vì nó gặp một năm mà nó chưa từng được xây cho, và khi đó mình chưa chứng minh được edge tồn tại ngoài vùng khí hậu quen thuộc của nó.
Trong regime biến động 2025 đến 2026, cấu hình vàng của mình đạt Sharpe thường niên 3.78 với drawdown tối đa 19.7 phần trăm trong research engine. Đó là con số đẹp. Cho đúng cấu hình cố định đó chạy qua năm 2024 trên fill thật của MetaTrader 5 thì kết quả là âm 67.1 phần trăm, drawdown tối đa 74.2 phần trăm và Sharpe 0.10. Năm 2024, spread chạy quanh mức 8.6 phần trăm của ATR, tức khoảng gấp đôi bình thường, và chiến lược chỉ đơn giản là chảy máu.
Tính trên trọn chu kỳ 2024 đến 2026, Sharpe trung thực là 1.77 chứ không phải 3.78. Ghi chú nghiên cứu của mình có một dòng thẳng thắn hơn: không có mức sizing nào đang ship mà sống sót qua một năm kiểu 2024. Tất cả những con số này đều là kết quả backtest và chạy xác nhận từ scorecard vàng của riêng mình, đề ngày 2026-07. Không con số nào là track record live.
Kết quả đó chính là lý do bài viết này tồn tại. Nếu mình dừng đo ở cuối giai đoạn thuận lợi, mình sẽ có một đường cong rất đẹp, một câu chuyện đầy tự tin, và hoàn toàn không biết rằng edge đó có một vùng khí hậu riêng.
Một lần loại bỏ thật sự mua lại cho mình điều gì?
Một đường biên mà mình biết trước, thay vì một đường biên tìm đến mình sau này khi tài khoản thật đang chạy.
Ví dụ rõ nhất trong công việc của mình là crypto. Khi mình test Master Volume Profile trên BTC khung ba phút, cấu hình tốt nhất mình tìm được đạt profit factor 1.132 với drawdown 21.2 phần trăm trên cửa sổ huấn luyện. Kết quả đó trông hoàn toàn tử tế, và hóa ra nó không có giá trị gì. Mọi cấu hình dương trên cửa sổ huấn luyện trong nhóm đó đều sụp đổ khi ra ngoài mẫu, rơi xuống profit factor 0.72 đến 0.83 với drawdown từ 57 đến 75 phần trăm.
Hai cửa sổ không chỉ yếu đi khi ra ngoài mẫu, chúng còn nghịch chiều nhau. Hai chế độ thị trường mâu thuẫn với nhau. Vì vậy mình loại cả nhóm cấu hình ba phút thay vì tinh chỉnh thêm, bởi một kết quả đảo chiều trên dữ liệu mới không phải là edge yếu, nó là edge bị fit. Ghi chú mình giữ lại còn hữu ích hơn cả cấu hình đó: giả định về chi phí và cấu trúc đúng cho vàng không tự động chuyển được sang một tài sản khác. Đó là phản hồi đắt giá, và mình thà trả nó bằng nghiên cứu còn hơn trả bằng tài khoản.
Mình cũng muốn nói chính xác phần nào đã sống sót, vì một lần loại bỏ rất dễ bị kể quá lên: một cấu hình BTC khung năm phút với cửa sổ profile dài hơn nhiều và bộ lọc xu hướng mạnh hơn vẫn giữ được kết quả dương trên cả hai cửa sổ, và mình xem nó là ứng viên forward test với mức tin cậy thấp, chưa phải một bản khóa. Ý tưởng khung ba phút mới là thứ đã chết, và nó chết đúng theo cách mà bài viết này đang nói tới.
Vì sao tính nhất quán quan trọng hơn sự thông minh?
Bởi vì một quy trình tốt được lặp lại đều đặn thắng một quy trình thông minh được lặp lại cẩu thả, và bởi vì thiếu nhất quán làm cho kết quả không còn đọc được.
Nếu quy trình thay đổi mỗi tuần, dữ liệu nhiễu lên rất nhanh và mình mất khả năng biết một thay đổi có giúp ích hay không. Nhất quán không có nghĩa là hoàn hảo. Nó có nghĩa là giữ hành vi trong cùng một biên độ đủ lâu để các con số có ý nghĩa.
Đó là lý do ràng buộc này nằm trong code chứ không nằm ở kỷ luật cá nhân. Master Volume Profile có giới hạn số lệnh mỗi phiên được code sẵn, nên hành vi của hệ thống nằm trong cùng một biên độ từ ngày này sang ngày khác, bất kể tuần đó mình đang thuận hay không.
Vì sao mình tin quy trình hơn cảm xúc?
Cảm xúc là một cảm biến hữu ích và là một cỗ máy thực thi tệ.
Sợ hãi và hưng phấn là những tín hiệu hợp lý cho thấy có điều gì đó đáng quan tâm. Nhưng chúng rất dở trong việc quyết định bước tiếp theo, vì chúng thay đổi theo từng cây nến còn kế hoạch thì không. Vì vậy các lệnh thoát được viết ra và code sẵn, trong đó có trailing stop theo ATR, đúng là để một lệnh đang chạy được dẫn dắt bởi một rule thay vì bởi một bàn tay đang với lấy con chuột.
Đây là phần thật sự khó giải thích với người vẫn đang trade thủ công. Giao việc thực thi cho một bộ rule tạo cảm giác như đang mất kiểm soát. Trên thực tế thì ngược lại: mình giữ quyền kiểm soát ở chỗ mình đặt rule và đặt rủi ro, và mình từ bỏ quyền kiểm soát ở đúng chỗ mình kém tin cậy nhất, tức là ở giữa một vị thế đang mở.
Cải thiện bền trông như thế nào?
Phần lớn là nhàm chán. Một quyết định tốt hơn, một bài test sạch hơn, một lần loại bỏ trung thực hơn.
Mình không đi tìm một tháng may mắn. Mình đi tìm một quy trình cải thiện được mà không phụ thuộc vào một regime dễ chịu. Đó là lý do mình chấm kết quả walk-forward theo fold tệ nhất chứ không theo mức trung bình, và lý do mình lên kế hoạch theo phân vị 95 của phân phối Monte Carlo chứ không theo trung vị. Với cấu hình vàng, điều đó nghĩa là sizing cho một đỉnh drawdown 30 đến 40 phần trăm, vì phân phối đặt trung vị gần 24 phần trăm và phân vị 95 gần 38 phần trăm.
Có một chi tiết mình thấy yên tâm một cách lặng lẽ, và mình nhắc tới nó vì đây là bài test hiếm hoi cho kết quả tốt hơn kỳ vọng: ở fold out-of-sample, profit factor là 1.327 so với 1.203 trong tập train. Out-of-sample chạy tốt hơn in-sample là dấu hiệu ngược với chữ ký của curve-fitting. Nhưng nó cũng không phải bằng chứng. Nó chỉ là một cổng đã qua trong số nhiều cổng.
Vì sao tiến bộ nghiêm túc trông nhàm chán trước khi trông ấn tượng?
Bởi vì công việc tạo ra kết quả bền là công việc lặp đi lặp lại, và sự lặp lại thì lên hình rất xấu.
Không có gì trong phiên bản trung thực của hành trình này tạo ra được một screenshot đẹp. Log sạch hơn. Một bài test thất bại vì một lý do mình gọi tên được. Một cấu hình trông ổn khi huấn luyện rồi đảo chiều trên dữ liệu mới. Một con số drawdown được sửa tăng lên vì ước lượng đầu tiên quá nhẹ tay. Nhìn từ bên trong thì quy trình là như vậy, và phiên bản ồn ào của trading gần như không bao giờ cho thấy phần đó.
Mình vẫn giữ hy vọng. Mình cũng cẩn thận không gọi bất cứ thứ gì là bằng chứng trước khi nó xứng đáng với từ đó. Master Volume Profile vẫn chưa vượt qua cổng live, và cho tới khi nó vượt qua, mọi thứ mình công bố đều là một giả thuyết có bằng chứng đi kèm chứ chưa phải một kết quả.
Câu hỏi thường gặp
Tiến bộ và bằng chứng trong trading khác nhau ở đâu? Tiến bộ là kết quả mình đã nhìn thấy; bằng chứng là kết quả sống sót qua những điều kiện mình không tự chọn. Bài kiểm tra thực tế là kết quả đó có giữ được qua các regime chi phí khác nhau, các giai đoạn thời gian khác nhau và các vùng lân cận tham số khác nhau hay không. Cấu hình vàng của mình trông rất mạnh trong vùng khí hậu 2025 đến 2026 và mất 67.1 phần trăm trên fill thật năm 2024, đó là sự khác biệt gói trong một dòng.
Cần bao lâu để biết một chiến lược có hoạt động không? Lâu hơn mức phần lớn mọi người sẵn sàng chờ, và câu trả lời được tính bằng số lệnh chứ không bằng lịch. Minimum track record length phụ thuộc vào chính phân phối lợi nhuận của chiến lược, nên một chiến lược nhiễu hơn cần mẫu lớn hơn để nói cùng một điều. Với cấu hình vàng của mình, mức sàn đó là 192 lệnh và mẫu đã kiểm định là 1.423 lệnh, tức khoảng bảy lần mức tối thiểu.
Vì sao lại loại một chiến lược đã có lãi khi test? Bởi vì có lãi khi test và bền vững là hai tuyên bố khác nhau. Cấu hình BTC khung ba phút của mình đạt profit factor 1.132 trên cửa sổ huấn luyện rồi rơi xuống 0.72 đến 0.83 khi ra ngoài mẫu, với drawdown từ 57 đến 75 phần trăm. Khi hai cửa sổ mâu thuẫn mạnh như vậy, kết quả huấn luyện chỉ đang mô tả chính cửa sổ đó chứ không phải một edge, và mình mà tinh chỉnh thêm thì chỉ fit nó chặt hơn.
Mình nên lên kế hoạch cho mức drawdown nào? Cho phân vị xấu, không phải mức trung bình. Trong nghiên cứu của mình, phân phối Monte Carlo đặt drawdown tối đa gần 24 phần trăm ở trung vị và 38 phần trăm ở phân vị 95, nên ghi chú của mình nói sizing cho một đỉnh 30 đến 40 phần trăm. Ai lên kế hoạch theo trung vị là đang lên kế hoạch để bị bất ngờ vào đúng thời điểm tệ nhất.
Sharpe cao có nghĩa là chiến lược an toàn không? Không. Sharpe là mô tả của một mẫu, và nó thừa hưởng mọi giới hạn của cửa sổ thời gian mà nó được đo. Cùng một cấu hình cố định trong nghiên cứu của mình đọc ra 3.78 trong regime thuận lợi và 1.77 trên trọn chu kỳ, vẫn là cùng một chiến lược và cùng một đoạn code, chỉ là được đo trên một quãng lịch sử dài hơn và ít dễ chịu hơn.
Vì sao out-of-sample tốt hơn in-sample lại là dấu hiệu tốt? Bởi vì curve-fitting thường tạo ra điều ngược lại. Một cấu hình được tinh chỉnh theo dữ liệu train thường suy giảm khi gặp dữ liệu mới, nên profit factor out-of-sample 1.327 so với 1.203 ở tập train là lập luận chống lại khả năng tham số đã bị fit vào nhiễu. Đó là bằng chứng theo một hướng, không phải giấy chứng nhận sạch sẽ.
Master Volume Profile đã có track record live chưa? Chưa, và mình sẽ không ám chỉ điều ngược lại. Mọi thứ công bố tới giờ đều là nghiên cứu: backtest trên khoảng 160 triệu tick thật từ broker cộng với các lần chạy xác nhận trong MetaTrader 5. Hãy xem mọi con số ở đây là bằng chứng lịch sử về một giả thuyết, không phải một dự đoán. Thêm một lưu ý nữa: mô hình có tính spread cho mọi lệnh, nhưng slippage, latency và swap thì chưa được mô hình hóa, nên live nên được kỳ vọng là mỏng hơn backtest.
Những việc này có loại bỏ rủi ro không? Không. Chúng loại bỏ một vài cách sai cụ thể, và đó là một tuyên bố nhỏ hơn nhiều. Trading có rủi ro, bao gồm rủi ro thua lỗ, mọi con số ở trên đều là lịch sử, và không lượng kiểm định nào biến một giả thuyết thành một điều chắc chắn.
Được viết bởi KenKem, một kỹ sư phần mềm và nhà sáng lập với hai mươi năm kinh nghiệm, đang học giao dịch định lượng một cách công khai và công bố lại toàn bộ quy trình, gồm cả những lần loại bỏ.
Bài viết này được tổng hợp từ các bài 49 đến 60 trong chuỗi build-log của KenKem. Chỉ nhằm mục đích giáo dục. Không phải lời khuyên đầu tư. Mọi con số được trích dẫn đều là kết quả backtest hoặc chạy xác nhận, không phải track record live. Hiệu suất trong quá khứ không bảo đảm kết quả trong tương lai.