Skip to content

한림대학교 2024-1 강화학습 기말 프로젝트 팀 H

Notifications You must be signed in to change notification settings

Reinforcement-Learning-Team-H/RL_Main

Repository files navigation

🤖 강화학습 기말 프로젝트 팀 H 메인 레포지토리

한림대학교 2024-1학기 강화학습 과목의 기말 프로젝트 팀H 레포지토리 입니다.

주식시장에서의 불안정성을 강화학습으로 해결 해 보고자 프로젝트를 진행하게 되었습니다.

3년치의 뉴스 데이터와 나스닥 상위 10개 종목의 주가를 가지고 학습을 진행하였습니다.

🧑‍💻 팀원 소개

  • 한림대학교 콘텐츠IT 19학번 민경환 (팀장) GitHub🔗

  • 한림대학교 빅데이터 19학번 남궁찬 GitHub🔗

  • 한림대학교 빅데이터 19학번 황승원 GitHub🔗

📝 프로젝트 요약

  1. 3년치 뉴스 데이터를 크롤링 합니다.
  2. BERT 모델을 사용하여 감성분석을 진행합니다.
  3. yfinance 라이브러리를 활용하여 3년치 주가 데이터를 가져옵니다.
  4. 매수, 매도, 대기 세 가지의 행동을 하는 강화학습 에이전트를 학습 시킵니다. 하루에 최대 1주씩 매매합니다.
  5. 진행 된 학습 결과 모델을 10 에피소드 마다 체크포인트로 저장하여 matplotlib 라이브러리의 pyplot 을 활용하여 시각화합니다.
  6. 결과를 분석하고 개선사항을 도출합니다.

🗂️ 파일 및 폴더 설명

📑 RL.ipynb

  • Reinforcement Learning, 학습 코드가 있는 파일입니다. 환경과 상태에 따라 액션을 학습시켜 체크포인트로 저장합니다.

  • 뉴스기사 감성분석을 진행한 csv 파일과 yfinance 에서 가져온 주가 데이터를 활용합니다.

📑 Visualize.ipynb

  • 학습 된 체크포인트들을 활용하여 시각화된 그래프를 그리는 코드입니다.

  • 전체 체크포인트 시각화, 특정 체크포인트 에피소드 상세 시각화가 가능합니다.

📑 getGoogleNews.py

  • Google News RSS 피드에서 특정 종목코드와 특정 기간으로 관련 뉴스를 검색하여 링크를 수집 한 뒤, 각 링크에서 기사 본문을 크롤링 하여 저장합니다.

📑 bert_yfinance.ipynb

  • BERT 모델을 활용하여 뉴스 기사에 대한 감성분석을 진행합니다.

  • 특정 종목별로 검색되어 그룹이 나뉜 뉴스 본문은 긍정/부정을 계산하여 날짜를 레이블링 한 뒤 csv 파일로 내보내집니다.

📁 checkpoints

  • 500번의 에피소드 중 10번마다 총 50개의 체크포인트를 저장하였습니다.

📁 news_articles

  • 3년치 뉴스 기사 본문을 크롤링 한 데이터 입니다. 용량문제로 깃허브에 업로드 하지 않습니다.

  • 필요 시 [email protected] 으로 연락 바랍니다.

📁 news_data

  • 뉴스 기사로 감성분석을 진행 한 감성분석 데이터 값이 csv 파일로 담겨있습니다.

📁 보고서

  • 강화학습 최종 보고서와 영상이 담겨있습니다.

최종 수정일

  • 2024년 6월 14일 금요일

About

한림대학교 2024-1 강화학습 기말 프로젝트 팀 H

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published