skfolio/skfolio
Python library for portfolio optimization built on top of scikit-learn
What it solves
전통적인 평균-분산 최적화 (MVO)는 입력 파라미터에 대한 높은 민감도, 가중치 집중, 그리고 표본 외 성능 저하의 문제가 자주 발생합니다. skfolio는 데이터 누수 및 과적합과 같은 리스크를 완화하기 위해 표준화된 API를 통해 포트폴리오 모델을 구축, 미세 조정 및 검증하는 통합된 머신러닝 지향 프레임워크를 제공합니다.
How it works
scikit-learn을 기반으로 구축된 skfolio는 광범위한 포트폴리오 최적화 및 리스크 관리 도구를 구현합니다. 사용자는 다음과 같은 내용을 포함하는 pipeline을 정의할 수 있습니다:
Estimators: 기대 수익률, 공분산, 분산을 계산하기 위한 도구로, 디노이징(denoising) 및 슈링크지(shrinkage)와 같은 고급 방법론을 포함합니다.
Optimization Models: 단순 배분 (Equal-Weighted)부터 복잡한 볼록 최적화 (Mean-Risk, Risk Budgeting) 및 클러스터링 방법 (Hierarchical Risk Parity)까지 다양한 전략을 제공합니다.
Prior Estimators: Black & Litterman, 팩터 모델, 또는 Vine Copulas를 사용한 합성 데이터 생성을 통해 뷰(view)를 통합합니다.
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) 도구를 포함합니다.
- Robust Validation: 선행 편향(look-ahead bias)을 방지하기 위한 특화된 금융 교차 검증을 구현합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트