제2회 KRX 주식 투자 알고리즘 경진대회

알고리즘 | 정형 | 시계열 | 포트폴리오 구성 | 금융 | 샤프 지수

  • moneyIcon 상금 : 5,000 만원
  • 1,327명 마감
마감

 

[팀] ChaChanee 종목 별 종가 예측을 통한 포트폴리오

공동작성자

stroke
2023.07.31 16:19 908 조회 language

프로세스 개요
데이터 전처리
1.  거래량이 0인 데이터 삭제 (거래 중지 의심)
2. 마지막 예측 시점에서 거래량이 0인 종목은 예측에서 제외(이후에 계속해서 거래가 중단되어있을 확률이 높음)
3. 설정한 window size 보다 거래량이 0 초과인 행이 작은 종목은 예측에서 제외
4. 코스닥, 코스피의 지수데이터 컬럼 추가(종목별로 코스닥, 코스피를 라벨 인코딩한 후)
5. 나스닥 지수 추가
6. 개별 종목의 상장 주식수를 이용하여 거래량 비율 컬럼 추가
7. 일간 수익률과 거래량 증감률 컬럼 추가

모델 학습
1. 종가 예측에서 파이캐럿을 사용하여 mape 기준으로 모델 성능 상위에 포진되있는 4개의 모델(knn, lgbm, gbr, 랜덤포레스트)을 사용
2. 종가 예측에 있어 종목 별, 1일차 부터 15일차까지 개별 예측
3. 종가 예측을 통한 수익률 및 변동성 계산 후 이를 통한 순위 결정 

실행환경: 
주피터 노트북, python3
! pip install pandas # (1.5.3)
! pip install numpy # (1.23.5)
! pip install tqdm # (4.64.1)
! pip install scikit-learn # (1.2.1)
! pip install lightgbm # (3.3.5)
! pip install finance-datareader # (0.9.50)


데이터 출처: krx 사이트에서 해당 회사의 상장주식수에 관한 정보, (kospi, kosdaq) 지수데이터 수집,  FinanceDataReader 라이브러리를 이용하여 나스닥 데이터 수집

https://drive.google.com/drive/folders/1GA2LjkBUl_mCTKyz0xLUev_nf7xnt-lj

코드