
Backtesting: Định nghĩa, cách thức hoạt động và nhược điểm
Kiểm tra lại là gì?
Backtesting là phương pháp chung để xem chiến lược hoặc mô hình sẽ hoạt động tốt như thế nào sau khi đăng. Backtesting đánh giá tính khả thi của một chiến lược giao dịch bằng cách khám phá cách nó sẽ diễn ra bằng cách sử dụng dữ liệu lịch sử. Nếu việc kiểm tra lại có hiệu quả, các nhà giao dịch và nhà phân tích có thể tự tin sử dụng nó trong tương lai.
Bài học chính
- Backtesting đánh giá tính khả thi của một chiến lược giao dịch hoặc mô hình định giá bằng cách khám phá xem nó sẽ diễn ra như thế nào khi sử dụng dữ liệu lịch sử.
- Lý thuyết cơ bản là bất kỳ chiến lược nào hoạt động tốt trong quá khứ đều có khả năng hoạt động tốt trong tương lai và ngược lại, bất kỳ chiến lược nào hoạt động kém trong quá khứ đều có khả năng hoạt động kém trong tương lai.
- Khi thử nghiệm một ý tưởng dựa trên dữ liệu lịch sử, sẽ có ích nếu dành một khoảng thời gian cho dữ liệu lịch sử cho mục đích thử nghiệm. Nếu thành công, việc thử nghiệm nó trên các khoảng thời gian thay thế hoặc dữ liệu ngoài mẫu có thể giúp xác nhận khả năng tồn tại của nó.
Hiểu về backtesting
Backtesting cho phép nhà giao dịch mô phỏng chiến lược giao dịch bằng cách sử dụng dữ liệu lịch sử để tạo ra kết quả cũng như phân tích rủi ro và lợi nhuận trước khi mạo hiểm với bất kỳ khoản vốn thực tế nào.
Một cuộc kiểm tra ngược được tiến hành tốt mang lại kết quả tích cực đảm bảo với các nhà giao dịch rằng chiến lược này về cơ bản là hợp lý và có khả năng mang lại lợi nhuận khi được triển khai trên thực tế. Ngược lại, một cuộc kiểm tra ngược được tiến hành tốt mang lại kết quả dưới mức tối ưu sẽ khiến các nhà giao dịch thay đổi hoặc từ chối chiến lược.
Các chiến lược giao dịch đặc biệt phức tạp, chẳng hạn như các chiến lược được thực hiện bởi hệ thống giao dịch tự động, phụ thuộc rất nhiều vào việc kiểm tra lại để chứng minh giá trị của chúng, vì chúng quá phức tạp để đánh giá theo cách khác.
Miễn là một ý tưởng giao dịch có thể được định lượng thì nó có thể được kiểm tra lại. Một số nhà giao dịch và nhà đầu tư có thể tìm kiếm chuyên môn của một lập trình viên có trình độ để phát triển ý tưởng thành một hình thức có thể thử nghiệm được. Thông thường, điều này liên quan đến việc lập trình viên mã hóa ý tưởng thành ngôn ngữ độc quyền do nền tảng giao dịch lưu trữ.
Lập trình viên có thể kết hợp các biến đầu vào do người dùng xác định để cho phép nhà giao dịch “tinh chỉnh” hệ thống. Một ví dụ về điều này là trong hệ thống giao nhau giữa đường trung bình động đơn giản (SMA). Nhà giao dịch có thể nhập (hoặc thay đổi) độ dài của hai đường trung bình động được sử dụng trong hệ thống. Sau đó, người giao dịch có thể kiểm tra lại để xác định độ dài của đường trung bình động sẽ hoạt động tốt nhất trên dữ liệu lịch sử.
Kịch bản backtesting lý tưởng
Backtest lý tưởng sẽ chọn dữ liệu mẫu từ một khoảng thời gian phù hợp trong khoảng thời gian phản ánh nhiều điều kiện thị trường khác nhau. Bằng cách này, người ta có thể đánh giá tốt hơn liệu kết quả của backtest có phải là giao dịch may mắn hay hợp lý hay không.
Tập dữ liệu lịch sử phải bao gồm một mẫu cổ phiếu thực sự mang tính đại diện, bao gồm cả mẫu cổ phiếu của các công ty cuối cùng đã phá sản hoặc bị bán hoặc thanh lý. Giải pháp thay thế, chỉ bao gồm dữ liệu từ các cổ phiếu lịch sử vẫn còn tồn tại cho đến ngày nay, sẽ tạo ra lợi nhuận cao giả tạo khi kiểm tra lại.
Backtest nên xem xét tất cả các chi phí giao dịch, dù không đáng kể, vì những chi phí này có thể tăng lên trong suốt thời gian backtesting và ảnh hưởng đáng kể đến khả năng sinh lời của chiến lược. Nhà giao dịch nên đảm bảo rằng phần mềm kiểm tra ngược của họ có tính đến những chi phí này.
Thử nghiệm ngoài mẫu và thử nghiệm hiệu suất chuyển tiếp cung cấp thêm xác nhận về tính hiệu quả của hệ thống và có thể hiển thị màu sắc thực sự của hệ thống trước khi tiền thật được đưa vào sử dụng. Mối tương quan chặt chẽ giữa các kết quả kiểm tra ngược, ngoài mẫu và chuyển tiếp là rất quan trọng để xác định khả năng tồn tại của một hệ thống giao dịch.
Kiểm tra lại so với Kiểm tra hiệu suất chuyển tiếp
Thử nghiệm hiệu suất chuyển tiếp, còn được gọi là giao dịch trên giấy, cung cấp cho các nhà giao dịch một bộ dữ liệu ngoài mẫu khác để đánh giá hệ thống. Thử nghiệm hiệu suất kỳ hạn là mô phỏng giao dịch thực tế và liên quan đến việc tuân theo logic của hệ thống trong thị trường trực tiếp. Nó còn được gọi là giao dịch trên giấy vì tất cả các giao dịch chỉ được thực hiện trên giấy; nghĩa là, các mục nhập và thoát giao dịch được ghi lại cùng với bất kỳ khoản lãi hoặc lỗ nào cho hệ thống, nhưng không có giao dịch thực sự nào được thực hiện.
Một khía cạnh quan trọng của thử nghiệm hiệu suất chuyển tiếp là tuân theo logic của hệ thống một cách chính xác; nếu không, việc đánh giá chính xác bước này của quy trình sẽ trở nên khó khăn, nếu không muốn nói là không thể. Các nhà giao dịch nên trung thực về bất kỳ điểm vào và ra giao dịch nào và tránh các hành vi như giao dịch hái quả anh đào hoặc không bao gồm giao dịch trên giấy tờ và hợp lý hóa rằng “Tôi sẽ không bao giờ thực hiện giao dịch đó”. Nếu giao dịch diễn ra theo logic của hệ thống thì nó phải được ghi lại và đánh giá.
Kiểm tra lại so với phân tích kịch bản
Trong khi backtesting sử dụng dữ liệu lịch sử thực tế để kiểm tra mức độ phù hợp hoặc thành công thì phân tích kịch bản sử dụng dữ liệu giả định mô phỏng nhiều kết quả có thể xảy ra. Ví dụ: phân tích kịch bản sẽ mô phỏng những thay đổi cụ thể về giá trị chứng khoán của danh mục đầu tư hoặc các yếu tố chính diễn ra, chẳng hạn như thay đổi lãi suất.
Phân tích kịch bản thường được sử dụng để ước tính những thay đổi về giá trị của danh mục đầu tư trước một sự kiện bất lợi và có thể được sử dụng để kiểm tra kịch bản trường hợp xấu nhất về mặt lý thuyết.
Một số cạm bẫy của Backtesting
Để việc kiểm tra ngược mang lại kết quả có ý nghĩa, nhà giao dịch phải phát triển chiến lược của mình và thử nghiệm chúng một cách thiện chí, tránh thiên vị nhiều nhất có thể. Điều đó có nghĩa là chiến lược nên được phát triển mà không cần dựa vào dữ liệu được sử dụng trong quá trình kiểm tra ngược.
Điều đó khó hơn tưởng tượng. Các nhà giao dịch thường xây dựng chiến lược dựa trên dữ liệu lịch sử. Họ phải nghiêm ngặt trong việc thử nghiệm với các tập dữ liệu khác nhau từ những tập dữ liệu mà họ đào tạo mô hình của mình. Nếu không, backtest sẽ tạo ra kết quả rực rỡ chẳng có ý nghĩa gì.
Tương tự, các nhà giao dịch phải tránh việc nạo vét dữ liệu, trong đó họ thử nghiệm nhiều chiến lược giả định dựa trên cùng một bộ dữ liệu, điều này cũng sẽ tạo ra những thành công nhưng lại thất bại trên thị trường thời gian thực vì có nhiều chiến lược không hợp lệ sẽ đánh bại thị trường trong một thời gian ngắn. một khoảng thời gian cụ thể một cách tình cờ.
Một cách để bù đắp cho xu hướng nạo vét dữ liệu hoặc chọn anh đào là sử dụng chiến lược thành công trong khoảng thời gian có liên quan hoặc trong mẫu và kiểm tra lại chiến lược đó với dữ liệu từ khoảng thời gian khác hoặc ngoài mẫu . Nếu các thử nghiệm ngược trong mẫu và ngoài mẫu mang lại kết quả tương tự nhau thì chúng có nhiều khả năng được chứng minh là hợp lệ hơn.