Backtest là gì? Làm thế nào để backtest hệ thống giao dịch với kết quả chính xác nhất
Backtest là một trong các phương pháp quan trọng nhất khi phát triển một chiến lược hay một hệ thống giao dịch mới. Việc thực hiện backtest có thể giúp các nhà giao dịch lựa chọn được những thiết lập tốt nhất để áp dụng cho chiến lược của mình.
Quan điểm của phân tích kỹ thuật là những thiết lập giá hoạt động hiệu quả trong quá khứ thì đều có khả năng hoạt động tốt trong tương lai, do đó các nhà giao dịch thường sử dụng những thiết lập đó để tìm kiếm cơ hội vào lệnh. Tuy nhiên, trước hết chúng ta cần biết một thiết lập có thực sự hoạt động tốt trong quá khứ hay không bằng cách thực hiện backtest.
Nếu kết quả backtest cho thấy một thiết lập hay một mô hình giá đã hoạt động tốt trong quá khứ, chúng ta có thể yên tâm sử dụng chúng cho các chiến lược giao dịch của mình. Ngược lại, nếu dữ liệu backtest cho kết quả không tốt, anh em cần cân nhắc trước khi sử dụng chiến lược đó.
Vậy backtest là gì, backtesting là gì? Chúng ta sẽ cùng nhau tìm hiểu trong bài viết dưới đây nhé.
1. Backtest là gì? Backtesting là gì?
Backtest, hay backtesting là phương pháp kiểm tra lại tính hiệu quả của một chiến lược hay mô hình giá bằng những dữ liệu trong lịch sử của giá. Hiểu một cách đơn giản, backtest một chiến lược tức là chúng ta sẽ tìm kiếm những thiết lập giống với chiến lược đó trong quá khứ, tìm kiếm được càng nhiều thiết lập càng tốt, và quan sát xem chúng đã thất bại hay thành công bao nhiêu lần, qua đó đánh giá được tính hiệu quả của chiến lược.
Việc backtest để xác định tính hiệu quả của một mô hình giá hay một chiến lược xuất phát từ ý tưởng của phân tích kỹ thuật, đó là các chiến lược hoạt động tốt trong quá khứ thì sẽ hoạt động tốt trong tương lai. Ngược lại, những chiến lược có hiệu quả kém trong quá khứ thì sẽ tiếp tục hoạt động không tốt trong tương lai.
Backtesting cho phép chúng ta nhìn nhận rất thực tế và khách quan về cách một chiến lược hoạt động mà không cần mạo hiểm với bất kỳ khoản vốn nào. Bất cứ một chiến lược nào sử dụng các yếu tố kỹ thuật trên bản đồ đều có thể backtest một cách rất dễ dàng bằng dữ liệu thực tế của giá trong quá khứ.
2. Có những cách nào để backtest hệ thống giao dịch
2.1. Backtest thủ công
Backtest thủ công có nghĩa là anh em sẽ thực hiện việc kiểm tra các dữ liệu lịch sử một cách hoàn toàn thủ công, bao gồm việc tìm kiếm các tín hiệu trên biểu đồ và ghi chép thống kê các lần thất bại hay thành công của chúng. Anh em cần tập hợp được một lượng dữ liệu đủ lớn, từ đó tính toán ra tỷ lệ thành công của chiến lược mà chúng ta đang xem xét.
Việc backtest thủ công nghe có vẻ khá vất vả và mất thời gian, nhưng chúng có một số ưu điểm sau đây:
- Có thể thực hiện bởi bất cứ ai
- Có thể kiểm tra được bất cứ thiết lập nào liên quan đến giá cả
- Mô phỏng được các giao dịch trực tiếp, từ đó rút ra được nhiều kinh nghiệm thực tế
- Việc backtest thủ công cho phép chúng ta hiểu được cách mà các phần mềm backtest hoạt động, từ đó giúp anh em backtest với các phần mềm đó dễ dàng hơn, thậm chí là tự mình phát triển một phần mềm backtest tự động nếu có kỹ năng lập trình.
Chúng ta sẽ tìm hiểu về cách backtest hệ thống giao dịch tự động trong phần sau. Trước tiên, mình sẽ phân tích kỹ hơn một chút về backtest thủ công. Việc hiểu được nguyên lý và bản chất của backtest thủ công là một cách rất tốt để tiếp cận với backtest tự động và backtest EA online.
Để thực hiện backtest forex bằng phương pháp thủ công, trước hết anh em cần có một biểu đồ giá. Chúng ta có thể backtesting trên bất cứ nền tảng nào như MT4, MT5 hoặc Ninja Trader. Tuy nhiên, có thể nói rằng nền tảng tốt nhất để thực hiện backtest thủ công chính là Tradingview bởi các công cụ biểu đồ tiên tiến của nó.
Đầu tiên, tradingview là một nền tảng website trực tuyến, nó không yêu cầu anh em cài đặt bất cứ thứ gì vào thiết bị của mình mà vẫn có thể sử dụng đầy đủ các chức năng ưu việt. Và lý do quan trọng nhất để chúng ta backtest trên nền tảng này là tính năng phát lại biểu đồ.
- Tham khảo kế hoạch giao dịch VÀNG - TIỀN TỆ mới nhất hàng ngày tại CHANNEL TELEGRAM: Giao Lộ Đầu Tư
Anh em có thể dùng tính năng này để biêu đồ bắt đầu chuyển động từ một điểm trong quá khứ và chúng ta sẽ không nhìn thấy những gì phía sau đó. Thời điểm mà anh em bắt đầu phát lại được coi như thời điểm hiện tại, tuy nhiên chúng ta có thể nhìn thấy các cây nến sau đó hình thành với tốc độ nhanh hơn thay vì phải chờ đợi hết phiên.
Nếu thực hiện backtest một chiến lược dựa vào những gì đã xảy ra trên các biểu đồ hoàn chỉnh, có thể anh em sẽ chỉ bị thu hút vào những thiết lập đã thành công mà bỏ qua những lần chúng thất bại, từ đó ảnh hưởng đến kết quả backtest.
Tuy nhiên, với tính năng phát lại, chúng ta sẽ nhìn thấy tất cả các thiết lập cần kiểm tra ngay khi chúng xuất hiện và chưa hề biết kết quả ra sao. Điều này sẽ giúp chúng ta có một thống kê chính xác và khách quan hơn, đồng thời cũng dễ quan sát hơn rất nhiều khi anh em chỉ việc nhìn theo sự chuyển động thực tế của giá thay vì phải tìm kiếm giữa rất nhiều những cây nến đã hình thành.
Để bật tính năng phát lại trên biểu đồ, anh em có thể làm theo các thao tác sau:
- Bật tính năng phát lại biểu đồ: Sử dụng biểu tượng hình tam giác trên thanh công cụ phía trên màn hình (như hình minh họa)
- Cài đặt công cụ: Một thanh công cụ mới sẽ xuất hiện trên biểu đồ để điều khiển trình phát lại, và một đường dọc màu đỏ cũng xuất hiện tại vị trí của con trỏ. Đường màu đỏ này chính là đường đánh dấu nơi bắt đầu. Anh em có thể di chuyển chúng về bất cứ vị trí nào muốn bắt đầu phát lại và phần biểu đồ phía sau nó sẽ hoàn toàn biến mất.
- Cuối cùng, chỉ cần nhấn nút Play để bắt đầu quá trình phát lại từ điểm bắt đầu cho đến cây nến ở phiên hiện tại. Anh em cũng có thể điều chỉnh tốc độ phát lại tùy ý ở thanh kéo Speed.
Tuy nhiên, có một điều anh em cần lưu ý là tính năng phát lại trên Tradingview bản miễn phí chỉ khả dụng với biểu đồ khung ngày trở lên. Nếu muốn phát lại ở các khung nhỏ hơn, anh em cần nâng cấp lên các phiên bản trả tiền nhé.
Hãy nhớ rằng trước khi backtest, anh em cần có một chiến lược rõ ràng, xác định rằng mình sẽ vào lệnh với những tín hiệu nào, đặt stoploss và takeprofit ra sao. Sau đó, khi biểu đồ trong quá trình phát lại, anh em cần ghi chép đầy đủ các yếu tố này mỗi khi có tín hiệu hợp lệ xuất hiện.
Hãy thực hiện một cách khách quan và công tâm nhất đối với từng tín hiệu và chờ xem nó sẽ thành công hay thất bại, nếu thất bại thì ta thua lỗ bao nhiêu, thành công thì có mức lợi nhuận thế nào. Từ đó, khi có một tập dữ liệu đủ lớn anh em có thể tính toán chi tiết hiệu quả của chiến lược mà mình đang kiểm tra.
2.2. Backtest bằng phần mềm tự động
Việc backtest thủ công đòi hỏi khá nhiều công sức và thời gian để có thể thực hiện được một, và đôi khi nó có thể thiếu chính xác do người thực hiện có thể bỏ sót các tín hiệu. Vì vậy, có các phần mềm backtest tự động đã được phát triển để phục vụ các Trader backtest một cách đơn giản và chính xác hơn.
Với các phần mềm này, anh em có thể backtest bất cứ một mô hình giá hay chỉ báo nào, thậm chí là cả một chiến lược giao dịch hoàn chỉnh với các quy tắc ra vào lệnh. Tuy nhiên, điều kiện là chúng phải được chuyển hóa dưới dạng ngôn ngữ lập trình để máy có thể hiểu được.
Điều này có vẻ như không khả thi với phần lớn các Trader, trừ khi chúng ta bỏ tiền thuê các nhà phát triển khác. Vậy nên, mình sẽ cùng anh em tìm hiểu cách backtest đơn giản với một loại chiến lược đã có sẵn dưới dạng ngôn ngữ lập trình, đó là các EA, hay nói cách khác là các robot giao dịch tự động.
Cách backtest EA tương đối đơn giản và có thể thực hiện được bằng những công cụ miễn phí hoặc phần mềm trả tiền. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách backtest EA một cách hoàn toàn miễn phí dựa trên công cụ có sẵn của nền tảng MT4.