Backtesting là một thành phần chính của sự phát triển hệ thống giao dịch hiệu quả. Nó được thực hiện bằng cách xây dựng lại, với dữ liệu lịch sử, các giao dịch sẽ xảy ra trong quá khứ bằng cách sử dụng các quy tắc được xác định bởi một chiến lược nhất định. Kết quả cung cấp số liệu thống kê để đánh giá hiệu quả của chiến lược.
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 thực hiện kém trong tương lai. Bài viết này xem xét những ứng dụng nào được sử dụng trong backtesting, loại dữ liệu nào thu được và làm thế nào để sử dụng nó.
Cách kiểm tra lại chiến lược giao dịch bằng dữ liệu và công cụ
Backtesting có thể cung cấp nhiều phản hồi thống kê có giá trị về một hệ thống nhất định. Một số thống kê backtesting phổ quát bao gồm:
- Lãi hoặc lỗ ròng: Tỷ lệ phần trăm ròng tăng hoặc mất Các biện pháp biến động: Tỷ lệ phần trăm tăng và giảm tối đa Trung bình: Tỷ lệ phần trăm lãi và lỗ trung bình, tỷ lệ trung bình nắm giữ Phơi bày: Tỷ lệ vốn đầu tư (hoặc tiếp xúc với thị trường) Tỷ lệ: Tỷ lệ thua lỗ Lợi nhuận hàng năm: Tỷ lệ hoàn vốn trong một năm Lợi nhuận được điều chỉnh theo rủi ro: Tỷ lệ hoàn vốn là một hàm của rủi ro
Phần mềm Backtesting
Thông thường, phần mềm backtesting sẽ có hai màn hình quan trọng. Việc đầu tiên cho phép người giao dịch tùy chỉnh các cài đặt để kiểm tra lại. Những tùy chỉnh này bao gồm mọi thứ từ khoảng thời gian đến chi phí hoa hồng. Dưới đây là một ví dụ về màn hình như vậy trong AmiBroker:
Màn hình thứ hai là báo cáo kết quả kiểm tra thực tế. Đây là nơi bạn có thể tìm thấy các số liệu thống kê được đề cập ở trên. Một lần nữa, đây là một ví dụ về màn hình này trong AmiBroker:
Nhìn chung, hầu hết các phần mềm giao dịch đều chứa các yếu tố tương tự. Một số chương trình phần mềm cao cấp cũng bao gồm chức năng bổ sung để thực hiện định cỡ vị trí tự động, tối ưu hóa và các tính năng nâng cao khác.
10 quy tắc cho chiến lược giao dịch backtesting
Có nhiều yếu tố cần chú ý khi các nhà giao dịch đang kiểm tra lại các chiến lược giao dịch. Dưới đây là danh sách những điều quan trọng nhất cần nhớ trong khi kiểm tra lại:
- Hãy tính đến các xu hướng thị trường rộng lớn trong khung thời gian một chiến lược nhất định đã được thử nghiệm. Ví dụ: nếu một chiến lược chỉ được kiểm tra lại từ năm 1999 đến năm 2000, thì nó có thể không có giá tốt trong thị trường gấu. Nó thường là một ý tưởng tốt để backtest trong một khung thời gian dài bao gồm một số loại điều kiện thị trường khác nhau. Hãy tính đến vũ trụ trong đó backtesting xảy ra. Ví dụ, nếu một hệ thống thị trường rộng lớn được thử nghiệm với một vũ trụ bao gồm các cổ phiếu công nghệ, nó có thể không hoạt động tốt trong các lĩnh vực khác nhau. Theo nguyên tắc chung, nếu một chiến lược được nhắm đến một thể loại chứng khoán cụ thể, hãy giới hạn vũ trụ trong thể loại đó; trong tất cả các trường hợp khác, duy trì một vũ trụ rộng lớn cho mục đích thử nghiệm. Các biện pháp thanh toán là cực kỳ quan trọng để xem xét trong việc phát triển một hệ thống giao dịch. Điều này đặc biệt đúng đối với các tài khoản có đòn bẩy, vốn phải chịu các lệnh gọi ký quỹ nếu vốn chủ sở hữu của chúng giảm xuống dưới một điểm nhất định. Các thương nhân nên tìm cách giữ mức độ biến động thấp để giảm rủi ro và cho phép chuyển đổi dễ dàng hơn trong và ngoài một cổ phiếu nhất định. Số lượng thanh trung bình được giữ cũng rất quan trọng để theo dõi khi phát triển hệ thống giao dịch. Mặc dù hầu hết các phần mềm kiểm tra lại bao gồm chi phí hoa hồng trong các tính toán cuối cùng, điều đó không có nghĩa là bạn nên bỏ qua thống kê này. Nếu có thể, việc tăng số lượng thanh trung bình được giữ có thể giảm chi phí hoa hồng và cải thiện lợi nhuận chung của bạn. Tiếp xúc là con dao hai lưỡi. Tiếp xúc tăng có thể dẫn đến lợi nhuận cao hơn hoặc tổn thất cao hơn, trong khi tiếp xúc giảm có nghĩa là lợi nhuận thấp hơn hoặc tổn thất thấp hơn. Nói chung, nên giữ mức tiếp xúc dưới 70% để giảm rủi ro và cho phép chuyển đổi vào và ra một cổ phiếu dễ dàng hơn. Thống kê lãi / lỗ trung bình, kết hợp với tỷ lệ thắng / thua, có thể hữu ích để xác định kích thước vị trí tối ưu và quản lý tiền bằng các kỹ thuật như Tiêu chí Kelly. Các nhà giao dịch có thể đảm nhận các vị trí lớn hơn và giảm chi phí hoa hồng bằng cách tăng lợi nhuận trung bình và tăng tỷ lệ thắng thua của họ. Lợi nhuận thực tế được sử dụng như một công cụ để đánh giá lợi nhuận của hệ thống so với các địa điểm đầu tư khác. Điều quan trọng không chỉ là nhìn vào tổng lợi nhuận hàng năm mà còn phải tính đến rủi ro tăng hoặc giảm. Điều này có thể được thực hiện bằng cách xem xét lợi nhuận được điều chỉnh theo rủi ro, chiếm các yếu tố rủi ro khác nhau. Trước khi một hệ thống giao dịch được thông qua, nó phải vượt trội hơn tất cả các địa điểm đầu tư khác với mức rủi ro bằng hoặc ít hơn. Tùy chỉnh kiểm tra là cực kỳ quan trọng. Nhiều ứng dụng backtesting có đầu vào cho số tiền hoa hồng, kích thước lô tròn (hoặc phân số), kích thước đánh dấu, yêu cầu ký quỹ, lãi suất, giả định trượt, quy tắc định vị, quy tắc thoát cùng thanh, cài đặt dừng (theo dõi) và nhiều hơn nữa. Để có kết quả kiểm tra chính xác nhất, điều quan trọng là điều chỉnh các cài đặt này để bắt chước nhà môi giới được sử dụng khi hệ thống hoạt động. Việc kiểm tra đôi khi có thể dẫn đến một cái gì đó được gọi là tối ưu hóa quá mức. Đây là một điều kiện trong đó kết quả hiệu suất được điều chỉnh quá cao đến quá khứ, chúng không còn chính xác trong tương lai. Nói chung, nên thực hiện các quy tắc áp dụng cho tất cả các cổ phiếu hoặc một tập hợp các cổ phiếu được nhắm mục tiêu và không được tối ưu hóa đến mức mà các nhà sáng tạo không thể hiểu được các quy tắc này. hiệu quả của một hệ thống giao dịch nhất định. Đôi khi các chiến lược thực hiện tốt trong quá khứ không làm tốt trong hiện tại. Hiệu suất trong quá khứ không phải là dấu hiệu của kết quả trong tương lai. Hãy chắc chắn giao dịch giấy một hệ thống đã được kiểm tra thành công trước khi đi vào hoạt động để đảm bảo chiến lược vẫn được áp dụng trong thực tế.
Điểm mấu chốt
Backtesting là một trong những khía cạnh quan trọng nhất của việc phát triển hệ thống giao dịch. Nếu được tạo và giải thích hợp lý, nó có thể giúp các nhà giao dịch tối ưu hóa và cải thiện chiến lược của họ, tìm thấy bất kỳ sai sót kỹ thuật hoặc lý thuyết nào, cũng như có được niềm tin vào chiến lược của họ trước khi áp dụng nó vào thị trường thế giới thực.
