3-2-1. [금융 AI] LSTM을 활용한 주가예측
●데이터 살펴보기
2010.01.04 ~ 2020.08.10 까지 나스닥에서 거래된 애플의 주가가 기록.
총 6개의 피쳐/ open, high, low, close, adj close, volume
모든 0 ~ 1 사이로 노멀라이즈
윈도우 크기는 14로 세팅.
단, 거래량은 예측에 필요없을 것 같아 open, high, low, close, adj close 5개의 값만 활용.
결과적으로 총 6개의 피쳐를 입력받아 5개의 피쳐의 미래값을 예측하는 문제.
●어떤 인공지능 사용?
층수 | 종류 | 크기 | 활성화 함수 |
1층 | LSTM | 128, return_sequences = True | - |
2층 | FNN | 64 | ReLu |
3층 | FNN | 5 | - |
LSTM이 128로 증가, 2층의 크기가 64로 증가. 2층의 FNN에 렐루를 적용.
●딥러닝 코딩
- 인공신경망 컴파일
옵티마이저(optimizer) - Adam
메트릭(metrics) - accuracy
로스(loss) - mse
●인공지능 학습
- 인공신경망 학습
- 학습 결과 출력
그래프로 출력
●인공지능 학습 결과 확인
- 인공지능 성능 확인하기
저자의 경우 인공지능의 최종 성능은 MAE 0.31% 대략 99.7%이상의 성능을 보임.
콜백이 작용하여 89 에포크에서 중단.
나의 경우도 MAE 0.5% 대략 99.5%이상의 성능을 보임.
콜백은 빨리 되어 25 에포크에서 중단.
- 학습 기록 확인하기
빨간 선이 train, 파란 선이 test
저자의 경우 Loss 트레이닝 로스와 테스트 로스 둘다 처음 부터 차이가 큼.
학습이 잘 안된 것으로 보임.
그 와중에 테스트 로스가 꾸준히 떨어지고 있음.
회귀 결과를 보니 학습이 생각보다 잘 된 것 같음. 점들이 직선을 따라 고르게 분포하고 있으며, 오차 또한 크게 두드러지지 않음.
등락의 폭을 조금 더 정확하게 예측할 수 있다면 로스 함수가 조금 더 낮게 나왔을 것 같음.
나의 경우도 로스는 차이가 많이 나지만 회귀 결과를 보면 어느 정도 잘 예측한 것을 보임.
하지만 저자의 경우 보다는 안 좋아 보임.
※
AI를 통한 주가 예측
AI를 활용한 주가예측 또한 항상 완전히 잘되는 것은 아님.
또한 AI자체가 편향될 수 있음. 우상향 데이터만 학습한 AI는 하락할 주식의 미래도 우상향으로 잘못 오인할 수 있음. 외삽의 한계.
AI가 등락의 폭을 비교적 정확하게 예측하지 못한 점이 아쉽다.
모델을 수정하여 AI의 정확도 높이기.
'@@@ 인공지능 > 수학·통계를 몰라도 이해할 수 있는 쉬운 딥러닝' 카테고리의 다른 글
3 - 2. LSTM 활용하기(1) (0) | 2021.08.30 |
---|---|
3 - 1. 자연어 학습 인공지능(3) (0) | 2021.08.30 |
3 - 1. 자연어 학습 인공지능(2) (0) | 2021.08.30 |
3 - 1. 자연어 학습 인공지능(1) (0) | 2021.08.30 |
3. 인간의 기억력을 흉내 낸 인공지능 - LSTM (0) | 2021.08.29 |