Backtesting là phương pháp chung để xem một chiến lược hoặc mô hình sẽ hoàn thành các ex-post 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 nhờ vào việc 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 khả thi, các trader và nhà phân tích có thể có sự tự tin để sử dụng nó trong tương lai.
Điểm 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á nhờ vào việc khám phá cách nó sẽ diễn ra bằng cách 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ứ 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 thực hiện kém trong quá khứ có khả năng thực hiện kém trong tương lai.
- Khi thử nghiệm một ý tưởng về dữ liệu lịch sử, rất có ích để dự trữ một khoảng thời gian dữ liệu lịch sử cho mục đích thử nghiệm. Nếu nó thành công, hãy thử nghiệm nó trên các khoảng thời gian khác hoặc dữ liệu ngoài mẫu có thể giúp xác nhận khả năng tồn tại tiềm năng của nó.
Hiểu về Backtesting
Backtesting cho phép một trader 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 kết quả và phân tích rủi ro và lợi nhuận trước khi thực sự mạo hiểm vốn của mình.
Một backtest được thực hiện chính xác mang lại kết quả tích cực đảm bảo các nhà giao dịch rằng chiến lược về cơ bản có khả năng mang lại lợi nhuận khi thực hiện trong thực tế. Ngược lại, một backtest được thực hiện chính xác 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 bác bỏ chiến lược.
Quan trọng: 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 sao lưu để chứng minh giá trị của chúng, vì nếu không thì chúng sẽ khó định giá.
Miễn là một ý tưởng giao dịch có thể được định lượng, nó có thể được thực hiện backtest. 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 đủ điều kiện để phát triển ý tưởng thành một hình thức thử được. 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 vào 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 xác định cho phép người giao dịch “tinh chỉnh” hệ thống. Một ví dụ về điều này sẽ nằm trong hệ thống di chuyển xuyên chéo trung bình đơn giản (SMA). Người giao dịch sẽ có thể nhập (hoặc thay đổi) độ dài của hai đường trung bình di chuyển được sử dụng trong hệ thống. Sau đó, thương nhân sau đó có thể xác định độ dài nào của trung bình di chuyển sẽ thực hiện tốt nhất trên dữ liệu lịch sử.
Hoàn cảnh Backtesting lý tưởng
Backtest lý tưởng chọn dữ liệu mẫu từ khoảng thời gian có liên quan phản ánh nhiều điều kiện thị trường. 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 đại diện cho giao dịch Fluke hay Sound.
Bộ dữ liệu lịch sử phải bao gồm một mẫu cổ phiếu thực sự, bao gồm cả các công ty cuối cùng đã bị phá sản hoặc được bán hoặc thanh lý. Sự thay thế, bao gồm cả dữ liệu từ các cổ phiếu lịch sử vẫn còn tồn tại ngày nay, sẽ tạo ra lợi nhuận cao trong backtesting.
Một nền tảng 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 điều này có thể tăng thêm trong suốt quá trình của giai đoạn lưu trữ và ảnh hưởng mạnh lợi nhuận của chiến lược. Các trader phải đảm bảo rằng phần mềm backtesting của họ chiếm các chi phí này.
Kiểm tra out-of-sample và kiểm tra hiệu suất về sau 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 sự của hệ thống trước khi tiền thật là trên đường dây. Một mối tương quan mạnh mẽ giữa các kết quả kiểm tra hiệu suất vượt trội, 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 hệ thống giao dịch.
Backtesting và kiểm tra hiệu suất về sau
Kiểm tra hiệu suất về sau, cũng được biết với paper trading cung cấp cho các trader một tập hợp dữ liệu out-of-sample khác để đánh giá một hệ thống. Kiểm tra hiệu suất về sau mô phỏng giao dịch thực tế và liên quan đến logic của hệ thống trong một thị trường trực tiếp. Nó còn được gọi là giao dịch giấy (paper trading) vì tất cả các giao dịch chỉ được thực thi trên giấy. Đó là, giao dịch đi vào và đi ra được ghi nhận cùng với bất kỳ lợi nhuận hoặc mất mát nào cho hệ thống, nhưng không có giao dịch thực sự nào được thực thi.
Một khía cạnh quan trọng của thử nghiệm hiệu suất về sau là làm chính xác theo logic của hệ thống; Nếu không, nó trở nên khó hoặc không thể đánh giá chính xác bước này của quy trình. Các trader nên trung thực về các mục vào và ra của giao dịch và tránh hành vi như giao dịch cherry-picking hoặc không có 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à xem xét.
Backtesting và phân tích bối cảnh
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 bối cảnh sử dụng dữ liệu giả định mô phỏng các kết quả có thể khác nhau. Chẳng hạn, phân tích bối cảnh 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 bối cảnh 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ư để đáp ứng một sự kiện không thuận lợi và có thể được sử dụng để xem xét lý thuyết về một trường hợp xấu nhất có thể xảy ra.
Một vài bẫy của Backtesting
Đối với backtesting, để cung cấp kết quả có ý nghĩa, thương nhân phải phát triển các chiến lược của mình và kiểm tra chúng trong sự tin tưởng, tránh sự 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 dựa vào dữ liệu được sử dụng trong backtesting.
Điều đó khó hơn bạn nghĩ. Trader thường xây dựng các chiến lược dựa trên dữ liệu lịch sử. Chúng 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ọ đào tạo các mô hình của họ trên. Nếu không, backtest sẽ tạo ra kết quả vô ích.
Tương tự, các trader phải tránh lạm dụng dữ liệu, trong đó họ kiểm tra một loạt các chiến lược giả định so 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 các thị trường thời gian thực vì có nhiều chiến lược không hợp lệ sẽ tình cờ làm sập thị trường trên một khoảng thời gian cụ thể.
Một cách để bù đắp cho xu hướng nạo vét dữ liệu hoặc cherry-pick là sử dụng một chiến lược có liên quan trong khoảng thời gian liên quan hoặc trong mẫu, thời gian và backtest với dữ liệu từ một khoảng thời gian khác nhau hoặc ngoài mẫu, thời gian. Nếu cả backtest trong mẫu và ngoài mẫu mang lại kết quả tương tự, thì chúng có nhiều khả năng được chứng minh là hợp lệ.