Time Series Momentum — Momentum Trên Chính Tài Sản Đó
Tác giả: Tobias Moskowitz, Yao Hua Ooi, Lasse Heje Pedersen (2012) Nguồn: Journal of Financial Economics, Vol. 104, No. 2 Tag:
mới:2026-05-16#tsmom#trend-following#cta
Nội dung chính (Core Concept)
Trước bài này, "momentum" thường được hiểu là cross-sectional momentum (Jegadeesh & Titman 1993): mua winners, bán losers so với phần còn lại của vũ trụ tài sản. Moskowitz, Ooi & Pedersen (MOP) chứng minh một dạng đơn giản hơn nhưng mạnh mẽ không kém: Time Series Momentum (TSMOM) — return 12 tháng qua của chính tài sản đó có độ tự tương quan dương với return tháng tiếp theo, trên cả 58 hợp đồng tương lai từ equities, currencies, bonds, đến commodities.
Nói khác đi: nếu một tài sản đã tăng trong 12 tháng qua, kỳ vọng nó tiếp tục tăng (trung bình) trong tháng tới — bất kể nó đứng đâu so với các tài sản khác. Sau khi adjust scale theo 1/σ (inverse volatility), một portfolio TSMOM diversified across 58 futures đạt Sharpe ~1.5, gần như không tương quan với equities (correlation ~0).
MOP cho rằng đây là bằng chứng đầu tiên xuyên suốt asset classes về behavioral finance: initial under-reaction → delayed over-reaction, hoặc tương đương: speculators trade on shorter timescales (1-3 tháng) gây over-reaction, sau đó hedgers cân bằng (12+ tháng).
Ý tưởng chính cho giao dịch (Key Trading Insight)
Đây là bộ xương của ngành CTA / Managed Futures. Quy tắc cơ bản:
- Signal:
sign(r_{t-12:t})— chỉ cần dấu của 12-month return. - Sizing:
position_t = sign × (target_vol / σ_t). Inverse vol để giữ vol đóng góp như nhau giữa các tài sản. - Holding: 1 tháng, rebalance.
- Diversify: 30-50+ contracts để giảm idiosyncratic noise.
MOP cũng cho thấy lookback 1-12 tháng đều hoạt động, nhưng dài hơn 24 tháng thì đảo chiều (de Bondt-Thaler 1985 — long-term reversal).
Ứng dụng trên VN30F
Đối với VN30F single-asset (chưa thể diversify cross-market):
- Daily TSMOM filter: tính
r_{t-126:t}(~6 tháng giao dịch). Long khi > 0, short khi < 0. - Inverse vol sizing: scale notional theo
1/σ_t(GARCH or 60-day rolling std). - Ghép với intraday: dùng TSMOM chỉ làm directional bias cho intraday signals (vd. chỉ long-side OFI khi TSMOM > 0).
- Multi-lookback ensemble: trung bình các signal lookback 21d, 63d, 126d, 252d để giảm whipsaw — gần với Asness, Moskowitz & Pedersen 2013.
Lưu ý: trên một asset duy nhất, Sharpe TSMOM chỉ ~0.4-0.6 (raw signal); giá trị thực sự xuất hiện khi diversify. Trên VN30F, hãy kết hợp với US equity TSMOM (qua ES1!) hoặc dùng làm filter.
Code minh họa (Python)
import numpy as np
import pandas as pd
def tsmom_signal(prices: pd.Series, lookback_days: int = 126) -> pd.Series:
"""Dấu của return trong lookback_days qua."""
log_p = np.log(prices)
ret = log_p - log_p.shift(lookback_days)
return np.sign(ret)
def inverse_vol_size(returns: pd.Series, target_annual_vol: float = 0.15,
vol_window: int = 60) -> pd.Series:
"""Position scale ∝ 1/σ_t."""
rolling_vol = returns.rolling(vol_window).std() * np.sqrt(252)
return target_annual_vol / rolling_vol
def tsmom_strategy(prices: pd.Series, lookback: int = 126,
target_vol: float = 0.15) -> pd.DataFrame:
rets = np.log(prices).diff()
signal = tsmom_signal(prices, lookback)
size = inverse_vol_size(rets, target_vol)
position = signal * size # signed and scaled
strategy_ret = position.shift(1) * rets # avoid lookahead
out = pd.DataFrame({
'price': prices, 'signal': signal,
'position': position, 'strategy_ret': strategy_ret,
})
sharpe = strategy_ret.mean() / strategy_ret.std() * np.sqrt(252)
print(f'TSMOM Sharpe (lookback={lookback}): {sharpe:.2f}')
return out
# Ensemble: average signals over 21d, 63d, 126d, 252d
def tsmom_ensemble(prices: pd.Series, lookbacks=(21, 63, 126, 252)) -> pd.Series:
sigs = pd.concat([tsmom_signal(prices, lb) for lb in lookbacks], axis=1)
return sigs.mean(axis=1)Tài liệu tham khảo
- Moskowitz, T. J., Ooi, Y. H., & Pedersen, L. H. (2012). Time series momentum. Journal of Financial Economics, 104(2), 228-250.
- Asness, C. S., Moskowitz, T. J., & Pedersen, L. H. (2013). Value and momentum everywhere. J. of Finance, 68(3), 929-985.
- Hurst, B., Ooi, Y. H., & Pedersen, L. H. (2017). A Century of Evidence on Trend-Following Investing. AQR White Paper.