Pairs Trading: Chiến Lược Market Neutral Kiếm Lời Bất Kể Thị Trường Tăng Hay Giảm

· Pairs Trading, Giao Dịch Cặp, Cointegration, QUANTVN, Market Neutral

Pairs Trading: Chiến Lược Market Neutral Kiếm Lời Bất Kể Thị Trường Tăng Hay Giảm

Pairs Trading: Chiến Lược Market Neutral Kiếm Lời Bất Kể Thị Trường Tăng Hay Giảm

Pairs Trading là chiến lược giao dịch market neutral — kiếm lợi nhuận từ sự hội tụ giữa hai tài sản có quan hệ thống kê, mà không phụ thuộc vào hướng đi của thị trường chung.

Tại Sao Pairs Trading Hấp Dẫn?

Market neutral: Khi thị trường giảm 10%, danh mục pairs trading có thể vẫn có lãi.

Sharpe ratio cao: Vì không chịu rủi ro thị trường chung, Sharpe ratio thường cao hơn chiến lược directional.

Tính ổn định: Lợi nhuận ít phụ thuộc vào bull/bear market cycle.

Nguyên Tắc Cơ Bản

Nếu Cổ phiếu A và B thường di chuyển cùng nhau (cointegrated):

  • Khi A tăng mạnh hơn B bất thường → Bán A, Mua B (mong đợi A giảm về B)
  • Khi A giảm mạnh hơn B bất thường → Mua A, Bán B (mong đợi A tăng về B)

Lợi nhuận đến khi spread giữa A và B quay về trạng thái bình thường.

Tìm Cặp Phù Hợp: Kiểm Định Cointegration

from statsmodels.tsa.stattools import coint
import pandas as pd

# Kiểm định cointegration
def find_cointegrated_pairs(data):
    n = data.shape[1]
    pvalue_matrix = np.ones((n, n))
    pairs = []
    
    for i in range(n):
        for j in range(i+1, n):
            stock1 = data.iloc[:, i]
            stock2 = data.iloc[:, j]
            result = coint(stock1, stock2)
            pvalue = result[1]
            pvalue_matrix[i, j] = pvalue
            if pvalue < 0.05:  # Cointegrated với p < 5%
                pairs.append((data.columns[i], data.columns[j], pvalue))
    
    return pairs

# Tìm cặp cointegrated trong VN30
pairs = find_cointegrated_pairs(vn30_prices)
print(f"Tìm được {len(pairs)} cặp cointegrated")

Xây Dựng Pairs Trading Strategy

Bước 1: Tìm cặp cointegrated Chạy Engle-Granger test hoặc Johansen test trên toàn bộ cổ phiếu.

Bước 2: Tính hedge ratio Dùng OLS regression: Price_A = β × Price_B + α β là hedge ratio — tỉ lệ mua/bán giữa hai cổ phiếu.

Bước 3: Tính spread Spread = Price_A - β × Price_B

Bước 4: Standardize Z-Score = (Spread - Mean_Spread) / Std_Spread

Bước 5: Trading signals

  • Z-Score > +2: Bán A, Mua B (spread quá rộng)
  • Z-Score < -2: Mua A, Bán B (spread quá hẹp)
  • Z-Score quay về 0: Đóng lệnh

Rủi Ro Của Pairs Trading

Pair breakdown: Mối quan hệ cointegration có thể biến mất vĩnh viễn (do M&A, thay đổi chiến lược kinh doanh).

Extended divergence: Spread có thể tiếp tục mở rộng trước khi hội tụ — cần đủ vốn để chịu.

Execution risk: Hai lệnh cần thực thi đồng thời. Delay có thể tạo exposure không mong muốn.

Pairs Trading Trên QUANTVN

QUANTVN hỗ trợ:

  • Tự động scan toàn bộ cổ phiếu VN để tìm cặp cointegrated
  • Backtest pairs trading với slippage thực tế
  • Monitor Z-Score real-time và tạo alert

Kết Luận

Pairs Trading là chiến lược Quant tinh vi, phù hợp với nhà đầu tư muốn lợi nhuận ổn định không phụ thuộc thị trường. Cần kiến thức thống kê tốt nhưng hoàn toàn có thể học được.

Thử Pairs Trading tại quantvn.com

Khám phá chiến lược trading tại quantvn.com