VNREBATES

Backtesting trong hệ thống giao dịch ngoại hối

31.07.2019, 08:00 10 phút đọc

Backtesting là một trong những khía cạnh quan trọng nhất khi phát triển hệ thống giao dịch. Nếu được cài đặt và giải thích hợp lý, nó có thể giúp các nhà đầu tư tối ưu hóa và cải thiện chiến lược giao dịch của mình cũng như có thể tạo được thêm niềm tin trước khi bước vào thế giới giao dịch thật.

1. Backtesting là gì?

Backtesting là một phần không thể thiếu trong việc xây dựng hệ thống giao dịch forex hiệu quả. Backtesting là một quá trình kiểm nghiệm lại các quy tắc giao dịch của nhà đầu tư dựa trên dữ liệu quá khứ, tạo ra các mô phỏng giao dịch trong quá khứ. Bằng cách này, nhà đầu tư có thể đánh giá và kiểm tra xem liệu chiến lược đầu tư của mình có thật sự hiệu quả hay không, dựa vào các kết quả thống kê.

Lý thuyết tiền đề cho phương pháp này chính là: Bất kỳ chiến lược nào hoạt động tốt trong quá khứ thì sẽ có khả năng hoạt động tốt trong tương lai. Bất kỳ chiến lược nào hoạt động kém trong quá khứ thì khả năng cao là sẽ thực hiện kém trong tương lai.

Trong phần dưới, chúng ta sẽ xem xét những ứng dụng của backtesting, những loại dữ liệu cần có và làm thế nào để sử dụng chúng hiệu quả.

2. Cách backtest chiến lược giao dịch bằng các dữ liệu và công cụ

Backtest có thể cung cấp các thống kê có giá trị đối với hệ thống giao dịch. Một số thống kê backtesting phổ biến bao gồm:

  • Lãi lỗ ròng: Phần trăm lợi nhuận tăng ròng hay giảm ròng
  • Đo lường biến động: Tỷ lệ phần trăm mức tăng tài khoản tối đa và giảm tối đa
  • Mức trung bình: Tỷ lệ phần trăm lời lỗ trung bình
  • Đòn bẩy: Tỷ lệ vốn đầu tư
  • 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ệ phần trăm lợi nhuận đặt trong bối cảnh rủi ro

3. Cách thực hiện backtesting là gì?

Để thực hiện backtesting, bạn sẽ sử dụng các phần mềm backtesting như AmiBroker. Thông thường, một phần mềm backtesting sẽ có 2 mục. Mục đầu tiên sẽ cho phép các nhà đầu tư tùy chỉnh các cài đặt. Các cài đặt này gồm rất nhiều thứ, từ khoảng thời gian giao dịch cho đến chi phí hoa hồng. Dưới đây là một ví dụ về màn hình cài đặt trong AmiBroker

backtesting là gì

Backtesting là gì?

Nhìn chung, các phần mềm đều có những chức năng tương tự. Một số phần mềm có thể cung cấp thêm những chức năng bổ sung như quy mô vị thế, tối ưu hóa và một số chức năng nâng cao khác.

4. 10 quy tắc thực hành backtesting là gì?

Có rất nhiều yếu tố cần phải chú ý khi các nhà giao dịch muốn kiểm tra lại chiến lược giao dịch của mình. Dưới đây là những điều cần phải nhớ:

  • Quy tắc 1: Hãy chú ý đến các xu hướng thị trường rộng lớn trong khung thời gian mà chiến lược giao dịch được thử nghiệm. Ví dụ: Nếu một chiến dịch chỉ được backtest từ năm 1999 đến năm 2000, thì có thể chiến lược đó không phù hợp với thị trường giá xuống. Sẽ tốt hơn nếu bạn sử dụng backtest trong một khung thời gian dài, gồm nhiều giai đoạn của thị trường khác nhau.
  • Quy tắc 2: Hãy lưu ý đến bối cảnh khi backtesting. Ví dụ, nếu một hệ thống được kiểm nghiệm với ngành cổ phiếu công nghệ, nó có thể sẽ không hoạt động tốt trong các ngành khác như cổ phiếu bất động sản, nông nghiệp hay các lĩnh vực khác như forex, đầu tư coin. Do đó, trừ khi chiến lược của bạn muốn nhắm đến một mục tiêu cụ thể, còn không hãy thử nghiệm nó trong một môi trường rộng lớn.
  • Quy tắc 3: Các đo lường mức biến động lợi nhuận cực kỳ quan trọng để xem xét các hệ thống giao dịch. Điều này đặc biệt quan trọng đối với các tài khoản có sử dụng đòn bẩy, những tài khoản phải chịu các lệnh call margin nếu vốn tự có giảm mạnh. Các nhà đầu tư nên tìm cách giữ mức biến động lợi nhuận thấp nhằm giảm rủi ro nhiều nhất có thể.
  • Quy tắc 4: Số lượng trung bình của các thanh cũng rất quan trọng khi phát triển hệ thống giao dịch. Nếu có thể, hãy tăng số lượng trung bình của các thanh giá  để có thể giảm chi phí hoa hồng và cải thiện lợi nhuận.
  • Quy tắc 5: Đòn bẩy là một con dao hai lưỡi. Đòn bẩy tăng có thể tạo ra lợi nhuận cao hơn nhưng cũng có thể làm thua lỗ nặng hơn. Ngược lại, đòn bẩy giảm dẫn đến lợi nhuận thấp hơn nhưng tổn thất cũng thấp hơn. Nói chung nên giữ đòn bẩy dưới 70% nếu bạn đầu tư cổ phiếu.
  • Quy tắc 6: Thống kê lãi/lỗ trung bình, kết hợp với tỷ lệ thắng/thua có thể sẽ hữu ích để xác định quy mô vị thế tối ưu và quản lý vốn bằng các kỹ thuật như Kelly Criterion. Các nhà giao dịch có thể gia tăng vị thế và giảm chi phí hoa hồng bằng cách gia tăng lợi nhuận bình quân và gia tăng tỷ lệ thắng/thua
  • Quy tắc 7: Lợi nhuận một năm: Đ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 hay giảm. Điều này có thể được xem xét thông qua chỉ tiêu lợi nhuận có điều chỉnh rủi ro. Trước khi một hệ thống được chấp nhận sử dụng, nó phải vượt trội hơn các công cụ đầu tư khác.
  • Quy tắc 8: Tùy chỉnh backtesting là gì? Đó là cài đặt các đặc điểm như phí hoa hồng, yêu cầu ký quỹ, lãi suất, giả định trượt giá, quy tắc xác định vị thế, quy tắc thoát hàng, và rất nhiều thứ nữa. Để có được kết quả kiểm tra chính xác nhất, điều quan trọng là phải tùy chỉnh các cài đặt này giống với những đặc điểm của nhà môi giới của bạn.
  • Quy tắc 9: Điều phải thận trọng khi làm backtesting là gì? Đôi khi backtesting tạo ra một kết quả lạc quan quá mức, kết quả của việc người dùng tạo ra những điều kiện quá thuận lợi. Tuy nhiên những điều kiện này có thể không đúng với thị trường trong hiện tại hoặc tương lai. Do đó hãy áp dụng backtesting trong một quy tắc và phạm vi rộng
  • Quy tắc 10: Backtesting không phải lúc nào cũng là cách chính xác nhất để đánh giá hiệu quả của một hệ thống giao dịch nhất định. Đôi khi những chiến lược giao dịch tốt trong quá khứ lại không thể hiện được nhiều trong tương lai. Do đó hãy giữ thái độ thận trọng và có những điều chỉnh cần thiết

5. Hướng dẫn cài backtest trên MT4

Khi bạn muốn cài đặt backtest trên MT4 thực hiện rất đơn giản như sau:

  • Bước 1: đầu tiên bạn cần tải phần mềm MT4 tại đây.
  • Bước 2: sau khi tải xong , nhấp chuột phải vào biểu đồ -> Chọn Template -> Chọn tên template mà bạn cần download.

Sau khi chọn đầy đủ các bước cơ bản, bấm Start để bắt đầu quá trình backtest trên MT4.

6. Hướng dẫn backtesting EA trên MT4

Muốn BackTest đầu tiên các trader cần phải có một EA. Trader có thể tìm hiểu cách code chúng, hoặc các nhà đầu tư có thể mua từ một số nhà cung cấp uy tín và đáng tin cậy.

Bước 1: Khi đã có được Expert Advisor, bước đầu tiên, hãy mở bảng điều khiển Strategy Tester bằng cách nhấp vào View và sau đó chọn Strategy Tester như hình minh họa bên dưới:

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Bên dưới cùng ở nền tảng MT4 sẽ xuất hiện một bảng điều khiển như hình dưới này:

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Bước 2: Sau đó trader làm theo hướng dẫn theo từng số thứ tự đã được đánh dấu để sử dụng Backtest EA như bên dưới:

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

  1. Hãy chọn một EA mà các trader muốn cài đặt, nó có tên gọi là “Expert ”
  2. Tại phần “ Symbol” chọn cặp tiền tệ và khung thời gian mà trader muốn backtest ở mục “Period” nằm bên tay phải.
  3. Chọn giá trị Model. Có ba cách để trader lựa chọn:
  • Cách 1: Every tic cho phép bạn có một backtest chính xác, nhưng ngược lại nó rất chậm vì MT4 sẽ phải đọc giá (Mở/ đóng cửa, giá Cao/Thấp) từ các tập dữ liệu lịch sử và tạo giá ngẫu nhiên bên trong mỗi nến, bắt đầu từ giá mở cho đến khi đóng.
  • Cách 2: Open Close Only chỉ cho phép duy nhất một số của thông số để chạy backtest nếu chiến lược mà trader lựa chọn là trung hạn, khi các trader khồng quan tâm đến sử chuyển động bên trong của nến và không cần đọc giá cao hay thấp thì phương  pháp này sẽ nhanh hơn nếu biết tận dụng và cần chạy nhiều thử nghiệm để tối ưu hóa.
  • Cách 3: phương pháp Control Points sẽ chạy dựa trên khung thời gian gần nhất vì vậy  khuyên trader không nên sử dụng phương pháp này. Tốt nhất trader  nên chọn mức Spread lớn gấp 2 lần so với phí spread mà các nhà đầu tư phải trả thực sự.
  1. Trader nên bỏ chọn dòng Use date vì nó sẽ làm giảm phạm vi kiểm tra của bạn.
  2. Nếu trader chạy backtest lần đầu tiên thì nên Bỏ chọn dòng Optimization.
  3. Nhấp vào nút Start và bắt đầu chạy backtest.

Tôi đưa ra một ví dụ cụ thể để các nhà đầu tư có thể hình dung dễ dàng hơn : chạy backtest cho Expert Advisor nó có tên là “High Potential Days”, sử dụng khung thời gian M1 cho cặp EUR/USD cho toàn bộ lịch sử được tải trong lịch sử dữ liệu.

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Sau khi chạy backtest sẽ có một phần được gọi là “Graph” xuất hiện trong phần biểu đồ. Trong phần Kết quả trực tuyến, bạn có tất cả các thông số và hiệu suất trong chiến lược của mình, như các hình ảnh dưới đây

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Hướng dẫn backtesting EA trên MT4

Trên đây là toàn bộ hướng dẫn cách BackTest EA. Trên thực tế, backtest là công cụ hoàn hảo để kiểm tra chất lượng EA. Nhiều nhà phát triển tạo ra những lỗi nhỏ có thể được giải quyết chỉ bằng backtest.

  • Một số điểm cần lưu ý:

Nếu trader sử dụng khung thời gian nhỏ chạy backtest thì nó sẽ cho ra kết quả có sai lệch lớn so với khi chạy backtest trên thực tế.

Các traer cần lưu ý dữ liệu càng nhiều thì khả năng  chính xác BackTest sẽ càng cao.

Khi chạy backtest trên khung thời gian nhỏ thì nhà đầu tư cần lưu ý nó chỉ chạy được trong khoảng thời gian ngắn, trader muốn backtest trong khoảng thời gian dài thì trader  phải backtest trên khung thời gian lớn hơn.

Kết luận

Backtesting là một trong những khía cạnh quan trọng nhất khi phát triển hệ thống giao dịch. Nếu được cài đặt và giải thích hợp lý, nó có thể giúp các nhà đầu tư tối ưu hóa và cải thiện chiến lược giao dịch của mình cũng như có thể tạo được thêm niềm tin trước khi bước vào thế giới giao dịch thật.

Theo Investopedia

Tổng hợp bởi VnRebates

👉 Cập nhật Phương pháp trading mới và hiệu quả nhất trên thế giới bằng 4 Khóa học video miễn phí
Risk Disclaimer: Bài viết thể hiện quan điểm và góc nhìn của cá nhân tác giả, chỉ có giá trị tham khảo về mặt thông tin, kiến thức và không có giá trị pháp lý về khuyến nghị đầu tư hay thay thế cho việc tư vấn tài chính nào tương đương. Bài viết không đảm bảo bất kỳ khoản lợi nhuận nào hay giảm thiểu rủi ro đầu tư nào cho chính độc giả. VnRebates không chịu trách nhiệm hay liên quan đến khoản đầu tư của độc giả khi sử dụng thông tin từ bài viết này. Bản quyền thuộc về đóng góp của tác giả.