Trang chủBlogKinh nghiệm TradingPortfolio Construction có thể quan trọng ngang Signal
Portfolio Construction có thể quan trọng ngang Signal
Kinh nghiệm Trading

Portfolio Construction có thể quan trọng ngang Signal

Portfolio Construction

Ngọc Hải LươngNgọc Hải Lương
21/10/2026
19 phút phút đọc
54 lượt xem

Trong nghiên cứu định lượng, sự chú ý thường tập trung vào signal. Researcher thử thêm feature, thay cách chuẩn hóa dữ liệu, điều chỉnh target, chạy thêm model và so sánh Rank IC, hit rate hay spread giữa các quantile. Đây là những công việc cần thiết, nhưng chúng mới trả lời một phần của bài toán. Nhà đầu tư cuối cùng không nắm giữ một “signal”; họ nắm giữ một danh mục với những tỷ trọng cụ thể, mức concentration cụ thể, độ nhạy với từng ngành cụ thể và một chuỗi giao dịch phải thực hiện trên thị trường thật. Một model có khả năng xếp hạng cổ phiếu tốt nhưng được triển khai bằng một portfolio có concentration quá cao, turnover quá lớn hoặc liquidity không phù hợp hoàn toàn có thể tạo ra kết quả kém hơn một model trung bình nhưng được xây dựng danh mục cẩn trọng. Vì vậy, trong một hệ thống Quant trưởng thành, Portfolio Construction không phải công đoạn kỹ thuật nằm sau signal. Nó là nơi quyết định nhà đầu tư thực sự nhận được bao nhiêu alpha, phải chịu loại rủi ro nào để đổi lấy alpha đó và bao nhiêu lợi thế còn tồn tại sau chi phí.

da41d7b3-b058-4b7a-bcdc-20680ecb8724.png

PHẦN 1. Vì sao cùng một signal nhưng hai danh mục có thể cho kết quả rất khác nhau?

Giả sử một mô hình đang xếp hạng 100 cổ phiếu và cho rằng nhóm đầu bảng có triển vọng relative return tốt hơn phần còn lại. Nếu chỉ dừng ở đây, researcher có thể nói model đang hoạt động. Nhưng ngay khi chuyển bảng xếp hạng đó thành một danh mục, rất nhiều quyết định bắt đầu xuất hiện. Có thể mua 20 cổ phiếu đầu bảng với tỷ trọng bằng nhau. Có thể phân bổ theo volatility. Có thể giới hạn mỗi ngành ở một tỷ trọng nhất định. Có thể giữ một phần cổ phiếu score trung bình nhưng có liquidity tốt hơn. Có thể không mua một mã dù score rất cao vì position hiện tại trong ngành đó đã quá lớn. Tất cả các danh mục này đều bắt đầu từ cùng một signal nhưng có thể tạo ra volatility, drawdown, turnover và factor exposure rất khác nhau.

Một tình huống phổ biến là signal vô tình tập trung vào một ngành. Momentum có thể cùng lúc đánh giá rất cao ngân hàng và chứng khoán trong một giai đoạn liquidity thuận lợi. Value có thể nghiêng mạnh về một số ngành cyclical. Quality lại có thể tập trung vào những doanh nghiệp vốn đã có cấu trúc lợi nhuận và balance sheet khá giống nhau. Nếu portfolio chỉ đơn giản mua top-ranked names, researcher nghĩ mình đang triển khai factor nhưng investor thực tế có thể đang sở hữu một sector bet lớn. Khi ngành đó tiếp tục thuận lợi, portfolio trông rất thuyết phục; nhưng khi leadership đảo chiều, phần lớn positions có thể cùng giảm dù model vẫn “đúng” ở cấp độ ranking tương đối. Một portfolio khác sử dụng cùng signal nhưng áp dụng industry limits hoặc risk diversification có thể kiếm ít hơn trong giai đoạn thuận lợi nhất, đổi lại tránh được việc một nguồn rủi ro duy nhất chi phối toàn bộ kết quả. Đây không phải câu chuyện portfolio construction làm mất alpha một cách vô ích. Nó là sự đánh đổi giữa mức độ biểu đạt signal và mức độ concentration mà nhà đầu tư sẵn sàng chấp nhận.

Điểm quan trọng hơn là alpha score không đồng nghĩa với tỷ trọng vốn. Một cổ phiếu có score cao gấp đôi cổ phiếu khác không có nghĩa nên nhận gấp đôi allocation. Trong nhiều hệ thống, score chỉ cho biết thứ hạng hoặc mức độ tương đối của tín hiệu chứ không phải expected return có đơn vị kinh tế. Nếu optimizer được cung cấp một bảng score rất chính xác về mặt số học nhưng chưa được hiệu chỉnh về ý nghĩa, nó có thể tạo ra mức chênh lệch tỷ trọng lớn hơn rất nhiều so với mức confidence thực tế của model. Đây là một nguyên nhân phổ biến khiến portfolio trở nên cực đoan: optimizer đang hành xử như thể researcher biết sự khác biệt giữa hai cổ phiếu chính xác hơn rất nhiều so với khả năng mà dữ liệu thực sự cho phép.

Rủi ro tương tự tồn tại ở phía risk model. Covariance, volatility và correlation đều là những ước lượng từ quá khứ chứ không phải dữ kiện cố định. Một cổ phiếu có volatility thấp trong sáu tháng vừa qua có thể được optimizer cấp weight lớn hơn, nhưng nếu volatility thấp chỉ là đặc điểm tạm thời thì danh mục đang dựa quá nhiều vào một estimate không ổn định. Hai cổ phiếu có historical correlation thấp cũng chưa chắc tiếp tục diversification tốt khi thị trường bước vào stress regime. Vì vậy optimizer không nên được xem là một “máy tìm tỷ trọng đúng”. Nó là một công cụ phân bổ vốn dựa trên những giả định đầu vào, và nếu các giả định đó nhiễu, optimizer có thể khuếch đại chính những sai số ấy.

Đây là lý do các ràng buộc đơn giản thường có giá trị rất lớn. Maximum position size, industry cap, beta range, liquidity threshold hay turnover limit đôi khi cải thiện performance không phải vì chúng thông minh hơn signal, mà vì chúng ngăn hệ thống phản ứng quá mạnh trước những ước lượng không chắc chắn. Trong một portfolio thực tế, constraint là cách thừa nhận rằng chúng ta không biết chính xác expected return, không biết chính xác covariance và cũng không biết chính xác transaction cost. Một danh mục có ít “tối ưu” hơn trên spreadsheet đôi khi lại bền hơn ngoài thị trường bởi nó không phụ thuộc quá nhiều vào một tập giả định chính xác đến mức không thực tế.

Khoảng cách giữa signal và portfolio còn thể hiện rất rõ qua turnover. Một bảng ranking có thể chỉ thay đổi rất nhẹ từ tuần này sang tuần sau, nhưng một rule chọn top 20 có thể tạo ra giao dịch lớn khi cổ phiếu đứng thứ 19 tụt xuống 21 và cổ phiếu thứ 21 nhảy lên 19. Về mặt information, khác biệt gần như không đáng kể; về mặt implementation, hệ thống có thể bán sạch một position và mua position khác. Khi điều này lặp lại, transaction cost tăng nhanh trong khi lượng thông tin mới rất ít. Một portfolio construction tốt sẽ cố giữ relationship giữa mức thay đổi signal và mức thay đổi position hợp lý hơn. Không phải mỗi thay đổi nhỏ trong ranking đều xứng đáng tạo ra một trade lớn.

Điểm cuối cùng của phần này là attribution. Nếu một portfolio outperform benchmark, cần biết performance đến từ đâu. Có thể signal thực sự chọn được stocks tốt hơn. Nhưng cũng có thể portfolio vô tình có beta cao trong bull market, overweight small caps đúng giai đoạn small caps outperform hoặc tập trung vào một ngành đang thuận lợi. Nếu không tách security selection khỏi sector allocation, style exposure và market beta, rất dễ gán toàn bộ kết quả tốt cho alpha model. Portfolio construction vì vậy không chỉ là công đoạn phân bổ vốn mà còn là lớp giúp researcher hiểu mình thực sự đang kiếm tiền từ cái gì.

PHẦN 2. Optimization, turnover và constraints quyết định bao nhiêu signal thực sự đi vào danh mục

Nghiên cứu của MSCI công bố tháng 9/2026, The Long and Short of Factor Indexing: How portfolio construction shapes investment outcomes, minh họa khá rõ vấn đề này khi so sánh nhiều cách triển khai factor investing dưới những cấu trúc khác nhau. Điểm đáng chú ý không phải chỉ là một cấu trúc nào tạo performance cao hơn, mà là việc thay đổi constraint long-only, cho phép extended long/short hoặc chuyển sang market-neutral có thể thay đổi đáng kể factor exposure và active risk mà nhà đầu tư thực sự nhận được. Cùng một ý tưởng Momentum, Value hay Quality nhưng cách danh mục được xây dựng quyết định mức độ factor đó có thể biểu hiện trong portfolio đến đâu.

Long-only có một giới hạn rất tự nhiên. Khi model không thích một cổ phiếu đã nằm trong benchmark, manager có thể giảm tỷ trọng về zero nhưng không thể biểu đạt quan điểm tiêu cực vượt quá mức đó. Ngược lại, ở phía stocks được đánh giá cao, portfolio có thể overweight tùy theo constraint. Điều này khiến khả năng truyền tải information ở hai đầu ranking không cân xứng. Khi shorting được nới, manager có thể sử dụng cả positive và negative information rõ hơn, nhưng đổi lại portfolio bước vào một cấu trúc hoàn toàn khác về gross exposure, financing, liquidity, shorting cost và risk. Đây chính là lý do không thể nói “Momentum hoạt động tốt” mà bỏ qua cách Momentum được triển khai. Factor và portfolio construction thực tế không thể tách rời hoàn toàn.

Một khái niệm hữu ích trong bối cảnh này là mức độ signal được “chuyển” sang portfolio. Research có thể tạo ra một ranking rất rõ, nhưng constraints khiến chỉ một phần information đó trở thành active positions. Sector neutrality có thể buộc portfolio bỏ qua nhiều stocks score cao trong cùng ngành. Turnover cap có thể khiến model muốn bán nhưng portfolio vẫn phải giữ. Liquidity constraint có thể loại một security dù alpha hấp dẫn. Ngược lại, nếu constraints quá lỏng, danh mục có thể theo signal rất sát nhưng trả giá bằng concentration, active risk và transaction costs cao hơn. Vì vậy mục tiêu hợp lý không phải tối đa hóa độ trung thành với signal, mà là tìm mức độ chuyển information sang portfolio sao cho after-cost outcome tốt nhất.

Transaction cost là một phần đặc biệt quan trọng bởi nó thường không xuất hiện trong các chỉ số signal. Rank IC có thể rất đẹp nhưng nếu ranking thay đổi liên tục thì lợi thế thống kê có thể biến mất khi triển khai. Một optimizer không có turnover penalty thường muốn chuyển portfolio tới trạng thái “tối ưu mới” mỗi lần signal hoặc risk estimate thay đổi. Trong thực tế, investor đã sở hữu một danh mục hiện tại và việc chuyển sang danh mục mới có chi phí. Vì vậy câu hỏi đúng không phải “cổ phiếu B hấp dẫn hơn A hay không”, mà là “mức độ hấp dẫn hơn có đủ lớn để trả chi phí bán A và mua B hay không”. Đây là một khác biệt quan trọng giữa nghiên cứu tín hiệu và quản lý danh mục.

Một portfolio trưởng thành thường cần một vùng mà trong đó hệ thống chấp nhận không giao dịch. Nếu target weight mới chỉ khác current weight rất nhỏ, expected benefit có thể không đủ để bù phí, spread và market impact. Tương tự, nếu một security chỉ tăng nhẹ trong ranking nhưng vẫn nằm trong nhóm attractive, không nhất thiết phải rebalance mạnh. Cách tiếp cận này giúp giảm turnover mà không làm mất nhiều alpha, đồng thời khiến portfolio ổn định hơn trước những thay đổi nhỏ do noise trong model.

Market impact khiến vấn đề phức tạp hơn nữa. Một strategy có thể rất hấp dẫn ở quy mô nhỏ nhưng giảm hiệu quả nhanh khi vốn tăng. Small-cap cổ phiếu có thể có expected alpha cao nhất nhưng nếu position tương đương tỷ lệ lớn của khối lượng giao dịch hàng ngày, việc vào và thoát vị thế bắt đầu ảnh hưởng giá. Khi đó alpha headline không còn là alpha thực tế. Đây là nơi capacity cần được đưa vào ngay trong portfolio construction thay vì chỉ xem xét sau khi strategy đã được triển khai. Một stock có expected return thấp hơn nhưng thanh khoản sâu đôi khi đóng góp nhiều hơn vào P&L thực tế vì strategy có thể triển khai quy mô lớn mà không tự ăn mất lợi thế của chính mình.

Risk model cũng cần được nhìn với cùng sự thận trọng. Covariance matrix của một universe lớn chứa rất nhiều ước lượng và phần lớn trong số đó không ổn định như con số hiển thị trên màn hình. Nếu optimizer được tự do khai thác mọi khác biệt nhỏ trong correlation, weights có thể thay đổi mạnh từ một kỳ rebalance sang kỳ tiếp theo dù signal gần như không đổi. Đây là dấu hiệu hệ thống đang tối ưu noise trong risk model nhiều hơn là information từ alpha model. Trong thực tế, những cách tiếp cận có tính regularization cao hơn, factor-based risk model hoặc constraints tương đối đơn giản thường được ưa chuộng chính vì chúng làm portfolio ít nhạy hơn với sai số đầu vào.

Constraints cũng cần được thiết kế vì lý do kinh tế chứ không phải vì backtest cho con số đẹp nhất. Một industry cap nên tồn tại vì muốn giới hạn concentration, không phải vì thử từ 10% đến 30% rồi phát hiện 17,5% cho Sharpe cao nhất. Maximum stock weight nên phản ánh idiosyncratic risk và liquidity. Beta limit nên phản ánh objective của strategy. Turnover control nên gắn với half-life của signal và transaction cost. Nếu mọi constraint đều được chọn qua grid search trên cùng một historical sample, strategy vẫn có thể bị overfit dù signal chưa thay đổi. Overfitting không chỉ xuất hiện ở machine learning; nó có thể ẩn trong portfolio optimizer dưới dạng những tham số trông rất “quản trị rủi ro”.

Cách kiểm định hợp lý là cố định signal rồi thử nhiều portfolio constructions từ đơn giản đến phức tạp. Có thể bắt đầu bằng equal weight, sau đó thêm volatility adjustment, industry caps, risk optimization, turnover controls và liquidity constraints. Quan sát xem từng lớp làm thay đổi gross return, net return, drawdown, active risk, turnover và capacity như thế nào. Nếu một signal chỉ “hoạt động” khi kết hợp với đúng một bộ optimizer parameters rất cụ thể, cần thận trọng. Nếu phần lớn edge tồn tại qua nhiều cách triển khai hợp lý và portfolio construction chủ yếu cải thiện risk-adjusted return cũng như implementation efficiency, bằng chứng về chất lượng signal mạnh hơn nhiều.

PHẦN 3. Từ Alpha Score đến trọng số có thể giao dịch trong VN100

Với thị trường Việt Nam, tôi sẽ tách quá trình triển khai thành những lớp rất rõ: signal, neutralization, candidate selection, portfolio weights, risk constraints, turnover control và execution. Việc tách này quan trọng vì khi performance thay đổi, chúng ta cần biết lỗi đến từ đâu. Signal layer trả lời cổ phiếu nào đang hấp dẫn tương đối. Neutralization quyết định có loại bỏ sector, size hay beta exposure khỏi score hay không. Candidate selection xác định cổ phiếu nào đủ thanh khoản và dữ liệu để thực sự được xem xét. Portfolio construction quyết định tỷ trọng. Risk layer kiểm soát concentration và volatility. Turnover layer quyết định trade nào đủ giá trị để thực hiện. Execution cuối cùng mới chuyển target weights thành orders. Nếu tất cả được trộn vào một model duy nhất, khi strategy thua sẽ rất khó biết nên sửa signal, risk hay implementation.

Neutralization đặc biệt cần được hiểu đúng. Nếu một Quality model liên tục chấm điểm cao cho ngân hàng vì cấu trúc lợi nhuận của ngành, có hai cách tiếp cận. Một là chấp nhận signal chứa sector view và chỉ giới hạn concentration ở portfolio level. Hai là neutralize ngành để model chỉ chọn ngân hàng tốt nhất so với các ngân hàng khác. Không có cách nào luôn đúng. Nếu objective là stock selection tương đối so với benchmark, sector neutrality có thể hợp lý. Nếu sector information chính là một phần của alpha thesis, neutralization quá mạnh lại loại bỏ information thực sự có giá trị. Điều quan trọng là biết mình đang loại rủi ro nào và cùng lúc đang loại bao nhiêu alpha.

Candidate selection cũng phải đứng trước optimizer. Một mã score rất cao nhưng thanh khoản thấp không nên được coi ngang với một large-cap có score hơi thấp hơn. Nếu strategy quản lý quy mô lớn, minimum liquidity phải cao hơn. Nếu một cổ phiếu có room hoặc accessibility hạn chế, điều đó cũng cần được phản ánh trong universe. Một cổ phiếu không thể mua hoặc không thể thoát ở quy mô mong muốn không phải là cơ hội đầu tư, bất kể model thích nó tới đâu.

Tôi cũng sẽ luôn xây một baseline portfolio đơn giản trước khi sử dụng optimizer phức tạp. Chẳng hạn chọn một nhóm cổ phiếu score cao, áp dụng maximum stock weight và industry cap rõ ràng, sau đó so với phiên bản có thêm risk optimization. Nếu optimizer không cải thiện after-cost outcome một cách ổn định, độ phức tạp bổ sung khó có lý do tồn tại. Trong institutional portfolio management, “đơn giản hơn nhưng giải thích được và ổn định” thường đáng giá hơn “tối ưu hơn vài basis points trên historical test nhưng cực kỳ nhạy với assumptions”.

Một portfolio optimizer thực tế phải trả lời được vì sao một stock có score cao nhưng final weight thấp. Có thể position đã chạm single-name limit. Có thể ngành đó đã đầy risk budget. Có thể stock có liquidity thấp. Có thể cost để tăng position lớn hơn expected benefit. Có thể portfolio đã có nhiều securities có risk exposure tương tự. Đây là thông tin rất quan trọng nếu hệ thống được đưa lên một trang phân tích. Người dùng không nên chỉ thấy một bảng ranking rồi suy ra rằng cổ phiếu số một phải được mua nhiều nhất.

Tôi sẽ muốn mỗi cổ phiếu có một chuỗi giải thích rõ: Raw Score → Score sau neutralization → Proposed Weight → Final Weight → Active Constraint. Nếu một mã có score cao nhưng final weight bằng zero, lý do phải hiển thị được: liquidity không đạt, ngành đã chạm giới hạn hay expected trading cost quá lớn. Nếu một mã score trung bình nhưng vẫn được giữ, có thể vì bán nó không tạo đủ lợi ích để bù turnover. Khi người dùng nhìn được quá trình này, họ hiểu rằng một hệ thống đầu tư khác hoàn toàn một bảng xếp hạng cổ phiếu.

Risk contribution cũng cần được theo dõi cùng capital weight. Hai cổ phiếu đều chiếm 5% danh mục nhưng không đóng góp cùng mức risk. Một cổ phiếu volatility cao và tương quan mạnh với các holdings khác có thể chi phối portfolio nhiều hơn đáng kể. Ngành cũng vậy. Nếu ngân hàng chiếm 25% vốn nhưng đóng góp 40% tổng risk, việc chỉ nhìn nominal weight đang đánh giá thấp concentration. Portfolio manager nên quan tâm mình sở hữu bao nhiêu risk từ một nguồn hơn là chỉ sở hữu bao nhiêu phần trăm vốn.

Turnover attribution cũng rất quan trọng đối với VN100. Nếu turnover tăng mạnh, cần biết nguyên nhân do signal thực sự thay đổi hay do optimizer quá nhạy với covariance update. Nếu signal gần như giữ nguyên nhưng danh mục vẫn giao dịch nhiều, construction layer đang tạo noise. Nếu turnover chủ yếu đến từ stocks ở sát cutoff ranking, có thể cần làm mềm selection rule. Nếu turnover đến từ một fast-moving factor, cần xác định edge có đủ mạnh và đủ nhanh để trả costs hay không. Không nên mặc định turnover càng thấp càng tốt; mục tiêu là chỉ giao dịch khi information mới đủ giá trị.

Capacity cần được đánh giá ngay từ phiên bản backtest đầu tiên. Một model có thể có IC rất cao ở nhóm cổ phiếu nhỏ nhưng không triển khai được nhiều vốn. Khi quy mô tăng, position size relative to ADV tăng, execution kéo dài và slippage lớn hơn. Một portfolio construction tốt vì vậy phải biết từ chối một phần alpha theoretical nếu alpha đó không scalable. Đây là điểm khác biệt rất lớn giữa research portfolio và investable portfolio.

Cuối cùng, toàn bộ pipeline cần được đánh giá qua ba câu hỏi riêng. Signal có giá trị không? Kiểm tra bằng ranking quality, stability và out-of-sample behaviour. Portfolio có chuyển signal thành risk hiệu quả không? Kiểm tra bằng concentration, factor exposure, drawdown và mức độ information được giữ lại. Implementation có giữ được alpha không? Kiểm tra bằng turnover, liquidity, slippage, capacity và chênh lệch giữa theoretical P&L với realized P&L. Nếu signal tốt nhưng net portfolio yếu, không nên tiếp tục tối ưu model mà bỏ qua construction. Nếu portfolio tốt lên chỉ nhờ risk controls trong khi signal không đổi, cũng nên ghi nhận đúng rằng giá trị được tạo ra ở tầng portfolio chứ không phải forecasting.

Đó cũng là điểm đáng chú ý nhất khi đọc nghiên cứu của MSCI về factor indexing. Cùng một factor concept nhưng long-only, extended long/short và market-neutral tạo ra những exposure, active risk và investment outcome khác nhau bởi feasible set của portfolio khác nhau. Nghiên cứu vì vậy củng cố một nguyên tắc rất quan trọng đối với quantitative investing: factor không tồn tại độc lập với cách nó được triển khai. Từ signal tới investment outcome là một chuỗi quyết định về constraints, risk, cost và khả năng giao dịch.

Với một hệ thống Quant tại Việt Nam, tôi sẽ không đánh giá strategy chỉ bằng việc top-ranked stocks có outperform hay không. Tôi muốn biết score đó đã biến thành danh mục như thế nào, ngành nào đang đóng góp risk, constraint nào đang binding, turnover đến từ đâu, capacity còn bao nhiêu và bao nhiêu phần alpha bị mất giữa paper portfolio và execution thực tế. Nếu không trả lời được những câu hỏi này, chúng ta mới chỉ có một ranking model chứ chưa có một investment process.

Signal cho biết nơi nào có thể tồn tại cơ hội. Portfolio Construction quyết định cơ hội đó được chuyển thành vị thế như thế nào, phải trả bao nhiêu chi phí và nhà đầu tư thực sự đang sở hữu loại rủi ro gì. Trong một hệ thống định lượng chuyên nghiệp, hai phần này quan trọng ngang nhau bởi alpha chỉ có giá trị khi nó sống sót đủ lâu để đi từ research notebook đến P&L thực tế.