Backtesting

. 8 min read

Backtesting là gì?

Backtesting là phương pháp chung để xem chiến lược hoặc mô hình sẽ thực hiện tốt như thế nào. Backtesting đánh giá khả năng tồn tại của 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 backtesting hoạt động, thương nhân và nhà phân tích có thể có sự tự tin để sử dụng nó trong tương lai.

Những điều cơ bản của Backtesting

Backtesting cho phép một nhà giao dịch mô phỏng chiến lược giao dịch sử dụng dữ liệu lịch sử để tạo ra kết quả và phân tích rủi ro và lợi nhuận trước khi mạo hiểm với bất kỳ vốn thực tế nào.   Một backtest được tiến hành tốt mang lại kết quả tích cực đảm bảo cho các nhà giao dịch rằng chiến lược này về cơ bản là có cơ hội và có khả năng mang lại lợi nhuận khi được thực hiện trong thực tế. Một backtest đượ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 các 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á khác.

Miễn là một ý tưởng giao dịch có thể được định lượng, nó có thể được kiểm tra lại. Một số thương nhân 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 thử nghiệm. Thông thường, điều này liên quan đến một lập trình viên mã hóa ý tưởng thành ngôn ngữ độc quyền được lưu trữ bởi nền tảng giao dịch. Lập trình viên có thể kết hợp các biến đầu vào do người dùng định nghĩa cho phép người giao dịch "điều chỉnh" hệ thống. Một ví dụ về điều này sẽ là trong hệ thống đường trung bình di chuyển đơn giản giao nhau được ghi chú ở trên. Nhà giao dịch sẽ có thể nhập (hoặc thay đổi) độ dài của hai đường trung bình di động được sử dụng trong hệ thống. Nhà giao dịch có thể kiểm tra lại để xác định độ dài trung bình di chuyển nào sẽ thực hiện tốt nhất trên dữ liệu lịch sử.

NỘI DUNG CHÍNH

Backtesting đánh giá khả năng tồn tại của chiến lược giao dịch hoặc mô hình định giá 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 backtesting hoạt động, thương nhân và nhà phân tích có thể có sự tự tin để sử dụng nó trong tương lai.
Một backtest được tiến hành tốt mang lại kết quả tích cực đảm bảo cho các nhà giao dịch rằng chiến lược này về cơ bản là có cơ hội và có khả năng mang lại lợi nhuận khi được thực hiện trong thực tế. Một backtest đượ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.


Backtesting lý tưởng

Backtest lý tưởng chọn dữ liệu mẫu trong khoảng thời gian thích hợp của 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.

Bộ dữ liệu lịch sử phải bao gồm một mẫu cổ phiếu đại diện, bao gồm cả các công ty cuối cùng đã phá sản hoặc bị bán hoặc thanh lý. Dữ liệu 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 đến ngày hôm nay, sẽ tạo ra lợi nhuận cao một cách giả tạo trong việc kiểm tra lại.

Tuy nhiên, một backtest nên xem xét tất cả các chi phí giao dịch, tuy nhiên không đáng kể, vì những khoản này có thể cộng lại trong suốt giai đoạn backtest và ảnh hưởng mạnh đến sự xuất hiện của lợi nhuận chiến lược. Các thương nhân nên đảm bảo rằng phần mềm kiểm tra tài khoản của họ cho các 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 xác nhận thêm về hiệu quả của hệ thống và có thể hiển thị màu sắc thực của hệ thống trước khi có tiền thật. Mối tương quan tốt giữa các kết quả kiểm tra hiệu suất 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.

Backtesting so với Kiểm soát hiệu suất chuyển tiếp

Kiểm tra hiệu suất chuyển tiếp, còn được gọi là giao dịch 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á một hệ thống. Kiểm tra hiệu suất chuyển tiếp là một mô phỏng của giao dịch thực tế và liên quan đến việc tuân theo logic của hệ thống trong một thị trường trực tiếp. Nó cũng được gọi là giao dịch 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 kiểm tra hiệu suất chuyển tiếp là tuân theo chính xác logic của hệ thống; mặt khác, nếu không thể, việc đánh giá chính xác bước này của quy trình trở nên khó khăn. Các thương nhân nên trung thực về bất kỳ mục nhập và thoát giao dịch nào và tránh các hành vi như giao dịch hái cherry hoặc không bao gồm giao dịch trên giấy 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 đã xảy ra theo logic của hệ thống, nó sẽ được ghi lại và đánh giá.

Sự khác biệt giữa Backtesting và Phân tích các trường hợp

Trong khi backtesting sử dụng dữ liệu lịch sử thực tế để kiểm tra sự phù hợp hoặc thành công, phân tích các trường hợp sử dụng dữ liệu giả thuyết mô phỏng các kết quả khác nhau có thể có. Chẳng hạn, phân tích các trường hợp sẽ mô phỏng các thay đổi cụ thể trong các giá trị của chứng khoán hoặc các yếu tố chính của danh mục đầu tư diễn ra, chẳng hạn như thay đổi lãi suất. Phân tích trường hợp thường được sử dụng để ước tính các thay đổi đối với giá trị của danh mục đầu tư để đối phó với sự kiện bất lợi và có thể được sử dụng để kiểm tra tình huống xấu nhất về mặt lý thuyết.

Một số hạn chế của Backtesting

Để backtesting cung cấp kết quả có ý nghĩa, các nhà giao dịch phải phát triển các chiến lược của họ và kiểm tra chúng một cách thiện chí, tránh sự thiên vị càng nhiều càng tốt. Đ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 backtesting. Điều đó dường như khó hơn. Thương nhân 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 về việc thử nghiệm với các bộ dữ liệu khác nhau từ những người họ huấn luyện mô hình của họ. Nếu không, backtest sẽ tạo ra kết quả phát sáng có nghĩa là không có gì.  

Tương tự, các nhà giao dịch cũng phải tránh nạo vét dữ liệu, trong đó họ kiểm tra một loạt các chiến lược giả định đối với cùng một bộ dữ liệu cũng sẽ tạo ra những thành công thất bại trong thị trường thời gian thực, bởi vì có nhiều chiến lược không hợp lệ sẽ đánh bại thị trường. một khoảng thời gian cụ thể tình cờ.  Một cách để bù đắp cho xu hướng nạo vét dữ liệu hoặc chọn cherry 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 dữ liệu từ một khoảng thời gian khác, hoặc ngoài mẫu. Nếu backtests trong mẫu và ngoài mẫu cho kết quả tương tự nhau, thì chúng có khả năng nói chung là hợp lệ.

Nguồn: Investopedia.com
Dịch bởi: Team Entrade