Trong bài viết này, Upbots sẽ giúp người dùng hiểu rõ về Backteting - một bước phát triển quan trọng cho mọi thuật toán hay chiến lược giao dịch.
Backtesting là gì?
Back testing là một kỹ thuật cho phép các nhà giao dịch có thể quan sát chiến lược của họ sẽ hoạt động tốt như thế nào trên thị trường trước khi thực hiện nó.
Đối với điều này, nhà giao dịch chạy thuật toán dựa trên dữ liệu lịch sử của thị trường và sau đó đánh giá xem liệu chiến lược có tạo ra lợi nhuận hay không, mức giảm tối đa là bao nhiêu, v.v.
Backtesting là một bước quan trọng trong việc tối ưu hóa chiến lược, vì nó cho phép nhà giao dịch quan sát liệu chiến lược đó có khiến anh ta mất tiền hay không.
Một trong những giả định chính là các điều kiện thị trường và các nguyên tắc cơ bản của thị trường vẫn giống nhau. Điều này rất hợp lý - nếu có điều gì đó thay đổi cơ bản trên thị trường, thì chiến lược đó sẽ không thể áp dụng cho các điều kiện hiện tại.
Lý tưởng nhất là phải thực hiện backteting chính xác trên một tập dữ liệu không bị sai lệch về mặt định hướng. Ví dụ: nếu bạn chỉ thử nghiệm chiến lược của mình trong thị trường tăng giá, rất có thể nó sẽ không áp dụng được cho các thị trường khác nhau hoặc thị trường đang giảm.
Làm cách nào để kiểm tra lại các chiến lược?
Để kiểm tra lại các chiến lược của bạn một cách chính xác, bạn sẽ cần một bộ quy tắc. Dưới đây là một ví dụ về cách thiết lập các quy tắc trong việc kiểm tra ngược giao dịch bí mật:
Giả sử Brian có chiến lược mua tài sản khi đường trung bình động 12 ngày vượt qua đường trung bình động 90 ngày từ bên dưới và bán tài sản khi nó vượt qua đường bên trên.
Ý tưởng chính ở đây là trong chiến lược này, đường trung bình động 12 ngày thu hút chặt chẽ hơn động lực của tài sản. Do đó, nó vượt qua đường trung bình động 90 ngày và cho thấy xu hướng ngắn hạn hiện tại.
Để kiểm tra chiến lược này, Brian sẽ tiến hành các bước sau:
1) Tải xuống giá lịch sử của tài sản
2) Tính các đường trung bình động (Cộng giá tài sản trong một khoảng thời gian rồi chia cho tổng thời gian)
3) Nhận số lượng đường trung bình động, là các điểm vào hoặc ra dài / ngắn
4) Nhận tổng số các giao dịch này cho biết liệu chiến lược có sinh lời hay không
Chiến lược của Brian có vẻ đang có lãi. Tuy nhiên, cần lưu ý rằng chỉ tập trung vào lợi nhuận không phải là ý tưởng tốt nhất.
Trước hết, lợi nhuận dương có thể cho thấy rằng chiến lược chỉ chiến thắng trên tập hợp con dữ liệu này và nó có thể không hoạt động trong tương lai. Bên cạnh đó, điều quan trọng là phải biết chiến lược hoạt động như thế nào trong giai đoạn thua lỗ, hay nói cách khác, cần phải quan tâm mức độ thua lỗ lớn như thế nào.
Các chiến lược biến động có thể không đem lại cho bạn bất kỳ một khoản lợi nhuận nào. Một thống kê rất hữu ích là tỷ lệ Sharpe - lợi nhuận chia cho độ biến động. Một chiến lược thu về ít hơn nhưng ít rủi ro hơn thường tốt hơn một chiến lược thu về nhiều hơn một chút nhưng có nhiều rủi ro.
Cạm bẫy trong backtesting là gì?
Backtesting không phải là một phương pháp chứng minh đầy đủ bằng bất kỳ phương tiện nào. Nhiều lần các nhà giao dịch đã phát hiện ra các chiến lược của họ không mang lại lợi nhuận như họ nghĩ vì họ đã rơi sâu vào cạm bẫy.
Đôi khi, một chiến lược sẽ trông tuyệt vời trên giấy tờ nhưng lại không mang lại lợi nhuận khi nó đi vào thế giới thực.
Ví dụ: một nhà giao dịch có thể thiết kế một chiến lược thực hiện 100 giao dịch mỗi ngày để đạt được lợi nhuận tối thiểu mà cuối cùng cộng lại thành một khoản lợi nhuận khá lớn. Tuy nhiên, nếu chiến lược này bỏ qua chi phí giao dịch, điều đó có nghĩa là các giao dịch nhỏ có thể sẽ bị phá vỡ làm cạn kiệt tài khoản của nhà giao dịch.
Sự trượt giá cũng có thể dẫn đến thua lỗ, vì trong quá trình kiểm tra lại, thuật toán sẽ cho rằng nó luôn có giá đầu vào tốt nhất, trong khi trên thực tế, các giao dịch được thực hiện với một độ lệch nhỏ về chi phí, làm giảm lợi nhuận.
Một cạm bẫy khác mà một nhà giao dịch có thể rơi vào sẽ là “tính toàn diện” của mô hình được kiểm định lại. Điều này có nghĩa là một mô hình sử dụng dữ liệu không có sẵn có, dẫn đến kết quả thiên vị với mô hình hoạt động tốt hơn trong quá trình kiểm tra lại so với thực tế.
Mỗi người có thể tiến hành kiểm tra lại trên UpBots không?
Câu trả lời ở đây là có, bạn chắc chắn có thể thực hiện theo hai cách khác nhau. Trước tiên, trong Algo Lab của Upbots, bạn có thể thiết kế và xây dựng thuật toán tùy chỉnh của riêng mình và sau đó đưa nó vào bot, sẽ có đầy đủ các khả năng kiểm tra trở lại.
Algo sẽ là một tính năng ra mắt vào đầu năm 2021.
Thảo luận thêm tại:
Email: Bigcoinvietnam@gmail.com
Hotline: (+84) 972 678 963
Facebook Fanpage: https://www.facebook.com/Bigcoinvietnam/
Telegram: https://t.me/bigcoinvietnam
Twitter: https://twitter.com/bigcoinvietnam
Kênh Youtube: https://www.youtube.com/c/Apaodj