Trong một bài viết trước đây về nan đề quy nạp, chúng ta đã biết rằng, việc kiểm tra kết quả quá khứ của một chiến lược không thể khẳng định chắc chắn được rằng chiến lược có lợi thế thật sự hay không. Đó là một mối đau đầu của những nhà giao dịch định lượng.
Hôm nay, chúng ta sẽ cố gắng giải quyết vấn đề này.
Mặc dù cũng sử dụng thống kê (quy nạp), nhưng chúng ta cũng đã biết rằng những sự kiện cực đoan đó xảy ra nhờ những "cơ chế thực tế" (xem thêm tài chính hành vi). Những cơ chế này đã khẳng định được tính đúng đắn của kết quả thống kê đó.
Tôi cũng đã nói trong bài viết đó rằng:
"Nếu những số liệu chỉ ra cho chúng ta một kết quả (ngay cả khi chúng ta sử dụng rất nhiều dữ liệu) mà không được hỗ trợ bởi một lý thuyết nào đó, thì rất có thể kết quả đó chỉ là một sự ngẫu nhiên đơn thuần.
Nhưng nếu một kết quả thống kê phù hợp với lý thuyết, thì sẽ ít có khả năng ngẫu nhiên hơn. Khi nó có nền tảng lý thuyết ủng hộ, nó sẽ không còn là một thực thể đơn lẻ, mà là một phần của một bức tranh gắn kết lớn, trong đó lý thuyết giải thích thực tế và thực tế xác nhận lý thuyết."
Điều đó có nghĩa là, các chiến lược giao dịch được phát triển nhờ vào độ lệch trong phân phối lợi nhuận là những chiến lược có "cơ chế" thực sự. Do đó, nó có cơ sở vượt qua nan đề quy nạp.
Hơn nữa, khi chúng ta tiến hành backtest, nếu có thể kiểm tra chiến lược trên số mẫu càng lớn, thì "độ chắc chắn" về lợi thế của chiến lược sẽ càng ngày càng cao.
Những phần tử ngẫu nhiên đơn lẻ thì hành xử ngẫu nhiên, nhưng một tập hợp lớn bao gồm nhiều phần tử ngẫu nhiên thì lại có quy luật, đó là luật số lớn.
Đối với những chiến lược dù đã kiểm tra trong khoảng thời gian 20 năm, nhưng chỉ có vài trăm lệnh, thì có khả năng rất cao, đó chỉ là ngẫu nhiên, nhưng với những chiến lược được backtest tới hàng chục, hàng trăm nghìn lệnh trên nhiều thị trường khác nhau, thì rất khó để xảy ra khả năng đó.
Tiếp theo, tôi sẽ cố gắng miêu tả về "độ chắc chắn của backtest" này một cách trực quan.
Khi chúng ta backtest một chiến lược giao dịch, chúng ta sẽ thu được hai giá trị để tính toán giá trị kỳ vọng đó là tỉ lệ thắng và tỉ lệ R:R. Nếu số lệnh backtest của chúng ta càng ít, các giá trị này sẽ càng có khả năng khác với “giá trị thực sự” của chiến lược đó. Nghĩa là, nếu chúng ta áp dụng chiến lược vừa được backtest vào thực tế với số lệnh đủ lớn, các “giá trị thực tế” này sẽ không giống như khi backtest. Sau đây tôi sẽ chỉ ra sự khác biệt đó đối với tỉ lệ thắng của các kết quả backtest với số lượng lệnh khác nhau, từ thấp đến cao, tỉ lệ R:R cũng sẽ tương tự như vậy.
Giả sử bạn vừa thực hiện việc kiểm tra một chiến lược giao dịch trong 10 lệnh và thu được thông số về tỉ lệ thắng là 50%, tức là 5 lệnh thắng và 5 lệnh thua. Biểu đồ bên dưới sẽ biểu thị cho chúng ta mật độ phân phối xác suất về giá trị của “tỉ lệ thắng thực sự” của chiến lược đó khi áp dụng vào thực tế. Các giá trị có thể nhận của “tỉ lệ thắng thực sự” này sẽ nằm trong khoảng 0% - 100% với các mật độ xác suất tương ứng.

Hình trên là phân phối xác suất tỉ lệ thắng của chiến lược với 10 lệnh backtest
Chúng ta sẽ chú ý đến hai giá trị giới hạn trên, và giới hạn dưới tôi biểu thị trên biểu đồ, nó cho chúng ta biết khoảng giá trị trong đó chứa 99,99% khả năng mà “tỉ lệ thắng thực tế” của chiến lược có thể nhận. Trong hình dưới, điều đó có nghĩa là nếu chỉ backtest 10 lệnh, tỉ lệ chiến thắng thực tế của chiến lược đó sẽ nằm trong khoảng từ 5,43% cho đến 94,75% (xác suất 99,99%). Chúng ta nhận thấy với một độ dao động lớn như vậy, rõ ràng chiến lược này có một chỉ số thống kê về lợi thế không chắc chắn vì nếu tỉ lệ thắng chúng ta nhận được khi áp dụng chiến lược trong thực tế giảm xuống chỉ còn 40% thôi chẳng hạn, chiến lược đó sẽ bị thua lỗ.
Tiếp theo, tôi sẽ thử tăng số lượng giao dịch được backtest lên 100 lệnh và vẽ lại biểu đồ.
Hình trên là phân phối xác suất tỉ lệ thắng của chiến lược với 10 lệnh backtest
Phân phối xác suất tỉ lệ thắng của chiến lược với 100 lệnh backtest
Chúng ta có thể thấy, khi thực hiện 100 lệnh, biên độ dao động của tỉ lệ chiến thắng thực tế có thể nhận trong thực tế đã giảm xuống, nó sẽ nằm trong khoảng từ 31,28% cho đến 68.84% (xác suất 99,99%). Như vậy với 100 lệnh, sự chắc chắn chúng ta thu được từ kết quả backtest đã tăng lên. Tiếp theo, tôi sẽ tăng số lượng giao dịch lên 1.000 lệnh. Nhìn vào hình bên dưới, chúng ta đã thấy có sự thu hẹp đáng kể biên độ dao động của tỉ lệ thắng, nó gần như sẽ nằm trong khoảng từ 43,70% cho đến 56,14% (xác suất 99,99%), chúng ta sẽ tiếp tục làm điều này, với con số 10.000 lệnh và 100.000 lệnh.

Phân phối xác suất tỉ lệ thắng của chiến lược với 1.000 lệnh backtest

Phân phối xác suất tỉ lệ thắng của chiến lược với 10.000 lệnh backtest

Phân phối xác suất tỉ lệ thắng của chiến lược với 100.000 lệnh backtest
Hãy xem 2 hình trên, chúng ta có thể thấy biên độ dao động của tỉ lệ thắng thực sự khi chúng ta tăng số lượng lệnh lên ngày càng thu hẹp lại gần với con số thu được từ kết quả backtest ban đầu là 50%. Đối với số giao dịch kiểm tra là 100,000 lệnh, tỉ lệ thắng sẽ nằm trong khoảng từ 49,38% cho đến 50,61% (xác suất 99,99%), với biên độ nhỏ như vậy, dù nó có bị giảm xuống trong thực tế, cũng sẽ không ảnh hưởng quá nhiều đến hiệu suất của chiến lược. Để minh họa rõ nhất cho thấy độ chắc chắn sẽ tăng khi chúng ta backtest càng nhiều lệnh, bạn hãy nhìn vào hình bên dưới, biểu đồ cho thấy hiệu suất của chiến lược sẽ cần gần với kết quả test khi số lệnh backtest tăng lên, giống như hệ quả tất yếu làm entropy luôn phải tăng vậy. Quy luật số lớn sẽ tạo ra sự chi phối mạnh mẽ đến một tập hợp bao gồm nhiều phần tử ngẫu nhiên.

Độ chắc chắn tăng lên khi số lệnh backtest tăng
Có thể bạn cho rằng việc backtest hàng chục, hàng trăm nghìn lệnh là không thể, nhưng đó là điều tôi và rất nhiều người đã làm được bằng việc lập trình, chúng tôi không chỉ tìm kiếm một chiến lược trên một khung thời gian hay một thị trường đơn lẻ, mà chúng tôi sẽ đi tìm kiếm nhiều chiến lược trên nhiều khung thời gian khác nhau và nhiều thị trường khác nhau, tất nhiên là bạn cũng có thể làm được điều đó nếu có đủ kiên trì và quyết tâm.
Đó chính là cách giúp chúng ta giải quyết nan đề về quy nạp.
Tất nhiên, cách này cũng không thể đảm bảo chắc chắn rằng chiến lược của chúng ta thực sự có lợi thế.
Nhưng bởi chiến lược của chúng ta đều được phát triển dựa trên cơ chế thực tế về đuôi béo, kết hợp với một số mẫu kiểm tra rất lớn, nên xác suất khiến kết quả đó chỉ là một sự ngẫu nhiên đơn thuần là vô cùng thấp.
Comments
Post a Comment