Back test là gì? Cách backtest như chuyên gia

Backtest, nguyên tắc, ưu điểm  và quy trình thiết lập và sử dụng hệ thống backtest

Làm thế nào để Backtest một chiến lược trading có lẽ là một trong những điều nhàm chán nhưng cần thiết mà bạn cần phải tìm hiểu nếu bạn muốn có sự tự tin trong từng giao dịch. Backtest là điều bắt buộc để khẳng định hệ thống giao dịch của bạn ổn định và có hiệu quả.

Backtest là gì?

Backtest 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. Backtest đá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 Backtest 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.

Nguyên tắc Backtest hệ thống giao dịch

Giao dịch trên thị trường chứng khoán chứa nhiều rủi ro tiềm ẩn. Hầu như trader nào cũng sẽ luôn tìm kiếm cho mình một hệ thống giao dịch có rủi ro thấp nhất. Tuy nhiên, ai cũng cần hiểu được, thị trường chúng ta có rất nhiều hệ thống giao dịch. Và chúng ta thì có quá nhiều sự chọn lựa. Dù muốn hay không thì một hệ thống giao dịch vẫn luôn tồn tại rủi ro. Việc của chúng ta là làm sao để hệ thống đó có thể hoạt động hiệu quả tốt nhất có thể. Tức là có mức rủi ro thấp nhưng khả năng có được lợi nhuận cao. Backtest hệ thống giao dịch của bạn sẽ cung cấp cho bạn đánh giá khá đầy đủ về kỳ vọng này. Tuy nhiên việc backtest cũng sẽ có những hạn chế nhất định. Vậy cho nên bài viết ngày hôm nay sẽ đưa ra cho bạn thêm một vài nguyên tắc trong việc backtest một hệ thống để đưa ra kết quả chính xác hơn về kỳ vọng của hệ thống giao dịch mà bạn sử dụng.

  • Chọn 30 tín hiệu để đưa vào backtest: Điều này nghe có vẻ như bạn sẽ cần phải backtest rất nhiều, tuy nhiên thì việc làm này sẽ cung cấp kết quả vững chắc hơn. 30 là con số tối thiểu, là một quy tắc chung trong thống kê.
  • Hãy test mã cổ phiếu của bạn trong khoảng thời gian hơn một quý giao dịch: Mô hình giao dịch thay đổi hầu như trong mọi thời điểm. Một hệ thống có thể hoạt động hoàn toàn tốt trong một quý và hoàn toàn có thể gặp thất bại sau quý đó. Mở rộng việc backtest của bạn trong khoảng thời gian dài hơn sẽ đem lại kết quả tốt hơn.
  • Thống kê lợi nhuận: Khi bạn đã xong việc backtest, hãy đặt tất cả những giao dịch có lợi nhuận vào một cột trong bảng excel của bạn (hoặc bất kỳ công cụ nào bạn sử dụng) và những giao dịch thua lỗ trong một cột khác. Như vậy bạn có thể thấy được số lượng lệnh thắng và thua, và số pip trong tổng cộng những lệnh đó như thế nào.
  • Đưa ra nguyên tắc: nếu những lệnh có lợi nhuận chiếm 55% trở lên trong tổng số tất cả các lệnh, có nghĩa là bạn đã có lợi nhuận. Nếu những lệnh có lợi nhuận lớn hơn những lệnh thua lỗ, nhưng tỷ lệ lại ít hơn 55%, thì có lẽ bạn cần mở rộng thời gian backtest của mình ra. Còn nếu tổng lệnh thua vượt quá tổng lệnh thắng thì đây chính là một kỳ vọng không hề tích cực đối với hệ thống bạn đang sử dụng.

Những ưu điểm của việc backtest hệ thống:

Chúng ta đã biết rằng backtest có thể giúp bạn biết hệ thống giao dịch bạn đang tìm hiểu có hoạt động tốt hay không. Tuy nhiên, backtest còn có những ưu điểm mà bạn có thể còn chưa biết.

  • Mài dũa kỹ năng giao dịch

Cũng giống với một vận động viên thể thao phải luyện tập mỗi ngày để trở nên giỏi hơn, một trader chuyên nghiệp cũng luyện tập mỗi ngày và xem nó như cuộc sống của mình.

Backtest cho bạn cơ hội để luyện tập kể cả khi thị trường đóng cửa. Bạn có thể xem việc này không cần thiết, nhưng bạn cần biết trader chúng ta rất dễ chạy theo cảm xúc và vào lệnh không tuân theo hệ thống giao dịch. Đặc biệt là khi bạn đã bắt đầu tìm hiểu được nhiều hệ thống giao dịch, hiểu được nhiều chỉ báo, vào lệnh khi thì vì lý do này, vì lý do khác. Backtest giúp bạn có kỷ luật vì nếu bạn tự mình kiểm định đủ lâu, kĩ năng của bạn sẽ trở thành thói quen, việc vào lệnh của bạn sẽ trở thành “vô thức” và hạn chế ảnh hưởng của cảm xúc.

  • Sự tự tin

Tiếng anh có câu: “Practice makes perfect” – luyện tập tạo ra sự hoàn hảo. Nghĩa là khi bạn luyện tập đủ lâu, bạn hiểu được cách hệ thống của bạn hoạt động, hiểu được khi nào nó thắng, khi nào nó có thể thua, do đó bạn tự tin đặt lệnh mà không còn lo lắng gì nữa cả vì bạn biết rằng thua hay thắng cũng đều là phần không thể thiếu của một hệ thống giao dịch.

Nghe có vẻ tuyệt vời nhỉ? Nhưng đây chỉ là mặt tích cực thôi. Mình sẽ bàn tiếp về cách mà việc backtest có thể lừa dối trader như thế nào.

Quy trình thiết lập giao dịch và backtest hệ thống:

Một chiến lược giao dịch có 3 quy trình chính, chúng là quy trình xác định điểm vào lệnh, thoát lệnh và định cỡ vị thế.

  • Một tín hiệu vào lệnh (entry signal) sẽ khiến một trader tham gia vào một giao dịch khi tỷ lệ nghiêng về trade thắng là lớn nhất. Cho dù đó là tín hiệu vào lệnh dựa trên momentum bởi vì tỷ lệ đang nghiêng về một cú breakout sẽ đi tiếp con đường có ít kháng cự nhất, hay là tín hiệu mua khi giá giảm bởi vì tỷ lệ đang nghiêng về mức quá bán mà có khả năng sẽ khiến giá bật lên, thì cả hai setup đều sẽ có xác suất cao hơn để có được trade thắng.
  • Một tín hiệu thoát lệnh (exit signal) có hai mục đích chính, một là có thể giữ cho khoản lỗ ở mức nhỏ nhất, và hai là chốt lời khi giá đi đúng dự đoán. Một lệnh dừng lỗ giữ cho mức lỗ ở mức thấp khi tỷ lệ cược nghiêng về một trade thua và một lệnh trailing stop báo hiệu rằng đã đến lúc khoá một trade thắng khi xu hướng bắt đầu đảo chiều.
  • Việc định cỡ vị thế được thiết lập dựa trên số vốn tối đa mà trader muốn mất nếu lệnh dừng lỗ của họ được kích hoạt. Một vị thế cũng không nên quá lớn đến mức một trader sẽ gặp vấn đề trong việc tuân theo chiến lược giao dịch của họ vì sự ảnh hưởng của cảm xúc hoặc cái tôi do áp lực của quy mô giao dịch.

Nghiên cứu biểu đồ lịch sử có thể cho phép bạn thấy được bản chất của xu hướng, phạm vi giá và sự biến động trên biểu đồ theo thời gian. Việc định lượng các mô hình lặp lại của hành động giá có thể giúp bạn biết cách sử dụng phân tích kỹ thuật phản ứng để cấu trúc điểm entry và exit cho các cú thắng lớn, thắng nhỏ hoặc thua nhỏ nhằm tạo ra lợi nhuận nhất quán trong dài hạn trên khung thời gian giao dịch của bạn.

Phần mềm backtesting là một con đường tắt để xem các tín hiệu giao dịch sẽ hoạt động như thế nào theo thời gian. Bạn có thể thiết lập các thông số entry và exit vào phần mềm để ngay lập tức xem chiến lược giao dịch đã hoạt động ra sao trong lịch sử. Bạn có thể nhanh chóng loại bỏ các chiến lược không hoạt động trong quá khứ và tìm kiếm các tín hiệu đem lại cho bạn một lợi thế.

Khi backtesting, bạn có thể tối ưu hoá các tín hiệu hoạt động hiệu quả bằng cách thực hiện một số điều chỉnh nhỏ để điều hướng tốt nhất sự biến động trên biểu đồ. Bạn cần phải tìm cả mức drawdown và lợi nhuận tối đa đáng giá với rủi ro và thời gian của việc giao dịch theo chiến lược.

Một lần backtest cơ bản sẽ bao gồm:

  • Biểu đồ được chọn để thực hiện backtest.
  • Tín hiệu entry.
  • Tín hiệu exit.
  • Winrate.
  • Quy mô thắng và thua trung bình.
  • Mức drawdown tối đa.
  • Lợi nhuận.

Điều quan trọng các bạn cần hiểu đó là lợi thế đến từ đâu trong một chiến lược, liệu nó xuất phát từ winrate cao và giữ thua lỗ nhỏ hay đến từ số lượng trade thắng ít nhưng quy mô lớn hơn nhiều so với trade thua?

Những lưu ý quan trọng khi tiến hành backtest hệ thống:

  • Tất cả các điều chỉnh để tối ưu hoá chiến lược cần phải được định lượng với các thông số đã được backtest.
  • Những điều chỉnh mới được tối ưu hoá cho tín hiệu hoặc định cỡ vị thế phải được backtest trên dữ liệu lịch sử đầy đủ thông qua nhiều môi trường thị trường.
  • Lần backtest thứ hai trên các thông số đã được tối ưu hoá cần kích thước mẫu dữ liệu đủ lớn để tạo ra kết quả có ý nghĩa thống kê, không nên test trên các môi trường thị trường đã được chọn để cải thiện hiệu suất trong quá khứ.
  • Giữ cho các điều chỉnh đơn giản, ít thay đổi các thông số và biến số để tránh làm cho chiến lược giao dịch quá cồng kềnh.
  • Việc giữ hai bộ dữ liệu để sử dụng cho việc backtesting sẽ giúp bạn không bị đánh lừa bởi sự ngẫu nhiên. Việc backtest trong dữ liệu mẫu, tối ưu hoá và sau đó là forward test sẽ giúp hiển thị những gì thực sự hiệu quả để bạn có thể cải thiện kết quả.

Việc trade real trên một hệ thống đã được backtest sẽ giúp trader hiểu đầy đủ hơn về những nỗ lực, kỷ luật, căng thẳng và thời gian sàng lọc cần thiết để triển khai nó trên thị trường live với số vốn có rủi ro thực. Một chiến lược giao dịch lý tưởng sẽ cho phép một trader cảm thấy thoải mái khi thực hiện, dù thua hay thắng, vì họ đã nắm được tỷ lệ win/loss cũng như mức drawdown dự kiến. trader cần tự tin vào chiến lược và tin tưởng vào bản thân của họ để triển khai nó một cách nhất quán theo thời gian.

Kết luận: Giao dịch thành công là sự phát triển về lâu về dài của trader và của chiến lược giao dịch để tối ưu hoá những gì phù hợp nhất với họ. Chiến lược giao dịch tốt nhất là chiến lược mà bạn có thể tuân theo một cách nhất quán với mức độ căng thẳng tối thiểu và lợi nhuận tối đa. Chính vì vậy, backtest là điều bắt buộc để có thể xác nhận 1 chiến lược giao dịch gắn bó với bạn. Giao dịch chuyên nghiệp, bài bản sẽ khiến bạn cảm thấy như mình giống như đang điều hành một công việc kinh doanh nghiêm túc, chứ không phải đến một sòng bạc để đánh bạc với số tiền đặt cược tuỳ ý!

 

Leave a Comment

Your email address will not be published. Required fields are marked *