- 주가 예측 시스템 📈
- 농작물 가격 예측으로 시작. 하지만 사용자에게 서비스 제공함에 충분하지 않은 아이템으로 판단
- 사용자에게 필요한 서비스에 대해 고민하던 중 농작물과 농업 관련 주식과 연관성이 있음을 확인
- 농작물과 농업 관련 주식들의 상관관계 확인 후 주식별 상관관계가 있는
농작물을 추가해 주식 예측
을 진행했을 때주식만으로 예측
했을 때보다 예측률이 더 높아짐 - 더 나아가 유제품, 원유가격, 환율, 코스피 등 다양한 변수와 그에 관련된 주식을 추가해 사용자에게 주식 예측 서비스를 제공하고자 함
- 마케팅에 대해 관심도가 있어 사용자에게 예측 서비스를 제공하기 위해 만들어진 팀
민병혁(팀장)
- Web Service 구현
최현수(팀원)
- Data 수집 및 적재
권태양(팀원)
- Data 처리 및 분석
- Python 라이브러리 Selenium, Beautiful soup을 이용해 Crawling 진행
- 수집된 데이터를 MariaDB에 적재
- 출처
1) 전처리
- 수집된 데이터를 하나의 DataFrame으로 처리
2) 모델링
- 각 주식 별 상관관계가 있는 변수 확인 후 모델 학습할 조합 생성
GRU
(Gated recurrent unit) 모델 선정 과정- 주식은 대략 20개 / 주식 별 조합은 3-4개
- 총 7-80개의 모델 학습이 필요
- 시간 별 데이터가 아닌 일별 데이터로 주식 별 데이터의 수가 많지 않다고 판단
- RNN, LSTM이 아닌
GRU
인 이유- RNN : 장기 의존성 문제(과거 데이터의 정보를 기억하는 기능이 떨어짐)
- LSTM : 많은 모델 학습이 필요하기 때문에 학습이 빠른 GRU 선택, 소량의 데이터에 더 잘 학습되는 GRU 선택
- 모든 조합의 모델링 후 주식별 예측률, 수익률 비교
- ex) 아시아종묘의 경우 우유와 모델링 했을 때 예측률이 약 60%로 가장 높은 것을 확인
- 주식 별 최종 모델 학습 후 예측데이터를 MariaDB에 적재
- MVC 패턴으로 Spring Boot 웹서버 구현
JPA
: 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스Hibernate
: JPA의 구현체이며 DB에 있는 데이터를 JAVA의 POJO로 인식하여 접근하게 해주는 역할JDBC
: DB에 접근할 수 있도록 JAVA에서 제공하는 API