SharpTrader Pairs Trading: giải thích tham số Direction — cả 8 chế độ 28/05/2026 – Posted in: Arbitrage Software – Tags: pair trading, pairs trading, statistical arbitrage, z-index
BJF TRADING GROUP · TÀI LIỆU SẢN PHẨM
SharpTrader Pairs Trading: giải thích tham số Direction — cả 8 chế độ
Direction quyết định bên nào của cặp được mua và bên nào được bán khi ngưỡng Zindex được kích hoạt. Tám chế độ chia thành hai nhóm chiến lược — đánh ngược sự phân kỳ (hồi quy về trung bình) và đi theo sự phân kỳ (động lượng) — cùng một ngoại lệ, Inversed, đảo ngược chính điều kiện kích hoạt. Trang này là tài liệu tham khảo thực tế: mỗi chế độ làm gì, khi nào kích hoạt và nên chọn chế độ nào cho thiết lập bạn thực sự giao dịch.
Ôn nhanh: Current Zindex và Zindex Open
Current Zindex là z-score theo thời gian thực của spread giữa hai công cụ trong cặp — spread hiện đang cách trung bình lịch sử bao nhiêu độ lệch chuẩn. Zindex Open là ngưỡng độ lớn do nhà giao dịch cấu hình: khi giá trị tuyệt đối của z-score hiện tại vượt qua ngưỡng này, chiến lược được phép mở vị thế. Sau đó, tham số Direction quyết định chân nào là lệnh mua và chân nào là lệnh bán.
Để có nền tảng khái niệm đầy đủ — đồng liên kết (cointegration) là gì, vì sao spread hồi quy về trung bình và z-score được tính như thế nào — xem bài trụ cột của chúng tôi về pairs trading forex và arbitrage thống kê. Trang này tập trung cụ thể vào tham số Direction và tám giá trị mà nó có thể nhận.
Một điểm làm rõ giúp giải tỏa phần lớn nhầm lẫn
Wiki diễn đạt điều kiện kích hoạt là “Current Zindex lớn hơn giá trị Zindex Open.” Nếu hiểu theo nghĩa đen, điều kiện này sẽ không thỏa khi Z-index hiện tại âm. Trên thực tế, phép kiểm tra là so sánh độ lớn: |Current Zindex| > Zindex Open. Zindex Open là ngưỡng biểu thị bằng số dương (ví dụ 2.0); chiến lược kích hoạt khi spread đã giãn ra ít nhất bằng khoảng đó so với trung bình, theo bất kỳ hướng nào. Dấu của Current Zindex sau đó xác định bên nào mua và bên nào bán.
Hai nhóm chiến lược — và một ngoại lệ
Mỗi chế độ Direction mã hóa hai quyết định: khi nào mở lệnh (điều kiện kích hoạt) và mở theo hướng nào (phân bổ chân lệnh). Nhìn cả tám chế độ cùng lúc, có ba mô hình nổi bật:
- Đánh ngược sự phân kỳ (đặt cược hồi quy về trung bình). Spread đã giãn ra; giao dịch đặt cược nó sẽ quay về trung bình. 5 chế độ: ZIndexBased, PriceBased, Buy1Sell2, Sell1Buy2, ZIndexSign.
- Đi theo sự phân kỳ (đặt cược động lượng). Spread đã giãn ra; giao dịch đặt cược nó sẽ tiếp tục giãn thêm. 2 chế độ: Reversed, ZIndexSignInv.
- Ngoại lệ — Inversed. Điều kiện kích hoạt bị đảo ngược: thay vì chờ spread giãn vượt ngưỡng, giao dịch được mở khi spread vẫn còn bên trong dải, đặt cược nó sẽ giãn ra ngoài. Đây là chế độ duy nhất kích hoạt gần trung bình thay vì ở các cực trị.

Hình 1 — Tổng quan cả 8 chế độ Direction. Viền vàng = đánh ngược sự phân kỳ (hồi quy về trung bình). Viền đỏ = đi theo sự phân kỳ (động lượng). Thẻ Inversed có dấu “kích hoạt đảo ngược” vì nó vào lệnh khi spread vẫn còn trong dải ngưỡng.
Tham khảo từng chế độ
Mỗi chế độ dưới đây liệt kê điều kiện kích hoạt (khi nào kích hoạt), quy tắc phân bổ chân lệnh (bên nào mua, bên nào bán), một ví dụ số cụ thể và loại thiết lập mà chế độ được thiết kế cho.
ZIndexBased ĐÁNH NGƯỢC
Kích hoạt |Current Zindex| > Zindex Open
Hành động Nếu Current Zindex ≥ 0 → bán bên trái, mua bên phải. Nếu Current Zindex < 0 → mua bên trái, bán bên phải.
Ví dụ Zindex Open = 2.0, Current Zindex = +2.3. Chế độ này bán chân trái và mua chân phải, đặt cược spread quay về gần 0.
Khi nào dùng chế độ đánh ngược mặc định. Dùng khi bạn tin dấu của z-score là tín hiệu hướng rõ ràng và muốn hành vi đối xứng ở cả hai cực của spread. Đây là cấu hình khởi đầu phổ biến nhất.
PriceBased ĐÁNH NGƯỢC
Kích hoạt |Current Zindex| > Zindex Open
Hành động Nếu Current Ask bên trái > Current Ask bên phải → bán trái, mua phải. Ngược lại → mua trái, bán phải.
Ví dụ Zindex Open = 2.0, Current Zindex = +2.3. Ask trái = 1.0850, Ask phải = 1.2640. Vì Ask bên phải cao hơn, chế độ này mua bên trái và bán bên phải.
Khi nào dùng: Khi hệ số β (hệ số đồng liên kết) đủ bất đối xứng để việc so sánh Ask thô là tín hiệu hướng đáng tin cậy hơn dấu của z-score. Một số nhà giao dịch ưa dùng PriceBased cho các cặp mà hai công cụ giao dịch ở thang giá tuyệt đối rất khác nhau.
Buy1Sell2 ĐÁNH NGƯỢC MỘT CHIỀU
Kích hoạt |Current Zindex| > Zindex Open VÀ Current Zindex < 0
Hành động Mua bên trái, bán bên phải. (Hướng cố định; chế độ không vào lệnh khi Current Zindex ≥ 0.)
Ví dụ Zindex Open = 2.0, Current Zindex = −2.4. Chế độ này mua bên trái và bán bên phải. Nếu Z-index hiện tại là +2.4 thì không mở lệnh nào.
Khi nào dùng Khi bạn chỉ muốn giao dịch phía Zindex âm của spread. Lý do thực tế: quan điểm về chế độ thị trường có hướng, bất đối xứng ký quỹ của broker, hoặc cặp có hành vi một chiều mà trong lịch sử chỉ các thiết lập Zindex thấp mới có lãi.
Sell1Buy2 ĐÁNH NGƯỢC MỘT CHIỀU
Kích hoạt |Current Zindex| > Zindex Open VÀ Current Zindex ≥ 0
Hành động Bán bên trái, mua bên phải. (Hướng cố định; chế độ không vào lệnh khi Current Zindex < 0.)
Ví dụ Zindex Open = 2.0, Current Zindex = +2.4. Bán bên trái và mua bên phải. Nếu Z-index hiện tại là −2.4 thì không mở lệnh nào.
Khi nào dùng Hình ảnh phản chiếu của Buy1Sell2 — khi bạn chỉ muốn các thiết lập Zindex dương. Thường được dùng cùng Buy1Sell2 trên hai phiên bản chiến lược riêng biệt để chạy mỗi phía độc lập với quy mô khác nhau.
ZIndexSign ĐÁNH NGƯỢC
Kích hoạt |Current Zindex| > |Zindex Open| VÀ Current Zindex và Zindex Open cùng dấu
Hành động Nếu Current Zindex ≥ 0 → bán trái, mua phải. Nếu Current Zindex < 0 → mua trái, bán phải.
Ví dụ Zindex Open được đặt là +2.0 (có dấu rõ ràng). Current Zindex = +2.4 → cùng dấu → bán trái, mua phải. Current Zindex = −2.4 → khác dấu → không mở lệnh nào.
Khi nào dùng phiên bản chặt chẽ hơn của ZIndexBased? Dùng khi bạn muốn chiến lược chỉ giao dịch theo hướng mà ngưỡng ban đầu được thiết lập — hữu ích cho việc vào lệnh theo giai đoạn hoặc có hướng, khi bạn không muốn chiến lược kích hoạt ở cực đối diện.
Reversed ĐI THEO
Kích hoạt |Current Zindex| > Zindex Open
Hành động Nếu Current Zindex ≥ 0 → mua trái, bán phải. Nếu Current Zindex < 0 → bán trái, mua phải. (Phân bổ chân lệnh ngược với ZIndexBased.)
Ví dụ Zindex Open = 2.0, Current Zindex = +2.3. Chế độ này mua bên trái và bán bên phải, đặt cược spread tiếp tục giãn xa hơn khỏi trung bình.
Khi nào dùng Đặt cược động lượng trên spread — ngược lại với hồi quy về trung bình. Phù hợp khi cặp đang trải qua giai đoạn mà sự phân kỳ mở rộng thêm trước khi quay lại (ví dụ một đồng tiền đang có xu hướng mạnh). Rủi ro cao hơn các chế độ đánh ngược vì khi tương quan bị phá vỡ, thường thất bại theo hướng này trước.
ZIndexSignInv ĐI THEO
Kích hoạt |Current Zindex| > |Zindex Open| VÀ Current Zindex và Zindex Open cùng dấu
Hành động Nếu Current Zindex ≥ 0 → mua trái, bán phải. Nếu Current Zindex < 0 → bán trái, mua phải.
Ví dụ Zindex Open = +2.0, Current Zindex = +2.4. Cùng dấu và vượt độ lớn → mua trái, bán phải (đi theo biến động).
Khi nào dùng Phiên bản chặt chẽ hơn của Reversed — đặt cược động lượng, nhưng chỉ khi spread đã giãn xa hơn theo hướng được cấu hình ban đầu. Yêu cầu cùng dấu giúp lọc bỏ các lần kích hoạt giả ở cực đối diện.
Inversed ĐI THEO KÍCH HOẠT ĐẢO NGƯỢC
Kích hoạt |Current Zindex| < Zindex Open — lưu ý bất đẳng thức bị đảo ngược. Chế độ này vào lệnh khi spread nằm bên trong dải ngưỡng, không phải vượt ra ngoài.
Hành động Nếu Current Zindex ≥ 0 → mua trái, bán phải. Nếu Current Zindex < 0 → bán trái, mua phải.
Ví dụ Zindex Open = 2.0, Current Zindex = +0.6. Độ lớn nằm trong dải → mua trái, bán phải, đặt cược spread sẽ giãn ra ngoài.
Khi nào dùng Thiết lập động lượng chuyên biệt: bạn tin spread đang ở giai đoạn mà các độ lệch nhỏ mở rộng thành độ lệch lớn thay vì quay lại. Về thực chất là triết lý ngược với mọi chế độ khác — thay vì chờ cực trị, chế độ này vào lệnh sớm và đi theo sự giãn ra. Chỉ nên dùng hạn chế, với các cặp có hành vi tiếp diễn phân kỳ được quan sát rõ.
So sánh song song cả 8 chế độ
| Chế độ | Điều kiện kích hoạt | Khi Z ≥ 0 | Khi Z < 0 | Nhóm |
|---|---|---|---|---|
| ZIndexBased | |Z| > Open |
Bán T, Mua P | Mua T, Bán P | Đánh ngược |
| PriceBased | |Z| > Open |
Theo Ask thô: Ask cao hơn → bán, Ask thấp hơn → mua | Đánh ngược | |
| Buy1Sell2 | |Z| > Open VÀ Z < 0 |
không vào lệnh | Mua T, Bán P | Đánh ngược |
| Sell1Buy2 | |Z| > Open VÀ Z ≥ 0 |
Bán T, Mua P | không vào lệnh | Đánh ngược |
| ZIndexSign | |Z| > |Open| VÀ cùng dấu |
Bán T, Mua P | Mua T, Bán P | Đánh ngược |
| Reversed | |Z| > Open |
Mua T, Bán P | Bán T, Mua P | Đi theo |
| ZIndexSignInv | |Z| > |Open| VÀ cùng dấu |
Mua T, Bán P | Bán T, Mua P | Đi theo |
| Inversed | |Z| < Open (đảo ngược) |
Mua T, Bán P | Bán T, Mua P | Đi theo |
Bạn nên chọn chế độ nào?
Không có chế độ “đúng” duy nhất — lựa chọn phụ thuộc vào nhận định của bạn về hành vi của cặp và điều bạn muốn chiến lược làm ở mỗi cực. Hướng dẫn thực tế:
- Bắt đầu từ đầu với một cặp mới? Dùng ZIndexBased. Đây là chế độ đánh ngược mặc định gọn gàng nhất và cho bạn các điểm vào đối xứng ở cả hai phía của spread.
- Cặp mà hai công cụ có thang giá rất khác nhau (khác bậc độ lớn)? Thử PriceBased. Nó dùng so sánh Ask thô thay cho dấu z-score, có thể đáng tin cậy hơn khi β khác xa 1.0.
- Muốn chạy hai chiến lược với quy mô độc lập, mỗi chiến lược cho một phía spread? Chạy Buy1Sell2 trên một phiên bản (chỉ phía âm) và Sell1Buy2 trên phiên bản khác (chỉ phía dương). Cách này cho phép bạn đặt quy mô và dừng lỗ cho từng phía độc lập.
- Lo ngại kích hoạt giả khi spread cắt qua 0 nhanh? Dùng ZIndexSign. Nó chỉ kích hoạt khi Current và Open cùng dấu, lọc bỏ nhiễu ở phía đối diện.
- Giao dịch một cặp trong giai đoạn mà sự phân kỳ tiếp diễn thay vì quay lại? Reversed (hoặc ZIndexSignInv cho phiên bản chặt chẽ hơn). Đây là đặt cược động lượng — phương sai cao hơn, và bạn nên điều chỉnh quy mô tương ứng.
- Thiết lập chuyên biệt khi bạn muốn vào lệnh gần trung bình và đi theo sự giãn ra? Inversed là chế độ duy nhất làm điều này. Dùng hạn chế và chỉ khi có bằng chứng rõ ràng rằng cặp hành xử như vậy.
Ba quy tắc thực tế
- Backtest chế độ bạn sắp triển khai. Tham số Direction không thể hoán đổi tùy ý — cùng một cặp có thể cho đường P&L rất khác nhau với ZIndexBased so với Reversed. Chạy lại tối ưu hóa cho chế độ bạn định chạy thực.
- Chọn chế độ theo luận điểm chiến lược, không theo P&L lịch sử. Nếu bạn không thể giải thích vì sao một chế độ sẽ hiệu quả trên một cặp nhất định, đừng triển khai nó chỉ vì kết quả backtest trông đẹp. Việc chọn chế độ nên dựa trên luận điểm về giai đoạn thị trường của cặp.
- Không đổi chế độ giữa phiên. Đổi Direction khi đang có vị thế mở sẽ khiến bạn có các vị thế được mở theo một bộ quy tắc trong khi logic thoát lệnh lại dựa trên bộ quy tắc khác. Đóng mọi vị thế gọn gàng trước khi đổi chế độ.
Câu hỏi thường gặp
Nó có nghĩa là |Current Zindex| > Zindex Open — một phép so sánh độ lớn. Zindex Open là ngưỡng biểu thị bằng số dương (ví dụ 2.0), và chiến lược kích hoạt khi spread đã giãn ra ít nhất bằng khoảng đó so với trung bình, theo bất kỳ hướng nào. Dấu của Current Zindex sau đó xác định chân nào là lệnh mua và chân nào là lệnh bán, tùy theo chế độ Direction được chọn.
Cả hai có cùng điều kiện kích hoạt (|Z| > Open) và đều là chế độ đánh ngược. Khác biệt nằm ở cách chúng phân bổ chân lệnh. ZIndexBased dùng dấu của z-score: Z ≥ 0 nghĩa là bán trái / mua phải, Z < 0 thì ngược lại. PriceBased bỏ qua dấu z-score và so sánh giá Ask thô: bên giá cao hơn bị bán, bên giá thấp hơn được mua. PriceBased hữu ích nhất khi hai công cụ trong cặp có mức giá tuyệt đối rất khác nhau.
Inversed là chế độ duy nhất có điều kiện kích hoạt đảo ngược — nó vào lệnh khi spread nằm bên trong dải (|Z| < Open), không phải vượt ra ngoài. Dùng khi bạn có bằng chứng rõ ràng rằng cặp đang ở giai đoạn mà các độ lệch spread nhỏ mở rộng thành độ lệch lớn thay vì quay lại. Đây là thiết lập bất thường; hành vi mặc định của hầu hết các cặp là hồi quy về trung bình, vì vậy Inversed chỉ nên dành cho những giai đoạn cụ thể mà bạn đã quan sát và kiểm tra rõ ràng.
Cả hai đều là chế độ đánh ngược với cách phân bổ chân lệnh theo dấu Z giống hệt nhau. Khác biệt nằm ở điều kiện kích hoạt: ZIndexBased kích hoạt bất cứ khi nào độ lớn vượt ngưỡng, bất kể dấu. ZIndexSign còn yêu cầu Current Zindex và Zindex Open cùng dấu — nghĩa là spread đã giãn xa hơn theo hướng mà ngưỡng được cấu hình ban đầu. ZIndexSign lọc bỏ kích hoạt ở cực đối diện; ZIndexBased kích hoạt đối xứng ở cả hai cực.
ZIndexBased là mặc định thực tế. Nó thực hiện giao dịch cặp đánh ngược sự phân kỳ kinh điển với hành vi đối xứng ở cả hai phía của spread. Hãy bắt đầu từ đó, backtest trong điều kiện khớp lệnh thực tế, và chỉ chuyển sang chế độ khác khi bạn có lý do cụ thể (quan điểm về giai đoạn thị trường, quy mô bất đối xứng, xác nhận dấu hoặc luận điểm động lượng).
Có — đó là một trong những lý do chính các chế độ một chiều này tồn tại. Chạy hai phiên bản chiến lược trên cùng một cặp, một với Buy1Sell2 (chỉ phía Zindex âm) và một với Sell1Buy2 (chỉ phía Zindex dương), tương đương với ZIndexBased, ngoại trừ việc bạn có thể đặt quy mô, dừng lỗ và tham số cho từng phía độc lập. Hữu ích khi một phía trong lịch sử có lãi hơn hoặc bạn muốn quy mô khác nhau cho mỗi hướng.
Về kỹ thuật thì có thể, nhưng bạn không nên. Các vị thế được mở theo một chế độ đã được vào lệnh dựa trên một luận điểm ngầm về việc bên nào sẽ thắng — logic thoát lệnh, chốt lời và dừng lỗ hoạt động nhất quán với luận điểm đó. Đổi chế độ giữa chừng khiến bạn có các giao dịch mở mà bộ quy tắc mới không được thiết kế để quản lý. Đóng mọi vị thế gọn gàng, sau đó đổi Direction trước phiên tiếp theo.
Direction là quy tắc phân bổ chân lệnh; các tham số còn lại — Zindex Open, Zindex Close, bộ lọc ATR, khối lượng lot, chốt lời, dừng lỗ — quyết định khi nào thoát lệnh và quy mô bao nhiêu. Chế độ Direction không thay đổi các quy tắc đó, nhưng có thể thay đổi logic Zindex Close nào là hợp lý (chế độ đánh ngược nhắm tới việc quay về 0; chế độ đi theo nhắm tới mức phân kỳ rộng hơn). Hãy tinh chỉnh lại các tham số thoát lệnh mỗi khi đổi Direction. Wiki có tài liệu tham số đầy đủ: sharptrader.arbitragesoftware.net/Pairs_Trading_Strategy.
Chạy pairs trading trong SharpTrader
Tham số Direction là một trong nhiều yếu tố điều khiển quyết định liệu chiến lược giao dịch cặp có tồn tại được khi giao dịch thực hay không. Các yếu tố còn lại — chất lượng khớp lệnh của broker, giả định backtest thực tế và kiểm định walk-forward — được trình bày trong hướng dẫn trụ cột và bộ công cụ kiểm tra broker BEQI của chúng tôi.
Trang sản phẩm SharpTrader Pro
Hướng dẫn trụ cột về pairs trading