KenKem Journal

Systematic Không Đồng Nghĩa Với Tự Động

· #systematic-trading #trading-psychology #research-method #execution-parity #volume-profile

Lần đầu có người hỏi mình systematic trading nghĩa là gì, mình đã trả lời một cách lười biếng. Mình nói rằng đó là khi máy tính đặt lệnh thay cho mình.

Câu trả lời đó sai theo một cách mà mình phải mất khá lâu mới nhìn ra. Tự động hóa là phần rẻ nhất trong toàn bộ câu chuyện. Ai cũng có thể viết một đoạn script bấm nút mua. Phần khó, và cũng là phần quyết định mình có thể tin hệ thống hay không, là tất cả những điều phải đúng trước khi đoạn script đó được phép bấm bất cứ thứ gì.

Systematic thật sự nghĩa là gì, nếu không phải là tự động?

Định nghĩa mà mình dùng có bốn phần, và không phần nào trong đó nhắc tới máy tính.

Logic phải tường minh. Rule phải kiểm định được. Giả định phải nhìn thấy được. Kết quả phải tái lập được.

Phần cuối cùng mới là phần âm thầm giết chết niềm tin. Nếu mình chạy lại cùng một logic trên cùng một dữ liệu mà ra một tập quyết định khác, thì mình không có hệ thống. Mình chỉ có một thứ chạy nhanh mà mình chưa hiểu. Vì vậy tái lập không phải tính chất mình thêm vào lúc cuối, nó là cái cổng.

Không phép màu, không bí ẩn, không nói vòng vo. Đó là chuẩn mực mình luôn hướng tới, và mình trượt nhiều hơn là đạt.

Phần khó nhất là gì, nếu không phải học thêm một indicator?

Phần khó nhất là nhìn thấy tâm trí của chính mình bóp méo một phán đoán mà mình đã đưa ra từ trước.

Hy vọng biến thành thiên kiến. Sợ hãi biến thành do dự. Bực bội biến thành giao dịch quá đà. Không cái nào trong số đó có cảm giác giống một lỗi sai lúc nó đang diễn ra. Chúng có cảm giác giống như mình đang đọc thị trường.

Kết luận mình rút ra không phải là "giao dịch không cảm xúc", vì không ai làm được điều đó. Kết luận là "không để cảm xúc ra lệnh". Cảm xúc vẫn được ở lại, nó chỉ không được quyền đặt lệnh.

Đó chính là công việc mà mình giao cho phần mềm. Trong Master Volume Profile, cách tiếp cận volume profile của riêng mình cho các setup ngắn hạn, các mức giới hạn được code sẵn và bộ lọc biến động dựa trên ATR tồn tại để bao đúng những khoảnh khắc mà một con người sẽ hy vọng, sẽ do dự, hoặc sẽ vào thêm một lệnh nữa. Mình không loại bỏ phán đoán con người, mình chỉ không cho phán đoán sai được thực thi.

Vì sao phần lớn indicator không giành được chỗ đứng?

EMA, RSI, ADX và những công cụ tương tự đều hữu ích. Chúng cũng không phải phép màu. Chúng mô tả trạng thái, và mô tả trạng thái không giống với tạo ra edge.

Nên mình ngừng xem chúng như một niềm tin và bắt đầu xem chúng như những ứng viên. Mỗi feature phải trả lời được nó đo cái gì, dùng khi nào, và bị loại trong trường hợp nào. Trong Dquants engine mình tự phát triển, một feature không chứng minh được đóng góp của nó sẽ bị cắt, dù nó trông quen mắt đến đâu trên chart.

Câu hỏi đi kèm là thời điểm. Một signal đi sau vẫn có thể hữu ích, nhưng nếu thứ duy nhất nó nói với mình là move đã chạy xong, thì nó quá muộn để làm entry logic. Đây không phải khác biệt nhỏ. Rất nhiều hệ thống nhìn có vẻ an toàn thật ra được xây trên những xác nhận đến sau cơ hội.

Thứ gì đã thay thế việc đọc hình nến?

Cấu trúc thị trường. Nơi giá trị được chấp nhận, nơi giá bị từ chối, bối cảnh đấu giá quanh một move, và còn bao nhiêu khoảng trống trước vùng đáng chú ý tiếp theo.

Cách nhìn đó giải thích vì sao một move tiếp diễn hay thất bại tốt hơn nhiều so với hình dạng của ba cây nến gần nhất. Đó cũng là lý do Master Volume Profile đọc cấu trúc volume profile thay vì đọc mẫu hình nến. Vùng giá trị và volume node đã nằm trên chart trước khi move xảy ra, chứ không xuất hiện sau đó.

Mình muốn cẩn thận ở đoạn này, vì đây chính là chỗ người ta hay tuyên bố quá tay. Cấu trúc làm cho một giả thuyết đáng được kiểm định. Nó không miễn cho giả thuyết đó khỏi việc bị kiểm định. Khá nhiều ý tưởng cấu trúc mà mình thích đã không sống sót.

Vì sao parity là phần gần như không ai nhắc tới?

Đây là phần mình đánh giá thấp nhất lúc ban đầu, và bây giờ mình sẽ xếp nó lên gần đầu danh sách.

Research và execution phải kể cùng một câu chuyện. Engine nghiên cứu viết bằng C++ trong Dquants và phần MQL5 của Master Volume Profile phải cho ra cùng một kết quả trên cùng một dữ liệu. Nếu chúng không khớp, mình thật sự không biết mình nên tin bên nào, và mọi bước kiểm định phía trước đó lập tức không còn bảo vệ được gì.

Những sai lệch nhỏ rất dễ được bỏ qua trong một notebook. Chúng không còn nhỏ khi có tiền thật trong đó. Parity không phải một việc phụ trên đường đi tới triển khai. Chừng nào parity chưa vững, một kết quả nghiên cứu vẫn chỉ là bản nháp.

Vì sao chi phí quyết định nhiều hơn cả rule vào lệnh?

Vì chi phí là bộ lọc của sự thật.

Rất nhiều ý tưởng trông mạnh trước chi phí và sụp đổ sau chi phí. Với giao dịch ngắn hạn, spread và slippage không phải sai số làm tròn nằm cạnh tín hiệu. Chúng là một phần của chính tín hiệu. Nên thói quen mình xây dựng là ép edge trước khi ăn mừng nó: mình đẩy spread và slippage vượt mức thực tế trong một cost sensitivity sweep và quan sát xem nó gãy ở đâu.

Tìm ra điểm gãy sớm rẻ hơn rất nhiều so với việc phát hiện nó bằng tiền thật về sau.

Mình làm gì để không vội tin một kết quả sớm?

Chủ yếu là mình không cho phép một signal sớm tự thăng hạng.

Một signal sớm là lý do để mình tiếp tục kiểm tra, nó chưa phải lý do để chốt ý tưởng. Trước khi mình cho phép bản thân tin nhiều hơn, parity giữa backtest và execution trên demo phải khớp, và các chỉ số phải đứng vững với tư cách chỉ số: Sharpe, Calmar, expectancy, drawdown, kèm DSR và PSR để mình bớt đọc may mắn thành kỹ năng.

Dữ liệu là một chiếc gương hữu ích chính vì nó không quan tâm mình đã hy vọng điều gì. Có lúc nó khích lệ mình. Nhiều lúc nó làm mình khiêm tốn lại. Cảm giác thì không cộng dồn được.

Đó cũng là lý do mình cố gắng không hứa quá lời. Khi mình nói một thứ có triển vọng, nghĩa là nó vẫn cần kiểm chứng. Khi mình nói nó mạnh, nghĩa là nó đã giành được từ đó trong một bài kiểm định. Master Volume Profile hiện chưa có thành tích live được xác minh, mình chỉ có các lựa chọn thiết kế và những bài kiểm định có thể cho bạn xem, và nói thẳng điều đó bảo vệ người đọc nhiều như bảo vệ chính mình.

Điều rút ra trung thực nhất là gì?

Tiến bộ thật trong công việc này rất mỏng và rất kỹ thuật. Kiểm định tốt hơn, export sạch hơn, parity chắc hơn, báo cáo trung thực hơn. Không điều nào nghe hấp dẫn khi kể lại, và tất cả chúng đều cộng dồn.

Nếu bạn là một kỹ sư đang nhìn vào thị trường, kỳ vọng thành thật của mình là phần tự động hóa sẽ lấy của bạn một cuối tuần, còn phần còn lại sẽ lấy của bạn nhiều năm. Systematic không nằm ở con bot. Systematic nằm ở kỷ luật giải thích được, kiểm định được và tái lập được từng quyết định mà con bot đưa ra, và ở việc sẵn sàng vứt bỏ cả ý tưởng khi mình không làm được điều đó.


Bài viết này được tổng hợp từ 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ư. Kết quả trong quá khứ không đảm bảo kết quả trong tương lai.

← All journal articles

Chat