Giới thiệu dự án
Tối ưu hóa danh mục đầu tư là trụ cột nền tảng của tài chính định lượng (Quantitative Finance) kể từ khi Harry Markowitz công bố Lý thuyết Danh mục Đầu tư Hiện đại (Modern Portfolio Theory - MPT) vào năm 1952. Mô hình Trung bình - Phương sai (Mean-Variance Model - MVM) nguyên bản đặt ra tiền đề toán học chặt chẽ để tìm kiếm tỷ trọng phân bổ tài sản tối ưu nhằm cực đại hóa lợi nhuận kỳ vọng trên một mức rủi ro xác định. Tuy nhiên, khi ứng dụng vào thực tế các thị trường tài chính hiện đại — đặc biệt là các thị trường chứng khoán mới nổi (Emerging Markets) có số lượng mã cổ phiếu lớn và độ biến động cao — mô hình truyền thống bộc lộ những khiếm khuyết mang tính hệ thống.
Vấn đề cốt lõi phát sinh từ ma trận hiệp phương sai mẫu (Sample Covariance Matrix - SCM). Khi số lượng tài sản phân tích ($N$) gia tăng tiệm cận hoặc vượt quá độ dài chuỗi dữ liệu lịch sử quan sát ($T$), ma trận SCM rơi vào tình trạng suy biến, bất ổn định thống kê và không thể nghịch đảo được — hiện tượng được giới học thuật định danh là "nghịch lý Markowitz" (Markowitz Curse). Sai số ước lượng trong ma trận hiệp phương sai mẫu khuếch đại cực lớn, khiến bộ tối ưu hóa phân bổ tỷ trọng bất hợp lý vào các tài sản có phương sai mẫu thấp giả tạo do nhiễu dữ liệu. Đồng thời, mô hình tối ưu cổ điển hoàn toàn thụ động trước các chu kỳ biến động xu hướng trung và dài hạn của thị trường, dẫn đến hiện tượng sụt giảm tài sản nghiêm trọng khi thị trường bước vào pha giảm giá (downtrend).
Đồ án khóa luận tốt nghiệp "Xây dựng danh mục đầu tư tối ưu dựa trên sự kết hợp giữa mô hình co ngót chỉ số duy nhất và phân tích kỹ thuật" của tác giả Nguyễn Ngọc Huy (hướng dẫn khoa học: TS. Nguyễn Duy Linh, Trường Đại học Ngân hàng TP. Hồ Chí Minh) đã giải quyết triệt để bài toán trên bằng cách phát triển một khung chiến lược định lượng lai (hybrid quantitative strategy).
Mục tiêu dự án
- Hệ thống hóa và hiệu chỉnh toán học: Tích hợp phương pháp ước lượng co ngót tuyến tính hướng về mô hình chỉ số đơn (Shrinkage towards Single Index Model - SSIM) do Ledoit & Wolf (2003) đề xuất để khử nhiễu và ổn định ma trận hiệp phương sai đa chiều.
- Thiết lập bộ lọc xu hướng động học: Kết hợp các chỉ báo phân tích kỹ thuật đường trung bình động giản đơn (SMA) và đường trung bình động lũy thừa (EMA) chu kỳ 50/200 ngày để chủ động loại trừ các mã cổ phiếu nằm trong xu hướng giảm trước khi đưa vào không gian tối ưu.
- Hiện thực hóa bộ máy kiểm định backtesting thực tế: Xây dựng thuật toán tối ưu danh mục phương sai tối thiểu toàn cầu (Global Minimum Variance Portfolio - GMVP) theo cơ chế cuộn vùng dữ liệu (rolling-horizon) trên thị trường chứng khoán Việt Nam (HOSE), tích hợp chi phí ma sát giao dịch thực tế 0,3%.
Phạm vi và giới hạn
- Không gian dữ liệu: Toàn bộ cổ phiếu niêm yết trên Sở Giao dịch Chứng khoán TP. Hồ Chí Minh (HOSE) giai đoạn 2010 – 2023 (quy mô biến thiên từ 260 đến 407 mã), loại trừ các cổ phiếu có thời gian niêm yết dưới 2 năm sau IPO để loại bỏ tính phi chuẩn của giai đoạn đầu phát hành.
- Thời gian kiểm định: Tổng cộng 770 tuần dữ liệu; trong đó giai đoạn khởi tạo trong mẫu (in-sample) gồm 152 tuần (01/2010 – 01/2013) và giai đoạn kiểm định ngoài mẫu (out-of-sample) cuộn liên tục qua 618 tuần (01/2013 – 12/2023).
- Ràng buộc giao dịch: Áp dụng vị thế chỉ mua nắm giữ (long-only, trọng số $w_i \ge 0, \sum w_i = 1$), phù hợp với quy định pháp lý hiện hành của thị trường chứng khoán Việt Nam (chưa cho phép bán khống cổ phiếu cơ sở).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trong quản lý danh mục định lượng, các phương pháp ước lượng rủi ro truyền thống bộc lộ những hạn chế rõ rệt khi đối mặt với dữ liệu tài chính đa chiều có độ nhiễu cao.
| Phương pháp ước lượng |
Ưu điểm cốt lõi |
Nhược điểm chí mạng |
Tính khả thi với $N \ge 200$ |
| Ma trận Hiệp phương sai Mẫu (SCM) |
Không thiên lệch (unbiased) dưới giả định phân phối chuẩn; dễ tính toán qua công thức OLS. |
Nhạy cảm cực cao với ngoại lai; ma trận suy biến khi $N > T$; sai số ước lượng phân tán cực lớn. |
Kém (Không ổn định) |
| Mô hình Chỉ số Đơn (SIM) |
Giảm số lượng tham số cần ước lượng từ $N(N+1)/2$ xuống $2N+1$; cấu trúc bền vững. |
Giả định phi thực tế rằng tương quan giữa các cổ phiếu chỉ đến từ thị trường chung ($\text{Cov}(\epsilon_i, \epsilon_j) = 0$). |
Trung bình |
| Mô hình Tương quan Không đổi (CCM) |
Ổn định cấu trúc với tập dữ liệu nhỏ ($N < 100$); giảm thiểu phương sai ước lượng. |
Triệt tiêu hoàn toàn tính đa dạng tương quan giữa các cặp ngành nghề riêng biệt. |
Thấp |
| Danh mục Trọng số Bằng nhau ($1/N$) |
Không phụ thuộc vào tham số ước lượng; loại trừ hoàn toàn sai số mô hình. |
Bỏ qua toàn bộ thông tin về rủi ro và tương quan; hiệu quả điều chỉnh rủi ro thấp. |
Cao nhưng kém tối ưu |
| Co ngót Tuyến tính (SSIM) |
Cân bằng tối ưu giữa độ lệch (bias) và phương sai (variance) qua hàm tổn thất bậc hai; luôn khả nghịch. |
Đòi hỏi thuật toán tối ưu hóa phức tạp để xác định cường độ co ngót tối ưu $\delta^*$. |
Rất cao (Vượt trội) |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must Have (Bắt buộc có):
- Thuật toán ước lượng ma trận hiệp phương sai co ngót tuyến tính SSIM theo chuẩn Frobenius Norm Loss.
- Bộ giải quy hoạch phi tuyến bậc hai (Quadratic Programming) giải bài toán GMVP với ràng buộc không bán khống.
- Bộ lọc phân tích kỹ thuật cắt đường trung bình MA: lọc cổ phiếu thỏa mãn $\text{MA}{50} > \text{MA}{200}$.
- Cơ chế kiểm định cuộn cửa sổ (Rolling-horizon window) với độ trễ chính xác, không vi phạm lỗi nhìn trước tương lai (look-ahead bias).
- Khấu trừ phí ma sát giao dịch cố định 0,3% trên mỗi chu kỳ tái cơ cấu danh mục.
- Should Have (Nên có):
- So sánh đối sánh hiệu năng phân kỳ giữa hai dạng đường trung bình: SMA (Simple Moving Average) và EMA (Exponential Moving Average).
- Bộ chỉ số đánh giá rủi ro toàn diện: Sharpe Ratio, Maximum Drawdown (MDD), Portfolio Turnover (PT), Jensen's Alpha, Win Rate.
- Could Have (Có thể có):
- Trực quan hóa đường cong vốn tích lũy (Cumulative Equity Curve) và biểu đồ phân bổ trọng số theo thời gian thực.
- Won't Have (Chưa thực hiện ở pha này):
- Tối ưu hóa tần suất tái cân bằng nội ngày (Intraday High-Frequency Rebalancing).
+-----------------------------------------------------------------------------------+
| HỆ THỐNG ĐỊNH LƯỢNG HYBRID |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 1. DATA INGESTION & PREPROCESSING |
| - 524 - 618 tuần dữ liệu giá đóng cửa điều chỉnh (Adjusted Close) |
| - Lọc Universe HOSE (loại trừ mã IPO < 2 năm) -> Tinh lọc 260 - 407 mã |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 2. TECHNICAL TREND FILTER LAYER |
| - Tính toán MA(50) và MA(200) (SMA/EMA) trên từng mã |
| - Điều kiện: Giữ lại cổ phiếu nếu MA(50) > MA(200); loại bỏ nếu ngược lại |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 3. COVARIANCE ESTIMATION (LEDOIT-WOLF SSIM) |
| - Tính ma trận mẫu SCM (S) và ma trận mục tiêu SIM (F) |
| - Tối ưu hóa Quadratic Loss: Sigma_Shrink = (1 - delta*)*S + delta**F |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 4. PORTFOLIO OPTIMIZATION (GMVP SOLVER) |
| - Min w^T * Sigma_Shrink * w s.t. sum(w_i) = 1, w_i >= 0 |
| - Xác định vector trọng số tối ưu w* |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 5. ROLLING-HORIZON BACKTESTING & ANALYTICS |
| - Thực thi tái cân bằng định kỳ hàng tuần |
| - Áp dụng phí giao dịch 0.3% trên Portfolio Turnover (PT) |
| - Đo lường: Annual Return, Volatility, Sharpe, MDD, Win Rate, Alpha |
+-----------------------------------------------------------------------------------+
Thiết kế hệ thống và Tech Stack
Hệ thống được thiết kế dạng pipeline xử lý dữ liệu module hóa cao với các thông số công nghệ tiêu chuẩn:
- Ngôn ngữ thực thi: Python 3.10+
- Xử lý ma trận & đại số tuyến tính:
numpy (v1.24.3), scipy.linalg (v1.10.1)
- Xử lý chuỗi thời gian & dữ liệu bảng:
pandas (v2.0.2)
- Tối ưu hóa lồi & quy hoạch bậc hai:
scipy.optimize (SLSQP / minimize), cvxpy (v1.3.2)
- Trực quan hóa dữ liệu:
matplotlib (v3.7.1), seaborn (v0.12.2)
Methodology
Quy trình nghiên cứu tuân thủ chặt chẽ phương pháp luận định lượng thực nghiệm (Empirical Quantitative Finance):
- Khung thời gian cuộn (Rolling Window Framework): Sử dụng độ dài cửa sổ ước lượng cố định $W = 152$ tuần để tính toán ma trận tương quan và xu hướng kỹ thuật, dự báo và nắm giữ cho tuần thứ $t+1$. Cửa sổ liên tục tịnh tiến từng bước (step size = 1 tuần) trên toàn bộ dải kiểm định $V = 618$ tuần.
- Kiểm soát rủi ro kiểm định: Tránh tuyệt đối lỗi người sống sót (Survivorship Bias) bằng cách lấy mẫu động tất cả cổ phiếu niêm yết thực tế tại từng thời điểm trong lịch sử; kiểm soát hoàn toàn Look-ahead Bias bằng cách chỉ sử dụng dữ liệu đóng cửa tính đến cuối ngày thứ Sáu tuần $t$ để phân bổ tỷ trọng cho tuần $t+1$.
Implementation và kết quả
Development Process & Key Algorithms
Hệ thống tích hợp 3 thuật toán hạt nhân:
1. Mô hình Co ngót Tuyến tính Chỉ số Đơn (Ledoit-Wolf SSIM)
Ma trận hiệp phương sai co ngót $\hat{\Sigma}_{Shrink}$ được xác định bằng tổ hợp tuyến tính lồi giữa ma trận hiệp phương sai mẫu $S$ và ma trận cấu trúc mục tiêu $F$ (được ước lượng qua Single Index Model):
$$\hat{\Sigma}_{Shrink} = (1 - \delta^) S + \delta^ F$$
Trong đó, ma trận mục tiêu $F = \hat{\Sigma}_{SIM}$ được cấu thành từ phương trình hồi quy thị trường:
$$r_{i,t} = \alpha_i + \beta_i r_{m,t} + \epsilon_{i,t} \implies \hat{\Sigma}{SIM} = \hat{\sigma}m^2 \beta \beta^T + \text{diag}(\hat{\sigma}{\epsilon_1}^2, \dots, \hat{\sigma}{\epsilon_N}^2)$$
Hệ số co ngót tối ưu $\delta^$ ($0 \le \delta^ \le 1$) được xác định tự động thông qua việc cực tiểu hóa hàm tổn thất bậc hai Frobenius Loss:
$$L(\delta) = |\delta F + (1 - \delta) S - \Sigma|_{Frobenius}^2$$
2. Tối ưu hóa Danh mục Phương sai Cực tiểu Toàn cầu (GMVP)
Để loại bỏ hoàn toàn sai số lớn phát sinh từ việc dự báo kỳ vọng lợi nhuận $\mu$, bài toán tối ưu chỉ tập trung giảm thiểu biến động phương sai của danh mục:
$$\min_{w} w^T \hat{\Sigma}{Shrink} w \quad \text{thỏa mãn} \quad \sum{i=1}^{N_{filtered}} w_i = 1, \quad w_i \ge 0 \quad \forall i$$
3. Bộ lọc Xu hướng Kỹ thuật (Moving Average Filter)
Tại thời điểm tái cân bằng, tập hợp cổ phiếu tối ưu hóa được tinh chọn:
$$\mathcal{U}t = { i \in \text{HOSE} \mid \text{MA}{50}(i, t) > \text{MA}_{200}(i, t) }$$
Dưới đây là đoạn mã nguồn Python triển khai thuật toán hạt nhân kết hợp giữa SSIM, bộ lọc MA và bộ giải tối ưu hóa GMVP có tính toán chi phí giao dịch:
import numpy as np
import pandas as pd
from scipy.optimize import minimize
def calculate_ssim_covariance(returns_df: pd.DataFrame, market_returns: pd.Series):
"""
Ước lượng Ma trận Hiệp phương sai Co ngót Tuyến tính (Ledoit-Wolf SSIM)
hướng về mô hình Single Index Model (SIM).
"""
T, N = returns_df.shape
X = returns_df.values
y = market_returns.values.reshape(-1, 1)
# 1. Ma trận hiệp phương sai mẫu (SCM)
sample_cov = np.cov(X, rowvar=False)
# 2. Ước lượng Single Index Model (SIM) qua OLS
cov_xm = np.cov(np.hstack((X, y)), rowvar=False)[:-1, -1]
var_m = np.var(y, ddof=1)
betas = cov_xm / var_m
alpha = np.mean(X, axis=0) - betas * np.mean(y)
residuals = X - (alpha + np.outer(y.flatten(), betas))
var_residuals = np.var(residuals, axis=0, ddof=1)
# Ma trận mục tiêu F
target_cov = var_m * np.outer(betas, betas) + np.diag(var_residuals)
# 3. Tính toán hệ số co ngót tối ưu delta*
# Ước lượng phi (phương sai bất đối xứng của SCM)
X_centered = X - np.mean(X, axis=0)
phi_mat = np.zeros((N, N))
for t in range(T):
diff = np.outer(X_centered[t], X_centered[t]) - sample_cov
phi_mat += diff ** 2
phi_hat = np.sum(phi_mat) / T
# Ước lượng gamma (khoảng cách Frobenius giữa S và F)
gamma_hat = np.linalg.norm(sample_cov - target_cov, 'fro') ** 2
# Cường độ co ngót tối ưu kappa / T
kappa = phi_hat
delta_star = max(0.0, min(1.0, (kappa / gamma_hat) / T)) if gamma_hat > 0 else 1.0
# Ma trận co ngót cuối cùng
shrunk_cov = (1 - delta_star) * sample_cov + delta_star * target_cov
return shrunk_cov
def optimize_gmvp(cov_matrix: np.ndarray) -> np.ndarray:
"""
Giải bài toán quy hoạch phi tuyến bậc hai GMVP: Long-only
"""
N = cov_matrix.shape[0]
initial_weights = np.ones(N) / N
bounds = tuple((0.0, 1.0) for _ in range(N))
constraints = ({'type': 'eq', 'fun': lambda w: np.sum(w) - 1.0})
def portfolio_variance(w):
return np.dot(w.T, np.dot(cov_matrix, w))
result = minimize(
portfolio_variance,
initial_weights,
method='SLSQP',
bounds=bounds,
constraints=constraints,
tol=1e-8
)
return result.x
def execute_rebalance(prices_df: pd.DataFrame, market_index: pd.Series,
current_weights: np.ndarray, fee_rate: float = 0.003):
"""
Quy trình tái cơ cấu danh mục hàng tuần tích hợp bộ lọc MA và phí giao dịch 0.3%
"""
# 1. Bộ lọc xu hướng kỹ thuật MA(50) > MA(200)
sma_50 = prices_df.iloc[-50:].mean(axis=0)
sma_200 = prices_df.iloc[-200:].mean(axis=0)
selected_assets = sma_50[sma_50 > sma_200].index.tolist()
if not selected_assets:
return np.zeros(prices_df.shape[1]), 0.0 # Chuyển sang giữ 100% tiền mặt
# 2. Lấy dữ liệu lợi nhuận các tài sản thỏa mãn
returns_subset = prices_df[selected_assets].pct_change().dropna()
market_returns = market_index.pct_change().dropna().loc[returns_subset.index]
# 3. Ước lượng ma trận SSIM & Tối ưu hóa GMVP
sigma_ssim = calculate_ssim_covariance(returns_subset, market_returns)
optimal_w_subset = optimize_gmvp(sigma_ssim)
# 4. Map trọng số về toàn bộ không gian tài sản
new_weights = np.zeros(prices_df.shape[1])
for idx, asset in enumerate(selected_assets):
asset_pos = prices_df.columns.get_loc(asset)
new_weights[asset_pos] = optimal_w_subset[idx]
# 5. Tính toán chi phí ma sát giao dịch dựa trên Portfolio Turnover (PT)
turnover = np.sum(np.abs(new_weights - current_weights)) / 2.0
transaction_cost = turnover * fee_rate
return new_weights, transaction_cost
Testing, Validation và Kết quả Đạt được
Chiến lược được kiểm định nghiêm ngặt ngoài mẫu trên chuỗi thời gian 11 năm (524 - 618 tuần từ 01/2013 đến 12/2023) với các dữ liệu giao dịch thực tế từ HOSE.
Bảng tổng hợp hiệu suất kiểm định ngoài mẫu (Out-of-sample Benchmark 2013 - 2023)
| Tiêu chí đo lường hiệu năng |
VN-Index (Thị trường) |
SCM - GMVP (Mẫu truyền thống) |
SSIM Đơn lẻ (Không lọc MA) |
SSIM + SMA (50/200) |
SSIM + EMA (50/200) (Chiến lược đề xuất) |
| Lợi nhuận TB hàng năm (Annual Return) |
10,24% |
13,85% |
18,42% |
22,65% |
24,18% |
| Độ biến động TB năm (Volatility) |
21,50% |
16,12% |
14,35% |
12,80% |
12,45% |
| Tỷ số Sharpe (Sharpe Ratio) |
0,48 |
0,86 |
1,28 |
1,77 |
1,94 |
| Sụt giảm tối đa (Maximum Drawdown - MDD) |
-46,30% |
-32,15% |
-24,60% |
-16,40% |
-14,85% |
| Tỷ lệ luân chuyển (Portfolio Turnover) |
0,00% |
45,20% |
38,10% |
28,40% |
25,60% |
| Tỷ lệ thắng theo tuần (Winning Rate) |
52,10% |
55,40% |
58,20% |
63,10% |
65,30% |
| Hệ số Alpha (Jensen's Alpha) |
0,00% |
+3,45% |
+7,80% |
+11,90% |
+13,40% |
TĂNG TRƯỞNG TÍCH LŨY (CUMULATIVE RETURN 2013 - 2023):
===================================================================================
SSIM + EMA (50/200): [##################################################] ~892.4%
SSIM + SMA (50/200): [########################################### ] ~774.1%
SSIM Đơn lẻ: [############################ ] ~505.2%
SCM - GMVP: [################# ] ~312.6%
VN-Index: [############ ] ~192.8%
===================================================================================
Phân tích kết quả chuyên sâu:
- Hiệu quả vượt trội của việc co ngót (SSIM vs SCM): Phương pháp SSIM đơn lẻ giúp tăng Sharpe Ratio từ 0,86 lên 1,28 và giảm MDD từ -32,15% xuống -24,60% so với phương pháp hiệp phương sai mẫu cổ điển. Việc co ngót ma trận về cấu trúc SIM đã khử bỏ các giá trị riêng giả mạo (spurious eigenvalues), ngăn chặn bộ tối ưu dồn tỷ trọng cực đoan vào các tài sản có phương sai ước lượng nhiễu.
- Sức mạnh hiệp đồng từ bộ lọc xu hướng MA: Khi kết hợp thêm bộ lọc kỹ thuật, hiệu năng danh mục có bước nhảy vọt. Lợi nhuận hàng năm đạt mức 24,18% (so với 10,24% của VN-Index), trong khi rủi ro sụt giảm tối đa (MDD) được nén chặt xuống chỉ còn -14,85% (giảm tới 67,9% biên độ sụt giảm so với mức -46,30% của thị trường chung trong các đợt sụp đổ lớn như giai đoạn 2018 và 2022).
- Ưu thế của đường trung bình lũy thừa (EMA): Chiến lược
SSIM + EMA cho kết quả nhỉnh hơn SSIM + SMA trên toàn bộ các thước đo (Sharpe 1,94 vs 1,77; Alpha 13,40% vs 11,90%). Trọng số hàm mũ của EMA giúp phản ứng nhanh hơn với các đảo chiều xu hướng ngắn hạn của thị trường Việt Nam, loại bỏ sớm các cổ phiếu bắt đầu bước vào chu kỳ phân phối.
- Kiểm soát chi phí ma sát: Dù chịu mức phí giao dịch 0,3% mỗi chu kỳ, tỷ lệ luân chuyển danh mục (Turnover) chỉ duy trì ở mức 25,60%/năm nhờ tính ổn định cao của ma trận SSIM, đảm bảo lợi nhuận thực nhận (net return) của nhà đầu tư không bị bào mòn.
Đổi mới và đóng góp
- Đột phá về mặt cấu trúc lai (Hybrid Paradigm): Đồ án là một trong những công trình tiên phong tại Việt Nam tích hợp thành công hai trường phái tưởng chừng đối lập: Tài chính định lượng thống kê bậc cao (Ledoit-Wolf Shrinkage Covariance) và Phân tích kỹ thuật thực chiến (Moving Average Trend Filter).
- Khắc phục triệt để "bẫy biến động thấp" (Low-Volatility Trap): Các mô hình GMVP truyền thống thường có xu hướng phân bổ vốn vào các cổ phiếu "trầm lắng", phòng thủ nhưng đang trong đà suy thoái dài hạn. Bộ lọc MA đóng vai trò như một tiền điều kiện động học (dynamic momentum gatekeeper), chỉ cho phép các cổ phiếu có xung lực tăng trưởng tham gia vào không gian tối ưu phương sai.
- Độ tin cậy thực nghiệm cao: Khác với các nghiên cứu học thuật thường giả định thị trường phi ma sát, nghiên cứu này tích hợp trực tiếp 0,3% chi phí giao dịch trên dữ liệu thực tế 11 năm của sàn HOSE, cung cấp bằng chứng thực nghiệm vững chắc cho việc ứng dụng công nghiệp.
- Cải thiện hiệu suất định lượng rõ rệt:
- Gia tăng tỷ số Sharpe gấp 4,04 lần so với chỉ số thị trường VN-Index.
- Cắt giảm mức sụt giảm tối đa (Maximum Drawdown) từ -46,30% xuống -14,85%.
- Tạo ra mức thặng dư Alpha hàng năm lên đến +13,40% trên thị trường cơ sở.
Ứng dụng thực tế và triển khai
Trường hợp sử dụng thực tế (Real-World Use Cases)
- Quỹ đầu tư định lượng & Quỹ mở Smart Beta: Áp dụng mô hình để xây dựng các danh mục quỹ hoán đổi danh mục (ETF) phòng thủ chủ động (Defensive Active ETF), mang lại lợi suất vượt trội chỉ số thị trường với biến động cực thấp.
- Hệ thống tư vấn tự động (Robo-Advisor) tại các Công ty Chứng khoán: Tích hợp thuật toán vào các nền tảng Wealth Management để tự động tái cơ cấu danh mục hàng tuần cho nhà đầu tư cá nhân và tổ chức.
Chiến lược triển khai và Vận hành (Deployment Strategy)
[Cron Job / Airflow Scheduler (08:00 AM Thứ Bảy)]
|
v
[Data Extraction Service (Vietstock / FiinGroup API)]
|
v
[Data Validation & Cleaning (Check Adjusted Prices, Filter IPO < 2 yrs)]
|
v
[Technical Screening Layer (Compute EMA 50 & 200 via Vectorized Engine)]
|
v
[Covariance Shrinkage Engine (Calculate Ledoit-Wolf SSIM Matrix)]
|
v
[Optimization Core (Solve GMVP Quadratic Objective with SLSQP)]
|
v
[Order Generation Engine (Compute Target Delta Weights & Apply 0.3% Fee)]
|
v
[Execution Gateway (REST / FIX API to Broker OMS: SSI, VNDIRECT, VPS)]
- Yêu cầu phần cứng: Rất tinh gọn; 1 node Cloud Server (2 vCPU, 4GB RAM) có thể hoàn thành việc tính toán tối ưu hóa cho 400 mã cổ phiếu trong thời gian dưới 3,5 giây.
- Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI): Với quy mô vốn ủy thác 10 tỷ VNĐ, mức Alpha gia tăng 13,4%/năm tương đương giá trị gia tăng danh mục đạt 1,34 tỷ VNĐ/năm, trong khi chi phí hạ tầng máy chủ và dữ liệu API chỉ chiếm chưa đến 30 triệu VNĐ/năm ($\text{ROI} > 4400%$).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Ràng buộc vị thế một chiều: Mô hình mới chỉ tối ưu hóa trong không gian vị thế chỉ mua (long-only). Khi thị trường bước vào giai đoạn đóng băng hoặc downtrend toàn diện, danh mục dù giữ tỷ trọng tiền mặt lớn vẫn có thể chịu biến động nhẹ do thiếu cơ chế phòng hộ (hedging) bằng hợp đồng tương lai chỉ số VN30 (Derivatives).
- Độ trễ của đường trung bình: Bộ lọc MA(50/200) là chỉ báo có độ trễ (lagging indicator), có thể xuất hiện tín hiệu nhiễu (whipsaw) trong giai đoạn thị trường tích lũy đi ngang biên độ hẹp (sideways).
Hướng nghiên cứu và mở rộng
- Tích hợp Co ngót Đa nhân tố (Multi-Factor Shrinkage): Mở rộng ma trận mục tiêu $F$ từ mô hình đơn nhân tố (SIM) sang mô hình 3 nhân tố hoặc 5 nhân tố Fama-French phù hợp với đặc thù dòng tiền thị trường Việt Nam.
- Ứng dụng Học máy & Ma trận ngẫu nhiên (Machine Learning & RMT): Ứng dụng thuật toán phân cụm cấu trúc liên kết mạng (Hierarchical Risk Parity - HRP) kết hợp với Lý thuyết Ma trận Ngẫu nhiên (Random Matrix Theory) để lọc sạch phổ nhiễu trước khi co ngót.
- Mô hình hóa Chi phí Giao dịch Phi tuyến: Tích hợp hàm tác động giá thị trường (Market Impact Cost) dựa trên khối lượng thanh khoản khớp lệnh trung bình (ADV) nhằm tối ưu cho các danh mục có quy mô vốn lớn (trên 100 tỷ VNĐ).
Đối tượng hưởng lợi
- Sinh viên & Học viên cao học: Tiếp cận mã nguồn mẫu chuẩn mực, kết hợp nhuần nhuyễn giữa toán tài chính lý thuyết, đại số tuyến tính ma trận và lập trình định lượng Python thực chiến.
- Kỹ sư định lượng (Quant Developers / Financial Engineers): Khai thác framework thuật toán SSIM-GMVP khép kín, tối ưu hóa sẵn sàng để đóng gói thành thư viện hoặc microservice phục vụ giao dịch tự động.
- Các tổ chức quản lý tài sản & Quỹ đầu tư: Sở hữu một chiến lược phân bổ tài sản đã được kiểm định nghiêm ngặt qua 11 năm dữ liệu thực tế tại Việt Nam, mang lại tỷ suất sinh lời điều chỉnh theo rủi ro vượt trội.
- Nhà nghiên cứu kinh tế lượng tài chính: Tài liệu tham khảo giá trị về mức độ co ngót tối ưu $\delta^*$ và hành vi của ma trận hiệp phương sai trên các thị trường biên/thị trường mới nổi.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để vận hành hệ thống này trong thực tế là gì?
Hệ thống yêu cầu môi trường Python 3.10 trở lên với các thư viện numpy, pandas, scipy, cvxpy. Về phần cứng, bất kỳ máy tính cá nhân hoặc máy chủ ảo nào có từ 2 lõi CPU và 4GB RAM đều có thể chạy toàn bộ quy trình tính toán cho 400 mã cổ phiếu trong vài giây.
2. Tại sao phương pháp SSIM lại vượt trội hơn ma trận hiệp phương sai mẫu (SCM)?
Khi số lượng cổ phiếu lớn ($N \approx 400$), ma trận SCM chứa rất nhiều sai số ước lượng ngẫu nhiên do cỡ mẫu hữu hạn. SSIM giải quyết triệt để vấn đề này bằng cách kéo (shrink) các giá trị nhiễu của SCM về một ma trận mục tiêu có cấu trúc ổn định (SIM), giảm phương sai ước lượng mà không làm mất đi thông tin tương quan quan trọng.
3. Bộ lọc kỹ thuật MA(50/200) đóng vai trò gì trong bài toán tối ưu phương sai?
Bộ lọc MA loại bỏ các cổ phiếu đang trong xu hướng giảm dài hạn trước khi tối ưu hóa. Điều này giải quyết nhược điểm cố hữu của mô hình GMVP truyền thống: xu hướng chọn nhầm các cổ phiếu có biến động thấp nhưng đang suy thoái kinh doanh liên tục.
4. Chi phí giao dịch 0,3% được tính toán và xử lý như thế nào trong kiểm định?
Tại mỗi chu kỳ tái cơ cấu hàng tuần, hệ thống đo lường tỷ lệ luân chuyển danh mục:
$$\text{PT}t = \frac{1}{2}\sum{i=1}^N |w_{i, t} - w_{i, t-1}|$$
Chi phí ma sát bằng $\text{PT}_t \times 0,3%$ sẽ được trừ trực tiếp vào tổng giá trị tài sản ròng trước khi tính toán lợi nhuận tuần tiếp theo.
5. Chiến lược này hoạt động như thế nào trong các giai đoạn thị trường khủng hoảng (như năm 2022)?
Khi thị trường bước vào xu hướng giảm mạnh, đa số các mã cổ phiếu sẽ vi phạm điều kiện $\text{EMA}{50} > \text{EMA}{200}$ và bị loại khỏi danh mục. Hệ thống sẽ tự động hạ tỷ trọng cổ phiếu và nắm giữ lượng lớn tiền mặt, giúp bảo toàn vốn và hạn chế mức sụt giảm tối đa chỉ ở mức -14,85% (so với mức sụt giảm -46,30% của VN-Index).
Kết luận
Khóa luận tốt nghiệp của tác giả Nguyễn Ngọc Huy đã chứng minh một cách xuất sắc tính khả thi, độ tin cậy toán học và hiệu quả vượt bậc của mô hình kết hợp giữa Ước lượng Co ngót Tuyến tính Chỉ số Đơn (SSIM) và Bộ lọc Xu hướng Đường trung bình động (EMA) trên thị trường chứng khoán Việt Nam.
Thông qua 11 năm kiểm định thực nghiệm ngoài mẫu (2013 – 2023) với hơn 524 tuần giao dịch trên sàn HOSE, chiến lược đề xuất đã thiết lập một chuẩn mực hiệu năng ấn tượng: đạt lợi nhuận trung bình 24,18%/năm, tỷ số Sharpe 1,94, hệ số Alpha +13,40% và kiểm soát mức sụt giảm vốn tối đa ở mức -14,85% sau khi đã khấu trừ đầy đủ chi phí giao dịch. Đây không chỉ là một đóng góp học thuật giá trị cho lĩnh vực kinh tế lượng tài chính trong nước mà còn là một giải pháp đầu tư định lượng hoàn chỉnh, sẵn sàng chuyển giao và ứng dụng thực tiễn trong ngành quản lý quỹ và công nghệ tài chính (Fintech).
Mã nguồn mở và dữ liệu thực nghiệm của đề tài được công khai tại kho lưu trữ: GitHub - NguyenNgocHuyhub/Linear-Shrinage_TA.