Data Science Project

[캡스톤_중간] 경영캡스톤 클러스터링을 통한 포트폴리오 최적화

ParkS2 2024. 5. 24. 16:55

제안서

[제안서]클러스터링을 통한 포트폴리오 최적화.pptx
1.15MB

 

중간

경영캡스톤_중간(클러스터링을 통한 포트폴리오 최적화).pdf
5.76MB

 


  1. 라이브러리 설치 및 데이터 다운로드:
    • yfinance 라이브러리를 설치하여 주식 데이터에 접근한다. 이후 S&P 500 상위 100개 주식의 티커 리스트를 설정하고, 2020년 한 해 동안의 주식 데이터를 다운로드한다. 다운로드한 데이터는 조정 종가를 기반으로 하며, 이를 CSV 파일로 저장한다.
  2. 재무 지표 수집:
    • 다운로드한 각 주식의 데이터로부터 PER(Price-Earnings Ratio) 값을 추출한다. 이 정보는 예외 처리를 통해 오류 발생 시 None 값을 할당하고, 최종적으로 이 데이터를 CSV 파일로 저장한다.
  3. 베타 계수 계산:
    • 각 주식의 월별 수익률을 계산하고, 이를 바탕으로 베타 계수를 계산한다. 계산된 베타 값은 데이터 프레임에 저장되며, 이는 주식이 시장 변동에 얼마나 민감한지를 나타내는 지표다.
  4. 포트폴리오 최적화:
    • 주식의 평균 거래량을 계산하고, 이를 다시 데이터 프레임으로 저장한다. 이후, 각 주식의 변동성을 계산하여 또 다른 데이터 프레임에 저장한다. 이 데이터는 포트폴리오 최적화에 중요한 역할을 한다.
  5. 몬테카를로 시뮬레이션을 통한 최적 포트폴리오 탐색:
    • 수익률, 변동성, 샤프 비율을 계산하여 몬테카를로 시뮬레이션으로 효율적 투자선을 도출한다. 이 과정에서 생성된 수천 개의 포트폴리오 중에서 최대 샤프 비율을 갖는 포트폴리오를 찾아낸다.
  6. 투자 전략 구현:
    • 최적화된 포트폴리오를 바탕으로 각 주식에 할당될 투자 금액을 계산한다. 각 티커별로 계산된 투자 금액을 출력하고, 전체 투자 금액과 예상 수익률 및 변동성을 최종적으로 확인한다.

코드 소스

wonderfulawsome/Capstone-Project (github.com)

 

GitHub - wonderfulawsome/Capstone-Project

Contribute to wonderfulawsome/Capstone-Project development by creating an account on GitHub.

github.com