1. 개요
모델 분석을 진행하는 와중에 너무 좋은 논문을 봤다. 논문은 아래와 같다.
딥러닝을 이용한 비트코인 투자전략의 성과 분석 (저자: 김선웅 국민대학교 비즈니스IT전문대학원 교수)
해당 논문을 보면, LSTM을 사용해서 가격을 예측하고, 예측된 가격을 사용하여 거래를 진행하는 내용이다. 나같은 경우 LSTM으로 추세를 확인하는 모델을 일단 만들어 보는 것이 목표였는데 교수님께서 예측된 가격과 실제 가격이 저장되어있는 테이블을 따로 생성하여 Chat GPT를 사용해 분석하는 것이 좋겠다는 의견을 주셨다.
2. 본문
- 데이터 준비
데이터는 빗썸에서 제공하는 API를 통해 가지고 왔다. 처음에는 종가만을 활용한 1차원 학습을 진행하였다. 그러던 도중 지원한 회사의 면접관님께서 "다차원으로 학습하는게 조금 더 의미있는 값을 도출할 것 같다." 라는 좋은 피드백을 주셔서 종가, 시가, 고가, 저가, 거래량 총 5개의 차원으로 학습한 모델을 생성하였다.
다음은 정규화 부분이다. 비트코인 자체가 변동률이 높은 종목이라고는 하지만, 하루의 종가 기준으로 시가와 고가 그리고 저가의 가격차이는 그렇게 높지 않다. 다만, 거래량은 절대적인 숫자차이가 너무 많이 나기 때문에 정규화를 진행하였다.
위의 과정은 데이터 정규화 후 시계열 데이터 셋을 생성하는 과정이다. 차원이 5개인 하나의 데이터를 크기가 15개인 연속된 데이터로 나눈다. 굳이 차원을 표현하면 (학습 데이터의 갯수, 15, 5) 가 된다. 이렇게 되면 당일 기준 최근 15일의 데이터를 넣어주면 오늘날의 종가를 예측해 도출한다.
활성화 함수와 손실값 함수는 논문을 참조하여 설정하였다. 다음은 손실값 함수 그래프와 학습 결과이다.
청록색 그래프가 TEST데이터의 예측 결과값이다. 뒤에 파란색의 원가 데이터와 비교해볼 수 있다.
3. 결어
사실 9월부터 진행한 프로젝트이지만, 취준이 끝나고 이제 하나 하나 글을 올리고자 한다. 취준, FLOWBIT과 같은 부분들을 빨리 올렸으면 좋겠다.
'기록지 > 비트코인 자동 거래 시스템 만들기' 카테고리의 다른 글
[비트코인 자동 거래 시스템] 새로운 알고리즘을 위한 Data 분석 Class 생성!📈 (9) | 2022.12.19 |
---|---|
[비트코인 자동 거래 시스템] 6주차 시스템을 배포할 서버를 구축하자! - (Ubuntu로 서버구축하기) 💾 (0) | 2022.04.11 |
[비트코인 자동 거래 시스템] 5주차 Trading Module을 구현하자! 🎫 (0) | 2022.03.28 |
[비트코인 자동 거래 시스템] 4주차 Python을 활용한 Mail 자동 전송 시스템 (0) | 2022.01.29 |
[비트코인 자동 거래 시스템] 3주차 Python을 활용한 MongoDB CRUD 모듈 구현 (0) | 2022.01.24 |