Skip to content

Signal 3 — VWAP Divergence

Thuộc tínhGiá trị
Phân loạiVolume Analysis
Khung thời gianIntraday (5–60 phút)
Paper gốcMadhavan (2002) — VWAP execution
Loại dữ liệuOHLCV 1 phút
Hướng giao dịchMean Reversion
CapacityCao

Logic. Tính % lệch giữa giá hiện tại và VWAP intraday. Khi |price/VWAP − 1| > 1.5%, kỳ vọng giá hồi về VWAP trong nửa phiên còn lại. Long khi price < VWAP × 0.985, short khi price > VWAP × 1.015. Exit tại VWAP hoặc cuối phiên.

Code Python.

python
def vwap_intraday(df):
    """df: OHLCV 1-min, reset mỗi phiên."""
    tp = (df['high'] + df['low'] + df['close']) / 3
    pv = tp * df['volume']
    vwap = pv.groupby(df.index.date).cumsum() / df['volume'].groupby(df.index.date).cumsum()
    return vwap

def vwap_divergence_signal(df, threshold=0.015):
    vwap = vwap_intraday(df)
    div = df['close'] / vwap - 1
    signal = pd.Series(0, index=df.index)
    signal[div < -threshold] = 1
    signal[div > threshold] = -1
    return signal

QuantConnect setup. Dùng built-in indicator self.VWAP("VN30F2412", Resolution.Minute) hoặc tự tính. Filter thêm bằng volume ratio (chỉ trade khi volume > 1.2× volume trung bình cùng thời điểm các phiên trước) để tránh giả tín hiệu trên phiên thanh khoản thấp.

Powered by dautu.tech