Channel logo
MarginATM
Save
Copy link

Overfitting là gì? Cách tránh overfitting khi backtest chiến lược

Mọi trader đều phải tiến hành giao dịch demo để tìm ra phương pháp phân tích phù hợp. Tuy nhiên chúng có điểm yếu là tình trạng overfitting. Vậy overfitting là gì?
Avatar
Luci
Published Dec 05 2023
Updated Sep 19 2024
5 min read
overfitting khi backtest

Overfitting trong backtest là gì?

Một cách hiểu đơn giản, overfitting là hiện tượng xảy ra khi chiến lược được backtest trên một bộ dữ liệu quá khứ cho ra kết quả rất tốt nhưng không thể duy trì được trong tương lai.

Giả sử, bằng một cách nào đó, chiến lược trong ví dụ phần 1 có thể vượt qua BTC trên tiêu chí lợi nhuận. Và trader đã thử chiến lược này với rất nhiều đường MA khác nhau (90 ngày, 60 ngày, 30 ngày, …) và ra được chiến lược với đường MA90 là tốt nhất.

Khi đó, trader sẽ rất tự tin khi áp dụng chiến lược sử dụng đường MVRV trung bình 90 ngày trong tương lai.

Tuy vậy, (giả sử) trong năm 2023 - 2024, trader khi áp dụng chiến lược lại ra kết quả thua lỗ. Lúc này, rất có thể anh ta đã gặp phải tình trạng overfitting khi backtest.

tình trạng overfitting trong backtest
Ví dụ minh hoạ về tình trạng overfitting trong backtest chiến lược đầu tư
advertising

Tại sao chúng ta cần backtest chiến lược giao dịch?

Backtest là khâu áp dụng chiến lược đầu tư được chúng ta đưa ra dựa trên dữ liệu trong quá khứ. Từ đó, dựa trên các tiêu chí khác nhau như lợi nhuận, rủi ro, chi phí cơ hội, … chúng ta sẽ đưa ra quyết định liệu có áp dụng chiến lược đầu tư này vào thực tiễn hay không.

Ví dụ: Chúng ta đưa ra chiến lược dựa trên dữ liệu của chỉ số MVRV để đầu tư Bitcoin. Cụ thể, khi giá trị MVRV lớn hơn đường trung bình MVRV 90 ngày, chiến lược tiến hành long BTC và khi giá trị này giảm xuống dưới đường trung bình 90 ngày thì bán.

chỉ số mvrv
Chỉ số MVRV. Nguồn: Glassnode

Kết quả backtest chiến lược kể trên (dữ liệu từ 2020 đến 2023) cho ra kết quả như sau:

biểu đồ lợi nhuận theo chiến lược từ 2020 2023
Biểu đồ lợi nhuận theo chiến lược từ 2020 - 2023

Theo biểu đồ lợi nhuận cho ví dụ kể trên, dù chúng ta thấy so với biến động giá Bitcoin mức độ ổn định lớn hơn rất nhiều.

dữ liệu giá bitcoin
Biểu đồ giá Bitcoin. Nguồn: Coingecko

Tuy nhiên nếu tính theo giá trị lợi nhuận tuyệt đối thì chiến lược trên chỉ thu lại được khoảng hơn 40% lợi nhuận sau gần 3 năm. Trong khi nếu chúng ta mua Bitcoin từ 1/1/2020 thì mức lợi nhuận sẽ là hơn 400% (tính theo giá đóng cửa tháng 11/2023).

Do đó dựa theo kết quả kể trên, chúng ta sẽ không lựa chọn giao dịch theo chiến lược này. Cũng thông qua ví dụ, các bạn có thể thấy tầm quan trọng của việc backtest trong giao dịch.

Làm sao để phát hiện và phòng tránh tình trạng overfitting trong backtest

Để phát hiện ra tình trạng overfitting, chúng ta có thể thực hiện backtest chiến lược tốt nhất tìm được (với ví dụ kể trên là dựa vào MA MVRV 90 ngày) với một bộ dữ liệu khác (ngoài dữ liệu chúng ta có).

Cụ thể, thay vì backtest trong thời gian từ 2020 đến 2023, chiến lược có thể được kiểm định bằng dữ liệu 2019 - 2020 và tiến hành so sánh với việc áp dụng các đường MA khác.

Một cách tiếp cận các bạn có thể tham khảo để phòng tránh overfitting và tìm ra được chiến lược tối ưu.

  • Giả sử bạn thu thập được dữ liệu giá Bitcoin từ 2019 - 2023 và thực hiện chiến lược với đường trung bình MVRV.
  • Với mỗi một lần backtest chia dữ liệu ra thành 2 phần (giả sử dữ liệu 2019 - 2022 để tìm ra đường MA phù hợp, dữ liệu 2022 - 2023 để test kết quả đó).
  • Lặp lại bước trên nhiều lần và xem đâu là chỉ số có thể duy trì kết quả tốt tương đối trong mọi lần thử.

Khi đó, có thể chiến lược của bạn sẽ tạo ra được kết quả tốt trong tương lai.

Bên cạnh đó, một vài tips các bạn cũng cần lưu ý khi thực hiện phát triển chiến lược đầu tư:

  • Cần phải phát triển một cơ sở lý thuyết, giả định phù hợp với chiến lược đầu tư đó (ví dụ khi doanh thu dự án tăng thì chúng ta tiến hành mua vào đồng token tương ứng).
  • Thu thập một lượng đủ lớn dữ liệu để có thể backtest (nên backtest trong một khoảng thời gian dài).
  • Chú ý tới việc tính toán cả phí giao dịch (phí sàn, phí funding, phí qua đêm, trượt giá, …)
  • Thực hiện backtest, phòng tránh và phát hiện tình trạng overfitting như trên.
  • Cuối cùng, liên tục có các đánh giá thường xuyên về chiến lược khi đã được áp dụng vào giao dịch thực tế.

Chúc các bạn có thể tìm ra được các chiến lược hiệu quả và đánh bại thị trường.

Đọc thêm: Giao dịch tần suất lớn (HFT) là gì? Chúng ta có nên giao dịch HFT?

**Không phải là lời khuyên tài chính.

RELEVANT SERIES