skfolio/skfolio
Python library for portfolio optimization built on top of scikit-learn
What it solves
傳統的均值-變異數優化 (MVO) 通常面臨對輸入參數高度敏感、權重集中以及樣本外表現不佳的問題。skfolio 提供了一個統一且以機器學習為導向的框架,用於建立、微調與驗證投資組合模型,透過標準化的 API 幫助使用者 mitigator 數據洩漏與過度擬合等風險。
How it works
基於 scikit-learn 之上的 skfolio 實作了廣泛的投資組合優化與風險管理工具。它允許使用者定義一個包含以下內容的 pipeline:
- Estimators: 計算預期報酬率、共變異數與變異數的工具,包括去噪與收縮等進階階方法。
- Optimization Models: 從簡單配置 (Equal-Weighted) 到複雜的凸優化 (Mean-Risk, Risk Budgeting) 以及分群法 (Hierarchical Risk Parity) 的各種策略。
- Prior Estimators: 透過 Black & Litterman、因子模型或使用 Vine Copulas 生成的合成數據來整合觀點。
- Validation Tools: 針對時間序列數據的專門化交叉驗證技術,例如 Walk Forward 與 Combinatorial Purged Cross-Validation。
- Constraints: 支援對交易成本、管理費以及各種權重或群組限制。
Who it’s for
需要一個強大且與 scikit-learn 相容的函式庫,用於專業資產配置與風險管理的量化研究員、投資組合經理人與數據科學家。
Highlights
- Scikit-learn Integration: 與
GridSearchCV,RandomizedSearchCV, 與Pipeline完全相容,可實現無縫的模型選擇與超參數調整。 - Extensive Model Library: 支援廣泛的風險衡量指標 (CVaR, EVaR, Maximum Drawdown) 與優化目標。
- Advanced Risk Management: 包含透過合成數據進行壓力測試,以及使用熵池化 (entropy pooling) 來整合主觀觀點的工具。 n- Robust Validation: 實作了專門的金融交叉驗證,以防止前瞻性偏差 (look-ahead bias)。
相關
- 專案
- 專案
- 專案
- 專案
- 專案