Thanh khoản thoát vị thế và tương quan danh mục cổ phiếu
Hỏi AI mất bao nhiêu phiên để thoát từng vị thế theo thanh khoản thật, danh mục đang tập trung vào mã nào, beta, tương quan và mức đa dạng hoá thực sự ra sao.
Hai rủi ro ít được đo nhất của một danh mục cá nhân là thanh khoản (bán được
nhanh đến đâu) và tương quan (các mã có thực sự khác nhau không). FinLens MCP có
hai công cụ cho đúng hai câu đó. Chúng bổ sung cho portfolio_analyze (Sharpe, VaR,
bảng tháng) và portfolio_optimize ở trang Danh mục đầu tư, và
cũng như các công cụ đó, chỉ trả số liệu mô tả quá khứ.
Mất bao nhiêu phiên để thoát từng vị thế?
portfolio_liquidity so từng vị thế với giao dịch thực tế của mã. Với mỗi vị thế:
giá phiên gần nhất, quy mô theo tỷ đồng và theo số cổ phiếu (quy đổi qua lại từ đầu
vào), giá trị và khối lượng giao dịch bình quân adv_days phiên (ADV), vị thế bằng
bao nhiêu % ADV, days_to_exit bằng giá trị vị thế chia cho ADV giá trị nhân
participation_pct, số phiên trong 60 phiên gần nhất có giá trị giao dịch dưới 1/3
ADV (độ ổn định thanh khoản) và % vốn hoá. Toàn danh mục: tổng giá trị, days_to_exit
lớn nhất và bình quân theo giá trị, 3 vị thế thoát chậm nhất, phân bố theo nhóm
dưới 1, 1–3, 3–10 và trên 10 phiên.
Tôi giữ 100.000 HPG, 20.000 VCB và 5 tỷ đồng FPT. Với 20% giá trị giao dịch mỗi phiên, mỗi mã mất mấy phiên để thoát hết?
→ portfolio_liquidity: positions=[{ticker:'HPG', shares:100000}, {ticker:'VCB', shares:20000}, {ticker:'FPT', value_bil:5}], participation_pct=20
Nếu đặt 30 tỷ vào một mã thanh khoản thấp thì vị thế bằng bao nhiêu % ADV và bao nhiêu % vốn hoá? Thanh khoản mã đó có ổn định không?
→ portfolio_liquidity: value_bil=30 — đọc pct_of_adv, pct_of_market_cap, low_liquidity_sessions_60
Mỗi vị thế truyền đúng một trong value_bil (tỷ đồng) hoặc shares (số cổ
phiếu); truyền cả hai hoặc không truyền gì sẽ báo lỗi. Tối đa 50 vị thế. Số liệu giả
định giá không đổi và tỷ lệ tham gia cố định; công cụ không ước tính tác động giá,
không tính chi phí khớp lệnh và không đặt lệnh.
Các mã trong danh mục có chạy cùng nhau không?
portfolio_correlation tính trên lợi suất ngày từ giá điều chỉnh, mọi mã dùng chung
một khoảng phiên trong cửa sổ lookback (6m, 1y, 2y, 3y). Khối per_ticker cho
từng mã: ngành ICB cấp 2, beta và tương quan với benchmark (VNINDEX, VN30 hoặc
HNXINDEX), biến động năm hoá, mức sụt giảm lớn nhất trong kỳ. Khối matrix là ma
trận tương quan Pearson đầy đủ khi tối đa 12 mã; nhiều hơn thì 10 cặp cao nhất và 5
cặp thấp nhất, luôn kèm stats (trung bình, trung vị, số cặp trên 0,7). Khối
clusters gom các mã nối nhau bởi tương quan trên 0,7 kèm ngành của cụm.
HPG, HSG, NKG và TVN tương quan với nhau bao nhiêu trong 1 năm qua? Có phải mua 4 mã này là đặt một cửa không?
→ portfolio_correlation: tickers=['HPG','HSG','NKG','TVN'], lookback='1y' — đọc matrix và clusters
Trong FPT, VCB, MWG, GAS mã nào beta cao nhất so VN30, mã nào sụt sâu nhất từ đỉnh trong 2 năm?
→ portfolio_correlation: tickers=['FPT','VCB','MWG','GAS'], benchmark='VN30', lookback='2y'
Danh mục có tỷ trọng: đa dạng hoá thật hay giả?
Truyền weights (tỷ trọng theo mã, tổng xấp xỉ 1) thay cho tickers để nhận thêm
khối portfolio: beta danh mục bằng tổng tỷ trọng nhân beta; biến động năm hoá của
danh mục tỷ trọng cố định; systematic_variance_pct là phần phương sai do benchmark
giải thích và idiosyncratic_variance_pct là phần còn lại; effective_n là số mã
hiệu dụng bằng 1 chia tổng bình phương tỷ trọng; diversification_ratio bằng tổng
tỷ trọng nhân biến động từng mã chia biến động danh mục, bằng 1 khi không có hiệu
ứng đa dạng hoá; weighted_avg_pair_corr; và risk_contribution_pct trong
per_ticker cho biết mỗi mã đóng góp bao nhiêu % phương sai, tổng bằng 100.
Danh mục 40% HPG, 30% VCB, 30% FPT: beta so VNINDEX, bao nhiêu % rủi ro do thị trường, số mã hiệu dụng và mã nào đóng góp rủi ro nhiều hơn tỷ trọng của nó?
→ portfolio_correlation: weights={'HPG':0.4,'VCB':0.3,'FPT':0.3}, benchmark='VNINDEX' — đọc portfolio và per_ticker[].risk_contribution_pct
tickers và weights loại trừ lẫn nhau. Mã không có dữ liệu hoặc thiếu lịch sử
trong cửa sổ bị loại và liệt kê ở dropped_tickers; khi các mã còn lại đều có tỷ
trọng 0, công cụ báo lỗi thay vì trả số vô nghĩa.
Số liệu mô tả quá khứ, không phải khuyến nghị
days_to_exit dựa trên thanh khoản đã qua với giả định giá đứng yên; thanh khoản
có thể cạn đúng lúc cần bán. Tương quan và beta đo trong một cửa sổ cố định và
thường tăng mạnh trong các đợt giảm chung của thị trường. Hai công cụ không mô phỏng
lợi nhuận danh mục (việc đó thuộc portfolio_analyze), không đề xuất tỷ trọng (thuộc
portfolio_optimize), và không phải lời khuyên đầu tư.
Bảng công cụ rủi ro danh mục
| Công cụ | Việc gì | Tham số chính |
|---|---|---|
portfolio_liquidity | Từng vị thế so ADV: % ADV, số phiên để thoát, độ ổn định thanh khoản 60 phiên, % vốn hoá; phân bố toàn danh mục theo nhóm phiên thoát | positions (1–50, mỗi vị thế ticker + value_bil hoặc shares), participation_pct, adv_days |
portfolio_correlation | Beta, tương quan với benchmark, biến động, sụt giảm từng mã; ma trận tương quan, cụm trên 0,7; với weights thêm beta danh mục, phương sai hệ thống, số mã hiệu dụng, diversification_ratio, đóng góp rủi ro | tickers hoặc weights (2–30 mã), lookback (6m, 1y, 2y, 3y), benchmark (VNINDEX, VN30, HNXINDEX) |
Bài liên quan
Danh mục đầu tư
Tối ưu tỷ trọng, backtest tái cân bằng, đường biên hiệu quả, VaR và Sharpe.
Dòng tiền giao dịch
Khối ngoại, tự doanh và dòng tiền chủ động theo mã, nguồn của thanh khoản thật.
Thống kê thị trường
Rủi ro thống kê của một mã, bất thường giao dịch và pha của chỉ số.
Tổng hợp một lệnh
Ảnh chụp nhiều mã cùng lúc: khối lượng so trung bình, beta, RS, định giá.
Câu hỏi thường gặp
Nếu cần bán hết một vị thế thì mất bao nhiêu phiên?
Công cụ portfolio_liquidity của FinLens MCP trả lời bằng days_to_exit: giá trị vị thế chia cho giá trị giao dịch bình quân adv_days phiên nhân với tỷ lệ tham gia participation_pct. Ví dụ với tỷ lệ tham gia 20%, một vị thế bằng 100% ADV cần 5 phiên. Mỗi vị thế còn có pct_of_adv, exit_bucket phân nhóm dưới 1, 1 đến 3, 3 đến 10, trên 10 phiên, low_liquidity_sessions_60 là số phiên trong 60 phiên gần nhất có giá trị giao dịch dưới một phần ba ADV, và pct_of_market_cap. Số liệu giả định giá không đổi và tỷ lệ tham gia cố định, không ước tính tác động giá hay chi phí khớp lệnh.
Danh mục của tôi nhập thế nào, theo số cổ phiếu hay theo giá trị?
Cả hai, nhưng mỗi vị thế truyền đúng một trong hai: shares là số cổ phiếu nắm giữ, value_bil là giá trị vị thế tính bằng tỷ đồng. FinLens MCP quy đổi qua lại theo giá phiên gần nhất và trả cả position_value_bil lẫn position_shares. Ví dụ hỏi trợ lý AI: tôi giữ 100.000 HPG, 20.000 VCB và 5 tỷ FPT, mỗi mã mất mấy phiên để thoát với 20% ADV. Tối đa 50 vị thế một lần; mã không có dữ liệu giao dịch gần đây được liệt kê ở missing_tickers.
Làm sao biết các cổ phiếu trong danh mục có đang chạy cùng nhau không?
Công cụ portfolio_correlation của FinLens MCP tính ma trận tương quan Pearson trên lợi suất ngày từ giá điều chỉnh của 2 đến 30 mã trong cửa sổ lookback 6 tháng tới 3 năm. Với 12 mã trở xuống trả ma trận đầy đủ, nhiều hơn thì trả 10 cặp tương quan cao nhất và 5 cặp thấp nhất, luôn kèm trung bình và trung vị tương quan cặp. Khối clusters gom các mã nối nhau bởi tương quan trên 0,7 kèm ngành của từng cụm, giúp nhận ra danh mục nhiều mã nhưng thực chất chỉ đặt vào một hai chủ đề.
Danh mục 10 mã có thực sự đa dạng hoá không?
Truyền tỷ trọng vào portfolio_correlation qua weights để nhận khối portfolio: effective_n là số mã hiệu dụng bằng 1 chia tổng bình phương tỷ trọng, 10 mã chia đều cho 10, dồn 60% vào một mã thì thấp hơn nhiều; diversification_ratio bằng tổng tỷ trọng nhân biến động từng mã chia biến động danh mục, bằng 1 khi không có hiệu ứng đa dạng hoá; systematic_variance_pct là phần phương sai do thị trường giải thích; risk_contribution_pct chỉ ra mã đóng góp rủi ro nhiều hơn tỷ trọng. FinLens MCP trả các số này như mô tả quá khứ, không phải khuyến nghị tái cơ cấu.
Beta của danh mục so với VNINDEX tính thế nào?
Trong portfolio_correlation của FinLens MCP, beta từng mã là hệ số hồi quy lợi suất ngày của mã lên lợi suất ngày của benchmark trong cùng khoảng phiên, và beta danh mục là tổng tỷ trọng nhân beta từng mã. Benchmark chọn được VNINDEX, VN30 hoặc HNXINDEX. Kết quả kèm corr_benchmark là tương quan với benchmark, annual_volatility_pct là biến động năm hoá và max_drawdown_pct là mức sụt giảm lớn nhất từ đỉnh của từng mã trong kỳ. Mọi mã dùng chung một khoảng phiên; mã thiếu lịch sử bị loại và ghi ở dropped_tickers.
Cập nhật lần cuối