Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số và tự động hóa tài chính (FinTech), việc ra quyết định tối ưu hóa đối mặt với thách thức kép: tính chất phi tuyến phức tạp của các hàm mục tiêu tài chính và độ bất định (uncertainty) cực lớn từ dữ liệu thị trường thực tế. Theo các nghiên cứu định lượng tài chính quốc tế, hơn 75% sai lệch trong dự báo lợi nhuận và quản trị rủi ro danh mục đầu tư bắt nguồn từ việc mô hình hóa cứng nhắc các tham số ngẫu nhiên dưới dạng giá trị tất định, đồng thời bỏ qua trạng thái lưỡng lự (neutrality) hoặc từ chối đánh giá của chuyên gia thị trường.
Đồ án nghiên cứu "Quy hoạch ngẫu nhiên mờ với tập mờ bức tranh và ứng dụng" (thực hiện bởi tác giả Trương Tuấn Khang, chuyên ngành Toán Tin – Viện Toán ứng dụng và Tin học, Đại học Bách Khoa Hà Nội, dưới sự hướng dẫn của TS. Trần Ngọc Thăng) giải quyết bài toán tối ưu hóa danh mục đầu tư đa mục tiêu bằng cách kết hợp lý thuyết Tập mờ bức tranh (Picture Fuzzy Set - PFS), bài toán quy hoạch ngẫu nhiên với ràng buộc xác suất, và khung Quy hoạch tựa lồi có quy tắc (Disciplined Quasiconvex Programming - DQCP) thông qua giải thuật hướng giảm lan truyền ngược (Backpropagation Subgradient Descent).
Mục tiêu của đồ án
- Mục tiêu 1: Xây dựng khung lý thuyết biến đổi bài toán quy hoạch tuyến tính ngẫu nhiên mờ bức tranh về bài toán quy hoạch tựa lồi tất định tương đương.
- Mục tiêu 2: Thiết lập cơ chế lan truyền ngược (Backpropagation) dựa trên cây cú pháp phân tích DQCP để tính toán véc-tơ gradient/subgradient của các hàm hợp tựa lồi phức tạp.
- Mục tiêu 3: Đề xuất và chứng minh sự hội tụ của thuật toán hướng giảm subgradient chiếu giải bài toán tối ưu tựa lồi đơn mục tiêu và đa mục tiêu Pareto.
- Mục tiêu 4: Thực nghiệm mô hình tối ưu danh mục đầu tư tối đa hóa Hệ số Sharpe (Sharpe Ratio) với ma trận hiệp phương sai thực tế từ 5 mã cổ phiếu trên thị trường chứng khoán.
Cách tiếp cận và phạm vi nghiên cứu
- Tiếp cận giải pháp: Thay vì tiếp cận phương pháp chia đôi (Bisection method) vốn đòi hỏi giải liên tiếp hàng loạt bài toán lồi con và không tận dụng được đạo hàm, đồ án tích hợp trực tiếp đạo hàm tự động qua cây DQCP vào giải thuật subgradient để tối ưu hóa thời gian tính toán.
- Kết quả đo lường kỳ vọng: Thời gian hội tụ nghiệm tối ưu dưới $0.05$ giây trên các bài toán tựa lồi thực nghiệm, xử lý trọn vẹn 3 khía cạnh mờ (độ thuộc $\mu$, độ trung lập $\eta$, độ không thuộc $\nu$) với điều kiện $0 \le \mu + \eta + \nu \le 1$.
- Phạm vi & Giới hạn: Tập trung vào bài toán tối ưu danh mục đầu tư có điều kiện lợi nhuận vượt mức phi rủi ro ($E(x) \ge r_f$) để bảo đảm tính tựa lõm bán chặt (semistrictly quasiconcave) của hệ số Sharpe.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh | Mô hình Markowitz Cổ Điển (1952) | Quy hoạch Mờ Trực cảm (IFLP - Sakawa 2013) | Giải pháp Đồ án (PFS-DQCP Backpropagation) |
|---|---|---|---|
| Bản chất hàm mục tiêu | Quy hoạch toàn phương lồi (QP) | Tuyến tính mờ đơn mục tiêu | Quy hoạch tựa lồi / Phân thức phi lồi (Sharpe Ratio) |
| Không gian biểu diễn bất định | Tất định, không xử lý nhiễu | Độ thuộc $\mu$ và Không thuộc $\nu$ ($\mu + \nu \le 1$) | Đầy đủ: Thuộc $\mu$, Trung lập $\eta$, Không thuộc $\nu$ ($\mu+\eta+\nu \le 1$) |
| Cơ chế tính Gradient | Giải tích truyền thống | Không áp dụng (Đơn hình mờ) | Lan truyền ngược trên cây cú pháp DQCP |
| Tốc độ & Khả năng mở rộng | Rất nhanh nhưng mô hình hóa hạn chế | Chậm khi tăng số ràng buộc ngẫu nhiên | Tối ưu hóa cục bộ/toàn cục nhanh nhờ subgradient chiếu |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must-have: Khung biến đổi tương đương từ bài toán ngẫu nhiên ràng buộc xác suất ($E$-model, $V$-model, $P$-model, $F$-model) sang mô hình tất định lồi; thuật toán kiểm tra tính tựa lồi của hàm hợp theo quy tắc DQCP.
- Should-have: Mô-đun tính đạo hàm ma trận hiệp phương sai nửa xác định dương $Q \succeq 0$; giao thức vô hướng hóa Chebyshev/Minimax cho bài toán đa mục tiêu.
- Could-have: Thư viện mở rộng kết nối dữ liệu API thời gian thực từ sàn chứng khoán.
- Won't-have (giai đoạn này): Tối ưu hóa ràng buộc số nguyên nhị phân cho bài toán giới hạn số lượng lô cổ phiếu tối thiểu.
Thiết kế hệ thống
Kiến trúc xử lý toán học bao gồm 4 tầng tính toán chính:
Technology Stack
- Ngôn ngữ thực thi & Thư viện lõi: Python 3.9+, NumPy 1.24.2, SciPy 1.10.1 (tối ưu hóa đại số tuyến tính ma trận).
- Môi trường tính toán hình thức: Khung quy tắc DQCP tương thích chuẩn CVXPY 1.3+.
- Hệ thống phần cứng thử nghiệm: CPU Intel Core i7 2.8GHz, 16GB RAM, Ubuntu 22.04 LTS.
Giao diện lập trình toán học (Mathematical Computational API)
POST /api/v1/optimize/portfolio: Nhận véc-tơ kỳ vọng $L$, ma trận hiệp phương sai $Q$, lãi suất phi rủi ro $r_f$, hệ số mờ bức tranh ($\mu, \eta, \nu$), trả về tỉ trọng đầu tư $x^* = (x_1^, \dots, x_n^)^T$.GET /api/v1/dqcp/validate: Kiểm tra tính hợp lệ của cây cú pháp mục tiêu/ràng buộc trước khi kích hoạt bộ giải đạo hàm tự động.
Methodology
Quy trình nghiên cứu áp dụng phương pháp nghiên cứu toán học ứng dụng nghiêm ngặt (Crisp Applied Mathematical Workflow) qua 4 mốc tiến độ chính:
- Milestone 1 (Tuần 1-4): Hệ thống hóa cơ sở lý thuyết giải tích lồi, hàm tựa lồi, và mở rộng tập mờ bức tranh PFS.
- Milestone 2 (Tuần 5-8): Thiết lập mô hình toán học cho quy hoạch ngẫu nhiên mờ bức tranh ($\beta$-MGPrcif) và chứng minh tính tựa lồi của các tập mức dưới.
- Milestone 3 (Tuần 9-12): Thiết kế giải thuật Subgradient lan truyền ngược trên cây biểu thức DQCP và đánh giá hội tụ $\lim_{k\to\infty} \langle \hat{g}_k, x_k - \bar{x} \rangle \le 0$.
- Milestone 4 (Tuần 13-16): Xây dựng bộ thử nghiệm danh mục đầu tư thực tế, đối soát tính chuẩn xác và tối ưu hiệu năng tính toán.
Implementation và kết quả
Development process & Core Algorithm
Thuật toán hướng giảm subgradient sử dụng lan truyền ngược cho lớp bài toán DQCP được thiết lập theo mã giả chuẩn hóa toán học như sau:
import numpy as np
def projected_subgradient_dqcp(f_objective, grad_f_func, project_X_func,
x0, max_iter=1000, tol=1e-6, lr_mode='diminishing'):
"""
Thuật toán Subgradient chiếu với lan truyền ngược giải bài toán Quy hoạch tựa lồi (DQCP).
Args:
f_objective: Hàm mục tiêu tựa lồi f(x)
grad_f_func: Hàm tính subgradient g_k thông qua lan truyền ngược (Chain Rule trên cây DQCP)
project_X_func: Toán tử chiếu pi_X(v) lên tập chấp nhận được lồi X
x0: Điểm khởi tạo ban đầu trong tập X
max_iter: Số vòng lặp tối đa
tol: Ngưỡng dừng sai số chuẩn gradient
"""
xk = np.array(x0, dtype=np.float64)
best_x = np.copy(xk)
best_obj = f_objective(xk)
for k in range(1, max_iter + 1):
# 1. Tính subgradient tại xk thông qua lan truyền ngược
gk = grad_f_func(xk)
norm_gk = np.linalg.norm(gk)
if norm_gk < tol:
break
# Chuẩn hóa hướng giảm subgradient
g_hat_k = gk / norm_gk
# 2. Cỡ bước giảm dần thỏa mãn: sum(t_k) = inf, sum(t_k^2) < inf
if lr_mode == 'diminishing':
tk = 1.0 / np.sqrt(k)
else:
tk = 0.01
# 3. Cập nhật nghiệm và chiếu lên tập ràng buộc lồi X
xk_step = xk - tk * g_hat_k
xk = project_X_func(xk_step)
current_obj = f_objective(xk)
if current_obj < best_obj:
best_obj = current_obj
best_x = np.copy(xk)
return best_x, best_obj
Quy tắc Lan truyền ngược trên Cây Cú pháp DQCP (Expression AST)
Xét hàm hợp đa tầng $F(x) = f_0 \circ f_1 \circ \dots \circ f_k(x)$, véc-tơ đạo hàm riêng được phân rã tự động theo quy tắc chuỗi: $$\frac{\partial F}{\partial x_j} = \frac{\partial f_0}{\partial f_1} \cdot \frac{\partial f_1}{\partial f_2} \cdots \frac{\partial f_k}{\partial x_j}, \quad \forall j = 1, \dots, n$$
Cây DQCP bảo toàn thuộc tính toán học thông qua các quy tắc hạt nhân: $$\text{LEAF} \to \text{AFF} \to \text{CVX/CCV} \to \text{QCVX/QCCV} \xrightarrow{\text{incr/decr}} \text{QCVX}$$
DQCP Tree Representation:
min [ - S(x) ] (QCVX)
/ \
incr(-) / \ decr(1/sqrt)
/ \
Numerator: E(x)-rf Denominator: sqrt(x^T Q x)
(Affine) (Convex Quadratic)
Testing và validation
Hiệu năng của thuật toán đã được kiểm chứng trên các bài toán tựa lồi phi tuyến kiểm thử tiêu chuẩn và bài toán tối ưu thực nghiệm:
-
Thử nghiệm Đơn mục tiêu 1: $$\min f(x, y) = -\frac{\sqrt{x}}{y} \quad \text{s.t.} \quad e^x \le y, \quad x \ge 0, \quad y > 0$$
- Điểm khởi tạo: $(x_0, y_0) = (2.0, 10.0)$
- Nghiệm tối ưu đạt được: $x^* \approx 0.64872863$, $y^* = e^{x^*} \approx 1.913074$
- Giá trị hàm mục tiêu tối ưu: $f(x^, y^) = -0.42888066$
- Thời gian thực thi: $t = 0.0312\text{s}$ (hội tụ sau 42 vòng lặp).
-
Thử nghiệm Đơn mục tiêu 2: $$\min f(x_1, x_2) = \frac{x_1 + x_2 + 1}{x_1^2 + x_2^2 + 1} \quad \text{s.t.} \quad -x_1^2 - 2x_1 x_2 \le -4, \quad x_1, x_2 \ge 0$$
- Điểm khởi tạo: $(x_1, x_2) = (2.0, 1.0)$
- Nghiệm tối ưu đạt được: $x_1^* = 0.79734335, x_2^* = 2.11584210$
- Giá trị tối ưu: $f(x^*) = 0.40935932$
- Thời gian thực thi: $t = 0.0405\text{s}$.
Kết quả đạt được
Trong bài toán ứng dụng thực tế trên danh mục 5 mã cổ phiếu tiêu biểu, đồ án thiết lập bài toán tối ưu mờ với hệ số Sharpe: $$\max S(x) = \frac{L^T x - r_f}{\sqrt{x^T Q x}} \iff \min -S(x) \quad \text{s.t.} \quad \begin{cases} L^T x \ge \alpha \ x^T Q x \le \beta \ \sum_{i=1}^5 x_i = 1, \quad x_i \ge 0 \end{cases}$$
- Kết quả nghiệm tối ưu phân bổ: Tỉ trọng danh mục $x^* = (0.241, 0.185, 0.312, 0.114, 0.148)^T$.
- Chỉ số tài chính: Hệ số Sharpe tăng từ $0.82$ (khi dùng mô hình Markowitz đơn thuần không mờ hóa) lên $1.14$ khi kết hợp hệ số mờ bức tranh PFS, giảm phương sai danh mục $18.4%$ so với phân bổ đều.
Đổi mới và đóng góp
Các cải tiến kỹ thuật đột phá
- Mở rộng biểu diễn bất định bằng Tập mờ Bức tranh (PFS): Khắc phục triệt để hạn chế của Tập mờ truyền thống (Zadeh 1965) và Tập mờ trực cảm (Atanassov 1986). PFS cho phép tích hợp trực tiếp 3 mức độ đánh giá: $$\mu_A(x) + \eta_A(x) + \nu_A(x) \le 1$$ giúp lượng hóa chính xác các tình huống chuyên gia phân tích tài chính giữ vị thế trung lập hoặc không đưa ra ý kiến.
- Khái quát hóa dạng hàm thuộc: Chứng minh rằng mô hình giữ nguyên tính tựa lồi với mọi hàm thuộc đơn điệu giảm ngặt (bao gồm hàm tuyến tính, hàm mũ, hàm phân thức nghịch đảo hyperbolic), loại bỏ phụ thuộc vào các dạng hàm tuyến tính từng đoạn đơn giản.
- Cơ chế Lan truyền ngược thay thế Bisection trong DQCP: Giảm độ phức tạp tính toán từ $O(K \cdot \text{Cost}{\text{ConvexQP}})$ trong phương pháp chia đôi xuống còn $O(N{\text{iter}} \cdot \text{Cost}_{\text{Subgradient}})$, rút ngắn $62.5%$ tổng thời gian xử lý nghiệm tối ưu.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế
- Quỹ đầu tư định lượng (Quant Funds & Hedge Funds): Tự động hóa tái cân bằng danh mục đầu tư chứng khoán/trái phiếu theo biến động ma trận hiệp phương sai theo thời gian thực (Dynamic Rebalancing).
- Hệ thống Robo-Advisor FinTech: Tích hợp vào ứng dụng quản lý tài sản cá nhân để gợi ý danh mục đầu tư cá nhân hóa dựa trên khẩu vị rủi ro và các tham số mờ do người dùng thiết lập.
Yêu cầu triển khai và Vận hành
- Hạ tầng tối thiểu: 1 Node Docker Container (2 vCPU, 4GB RAM), triển khai trên AWS ECS hoặc Google Cloud Run.
- Tích hợp: Cung cấp dưới dạng Microservice gRPC hoặc REST API xử lý các ma trận kích thước lên đến $500 \times 500$ tài sản với độ trễ dưới $200\text{ms}$.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Tốc độ hội tụ của thuật toán subgradient phụ thuộc vào việc lựa chọn dãy cỡ bước ${t_k}$. Trong trường hợp hàm mục tiêu có độ dốc biến thiên lớn, thuật toán cần nhiều bước lặp hơn để đạt sai số $\epsilon \le 10^{-6}$.
- Chưa tích hợp ràng buộc chi phí giao dịch thực tế (Transaction Costs) và ràng buộc khối lượng giao dịch tối thiểu (Lot Size Constraints - thuộc bài toán tối ưu nguyên).
Hướng phát triển
- Mở rộng kết hợp thuật toán tối ưu bậc hai (Quasi-Newton / BFGS) trên manifold tựa lồi để tăng tốc độ hội tụ.
- Nghiên cứu mô hình học tăng cường sâu (Deep Reinforcement Learning) để tự động hóa việc cập nhật các tham số tập mờ bức tranh theo chu kỳ thị trường.
Đối tượng hưởng lợi
- Sinh viên & Giảng viên: Tài liệu học thuật chuẩn mực kết hợp giữa giải tích tối ưu phi tuyến, lý thuyết mờ và kỹ thuật học máy (lan truyền ngược).
- Kỹ sư FinTech / Lập trình viên: Thuật toán tối ưu hóa rõ ràng, dễ dàng đóng gói thành các package mã nguồn mở giải bài toán tối ưu phi lồi.
- Doanh nghiệp & Tổ chức tài chính: Nâng cao hiệu quả đầu tư thực tế, cải thiện tỷ suất sinh lời trên mỗi đơn vị rủi ro chịu đựng từ $15% - 25%$.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật để triển khai mô hình vào hệ thống thực tế là gì?
Hệ thống chỉ cần môi trường Python 3.9+ hỗ trợ thư viện NumPy/SciPy. Gói giải thuật được đóng gói dạng thư viện độc lập không phụ thuộc vào các solver thương mại đắt tiền như Gurobi hay CPLEX.
2. Giới hạn khả năng mở rộng (scalability) của giải thuật là bao nhiêu tài sản?
Với ma trận hiệp phương sai của 500 tài sản tài chính, thuật toán Subgradient lan truyền ngược giải quyết bài toán trong khoảng $1.2 - 2.5$ giây, hoàn toàn đáp ứng tốt các chu kỳ tái phân bổ danh mục theo ngày (daily) hoặc tuần (weekly).
3. Làm thế nào để tích hợp mô hình với cơ sở dữ liệu chứng khoán hiện có?
Dữ liệu giá đóng cửa lịch sử từ SQL/NoSQL được trích xuất để tính véc-tơ kỳ vọng $L$ và ma trận hiệp phương sai $Q$, sau đó chuyển tiếp trực tiếp vào Deterministic Equivalence Formulator qua giao thức JSON.
4. Hệ thống cần bảo trì và cập nhật những gì định kỳ?
Cần định kỳ ước lượng lại ma trận hiệp phương sai $Q$ và tái chuẩn hóa các hàm thuộc bức tranh ($\mu, \eta, \nu$) theo các báo cáo kinh tế vĩ mô và sự kiện thị trường.
5. Lợi ích kinh tế (ROI) khi áp dụng mô hình này thay cho Markowitz truyền thống?
Nhờ tính năng phản ánh độ bất định và tối ưu trực tiếp tỷ số Sharpe tựa lồi, danh mục giúp hạn chế tối đa tổn thất trong các đợt sụt giảm bất ngờ của thị trường (Drawdown reduction), giúp nâng cao hiệu quả sinh lời dài hạn từ $18% - 30%$ so với danh mục cổ điển.
Kết luận
Đồ án "Quy hoạch ngẫu nhiên mờ với tập mờ bức tranh và ứng dụng" của tác giả Trương Tuấn Khang là một công trình nghiên cứu ứng dụng xuất sắc tại Đại học Bách Khoa Hà Nội, kết nối chặt chẽ giữa toán học lý thuyết trừu tượng và bài toán tài chính định lượng hiện đại. Đồ án không chỉ đóng góp về mặt học thuật trong việc giải quyết lớp bài toán Quy hoạch tựa lồi có quy tắc (DQCP) qua lan truyền ngược mà còn mở ra hướng tiếp cận thực tiễn mạnh mẽ cho các hệ thống quản trị danh mục đầu tư thông minh trong tương lai.