Skip to content
Tất cả hướng dẫn quyền chọn
Tách điều kiện khởi tạo sự kiện khỏi nhãn kết quả12 phút đọc

Phương pháp Triple Barrier: Gán nhãn sự kiện tài chính

Tìm hiểu cách ngưỡng lợi nhuận, ngưỡng lỗ và thời hạn nắm giữ tối đa cùng xác định nhãn sự kiện, cũng như cách xử lý giá không rõ thứ tự và các kết quả chồng lấn.

Trong hướng dẫn nàyBa điều kiện xác định nhãn của một sự kiện

Tóm tắt ngắn

Phương pháp Triple Barrier gán nhãn cho một sự kiện tài chính dựa trên điều kiện đầu tiên xảy ra sau thời điểm bắt đầu: ngưỡng chốt lời phía trên, ngưỡng giới hạn lỗ phía dưới hoặc thời hạn nắm giữ tối đa. Các mức của từng sự kiện được tính từ giá ban đầu P₀ và thang đo biến động σᵢ, vốn phải được biết ngay khi sự kiện bắt đầu. Trong bài này, chạm ngưỡng trên cho nhãn +1, chạm ngưỡng dưới cho nhãn −1, còn hết hạn mà chưa chạm hai ngưỡng ngang cho nhãn 0. Một số cách triển khai dùng dấu của lợi suất cuối kỳ thay thế, nên nghiên cứu cần ghi rõ quy ước được chọn.

Ba điều kiện xác định nhãn của một sự kiện

Với sự kiện i, hãy ghi lại thời điểm bắt đầu tᵢ, giá P₀, ước lượng thang đo lợi suất σᵢ, các hệ số m_PT và m_SL, cùng thời hạn tối đa Tᵢ. Nếu dùng lợi suất đơn, ngưỡng giá phía trên là P₀ × (1 + m_PT σᵢ), còn ngưỡng phía dưới là P₀ × (1 − m_SL σᵢ). Hai mức này là rào cản ngang; thời điểm Tᵢ là rào cản dọc.

Chẳng hạn, với m_PT = 2, mục tiêu phía trên cách giá ban đầu hai lần thang đo. Với m_SL = 1,5, ngưỡng phía dưới cách giá ban đầu 1,5 lần thang đo. Nếu chạm một trong hai mức ngang trước Tᵢ, sự kiện kết thúc tại đó và nhận nhãn tương ứng. Nếu chưa chạm mức ngang nào, sự kiện kết thúc khi hết hạn ở rào cản dọc.

Có thể xác định ngưỡng bằng lợi suất đơn hoặc lợi suất logarit, nhưng khi biến động giá lớn thì hai cách này không cho cùng một mức giá. Hãy chọn định nghĩa lợi suất và dùng nhất quán khi tạo mục tiêu cũng như mô phỏng việc khớp lệnh. Chương 3 của Advances in Financial Machine Learning trình bày cách gán nhãn theo sự kiện và đặt rào cản theo thang đo biến động.

Thang đo biến động phải có sẵn khi sự kiện bắt đầu

σᵢ điều chỉnh khoảng cách tới rào cản theo mức biến động ước tính cho từng sự kiện. Có thể ước lượng từ lợi suất quá khứ hoặc từ một mô hình được xác định trước, nhưng chỉ được dùng dữ liệu có sẵn tại hoặc trước thời điểm tᵢ. Nếu tính biến động bằng cách đưa cả giai đoạn tương lai vào, các ngưỡng đã chứa thông tin tương lai dù đặc trưng được xây dựng cẩn thận.

Ngưỡng theo tỷ lệ phần trăm cố định dễ diễn giải, nhưng có thể quá gần trong giai đoạn yên ắng và quá xa trong giai đoạn biến động mạnh. Thang đo theo biến động giúp khoảng cách thay đổi theo chế độ thị trường hiện tại. Tuy vậy, σᵢ không phải bảo đảm hay dự báo chính xác về biến động tương lai; đây chỉ là một đầu vào của quy tắc gán nhãn đã định trước.

Hãy lưu giá ban đầu, σᵢ, các hệ số, thời điểm bắt đầu và kết thúc, lý do kết thúc, cùng mức giá dùng để xác định lần chạm cho từng sự kiện. Những trường này giúp tái tạo nhãn, kiểm tra thời lượng sự kiện khác nhau và phát hiện việc vô tình sử dụng thông tin tương lai.

Bộ kích hoạt sự kiện và nhãn trả lời hai câu hỏi khác nhau

Bộ kích hoạt quyết định khi nào bắt đầu theo dõi một sự kiện. Ví dụ, bộ lọc CUSUM có thể tạo sự kiện khi biến động giá tích lũy vượt một ngưỡng, thay vì tạo mẫu ở mọi cây nến. Bộ kích hoạt trả lời “khi nào bắt đầu một mẫu?”, còn quy tắc ba rào cản trả lời “sau đó kết quả nào xảy ra trước?”.

Đừng nhầm bộ kích hoạt với nhãn hay tín hiệu giao dịch. Việc gán nhãn qua rào cản dùng đường đi của giá trong tương lai để tạo biến mục tiêu y. Đây là điều cần thiết để xác định kết quả huấn luyện, nhưng đặc trưng và σᵢ của sự kiện phải dựa trên thông tin có tại thời điểm bắt đầu. Sự phân biệt này có trong tài liệu gán nhãn của mlfinpy và được thể hiện trong mã triển khai Triple Barrier.

Ví dụ cho thấy mỗi rào cản hoạt động ra sao

Giả sử P₀ = $100, σᵢ = 2%, m_PT = 2, m_SL = 1,5 và rào cản dọc hết hạn vào cuối cây nến tương lai thứ ba. Theo quy ước lợi suất đơn, mức trên là $104 và mức dưới là $97.

  • Đường đi $100 → $104,50 chạm mức trên ở cây nến tương lai thứ nhất. Nhãn là +1, kể cả khi giá có thể đảo chiều sau đó.
  • Đường đi $100 → $96,50 chạm mức dưới ở cây nến tương lai thứ nhất, trước khi hết hạn. Nhãn là −1.
  • Đường đi $100 → $101 → $102 → $101,50 không chạm mức ngang nào. Khi kết thúc cây nến tương lai thứ ba, sự kiện hết hạn và nhận nhãn 0 theo quy ước bài này, dù lợi suất cuối kỳ là +1,5%.

Ví dụ cuối cho thấy 0 nghĩa là “chưa chạm rào cản ngang nào trước khi hết hạn”, chứ không có nghĩa lợi suất bằng không. Một số cách gán nhãn xem thời hạn chỉ là điểm dừng quan sát rồi phân loại kết quả theo dấu của lợi suất cuối kỳ. Đó là một quy tắc khác; hãy ghi rõ và không trộn các nhãn được tạo theo những quy ước khác nhau.

Ba đường giá không nhãn: một đường vượt ngưỡng trên, một đường vượt ngưỡng dưới, đường còn lại kết thúc giữa hai ngưỡng tại giới hạn thời gian
Hình khái niệm về lần chạm đầu tiên ở ngưỡng trên, dưới hoặc thời gian; các đường chỉ để minh họa, không phải dữ liệu thị trường

Gán nhãn theo hướng khác với gán nhãn meta

Trong bài toán dự đoán hướng, nhãn +1 và −1 cho biết giá chạm ngưỡng ở phía nào trước; quy ước trong bài này tách trường hợp hết hạn thành 0. Mô hình có thể dự đoán lớp từ đặc trưng biết tại thời điểm bắt đầu sự kiện. Nhãn chỉ mô tả kết quả so với các rào cản đã chọn, không tự cho biết khả năng sinh lời sau chi phí.

Gán nhãn meta bắt đầu bằng một mô hình chính đã đề xuất phía vị thế, chẳng hạn mua hay bán. Sau đó, rào cản được áp dụng lên lợi suất có xét phía được đề xuất và mô hình thứ hai đánh giá có nên nhận tín hiệu hay không. Vì thế ý nghĩa của nhãn và các ngưỡng phụ thuộc việc phép tính có xét phía vị thế hay không. Hãy ghi phía được đề xuất vào dữ liệu; không nên xem mọi nhãn +1 là khuyến nghị mua.

Dữ liệu thị trường có thể không cho biết thứ tự chạm

Dữ liệu chỉ có giá đóng cửa có thể bỏ sót việc chạm rào cản trong phiên: giá cao nhất hoặc thấp nhất có thể đã vượt ngưỡng trước khi đóng cửa. Một nến OHLC có cả giá cao nhất vượt rào cản trên lẫn giá thấp nhất vượt rào cản dưới không cho biết mức nào bị chạm trước. Không thể xác định đáng tin cậy rào cản thắng chỉ từ bốn giá đó.

Nếu thứ tự chạm quan trọng, hãy dùng dữ liệu tần suất cao hơn đủ để xác định thứ tự. Nếu không có dữ liệu như vậy, hãy đặt trước một quy tắc thận trọng, có thể tái lập cho trường hợp chạm cả hai mức trong cùng nến, chẳng hạn tính theo kết quả bất lợi, rồi áp dụng nhất quán cho mọi sự kiện. Nêu rõ sự không chắc chắn trong phương pháp; đừng trình bày thứ tự giả định như một sự kiện đã quan sát.

Cũng cần xác định “chạm” được tính theo giao dịch, giá chào mua/bán, giá đóng cửa hay giá có thể khớp. Khoảng nhảy giá, chênh lệch mua bán và độ trễ khớp lệnh có thể khiến vị thế thực tế không khớp được tại mức giá hiển thị.

Sự kiện chồng lấn cần được xử lý khi chia tập xác thực

Nhiều sự kiện có thể diễn ra đồng thời và dùng chung một phần biến động giá tương lai để tạo nhãn. Vì vậy, chia ngẫu nhiên từng dòng vào tập huấn luyện và kiểm tra có thể đặt các kết quả có khoảng thời gian chồng lấn vào cả hai tập. Khi đánh giá, hãy dùng khoảng thời gian thực tế từ lúc sự kiện bắt đầu đến khi chạm rào cản hoặc hết hạn, rồi loại khỏi tập huấn luyện những mẫu có kết quả chồng với nhãn kiểm tra theo quy tắc đã chọn.

Cách xử lý này được trình bày trong hướng dẫn về purged cross-validation và embargo cho chuỗi thời gian tài chính. Purging giảm rò rỉ do nhãn chồng lấn nhưng không sửa được đặc trưng chứa dữ liệu tương lai, việc lựa chọn mô hình lặp đi lặp lại hay giả định khớp lệnh thiếu thực tế.

Chi phí làm thay đổi ý nghĩa của kết quả

Đường đi giữa các rào cản thường dựa trên biến động giá của tài sản cơ sở. Kết quả giao dịch thực còn phụ thuộc chênh lệch mua bán, phí, trượt giá, funding của hợp đồng vĩnh cửu, chi phí vay và quy tắc khớp lệnh. Nếu mục tiêu là phân loại kết quả ròng, hãy đưa các yếu tố đó vào định nghĩa lợi suất mục tiêu và giả định khớp lệnh thực tế trước khi tính nhãn.

Nhãn dương không chứng minh chiến lược sẽ có lãi. Kết quả phụ thuộc tần suất sự kiện, mô hình, thị trường, quy mô vị thế và chất lượng khớp lệnh; việc gán nhãn trên dữ liệu lịch sử tự nó không phải lời hứa lợi nhuận hay khuyến nghị giao dịch.

Ghi rõ quy ước trước khi huấn luyện

Hãy mô tả cách khởi tạo sự kiện, nguồn của P₀ và σᵢ, các hệ số và thời hạn, luồng giá dùng để xác định lần chạm, cùng cách xử lý khi chạm hai mức. Nêu rõ hết hạn luôn nhận nhãn 0 hay được phân loại theo lợi suất cuối kỳ, và kết quả được tính trước hay sau chi phí.

Ghi lại quy ước giúp bộ dữ liệu có thể được kiểm tra và tái tạo. Các tham số khác nhau tạo ra những bài toán dự đoán khác nhau, kể cả khi dùng cùng một dữ liệu thô.

Câu hỏi thường gặp

Q1Khi hết hạn, nhãn có nhất thiết phải là 0 không?

Không. Bài này chọn 0 làm lớp riêng cho sự kiện không chạm rào cản ngang trước thời hạn dọc. Cách triển khai khác có thể gán nhãn theo dấu của lợi suất cuối kỳ. Điều quan trọng là chọn một quy ước và áp dụng nhất quán.

Q2Bộ kích hoạt sự kiện khác Triple Barrier ở điểm nào?

Bộ kích hoạt, chẳng hạn CUSUM, xác định thời điểm bắt đầu mẫu. Ba rào cản xác định điều kiện kết quả nào xảy ra trước sau thời điểm đó. Đây là hai bước riêng khi tạo dữ liệu huấn luyện.

Q3Nhãn +1 có đảm bảo giao dịch có lãi sau chi phí không?

Không. Nhãn chỉ cho biết mức phía trên được chạm trước theo giá và quy tắc đã chọn. Chênh lệch mua bán, phí, funding, trượt giá, quy mô vị thế và cách khớp lệnh có thể làm thay đổi kết quả ròng.

Nguồn và tài liệu đọc thêm

Báo lỗi

Chúng tôi sẽ soạn email kèm liên kết bài viết này. Mark chỉ nhận được báo cáo sau khi bạn gửi email

Kiểm tra nhanh

Đọc xong hướng dẫn? Hãy kiểm tra với 3 câu hỏi

Câu hỏi 1 / 3

Câu hỏi 01

Nếu sự kiện chạm rào cản trên ở cây nến tương lai thứ nhất, trước rào cản dưới và trước khi hết hạn, nhãn là gì?

Chọn một đáp án để xem giải thích

Bảng thuật ngữ quyền chọn

Kiểm định mô hình chuỗi thời gian tài chínhPurged cross-validation và embargo: ngăn rò rỉ nhãn trong mô hình giao dịchTìm hiểu cách xử lý các khoảng nhãn lợi suất tương lai bị chồng lấn trong chuỗi thời gian tài chính, và phân biệt purging, embargo, walk-forward, TimeSeriesSplit cùng CPCV.Tần suất người thắng backtest tụt dưới trung vị của nhómGiải thích xác suất overfit backtest (PBO) và CSCVTìm hiểu cách kiểm định chéo đối xứng tổ hợp ước tính PBO, chuyển thứ hạng OOS thành logit và vì sao chỉ số này không dự báo khoản lỗ tương laiCơ chế quyền chọnGiao quyền chọn là gì?Hiểu cách việc giao quyền chọn biến một call hoặc put bán thành nghĩa vụ đối với cổ phiếu, khi nào điều đó có thể xảy ra và cách chuẩn bị tiền mặt và cổ phiếuSố hợp đồng được phép không giống ngân sách rủi roGiải thích giới hạn vị thế so với giới hạn thực hiện quyền chọnTìm hiểu giới hạn vị thế của quyền chọn niêm yết khác giới hạn thực hiện thế nào, vì sao việc gộp cùng phía và báo cáo quan trọng, và vì sao ký quỹ hoặc sức mua không cho biết một số lượng có được phép hay khôngGiao dịch quyền chọnSpread bid-ask của quyền chọn là gì?Tìm hiểu bid, ask, midpoint, độ rộng spread, số lượng và loại lệnh ảnh hưởng thế nào đến mức giá bạn thực sự có thể nhận hoặc trả