Phân tích định lượng thị trường chứng khoán Việt Nam — Bản đồ từ trực giác đến thuật toán
Hướng dẫn chuyên sâu phân tích định lượng TTCK Việt Nam: từ lý thuyết đến backtest thực chiến. Lượng hoá SMC, Wyckoff, multi-factor. 14 năm dữ liệu, Sharpe 0,92-1,01.
Thị trường tài chính chưa bao giờ là nơi có chỗ cho cảm xúc hay những quyết định cảm tính. Tuy nhiên, thực tế là phần lớn nhà đầu tư cá nhân hiện nay vẫn đang giao dịch dựa trên trực giác, tin tức nhiễu loạn hoặc những đường vẽ kỹ thuật mang nặng tính chủ quan. Kết quả là một vòng lặp tâm lý: hưng phấn, hoảng loạn, và cuối cùng là bào mòn tài khoản.
Câu hỏi đặt ra: Các quỹ phòng hộ (Hedge Funds) và dòng tiền lớn (Smart Money) làm cách nào để duy trì lợi nhuận ổn định qua từng chu kỳ thị trường? Câu trả lời không nằm ở việc họ “đoán” đúng xu hướng giỏi hơn chúng ta. Bí quyết của họ nằm ở Phân tích Định lượng (Quantitative Analysis) — nghệ thuật biến dữ liệu thị trường thành các mô hình toán học và thuật toán giao dịch lạnh lùng, kỷ luật với kỳ vọng lợi nhuận (Expectancy) dương tính.
Trong bài viết chuyên sâu này, tôi gạt bỏ những lý thuyết hàn lâm sáo rỗng để mang đến một góc nhìn thực chiến. Được đúc kết từ quá trình xây dựng, backtest và vận hành các hệ thống giao dịch tự động (Python + MQL5) trên TTCK Việt Nam 14 năm, bài viết sẽ bóc tách:
- Phân tích định lượng thực sự là gì và vì sao nó là “vũ khí tối thượng” để loại bỏ cảm xúc
- Cách lượng hoá các trường phái giao dịch kinh điển (SMC, Wyckoff, VSA) thành bộ quy tắc code được
- Quy trình backtest đúng chuẩn quỹ để xác định win-rate chính xác trước khi nạp tiền thật
- 3 chiến lược đã kiểm chứng 14 năm — sống sót qua mọi regime, Sharpe 0,70–1,01
Nếu bạn đã sẵn sàng nâng cấp tư duy từ “người dự đoán” thành “nhà quản trị xác suất”, đây chính là bản đồ dành cho bạn.
Tóm tắt nhanh
- Định lượng ≠ phức tạp: bản chất là biến mỗi quyết định thành công thức có thể test được
- 95% nhà đầu tư cá nhân VN thua — nguyên nhân không phải “thiếu thông tin”, mà là thiên kiến tâm lý có thể đo lường
- 3 trụ cột: Data (dữ liệu sạch) → Model (logic toán) → Execution (tự động hoá)
- Backtest đúng chuẩn cần 5 bước: cleaning data → signal → backtest IS → walk-forward OOS → paper trading trước khi live
- Các chỉ số phải biết: Sharpe, Sortino, Max DD, Profit Factor, Calmar, Deflated Sharpe
- Sai lầm phổ biến: look-ahead bias, survivorship bias, overfit, data snooping, slippage underestimate
- Lộ trình tự học 12 tháng cho người mới: Python → Pandas → Backtesting → Risk Management → Live
1. Phân tích định lượng là gì? — định nghĩa không hàn lâm
Phân tích định lượng (Quantitative Analysis) là phương pháp sử dụng dữ liệu số và mô hình toán học để ra quyết định đầu tư — thay thế cho quyết định cảm tính.
Ba yếu tố cốt lõi phân biệt định lượng với phân tích truyền thống:
Chủ quan · cảm xúc · khó test
Khách quan · kỷ luật · reproducible
Ví dụ cụ thể để thấy khác biệt:
Trader truyền thống: “Tôi thấy HPG có mô hình hai đáy đẹp, RSI phân kỳ, tin tốt đã ra. Tôi MUA.”
Quant trader: “HPG có RS score 88 (top 10%), composite score 0.71, đã break kênh xu hướng với volume > 2× MA20, thuộc ngành Thép đang trong quadrant Leading. Mô hình multi-factor của tôi đạt Sharpe 1.01 trên setup này. Entry tại 27,850 với stop ở MA20. Size 3% NAV theo Kelly fraction.”
Cùng kết quả (mua HPG) nhưng quy trình hoàn toàn khác: - Trader truyền thống: 1 quyết định, không lặp lại được - Quant trader: 1 trong 1000 tín hiệu từ mô hình, kỳ vọng lợi nhuận +R đã tính toán
2. Tại sao 95% nhà đầu tư cá nhân VN thua?
Không phải vì thiếu thông tin. Thời đại 4.0, data miễn phí khắp nơi. Thua vì thiên kiến tâm lý (cognitive biases) — có thể đo lường và chứng minh bằng data.
Cơ chế phá huỷ:
- FOMO: mua đỉnh khi thấy bạn bè khoe lãi → thường gãy 10-20% ngay sau
- Loss aversion: “hold cho nó về bờ” → cut loss không dứt khoát → lỗ lớn hơn mức chịu đựng
- Confirmation bias: chỉ đọc tin ủng hộ giả thuyết của mình → bỏ qua cảnh báo rủi ro
- Anchoring: neo giá mua 50, không chịu bán ở 40 dù phá kỹ thuật → mất tiếp về 30
Tại sao định lượng giải quyết? Vì mọi quyết định đã được lập trình SẴN trước khi vào lệnh. Bạn không “chọn” — bạn tuân theo quy tắc. Cảm xúc bị cắt đứt khỏi chu trình.
3. Ba trụ cột của Quant Trading
3.1. Data — nguyên liệu thô
Trader truyền thống dùng biểu đồ + tin tức. Quant trader dùng 4 lớp dữ liệu:
- Giá OHLCV (Open/High/Low/Close/Volume) — nền tảng. Cần ≥ 10 năm để backtest đáng tin.
- Fundamentals — P/E, ROE, D/E, doanh thu quý, tăng trưởng EPS. VN có từ CafeF, Vietstock, công bố DN.
- Macro — lãi suất, M2, tỷ giá USD/VND, GDP, CPI. Nguồn: World Bank, SBV, Bloomberg.
- Alternative data — tin tức sentiment, Google Trends, số tài khoản mở mới. Phức tạp nhưng có edge.
Dữ liệu không sạch là lý do #1 khiến backtest cho kết quả "giả" tốt. Các vấn đề phổ biến: survivorship bias (chỉ có mã còn niêm yết, bỏ qua FLC, ROS đã huỷ), look-ahead bias (dùng P/E tại thời điểm đó nhưng P/E chỉ công bố 45 ngày sau), split/dividend chưa adjust. Luôn verify data trước khi backtest.
3.2. Model — logic có edge
Đây là bí quyết khác biệt giữa quỹ thắng và quỹ thua. Có 4 lớp model phổ biến ở TTCK VN:
Layer 1 — Factor models (ưu tiên cho người mới) - Fama-French 3-factor (Market + Size + Value) — Nobel 2013 - Fama-French 5-factor (thêm Profitability + Investment) - Multi-factor composite: Value + Quality + Momentum
Layer 2 — Time-series models - Mean reversion (Bollinger Bands + stat arb) - Momentum (cross-sectional + time-series) - Calendar effects (Tết window, day-of-week — xem bài chi tiết)
Layer 3 — Microstructure - Order flow imbalance (bid vs ask pressure) - Volume profile analysis - SMC (Smart Money Concepts) — Fair Value Gap, Order Block
Layer 4 — Machine Learning - Random Forest / XGBoost cho stock picking - LSTM cho price prediction (cẩn trọng overfit) - Reinforcement Learning cho position sizing
3.3. Execution — tự động hoá
Model dù tốt đến đâu cũng vô dụng nếu thực thi cảm tính. Tự động hoá qua:
- Python — Pandas, NumPy cho backtest. Thư viện khuyến nghị: Backtrader, vectorbt, Zipline
- MQL5 / MQL4 — cho Forex + Gold (XAUUSD). EA tự động chạy 24/5
- Broker API — VPS Securities FastConnect, SSI FastConnect (cần license institutional)
- Webhook + Bot — Telegram gửi tín hiệu, trader thực thi bằng 1 click
4. Lượng hoá SMC, Wyckoff, VSA — ví dụ code thật
Các trường phái này có thể code được. Dưới đây là cách tôi lượng hoá 3 concepts chính từ SMC:
4.1. Fair Value Gap (FVG)
Định nghĩa truyền thống: khoảng trống giá do impulsive move tạo ra.
Định nghĩa định lượng:
- Với 3 nến liên tiếp (bar[i-1], bar[i], bar[i+1])
- Bullish FVG: bar[i-1].high < bar[i+1].low → gap giữa high của nến trước và low của nến sau
- Strength: (bar[i+1].low - bar[i-1].high) / ATR(14)
- Signal valid: strength ≥ 0.3 ATR VÀ volume nến giữa ≥ 1.5× MA(20)
Code Python:
def detect_fvg(df, i, atr_col='atr14'):
bull_gap = df['low'].iloc[i+1] - df['high'].iloc[i-1]
if bull_gap > 0.3 * df[atr_col].iloc[i]:
if df['volume'].iloc[i] > 1.5 * df['volume_ma20'].iloc[i]:
return {'type': 'bull_fvg', 'strength': bull_gap / df[atr_col].iloc[i]}
return None
4.2. Order Block
Định lượng hoá: - Tìm nến trước một impulsive move mạnh (move ≥ 2× ATR) - Nếu nến đó là nến đỏ → bullish Order Block tại range của nó - Nếu nến đỏ + volume > 1.5× MA20 → mức độ tin cậy cao hơn - Order Block invalidate khi giá phá support (swing low) theo sau
4.3. Break of Structure (BoS)
Định lượng hoá: - Xác định pivot high/low bằng thuật toán fractal (5 bars) - Bullish BoS: giá close trên pivot high gần nhất + volume confirm - Sau BoS, đo độ mạnh bằng distance từ entry đến stop
Kết quả backtest SMC trên VN30 (2020-2025): Win rate 62%, Profit Factor 1.8 trước phí — sau phí 1.3, Sharpe 0.7. Không phải “holy grail” nhưng có edge nhỏ ổn định.
5. Quy trình backtest đúng chuẩn — 5 bước
Đây là nơi 90% quant trader bắt đầu mất tiền: backtest sai.
Bước 1 — Clean data
- Adjust split/dividend
- Remove symbols bị huỷ niêm yết NHƯNG giữ data của chúng đến ngày huỷ (tránh survivorship bias)
- Point-in-time snapshots: dùng fundamental tại thời điểm thật được công bố (không phải bây giờ)
Bước 2 — Signal rules
- Viết rules bằng pseudo-code trước, rồi mới code Python
- Định nghĩa rõ: entry, exit, stop, size, rebalance frequency
- Test edge case: không data, weekend, holiday
Bước 3 — Backtest In-Sample
- Chạy trên 70% dữ liệu đầu (ví dụ 2012-2020)
- Output: Sharpe, Max DD, Profit Factor, Win Rate
- Không tinh chỉnh tham số ở đây
Bước 4 — Walk-forward Out-of-Sample
- Giữ 30% cuối (2021-2026) ẩn
- Chạy chiến lược với tham số đã cố định từ IS
- So sánh Sharpe IS vs OOS:
- OOS / IS > 0.7 → chiến lược bền vững
- OOS / IS < 0.5 → dấu hiệu overfit, bỏ
Bước 5 — Paper trading
- Chạy live KHÔNG nạp tiền thật trong 30-60 ngày
- Log mọi tín hiệu + kết quả
- So sánh với backtest: nếu lệch > 20% → debug
6. Các chỉ số đánh giá chiến lược — phải biết
Chỉ số nâng cao cho quỹ lớn:
- Deflated Sharpe Ratio (Bailey & López de Prado 2014) — điều chỉnh Sharpe cho multiple-testing bias. Quan trọng khi bạn test nhiều chiến lược.
- Monte Carlo Ruin Probability — xác suất tài khoản mất > 30% trong 1 năm (cần < 5%)
- Tail Ratio — tỷ lệ lãi cực trị / lỗ cực trị (tốt > 1.0)
7. Ba chiến lược đã kiểm chứng 14 năm trên TTCK VN
Sau 3 năm nghiên cứu và backtest 15+ chiến lược, 3 cái survive thật sự:
7.1. Tết Window Strategy (Sharpe 0,92)
Mua VN30 trong cửa sổ 05/01 – 21/02 dương lịch, bán cuối cửa sổ. WR 80% qua 15 năm. Cơ chế: kiều hối + cổ tức + tâm lý “đầu năm” — structural, không phải noise.
→ Đọc chi tiết Tết Window và phân tích theo ngành
7.2. Sector Rotation (Sharpe IS 1,12 · OOS 0,50)
Mỗi tháng long 2 ngành có momentum 6M cao nhất, rebalance đều. Alpha +19pp/năm vs VN-Index buy-and-hold. Nhược: DD sâu 2022 (−44%).
7.3. Multi-Factor Composite (Sharpe 0,70)
Composite = 35% Value + 35% Quality + 30% Momentum. Alpha khiêm tốn (+5,4%/năm trước adjust) nhưng stable qua mọi regime.
→ Báo cáo tổng hợp 14 năm 15 chiến lược
Trong 15 chiến lược đã test, 12 chiến lược thất bại sau khi áp chi phí giao dịch thực tế: cross-sectional momentum, daily mean reversion, Wednesday-only long, pair trading, v.v. Công bố cả chiến thắng và thất bại là cốt lõi của nghiên cứu trung thực.
8. Sai lầm phổ biến khiến backtest “đẹp” thành thua lỗ thật
Cảnh báo cụ thể cho TTCK VN
-
T+2,5 settlement: cổ phiếu mua hôm nay không thể bán lại cho đến T+3. Nhiều backtest sai khi giả định T+0.
-
Biên độ ±7% HOSE: nếu chiến lược cần mua khi giá vượt +8% trong phiên → lệnh không khớp trong thực tế.
-
Phí cao: Commission 0,15% × 2 + thuế 0,1% khi bán + phí lưu ký. Tổng ≥ 0,45% round-trip. Chiến lược trade hàng ngày thua 20%+/năm do phí.
-
Thanh khoản hạn chế mid-cap: volume < 5 tỷ/ngày có slippage 80-100bps thật sự.
-
Dividend không tái đầu tư: nhiều tool backtest default không tính dividend → sai lệch 3-5%/năm.
9. Lộ trình tự học quant trong 12 tháng
Tháng 1-3: Foundation
- Python cơ bản (Codecademy, free)
- Pandas + NumPy (3 weeks intensive)
- Lý thuyết xác suất + thống kê cơ bản
Tháng 4-6: Tài chính + Backtesting
- Đọc Quantitative Trading của Ernie Chan
- Học Backtrader hoặc vectorbt (Python libraries)
- Backtest chiến lược đơn giản đầu tiên: Moving Average Crossover
Tháng 7-9: Các chiến lược nâng cao
- Factor investing (Fama-French)
- Risk management: Kelly criterion, VaR, Monte Carlo
- Bắt đầu paper trading
Tháng 10-12: Live + Scaling
- Go live với size nhỏ (5-10% NAV)
- Theo dõi log, review mỗi tuần
- Scale up dần nếu kết quả khớp backtest
Tài nguyên free: - QuantConnect — cloud backtest platform - Kaggle Finance datasets — practice data - r/algotrading — community Q&A - vnstock GitHub — API Việt Nam
10. Khi nào nên DIY, khi nào nên outsource?
DIY phù hợp nếu: - Có thời gian ≥ 10h/tuần - Biết Python hoặc sẵn sàng học - NAV < 100 triệu (không đủ để trả dịch vụ premium) - Mục tiêu: học quant hơn là kiếm tiền ngay
Outsource (gói dịch vụ) phù hợp nếu: - Không có thời gian nghiên cứu/debug - NAV 100-500 triệu → phí dịch vụ < 1% tổng giá trị - Mục tiêu: có tín hiệu dùng ngay, không care cơ chế
P.Thai Capital cung cấp 3 gói dịch vụ định lượng cho 3 profile khác nhau: - Quant Explorer — dashboard + tín hiệu EOD (miễn phí với IB VPS 9836, hoặc 299k/tháng) - Alpha Execution — tín hiệu realtime + bot Telegram (1.199k/tháng) - Institutional Partner — custom quant model, private booking
11. Câu hỏi thường gặp
Q: Cần học Python không? A: Nếu muốn tự backtest → CÓ. Nếu chỉ dùng tín hiệu có sẵn → KHÔNG. Excel + web dashboard đủ cho người dùng tín hiệu.
Q: Backtest tốt có đảm bảo live tốt không? A: KHÔNG. Backtest tốt là điều kiện cần, không đủ. Cần thêm walk-forward + paper trading 30-60 ngày.
Q: Sharpe bao nhiêu thì đủ tốt cho TTCK VN? A: > 0.7 là chấp nhận được, > 1.0 là tốt, > 1.5 nghi overfit cần verify lại.
Q: Nên trade intraday hay dài hạn? A: Đa số retail thua intraday do chi phí giao dịch. Cuối tuần, swing 3-10 ngày, hoặc monthly rebalance (composite) — phù hợp hơn.
Q: Quant có thay thế hoàn toàn phân tích cơ bản không? A: KHÔNG. Factor investing (Value, Quality) chính là phân tích cơ bản định lượng hoá. Kết hợp 2 trường phái tạo alpha bền vững nhất.
12. Kết luận — bản đồ của bạn từ đây
Phân tích định lượng không phải là phép màu. Nó là kỷ luật hệ thống hoá: biến mỗi quyết định thành công thức test được, rồi tuân thủ công thức đó ngay cả khi cảm xúc muốn làm ngược lại.
Ở TTCK Việt Nam, nơi 85% giao dịch do retail cảm tính dominates, quant trader có lợi thế đáng kể. Không phải vì quant thông minh hơn — mà vì quant nhất quán trong khi đa số retail thua do không nhất quán.
Nếu bạn đọc đến đây, bạn đã làm được điều mà 99% NĐT cá nhân VN chưa bao giờ làm: hiểu cơ chế tạo ra alpha. Bước tiếp theo tuỳ bạn:
- Bắt đầu tự học — theo lộ trình 12 tháng ở mục 9
- Dùng dịch vụ có sẵn — xem 3 gói của P.Thai
- Đọc thêm nghiên cứu — báo cáo tổng hợp 14 năm TTCK VN
Trong mọi trường hợp, ghi nhớ: “Past performance is not indicative of future results” — quá khứ tốt không đảm bảo tương lai tốt. Quant trading là nghệ thuật quản trị xác suất + kỷ luật, không phải săn lùng chắc chắn.
Hashtag
Core keywords:
PhanTichDinhLuong #QuantitativeAnalysis #QuantTrading #GiaoDichDinhLuong #DauTuTheoDuLieu
Long-tail (dễ rank Google):
BacktestChienLuoc #ThuatToanGiaoDich #PythonTradingVN #HeThongGiaoDichTuDong #ScreenerCoPhieu #MQL5Vietnam #QuantVietNam
Kết hợp phương pháp:
SmartMoneyConcepts #OrderFlowAnalysis #WyckoffTheory #VolumeSpreadAnalysis #FamaFrench #MultiFactorInvesting
Thị trường VN:
VNIndex #HOSE #CoPhieuVietNam #VN30 #ChungKhoanVietNam #TTCKVietNam #PTCapital
Đây là bài pillar (cornerstone content) — bản đồ chủ đạo dẫn đến tất cả các bài chuyên sâu khác. Nếu bạn có câu hỏi cụ thể về chiến lược, viết comment hoặc liên hệ qua Telegram @P.thaicap.
Miễn trừ trách nhiệm: Nội dung mang tính phân tích định lượng, không phải khuyến nghị đầu tư. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.
Áp dụng vào tài khoản thật?
Mở tài khoản chứng khoán qua mã giới thiệu — nhận tư vấn 1-1, DIAMOND signal VN30 miễn phí 6 tháng, ưu đãi phí giao dịch.
CTCK VPS Securities
- Mã IB: 9836 (mở online 15 phút)
- Phí 0.15% · margin 13%/năm
- + DIAMOND signal VN30 — 6 tháng
- + Tư vấn cơ cấu danh mục 1-1
Gói VIP / DIAMOND
- Tín hiệu VN30 + Midcap hằng phiên
- Backtest 5-15 năm minh bạch
- Báo cáo NAV hằng tháng
- Workshop định lượng hằng tháng
⚠️ Giao dịch chứng khoán có rủi ro mất vốn. Chỉ đầu tư số tiền bạn có thể chịu mất. P.Thai Capital không khuyến nghị mua/bán cụ thể và không bảo lãnh lợi nhuận.
Lý thuyết bài này có thể test trên dữ liệu của bạn:
P.Thai Capital