Bất cứ ai học đại học, dù chuyên ngành finance hay economics cũng đều nghe qua 1 bài toán về tối ưu hóa danh mục đầu tư. Đầu tiên là tính toán các thông số thống kê như mean, variance, correlation, sau đó tính toán trong excel chạy portfolio bao gồm 2 tài sản risky và 1 tài sản risk-free rate. Tuy nhiên, khi áp dụng vào thực tế, mọi chuyện trở nên khó hơn rất nhiều khi portfolio có nhiều hơn 2 tài sản (10 hoặc 100 hoặc 1000). Nếu hỏi bất kì sinh viên bachelor hay master nào về finance có lẽ cũng sẽ chém ầm ầm về capital market line, security market line hay CAPM. Tuy nhiên để code lại dc methodology từ các paper cũng như perform 1 cái optimization 1 cách thủ công thì có lẽ rất nhiều người bó tay. Và cuối cùng là cái gọi là modern portoflio theory này đúng hay sai trong thực tế thì cũng không ai trả lời 1 cách chính xác dc. Chỉ cần nhìn vào lượng citation của paper Markowitz (khoảng 20k), nếu chỉ chú ý đến phần critical review thì có rất nhiều thứ cần để quan tâm nếu muốn mang modern portfolio theory từ lý thuyết ra làm asset allocation ngoài thực tiễn. Vấn đề này nảy sinh trong lúc tôi đang học phần portfolio management của CFA, đặc biệt là sau khi tham dự 1 buổi lecture của 1 asset allocator 1 quỹ đầu tư bên Singapore. Có rất nhiều người giỏi trên thị trường, bằng cách này hay cách khác, tuy nhiên, cá nhân tôi thích những portfolio manager có cách tiếp cận xây dựng 1 portfolio một cách định lượng đầy tính khoa học. Ví dụ, khi research analyst đưa ra 1 con số từ định lượng như market share, profit, margin quý tới đến định tính như hành xử của đám đông, tin tức trên báo chí… portfolio manager phải bằng cách này hay cách khác đưa được các con số vào mô hình, thực hiện các tối ưu nó để đưa ra weight cụ thể cho từng asset classes (stock, bonds, FX….) hay hẹp hơn là securities selection (sectors, value, growth ….) thỏa mãn các ràng buộc tối thiếu investment horizon hay liquidity constraints. Hơn nữa phải đảm bảo portfolio phải có return ổn với dữ liệu historical data cũng như các tiêu chí đánh giá hiệu quả như sharpe ratio, treynor ratio, jensen ratio. Có rất nhiều vấn đề nảy sinh khi xây dựng 1 portfolio như vậy, và tôi sẽ lần lượt đề cập trong phần phía dưới cũng như các bài viết tiếp theo.

Ở chuỗi bài viết blog này, tôi sẽ dùng R, Python hoặc Matlab để code lại 1 số findings của các key paper. R packages cũng có nhiều function có sẵn, tuy nhiên tôi sẽ nhìn sâu hơn vào source code cũng như so sánh sự khác biết trong kết quả giữa các function. Cần lưu ý là do R và Python là mã nguồn mở nên sẽ dễ cross-check hơn so với Matlab. Tôi sẽ dùng cả tiếng anh và tiếng việt vì giải thích các keyword bằng tiếng anh dễ hơn rất nhiều!!!
Đầu tiên là tổng quát về Modern Portfolio Theory (MPT). Cái này bắt nguồn từ công trình của 1 ông tên là Harry Markowitz. Vào năm 1952, ở tuổi 25, ông viết 1 bài báo nghiên cứu khoa học có tên là “Portfolio Selection” trên tạp chí Journal of Finance và đã đặt nền móng đầu tiên cho lý thuyết trên. Portfolio Theory của Markowitz giải thích cách chọn danh mục đầu tư dựa trên 3 thông số: Mean, Varriance, và Covariance của return của các tài sản riêng lẻ. Từ lý thuyết, các portfolio manager hay các asset-allocator sẽ sử dụng model trên để tính toán xác định phân bổ nguồn vốn vào các loại tài sản khác nhau.
Framework sơ khai nhất của MPT được gọi là Mean-Variance Analysis. Expected return của portfolio sẽ được tính toán cùng với risk tương ứng là variance/standard deviation và sự tương quan giữa các asset là covariance (correlation). Cũng từ đây khái niệm portfolio diversification ( đa dạng hóa danh mục đầu tư) được định nghĩa. Các định nghĩa khái niệm phía trên có thể dễ dàng tìm qua google hay textbook. MVA dựa trên 1 số giả định, giả định quan trọng nhất là investor sẽ đưa ra các quyết định đầu tư và dựa vào duy nhất 2 thông số của portfolio: risk và return. Ở đây risk được hiểu là standard deviation hay variance, thước đo cho cái gọi là uncertainty trong khi return có thể là arithmetic return hay geometric return tùy vào cách định nghĩa của mọi người. Sở dĩ việc lựa chọn standard deviation/variance là đơn vị đo lường cho risk cũng tạo nên những tranh luận không ngừng nghỉ trong giới học thuật cũng như các practitioners. Lý do quan trọng là khi sự uncertainty liên quan đến việc tăng giá của chứng khoán thì mọi người đều không bận tâm, vì tăng càng nhiều càng tốt. Người ta chỉ quan tâm đến việc giá chứng khoán giảm có nhiều không, giảm có liên tục không. Standard deviation hay variance thì lại tính cả 2 chiều tăng và giảm của giá, nên nhiều khi giá cổ phiếu tăng đều và đẹp cũng bị rơi vào diện có uncertainty cao. Đặc biệt là khi rất nhiều thị trường không cho phép short-sale hoặc short-sale 1 cách rất hạn chế với những mã thanh khoản thấp.
Vấn đề tối ưu hóa (optimization) sẽ được trình bày ngắn gọn qua 2 tình huống:
Ở một mức return kì vọng nhất định, investor sẽ chọn portfolio có lượng risk thấp nhất:



