[주식 데이터 수집 및 포트폴리오 최적화]
이 코드는 Yahoo Finance를 통해 주식 데이터를 수집하고, 해당 데이터를 기반으로 포트폴리오를 최적화하는 과정을 담고 있습니다.
- 허준수
- 임동휘
- 정유진
S&P 500 기업 목록을 Wikipedia에서 가져옵니다. 가져온 데이터에서 종목 심볼을 추출하여 CSV 파일로 저장합니다. yfinance 라이브러리를 사용하여 2016년부터 2020년까지의 주식 데이터를 다운로드합니다. Adjusted Close 및 Volume 데이터를 CSV 파일로 저장합니다.
다운로드한 주식 데이터에서 Adjusted Close 및 Volume 데이터를 추출합니다. 추출한 데이터를 CSV 파일로 저장합니다. 주식 데이터를 개별 종목별로 분리하여 CSV 파일로 저장합니다. 개별 종목의 주식 데이터에 추가적인 컬럼을 병합합니다. 병합한 데이터의 컬럼 이름을 변경하고 CSV 파일로 저장합니다.
주식 데이터의 수익률을 분석하여 성과가 가장 좋은 종목을 선정합니다. 수익률을 백분위로 변환하여 순위를 매깁니다. 상위 백분위에 속하는 주식을 선택합니다. 선택한 주식의 기술적 분석 지표를 활용하여 추가적인 조건을 적용합니다. 최종적으로 선정된 주식 목록을 CSV 파일로 저장합니다.
선택된 주식으로 포트폴리오를 구성합니다. 기대수익률과 위험을 고려하여 포트폴리오를 최적화합니다. 최적화된 포트폴리오에서 각 주식에 할당할 금액을 계산합니다. 할당된 금액과 주식의 수량을 표시합니다.
최적화된 포트폴리오의 주식 가격 변동을 시각화합니다. 각 주식의 Adjusted Close 가격을 그래프로 표시합니다. 그래프를 저장하여 포트폴리오의 변동을 확인할 수 있습니다.