Vì sao một ý tưởng giao dịch cần được kiểm chứng bằng dữ liệu?
Ý tưởng giao dịch
Một ý tưởng giao dịch là một nhận định về cách giá tài sản có thể vận động trong những điều kiện nhất định. Ý tưởng đó có thể xuất phát từ phân tích kỹ thuật, dữ liệu tài chính doanh nghiệp, hành vi nhà đầu tư, tin tức, dòng tiền hoặc đơn giản là một hiện tượng được quan sát nhiều lần trên biểu đồ. Chẳng hạn, một người có thể cho rằng cổ phiếu giảm ba phiên liên tiếp thường xuất hiện nhịp hồi, giá vượt đỉnh cũ có khả năng tiếp tục tăng, doanh nghiệp công bố lợi nhuận đột biến thường tạo lợi nhuận vượt thị trường hoặc cổ phiếu được khối ngoại mua ròng sẽ có diễn biến tích cực trong những phiên tiếp theo.
Những nhận định như vậy thường nghe rất hợp lý. Khi giá giảm liên tục, áp lực bán có thể suy yếu và dòng tiền bắt đáy có thể xuất hiện. Khi giá vượt đỉnh, lượng nhà đầu tư đang thua lỗ phía trên giảm xuống và xu hướng có thể tiếp tục. Khi doanh nghiệp báo lãi tăng mạnh, giá trị kỳ vọng của doanh nghiệp có thể được điều chỉnh lên. Vấn đề là một câu chuyện hợp lý chưa phải bằng chứng cho thấy ý tưởng đó sẽ kiếm được tiền khi được thực hiện lặp đi lặp lại.

Trong giao dịch, sự khác biệt giữa một câu chuyện hấp dẫn và một chiến lược có giá trị nằm ở khả năng kiểm chứng. Một ý tưởng chỉ thực sự đáng chú ý khi nó có thể được chuyển thành quy tắc rõ ràng, áp dụng trên nhiều trường hợp, tính đủ chi phí và cho thấy kết quả không hoàn toàn phụ thuộc vào một vài ví dụ đẹp trong quá khứ. Dữ liệu không giúp biến thị trường thành một hệ thống chắc chắn, nhưng giúp nhà đầu tư biết mình đang đặt cược vào một lợi thế có thể đo lường hay chỉ đang tin vào trực giác.
PHẦN 1: MỘT Ý TƯỞNG GIAO DỊCH LÀ GÌ VÀ VÌ SAO TRỰC GIÁC CHƯA ĐỦ?
Một ý tưởng giao dịch thường bắt đầu từ một quan sát. Nhà đầu tư nhìn thấy nhiều cổ phiếu tăng mạnh sau khi vượt vùng kháng cự, nhiều mã phục hồi sau một chuỗi giảm hoặc nhiều doanh nghiệp có kết quả kinh doanh tốt hơn kỳ vọng được thị trường định giá lại. Từ những quan sát đó, người ta hình thành một nhận định về quan hệ giữa tín hiệu hiện tại và kết quả trong tương lai.
Tuy nhiên, quan sát thị trường bằng mắt có một hạn chế rất lớn: con người thường nhớ những trường hợp nổi bật hơn những trường hợp bình thường. Một cổ phiếu tăng 20% sau khi vượt đỉnh rất dễ được ghi nhớ, trong khi mười cổ phiếu cũng vượt đỉnh nhưng nhanh chóng quay đầu giảm thường không để lại ấn tượng tương tự. Một doanh nghiệp báo lợi nhuận tăng 100% rồi giá tăng trần trở thành ví dụ được nhắc lại nhiều lần, nhưng những doanh nghiệp cũng báo lãi cao mà giá đi ngang hoặc giảm lại dễ bị bỏ qua.
Đây là dạng sai lệch nhận thức rất phổ biến trong đầu tư. Nhà đầu tư không cố ý bóp méo dữ liệu, nhưng trí nhớ tự nhiên có xu hướng chọn lọc những sự kiện phù hợp với niềm tin đã có. Khi một người tin rằng cổ phiếu giảm sâu sẽ hồi, họ dễ chú ý đến các lần bắt đáy thành công và ít chú ý đến những trường hợp giá tiếp tục giảm. Sau một thời gian, hiện tượng ngẫu nhiên có thể được cảm nhận như một quy luật chắc chắn.
Một vài giao dịch thành công cũng chưa đủ để chứng minh chiến lược có lợi thế. Giả sử một nhà đầu tư mua sau ba phiên giảm liên tiếp và thắng bốn trong năm giao dịch đầu tiên. Tỷ lệ thắng tạm thời là 80%, nhưng mẫu năm giao dịch quá nhỏ để phân biệt giữa kỹ năng và may mắn. Một chiến lược không có lợi thế thật vẫn có thể tạo ra chuỗi thắng ngắn hạn, tương tự như một đồng xu cân bằng vẫn có thể xuất hiện cùng một mặt nhiều lần liên tiếp.
Ngược lại, một chiến lược có lợi thế dài hạn vẫn có thể trải qua nhiều giao dịch thua liên tiếp. Nếu tỷ lệ thắng thực sự của chiến lược chỉ khoảng 55%, việc gặp năm hoặc sáu giao dịch thua trong một giai đoạn ngắn không phải điều bất thường. Nếu không được chuẩn bị bằng dữ liệu, nhà đầu tư rất dễ từ bỏ một chiến lược tốt sau chuỗi thua hoặc đặt quá nhiều tiền vào một chiến lược yếu sau chuỗi thắng.
Dữ liệu giúp mở rộng phạm vi quan sát. Thay vì xem năm hoặc mười biểu đồ, nhà đầu tư có thể kiểm tra hàng trăm hoặc hàng nghìn tín hiệu trên nhiều cổ phiếu và nhiều năm. Khi số lượng trường hợp tăng lên, ảnh hưởng của các ví dụ cá biệt giảm xuống và bản chất của chiến lược bắt đầu rõ hơn.
Tuy nhiên, số lượng giao dịch lớn vẫn chưa đủ. Một chiến lược có tỷ lệ thắng cao chưa chắc tạo ra lợi nhuận. Giả sử chiến lược thắng 60% số giao dịch, mỗi giao dịch thắng trung bình 1,5%, nhưng mỗi giao dịch thua mất trung bình 3%. Sau nhiều lần thực hiện, chiến lược vẫn có thể làm tài khoản giảm. Ngược lại, một chiến lược chỉ thắng 40% nhưng mỗi lần thắng trung bình 6% và mỗi lần thua 2% vẫn có khả năng tạo lợi nhuận tốt.
Điều này cho thấy tỷ lệ đúng không phải mục tiêu cuối cùng. Điều quan trọng hơn là toàn bộ cấu trúc kết quả: khi đúng thì kiếm được bao nhiêu, khi sai thì mất bao nhiêu, chuỗi thua có thể kéo dài thế nào và khoản lỗ lớn nhất có thể ảnh hưởng ra sao đến tài khoản. Kiểm chứng bằng dữ liệu không chỉ trả lời ý tưởng có đúng hay không, mà còn giúp mô tả cái giá phải trả khi ý tưởng thất bại.
Một ý tưởng cũng chỉ có thể được kiểm chứng khi nó được mô tả đủ rõ. Câu nói “mua khi cổ phiếu giảm sâu” chưa phải một chiến lược. Giảm bao nhiêu được xem là sâu, giảm trong một phiên hay nhiều phiên, so với giá gần nhất hay đỉnh gần nhất, cổ phiếu cần có thanh khoản thế nào, mua ở giá nào, giữ bao lâu và bán theo điều kiện nào đều phải được xác định.
Nếu các điều kiện không rõ ràng, nhà đầu tư sẽ dễ thay đổi cách giải thích sau mỗi giao dịch. Khi giá tăng, họ cho rằng tín hiệu chính xác. Khi giá giảm, họ nói thị trường có tin xấu bất thường, cổ phiếu chưa giảm đủ hoặc điểm mua chưa đẹp. Sau một thời gian, chiến lược không còn là một quy tắc nhất quán mà trở thành tập hợp những quyết định được sửa lại sau khi đã biết kết quả.
Một giả thuyết có thể kiểm chứng phải được xác định trước. Chẳng hạn, thay vì nói “mua khi cổ phiếu giảm sâu”, nhà đầu tư có thể quy định: cổ phiếu phải giảm trong ba phiên liên tiếp, tổng mức giảm tối thiểu 6%, thanh khoản bình quân đủ lớn, lệnh mua được thực hiện ở phiên tiếp theo và vị thế được giữ trong năm phiên. Khi quy tắc đủ rõ, hai người sử dụng cùng dữ liệu phải tạo ra kết quả gần giống nhau.
Kiểm chứng cũng không có nghĩa cố gắng chứng minh niềm tin ban đầu. Một quá trình nghiên cứu tốt phải cho phép ý tưởng bị bác bỏ. Nếu kết quả cho thấy lợi nhuận quá thấp, rủi ro quá lớn hoặc phần lớn lợi thế biến mất sau chi phí, việc loại bỏ ý tưởng là một kết quả có giá trị. Nhà đầu tư đã tránh đưa tiền thật vào một chiến lược yếu.
Sai lầm phổ biến là người nghiên cứu đã tin chiến lược đúng, sau đó liên tục sửa quy tắc cho đến khi biểu đồ quá khứ trở nên đẹp. Nếu mua sau ba phiên giảm không hiệu quả, họ thử bốn phiên. Nếu vẫn chưa tốt, họ thêm đường trung bình. Nếu kết quả còn yếu, họ thêm điều kiện thanh khoản, RSI, khối ngoại hoặc thời gian nắm giữ khác. Sau hàng trăm lần điều chỉnh, gần như chắc chắn sẽ xuất hiện một cấu hình đẹp, nhưng chưa chắc nó phản ánh một lợi thế thật.
Trong trường hợp đó, dữ liệu không còn được dùng để kiểm chứng ý tưởng mà đang bị dùng để xây dựng một câu chuyện phù hợp với quá khứ. Đây là nguồn gốc của nhiều chiến lược có kết quả backtest rất ấn tượng nhưng nhanh chóng thất bại khi áp dụng ngoài thực tế.
PHẦN 2: MỘT Ý TƯỞNG ĐƯỢC KIỂM CHỨNG BẰNG DỮ LIỆU NHƯ THẾ NÀO?
Quá trình kiểm chứng bắt đầu bằng việc xác định chính xác tín hiệu. Giả sử ý tưởng là “mua sau ba phiên giảm liên tiếp vì cổ phiếu có khả năng hồi phục”. Nhà đầu tư phải quyết định liệu chỉ cần giá đóng cửa giảm ba phiên hay tổng mức giảm phải vượt một ngưỡng nhất định. Họ cũng phải xác định có loại bỏ cổ phiếu bị cảnh báo, mất thanh khoản hoặc đang giảm sàn vì thông tin tiêu cực hay không.
Thời điểm giao dịch phải được mô phỏng sát thực tế. Nếu tín hiệu chỉ được xác nhận sau khi phiên thứ ba kết thúc, nhà đầu tư không thể giả định mình đã mua đúng tại giá đóng cửa của phiên đó. Một mô phỏng hợp lý hơn là mua ở phiên kế tiếp. Chỉ một thay đổi nhỏ này cũng có thể ảnh hưởng đáng kể đến kết quả, đặc biệt khi giá thường tăng mạnh ngay đầu phiên sau tín hiệu.
Dữ liệu giá cũng phải phù hợp. Giá đóng cửa cần được điều chỉnh cho các sự kiện như chia cổ tức, chia tách và phát hành thêm. Nếu sử dụng giá chưa điều chỉnh, một lần chia cổ tức bằng tiền hoặc chia cổ phiếu có thể bị hiểu nhầm thành một cú giảm giá lớn, tạo tín hiệu giả.
Nếu chiến lược sử dụng dữ liệu tài chính doanh nghiệp, vấn đề thời điểm còn quan trọng hơn. Báo cáo quý I phản ánh tình hình kinh doanh đến cuối tháng ba, nhưng có thể tới cuối tháng tư mới được công bố. Một mô hình sử dụng số liệu quý I để giao dịch từ đầu tháng tư đang dùng thông tin mà nhà đầu tư tại thời điểm đó chưa thể biết.
Lỗi này thường được gọi là nhìn trước tương lai. Nó khiến backtest trở nên đẹp bất thường vì mô hình vô tình biết trước thông tin. Khi giao dịch thật, lợi thế biến mất ngay lập tức. Một nghiên cứu nghiêm túc phải sử dụng ngày công bố thực tế, không chỉ dựa vào kỳ báo cáo.
Mẫu nghiên cứu cũng phải bao gồm toàn bộ cơ hội, không chỉ những cổ phiếu đang tồn tại ở hiện tại. Nếu kiểm tra chiến lược từ năm 2015 nhưng chỉ sử dụng danh sách doanh nghiệp đang niêm yết năm 2026, những công ty từng phá sản, hủy niêm yết hoặc suy yếu nghiêm trọng có thể đã bị loại khỏi dữ liệu. Kết quả khi đó sẽ tốt hơn thực tế vì chỉ còn lại những doanh nghiệp sống sót.
Một chiến lược phải được so sánh với một cơ sở hợp lý. Nếu chiến lược tạo lợi nhuận 15% trong năm nhưng thị trường tăng 30%, kết quả đó chưa chắc hấp dẫn. Nếu mô hình phải giao dịch liên tục, chịu chi phí cao và biến động lớn hơn chỉ số, việc mua và giữ một quỹ chỉ số có thể hiệu quả hơn.
Ngược lại, một chiến lược giảm 5% trong năm thị trường giảm 25% có thể đã thể hiện khả năng bảo toàn vốn đáng kể. Vì vậy, lợi nhuận tuyệt đối cần được đặt trong bối cảnh của thị trường, mức rủi ro và nguồn lực cần thiết để triển khai.
Chi phí giao dịch phải được tính từ đầu. Mỗi lần mua bán đều phát sinh phí, thuế, chênh lệch giữa giá mua và giá bán, cùng khả năng trượt giá. Một chiến lược kiếm trung bình 0,5% trên mỗi giao dịch nhưng tiêu tốn 0,3% chi phí thực tế chỉ còn lại một lợi thế rất nhỏ.
Đối với cổ phiếu thanh khoản thấp, chi phí thực tế có thể còn lớn hơn. Backtest có thể giả định mua đúng 100.000 cổ phiếu ở một mức giá, trong khi thị trường thực tế không có đủ khối lượng tại mức đó. Khi lệnh được thực hiện, chính giao dịch của nhà đầu tư có thể đẩy giá lên và làm giảm lợi nhuận.
Một chiến lược cũng không nên được phát triển và đánh giá trên cùng một tập dữ liệu. Một cách tiếp cận hợp lý là sử dụng một giai đoạn để hình thành quy tắc, sau đó giữ nguyên chiến lược và kiểm tra trên một giai đoạn chưa từng được sử dụng. Nếu chiến lược hoạt động tốt trong giai đoạn phát triển nhưng thất bại trên dữ liệu mới, nhiều khả năng nó đã học thuộc quá khứ.
Ví dụ, dữ liệu từ năm 2015 đến 2021 có thể được dùng để nghiên cứu, còn giai đoạn 2022 đến 2025 được giữ lại để kiểm tra. Trong quá trình xây dựng chiến lược, người nghiên cứu không được liên tục xem kết quả của giai đoạn kiểm tra để sửa tham số. Nếu làm như vậy, dữ liệu kiểm tra cũng dần trở thành dữ liệu phát triển và mất ý nghĩa độc lập.
Chiến lược cũng cần được kiểm tra qua nhiều trạng thái thị trường. Mua khi giá vượt đỉnh thường hoạt động tốt trong thị trường có xu hướng nhưng có thể liên tục tạo tín hiệu giả khi thị trường đi ngang. Bắt đáy có thể hiệu quả trong giai đoạn ổn định nhưng gây thua lỗ lớn trong khủng hoảng, khi giá giảm vì thông tin cơ bản thực sự xấu đi.
Mục tiêu không phải tìm một chiến lược thắng trong mọi môi trường. Điều đó rất hiếm. Giá trị của dữ liệu nằm ở việc chỉ ra chiến lược hoạt động trong điều kiện nào, suy yếu trong điều kiện nào và cần giảm quy mô hoặc tạm dừng khi trạng thái thị trường thay đổi ra sao.
Một chiến lược tốt cũng không nên chỉ hoạt động tại một bộ tham số duy nhất. Nếu giữ cổ phiếu đúng năm phiên tạo lợi nhuận rất cao nhưng giữ bốn hoặc sáu phiên lại thua lỗ nặng, kết quả có thể chỉ là một sự trùng hợp. Ngược lại, nếu nhiều khoảng thời gian gần nhau đều cho kết quả hợp lý, khả năng chiến lược phản ánh một hiện tượng thật sẽ cao hơn.
Đây là một nguyên tắc quan trọng trong nghiên cứu định lượng: ưu tiên vùng kết quả ổn định thay vì một điểm tối ưu hoàn hảo. Một lợi thế thật thường không biến mất chỉ vì tham số thay đổi rất nhỏ.
Ví dụ kiểm chứng đơn giản bằng Python
Giả sử chúng ta muốn kiểm tra ý tưởng: sau ba phiên giảm liên tiếp, cổ phiếu có xu hướng hồi trong năm phiên tiếp theo. File dữ liệu có tên price.csv, gồm hai cột là Date và Close. Cột Date chứa ngày giao dịch, còn Close là giá đóng cửa đã điều chỉnh.
Đoạn mã dưới đây tìm tất cả những lần cổ phiếu giảm ba phiên liên tiếp, giả định mua ở phiên kế tiếp, giữ năm phiên và sau đó tính kết quả trước và sau chi phí.
import pandas as pd
# Đọc dữ liệu giá
df = pd.read_csv("price.csv", parse_dates=["Date"])
# Sắp xếp dữ liệu theo thời gian
df = df.sort_values("Date").reset_index(drop=True)
# Tính mức thay đổi giá từng phiên
df["daily_return"] = df["Close"].pct_change()
# Xác định phiên giảm
df["is_down"] = df["daily_return"] < 0
# Tạo tín hiệu khi có 3 phiên giảm liên tiếp
df["signal"] = (
df["is_down"]
& df["is_down"].shift(1)
& df["is_down"].shift(2)
)
# Mua ở phiên kế tiếp sau khi tín hiệu đã được xác nhận
df["entry_date"] = df["Date"].shift(-1)
df["entry_price"] = df["Close"].shift(-1)
# Giữ 5 phiên sau ngày mua
df["exit_date"] = df["Date"].shift(-6)
df["exit_price"] = df["Close"].shift(-6)
# Chỉ giữ lại những tín hiệu có đủ dữ liệu mua và bán
trades = df[
df["signal"]
& df["entry_price"].notna()
& df["exit_price"].notna()
].copy()
# Tính lợi nhuận trước chi phí
trades["gross_return"] = (
trades["exit_price"] / trades["entry_price"] - 1
)
# Giả định tổng phí, thuế và trượt giá là 0,3% mỗi giao dịch
trading_cost = 0.003
trades["net_return"] = (
trades["gross_return"] - trading_cost
)
# Tính các chỉ số cơ bản
number_of_trades = len(trades)
win_rate = (trades["net_return"] > 0).mean()
average_return = trades["net_return"].mean()
median_return = trades["net_return"].median()
best_trade = trades["net_return"].max()
worst_trade = trades["net_return"].min()
print(f"Số giao dịch: {number_of_trades}")
print(f"Tỷ lệ giao dịch có lãi: {win_rate:.2%}")
print(f"Lợi nhuận trung bình mỗi giao dịch: {average_return:.2%}")
print(f"Lợi nhuận trung vị mỗi giao dịch: {median_return:.2%}")
print(f"Giao dịch tốt nhất: {best_trade:.2%}")
print(f"Giao dịch tệ nhất: {worst_trade:.2%}")
# Hiển thị 10 giao dịch đầu tiên
print(
trades[
[
"Date",
"entry_date",
"entry_price",
"exit_date",
"exit_price",
"net_return",
]
].head(10)
)Đoạn mã này chưa phải một hệ thống giao dịch hoàn chỉnh. Nó chỉ là bước đầu để trả lời một số câu hỏi cơ bản: tín hiệu đã xuất hiện bao nhiêu lần, tỷ lệ giao dịch có lãi ra sao, lợi nhuận trung bình sau chi phí là bao nhiêu và giao dịch tệ nhất đã gây thiệt hại thế nào.
Giả sử kết quả cho thấy tín hiệu xuất hiện 260 lần, tỷ lệ thắng đạt 54%, lợi nhuận trung bình sau chi phí là 0,45% và giao dịch tệ nhất mất 12%. Kết quả này chưa đủ để khẳng định chiến lược tốt. Tỷ lệ thắng 54% chỉ cao hơn mức ngẫu nhiên một chút, trong khi khoản lỗ 12% có thể xóa lợi nhuận của nhiều giao dịch thắng nhỏ.
Nếu lợi nhuận trung bình chỉ đạt 0,45%, một thay đổi nhỏ trong trượt giá hoặc chi phí cũng có thể làm lợi thế biến mất. Nhà đầu tư cần kiểm tra xem lợi nhuận đến từ nhiều giao dịch hay chỉ phụ thuộc vào một số lần tăng mạnh đặc biệt.
Lợi nhuận trung vị cũng rất quan trọng. Nếu lợi nhuận trung bình là 0,45% nhưng trung vị chỉ bằng 0,05%, điều đó cho thấy phần lớn giao dịch gần như không tạo lợi nhuận và kết quả có thể bị kéo lên bởi một vài trường hợp nổi bật.
Kiểm tra kết quả theo từng năm
Một con số chung cho toàn bộ lịch sử có thể che giấu việc chiến lược từng hoạt động tốt nhưng đã suy yếu gần đây. Có thể bổ sung đoạn mã sau để xem số giao dịch, tỷ lệ thắng và lợi nhuận trung bình theo từng năm.
trades["year"] = trades["Date"].dt.year
yearly_result = trades.groupby("year").agg(
number_of_trades=("net_return", "count"),
win_rate=("net_return", lambda x: (x > 0).mean()),
average_return=("net_return", "mean"),
median_return=("net_return", "median"),
)
print(yearly_result)Giả sử chiến lược có lợi nhuận tốt trong các năm 2016, 2017, 2019 và 2020, nhưng liên tục âm từ năm 2021 đến 2025. Kết quả toàn kỳ vẫn có thể dương nhờ giai đoạn đầu, nhưng điều quan trọng là lợi thế gần đây có dấu hiệu suy yếu.
Ngược lại, nếu lợi nhuận không quá cao nhưng xuất hiện tương đối ổn định trong nhiều năm, kết quả có thể đáng tin hơn một chiến lược kiếm phần lớn lợi nhuận trong một năm duy nhất.
Kiểm tra thêm điều kiện xu hướng
Ý tưởng mua sau ba phiên giảm có thể hoạt động khi cổ phiếu vẫn nằm trong xu hướng tăng, nhưng thất bại khi doanh nghiệp đang trong xu hướng giảm dài hạn. Có thể thêm một điều kiện đơn giản: chỉ mua khi giá vẫn nằm trên đường trung bình 100 phiên.
# Tính đường trung bình 100 phiên
df["ma100"] = df["Close"].rolling(100).mean()
# Chỉ nhận tín hiệu khi giá còn nằm trên MA100
df["filtered_signal"] = (
df["signal"]
& (df["Close"] > df["ma100"])
)
filtered_trades = df[
df["filtered_signal"]
& df["entry_price"].notna()
& df["exit_price"].notna()
].copy()
filtered_trades["net_return"] = (
filtered_trades["exit_price"]
/ filtered_trades["entry_price"]
- 1
- trading_cost
)
print(f"Số giao dịch: {len(filtered_trades)}")
print(
"Tỷ lệ thắng:",
f"{(filtered_trades['net_return'] > 0).mean():.2%}",
)
print(
"Lợi nhuận trung bình:",
f"{filtered_trades['net_return'].mean():.2%}",
)
print(
"Giao dịch tệ nhất:",
f"{filtered_trades['net_return'].min():.2%}",
)Nếu sau khi thêm điều kiện xu hướng, tỷ lệ thắng tăng từ 54% lên 59%, lợi nhuận trung bình tăng từ 0,45% lên 0,9% và khoản lỗ lớn nhất giảm từ 12% xuống 7%, dữ liệu đang đưa ra một insight quan trọng: ba phiên giảm liên tiếp không tự động tạo cơ hội, nhưng có thể đáng chú ý khi xu hướng dài hạn vẫn tích cực.
Tuy nhiên, đây cũng là lúc cần thận trọng. Mỗi điều kiện mới làm tăng nguy cơ tối ưu quá mức. Không nên tiếp tục thêm chỉ báo cho đến khi kết quả trở nên hoàn hảo. Điều kiện xu hướng chỉ đáng giữ lại nếu có logic hợp lý và tiếp tục hoạt động trên dữ liệu chưa dùng để phát triển chiến lược.
PHẦN 3: KIỂM CHỨNG BẰNG DỮ LIỆU MANG LẠI GIÁ TRỊ GÌ TRONG THỰC TẾ?
Giá trị đầu tiên là biến cảm giác thành một quy trình ra quyết định. Trước khi nghiên cứu, nhà đầu tư có thể nói “cổ phiếu đã giảm đủ sâu”, “dòng tiền đang vào” hoặc “mẫu hình này thường tăng”. Sau khi kiểm chứng, họ có thể biết tín hiệu từng xuất hiện 260 lần, tỷ lệ thắng là 54%, lợi nhuận trung bình sau chi phí là 0,45% và giao dịch tệ nhất từng mất 12%.
Những con số đó không bảo đảm giao dịch tiếp theo sẽ thắng. Nhưng chúng tạo ra một kỳ vọng thực tế hơn. Nhà đầu tư hiểu rằng chiến lược có thể sai gần một nửa số lần, lợi nhuận trung bình không lớn và một giao dịch xấu có thể xóa kết quả của nhiều giao dịch tốt.
Giá trị thứ hai là giúp phân biệt giữa chuỗi thua bình thường và dấu hiệu chiến lược đã hỏng. Nếu dữ liệu lịch sử cho thấy chiến lược từng trải qua tám giao dịch thua liên tiếp, việc gặp bốn hoặc năm lệnh thua chưa chắc là bất thường. Ngược lại, nếu mức giảm thực tế vượt xa bất kỳ giai đoạn nào trong lịch sử, nhà đầu tư có lý do để dừng lại và kiểm tra.
Khi không có dữ liệu, mỗi chuỗi thua đều tạo cảm giác chiến lược đã thất bại. Nhà đầu tư dễ thay đổi quy tắc, tăng quy mô để gỡ hoặc từ bỏ đúng lúc lợi thế chuẩn bị quay trở lại. Một kỳ vọng được xây dựng từ dữ liệu giúp giảm những quyết định cảm tính đó.
Giá trị thứ ba là hỗ trợ lựa chọn quy mô vị thế. Một ý tưởng tốt vẫn có thể gây thiệt hại nghiêm trọng nếu nhà đầu tư đặt quá nhiều tiền vào mỗi giao dịch. Nếu chiến lược từng có khoản lỗ lớn nhất 12% và nhiều tín hiệu có thể xuất hiện cùng lúc, việc phân bổ tỷ trọng lớn vào từng mã có thể khiến toàn bộ danh mục giảm mạnh.
Điều này đặc biệt quan trọng khi sử dụng margin. Một chiến lược có lợi thế dài hạn nhưng từng giảm 20% khi dùng tiền tươi có thể trở nên rất nguy hiểm khi được khuếch đại bằng đòn bẩy. Cùng một giai đoạn xấu có thể dẫn tới gọi ký quỹ hoặc bán cưỡng chế trước khi chiến lược có cơ hội phục hồi.
Lợi thế thống kê chỉ có giá trị khi nhà đầu tư còn đủ vốn để tiếp tục thực hiện nó. Một hệ thống tốt nhưng được triển khai với quy mô sai vẫn có thể phá hủy tài khoản.
Giá trị thứ tư là phát hiện những ý tưởng không đáng giao dịch. Có những tín hiệu tạo lợi nhuận dương nhưng quá nhỏ sau chi phí. Có chiến lược hoạt động tốt nhưng chỉ xuất hiện vài lần trong nhiều năm. Có phương pháp tạo lợi nhuận trên cổ phiếu thanh khoản thấp nhưng không thể thực hiện ở mức giá backtest.
Một nghiên cứu kết luận rằng ý tưởng không đủ tốt không phải là thất bại. Nó có thể giúp nhà đầu tư tránh hàng tháng giao dịch và một khoản thua lỗ đáng kể. Trong nghiên cứu định lượng, loại bỏ một giả thuyết yếu cũng là một kết quả có giá trị.
Giá trị thứ năm là giúp cải thiện ý tưởng theo hướng có cơ sở. Ban đầu, nhà đầu tư có thể tin rằng cứ ba phiên giảm liên tiếp là cơ hội mua. Dữ liệu sau đó cho thấy chiến lược không hoạt động trên toàn thị trường, nhưng có kết quả tốt hơn khi cổ phiếu vẫn ở trên xu hướng dài hạn và thị trường chung không nằm trong giai đoạn giảm mạnh.
Kết luận lúc này không còn là “giảm ba phiên thì mua”. Nó trở nên cụ thể hơn: hiệu ứng hồi phục ngắn hạn chỉ đáng chú ý trong một số điều kiện, còn trong xu hướng giảm lớn, ba phiên giảm có thể chỉ là khởi đầu của một đợt giảm dài hơn.
Đây là cách dữ liệu làm cho một ý tưởng đơn giản trở nên chính xác hơn. Nó không chỉ nói có nên dùng chiến lược hay không, mà còn chỉ ra ranh giới nơi chiến lược có thể hoạt động.
Một ví dụ khác là ý tưởng mua cổ phiếu khi doanh nghiệp báo lợi nhuận tăng mạnh. Về mặt trực giác, lợi nhuận tăng là tín hiệu tốt. Nhưng giá cổ phiếu không phản ứng với mức tăng lợi nhuận theo nghĩa tuyệt đối. Giá thường phản ứng với khoảng cách giữa kết quả thực tế và kỳ vọng đã được phản ánh trước đó.
Một doanh nghiệp tăng lợi nhuận 50% vẫn có thể giảm giá nếu thị trường kỳ vọng mức tăng 80%. Ngược lại, một doanh nghiệp giảm lợi nhuận vẫn có thể tăng nếu kết quả ít tiêu cực hơn dự báo. Khi kiểm tra nhiều sự kiện, nhà đầu tư có thể phát hiện rằng lợi nhuận vượt kỳ vọng, chất lượng dòng tiền tốt và giá chưa tăng mạnh trước ngày công bố mới là những điều kiện quan trọng hơn con số tăng trưởng đơn thuần.
Dữ liệu vì thế không thay thế tư duy kinh tế. Nó giúp kiểm tra xem câu chuyện kinh tế có thực sự xuất hiện trong giá hay không. Kết quả mạnh nhất thường đến khi lý thuyết và dữ liệu hỗ trợ lẫn nhau. Lý thuyết giải thích tại sao lợi thế có thể tồn tại, còn dữ liệu cho thấy lợi thế đã từng xuất hiện như thế nào.
Backtest cũng không phải điểm kết thúc. Ngay cả khi chiến lược cho kết quả tốt trên dữ liệu lịch sử và dữ liệu kiểm tra, nó vẫn chưa nên được triển khai ngay với toàn bộ vốn. Bước tiếp theo có thể là paper trading, theo dõi tín hiệu trong thời gian thực hoặc giao dịch với một phần vốn nhỏ.
Giai đoạn này giúp kiểm tra những yếu tố mà backtest khó mô phỏng hoàn toàn: dữ liệu có được cập nhật đúng thời điểm không, lệnh có thể thực hiện ở mức giá dự kiến không, trượt giá thực tế là bao nhiêu và nhà đầu tư có đủ kỷ luật để làm theo hệ thống khi gặp chuỗi thua hay không.
Giả sử backtest cho thấy chiến lược tạo lợi nhuận trung bình 10% mỗi năm và mức giảm sâu nhất 15%. Sau khi giao dịch vốn nhỏ, kết quả thực tế chỉ đạt 3%, trong khi mức giảm đã lên tới 18%. Khoảng cách đó có thể đến từ chi phí cao hơn dự kiến, thanh khoản thấp, dữ liệu sai hoặc lợi thế đã suy yếu.
Nếu nhà đầu tư đưa toàn bộ vốn vào ngay từ đầu, việc phát hiện những vấn đề này sẽ rất đắt đỏ. Triển khai từng bước giúp giới hạn thiệt hại trong quá trình kiểm tra.
Quá trình kiểm chứng cũng không kết thúc khi chiến lược bắt đầu hoạt động. Thị trường luôn thay đổi. Quy định giao dịch thay đổi, tốc độ xử lý thông tin nhanh hơn, cơ cấu nhà đầu tư khác đi và nhiều chiến lược từng hiệu quả có thể bị quá nhiều người cùng khai thác.
Một tín hiệu có thể tạo lợi nhuận tốt trong quá khứ nhưng dần mất tác dụng khi thị trường trở nên hiệu quả hơn. Nhà đầu tư cần tiếp tục theo dõi tỷ lệ thắng, lợi nhuận trung bình, mức giảm sâu, chi phí và thời gian phục hồi của chiến lược.
Giả sử tỷ lệ thắng lịch sử là 54%, nhưng trong hai năm gần nhất chỉ còn 44%. Lợi nhuận trung bình mỗi giao dịch giảm từ 0,8% xuống 0,1%, trong khi chi phí không thay đổi. Đây có thể là dấu hiệu lợi thế đang suy yếu, không chỉ là một giai đoạn biến động ngẫu nhiên.
Một vài tháng kém hiệu quả chưa đủ để kết luận chiến lược đã chết. Nhưng sự suy giảm kéo dài, xuất hiện trên nhiều cổ phiếu và nhiều trạng thái thị trường là lý do để nghiên cứu lại.
Dữ liệu trong trường hợp này không chỉ dùng để phát triển chiến lược. Nó trở thành công cụ giám sát sức khỏe của chiến lược sau khi đi vào hoạt động.
KẾT LUẬN: DỮ LIỆU KHÔNG LOẠI BỎ RỦI RO, NHƯNG GIÚP LOẠI BỎ NHIỀU ẢO TƯỞNG
Một ý tưởng giao dịch có thể bắt đầu từ trực giác, kinh nghiệm, một mẫu hình trên biểu đồ hoặc một câu chuyện kinh tế hợp lý. Không có gì sai khi bắt đầu bằng cảm nhận. Rất nhiều nghiên cứu tốt cũng bắt đầu từ một quan sát đơn giản.
Sai lầm xuất hiện khi cảm nhận được xem như bằng chứng.
Thị trường chứa quá nhiều nhiễu để một vài giao dịch đúng có thể chứng minh một quy luật. Trí nhớ con người có xu hướng giữ lại những lần dự đoán thành công. Biểu đồ quá khứ khiến tín hiệu luôn rõ hơn so với lúc sự kiện thực sự diễn ra. Một chiến lược không có lợi thế vẫn có thể thắng liên tiếp trong ngắn hạn.
Kiểm chứng bằng dữ liệu tạo ra một hàng rào chống lại những sai lệch đó. Nó giúp nhà đầu tư biết tín hiệu đã xuất hiện bao nhiêu lần, tỷ lệ giao dịch có lãi là bao nhiêu, lợi nhuận trung bình sau chi phí ra sao, khoản lỗ có thể lớn đến đâu và chiến lược thường thất bại trong môi trường nào.
Dữ liệu cũng giúp phân biệt giữa một chiến lược có khả năng lặp lại và một kết quả đẹp do may mắn. Nó cho thấy lợi nhuận đến từ nhiều giao dịch hay chỉ phụ thuộc vào một vài trường hợp đặc biệt. Nó giúp nhận biết chiến lược có hoạt động trên dữ liệu mới hay chỉ phù hợp hoàn hảo với quá khứ.
Tuy nhiên, backtest không phải lời tiên tri. Một chiến lược từng hoạt động vẫn có thể thất bại. Dữ liệu có thể sai, thị trường có thể thay đổi và những sự kiện chưa từng xuất hiện trong lịch sử vẫn có thể xảy ra.
Mục tiêu của kiểm chứng không phải tạo ra sự chắc chắn tuyệt đối. Mục tiêu là thay thế một quyết định mơ hồ bằng một quyết định có cơ sở hơn.
Một người giao dịch theo cảm giác thường chỉ biết mình tin điều gì. Một người kiểm chứng bằng dữ liệu còn biết niềm tin đó mạnh đến đâu, đã thất bại trong những hoàn cảnh nào, phải chịu mức rủi ro gì và khi nào cần đánh giá lại.
