🧪 KHÓA HỌC KHOA HỌC ĐỊNH LƯỢNG (QUANT SCIENCE SERIES) BÀI 4 / 5
KỸ THUẬT DANH MỤC THỂ CHẾ

Khóa Học Quant Science (Phần 4): Kỹ Thuật Tối Ưu Danh Mục — Hierarchical Risk Parity (HRP), Riskfolio-Lib & skfolio

Năm 1952, Harry Markowitz đặt nền móng cho tài chính định lượng hiện đại với Mô hình Tối ưu Hóa Kỳ vọng - Phương sai (Mean-Variance Optimization - MVO). Tuy nhiên, hơn 70 năm qua trên Phố Wall, các nhà quản lý quỹ thực chiến đều gọi MVO bằng một biệt danh cay đắng: "Máy Phóng Đại Sai Số" (Error Maximizer).

Khi ma trận hiệp phương sai bị đảo ngược, các sai số ước lượng nhỏ trong quá khứ bị nhân lên gấp hàng chục lần, khiến danh mục đổ dồn 80% vốn vào 1 hoặc 2 tài sản có rủi ro ngầm cao nhất. Để giải quyết triệt để tử huyệt này, tiến sĩ Marcos López de Prado đã giới thiệu giải thuật Hierarchical Risk Parity (HRP) — áp dụng học máy phân cụm hình cây để cấp phát vốn mà không cần nghịch đảo bất kỳ ma trận nào. Cùng với sự trỗi dậy của Riskfolio-Lib và skfolio, tối ưu hóa danh mục đã bước sang một kỷ nguyên hoàn toàn mới.

1. Tại Sao Markowitz Thất Bại & Sự Ra Đời Của HRP

Vấn đề toán học cốt lõi của Markowitz nằm ở bước giải hệ phương trình đạo hàm Lagrange để tìm vector trọng số tối ưu $w$:

w = (Sigma^-1 * 1) / (1^T * Sigma^-1 * 1)

Trong đó $\Sigma^{-1}$ là ma trận nghịch đảo của ma trận hiệp phương sai. Trong thế giới thực:

⚠️
ĐỊNH LUẬT LÓPEZ DE PRADO: Đa dạng hóa danh mục thực chất không phải là mua nhiều cổ phiếu khác nhau, mà là phân bổ rủi ro đồng đều giữa các cụm rủi ro độc lập (Independent Risk Clusters). Hai mươi mã cổ phiếu bất động sản dù khác nhau về tên gọi nhưng thực chất thuộc cùng một nguồn rủi ro tín dụng và lãi suất. Markowitz hoàn toàn mù quáng trước cấu trúc cây phân cấp này!

2. Giải Thuật HRP 3 Bước Của Marcos López de Prado

Thuật toán Hierarchical Risk Parity chia nhỏ bài toán phân bổ thành 3 bước dựa trên Machine Learning không giám sát:

BƯỚC 1: CỤM HÌNH CÂY
Tree Clustering
Chuyển ma trận tương quan thành ma trận khoảng cách $d_{i,j} = \sqrt{\frac{1}{2}(1 - \rho_{i,j})}$ và xây dựng biểu đồ phân nhánh Dendrogram.
BƯỚC 2: BÁN CHÉO HÓA
Quasi-Diagonalization
Sắp xếp lại thứ tự các tài sản sao cho các tài sản tương quan cao nhất nằm cạnh nhau dọc đường chéo chính của ma trận.
BƯỚC 3: PHÂN CHIA ĐỆ QUY
Recursive Bisection
Chia đôi cây đệ quy từ trên xuống dưới, phân bổ vốn theo tỷ lệ nghịch đảo phương sai từng nhánh mà không cần nghịch đảo ma trận.

3. Sơ Đồ So Sánh: Markowitz Covariance Collapse vs HRP Tree Clustering

Sơ đồ sau minh họa sự khác biệt căn bản giữa việc nghịch đảo ma trận truyền thống (dễ dẫn đến suy biến) và phương pháp phân nhánh cây HRP:

SO SÁNH BẢN CHẤT: MARKOWITZ MVO VS HIERARCHICAL RISK PARITY Giải quyết tử huyệt nghịch đảo ma trận bằng cấu trúc đồ thị phân cấp Unsupervised Learning MARKOWITZ MVO (TRUYỀN THỐNG) Nghịch Đảo Ma Trận Hiệp Phương Sai Công thức: w = Σ⁻¹ * 1 / (1ᵀ * Σ⁻¹ * 1) 1. Số Điều Kiện Cực Cao (Ill-conditioned) Ma trận gần suy biến khi có tài sản tương quan mạnh 2. Trọng Số Cực Đoan (Corner Solutions) Dồn 85% vốn vào 1 cổ phiếu có sai số ước lượng cao 3. Chi Phí Tái Cân Bằng Khổng Lồ Trọng số dao động mãnh liệt khi có nến dữ liệu mới HIERARCHICAL RISK PARITY (HRP) Cụm Phân Tầng Không Cần Nghịch Đảo Áp dụng Dendrogram Tree & Recursive Bisection 1. Tuyệt Đối Không Nghịch Đảo Ma Trận Hoàn toàn miễn nhiễm trước ma trận suy biến rủi ro 2. Đa Dạng Hóa Cụm Rủi Ro Thực Chất Phân bổ đều giữa các nhóm ngành độc lập 3. Đường Cong Vốn (Equity Curve) Bền Vững Giảm thiểu tối đa Out-of-sample Drawdown

4. Thư Viện Tối Ưu Hiện Đại: Riskfolio-Lib & skfolio

Thay vì tự lập trình lại các thuật toán tối ưu phức tạp từ đầu, cộng đồng Quant Python ngày nay sử dụng hai thư viện chuẩn công nghiệp:

Tiêu Chí So Sánh Riskfolio-Lib (Dany Cajas) skfolio (Scikit-Learn Ecosystem)
Triết Lý Thiết Kế Chuyên biệt cho quản trị rủi ro định lượng thể chế. Tuân thủ chuẩn mực Scikit-Learn (fit, transform, predict).
Thước Đo Rủi Ro Hỗ Trợ 24 thước đo: Mean-CVaR, Mean-CDaR, EVaR, Entropic Value at Risk, Ulcer Index, Worst Case. Mean-Variance, CVaR, Mean-Absolute Deviation (MAD), Semi-Variance.
Mô Hình Phân Cụm Hierarchical Risk Parity (HRP), Hierarchical Equal Risk Contribution (HERC), Nested Clustered MVO. HRP, HERC, K-Means Clustering Portfolio, Stacking Ensembles.
Tích Hợp Pipeline Xuất báo cáo PDF/HTML chuyên nghiệp với các lát cắt rủi ro chi tiết. Hỗ trợ GridSearchCV, RandomizedSearchCV để tuning siêu tham số danh mục.
💡
ƯU THẾ CỦA MEAN-CVaR (EXPECTED SHORTFALL): Trong điều kiện thị trường lao dốc, phương sai (Variance) không phản ánh được mức độ thảm họa. Tối ưu theo Mean-CVaR (Conditional Value-at-Risk ở mức tin cậy 95%) đảm bảo rằng danh mục tập trung giảm thiểu mức lỗ trung bình trong 5% các kịch bản tồi tệ nhất, bảo vệ tài khoản khỏi nguy cơ cháy quỹ.

5. Triển Khai Code Python Thực Chiến

Dưới đây là mã nguồn Python hoàn chỉnh xây dựng danh mục HRP và so sánh với mô hình Mean-CVaR bằng riskfolio-lib:

import numpy as np import pandas as pd import riskfolio as rp def optimize_portfolio_hrp_and_cvar(returns_df: pd.DataFrame): """ Xây dựng danh mục Hierarchical Risk Parity (HRP) và Mean-CVaR bằng Riskfolio-Lib returns_df: DataFrame chứa lợi nhuận hàng ngày của rổ tài sản """ # 1. KHỞI TẠO ĐỐI TƯỢNG HRP TỪ RISKFOLIO port_hrp = rp.HCPortfolio(returns=returns_df) # Tối ưu hóa phân cụm HRP với thước đo rủi ro CVaR w_hrp = port_hrp.optimization( model='HRP', # Hierarchical Risk Parity codependence='pearson', # Ma trận đồng phụ thuộc rm='CVaR', # Thước đo rủi ro Conditional Value-at-Risk rf=0.04 / 252, # Lãi suất phi rủi ro ngày linkage='ward' # Phương pháp liên kết Ward ) print("=== TRỌNG SỐ TỐI ƯU DANH MỤC HRP (MEAN-CVaR) ===") print((w_hrp * 100).round(2)) # 2. XÂY DỰNG DANH MỤC TRUYỀN THỐNG ĐỂ SO SÁNH port_classic = rp.Portfolio(returns=returns_df) port_classic.assets_stats(method_mu='hist', method_cov='hist') # Tối ưu hóa Sharpe tỷ lệ với ràng buộc không bán khống w_markowitz = port_classic.optimization( model='Classic', rm='MV', # Standard Mean-Variance obj='Sharpe', # Tối đa hóa Sharpe rf=0.04 / 252, l=0 ) return w_hrp, w_markowitz
💡
TỔNG KẾT BÀI HỌC: Nắm vững Hierarchical Risk Parity và các thước đo rủi ro phi đối xứng (CVaR, CDaR) giúp danh mục của bạn miễn nhiễm trước thảm họa suy biến ma trận của Markowitz. Nhưng một hệ thống giao dịch xuất sắc không thể hoàn thiện nếu thiếu một báo cáo thẩm định hiệu suất chuẩn thể chế và chiến lược thoát lệnh tối ưu. Hãy cùng đến với Phần 5: Giải mã QuantStats Tearsheets và Tối ưu hóa Điểm Thoát Lệnh (Exit Optimization)!
🧪

Biên Soạn: Học Viện Giao Dịch — Hàng Hóa Plus

Chuỗi bài giảng Applied Quant Science được nghiên cứu và phát triển dựa trên hệ sinh thái Sunday Quant Scientist (OpenBB, Polars, PyTimeTK, Riskfolio-Lib).