본문 바로가기
무모한 도전-주식 인공지능 만들기

제대로 75%의 데이터로 강화학습을 시킨 수익모델의 백테스트 결과

by 인터넷떠돌이 2019. 1. 7.
반응형

안녕하세요?


일단 예전 포스팅에서 제가 잘못 입력을 해서 강화학습이 무려 0~75번째 인덱스만 가지고서 이루어 진 것을 볼 수 있었습니다. 그래서 이번에는 제대로 강화학습이 일어날 수 있도록 한번 코드를 수정해서, 75%의 인덱스까지 모두 가지고 와서 강화학습이 이루어 지도록 했고, 그 결과를 지금 포스팅에 올려 보고자 합니다.



먼저 예전에 만들어 보았는 YellowOperatioin이라는 프로젝트를 열도록 해 보도록 합니다.



먼저 기존에 주식 테이터를 준비해서 이전에는 75라고 숫자만 입력했던 곳에다가 이번에는 제대로 75%가 들어가도록 만들어 주도록 합니다.



일단 10번의 에포크만 거쳐서, 제대로 프로그램이 작동 하는지 여부를 알아 보고자 합니다. 확인 결과 제대로 작동은 되는것을 확인할 수 있었습니다.



이제 모두다 구글 드라이브에 업로드 시키도록 합니다.



그리고 나서 구글 코랩에서 한번 작동을  시켜 보도록 합니다.




그리고 학습에 사용이 되는 데이터의 양이 많아진 탓인지는 몰라도, 한번 강화학습을 1000에포크로 완성을 시키는 데도 3시간 반이라는 시간이 걸리는 것을 확인할 수 있었습니다.



이런 식으로 3시간 반이나 걸리는 작업을 연속으로 해서, 하루에 여러번 하기도 곤란하기도 했으므로, 몇일에 걸쳐서 5개의 모델을 만들어 내는 데는 성공했습니다.



먼저 강화학습을 해서 나온 모델001의 학습방법입니다. 일단 1000에포크에 가까워 지면 질수록 어떻게 된 것인지 계속해서 주식을 보유만 하려고 하는 것을 볼 수 있습니다.



그리고 나서, 모델002의 강화학습 경과를 보여주고 있습니다. 이 방법에서는 여기서도 학습이 진행이 되면 될수록 그냥 보유만 하고 가만히 있다는 것을 볼 수 있습니다.



그래고 나서 모델 003도 별 차이점이 없는 것을 볼 수 있습니다.




그리고 나서 모델004의 경우에는 어떻게 된 것인지 몰라도, 강화학습 초반에는 제법 판매와 구매를 했지만, 여기서도 역시 보유하면 보유할 수록 계속해서 보유만 하고 있는 모델이 나오는 것을 볼 수 있었습니다.



마지막 모델에서도 역시 같은 패턴을 볼 수 있었습니다. 물론 전체적인 pv는 모두 증가하는 방향으로 간 것은 맞기는 합니다만, 문제는 이런 것만으로 괜찮은 것인가 하는 생각이 듭니다.



아무튼 일단은 백테스트를 해봐야 제대로 된 모델인지 아닌지를 알 수 있기 때문에 일단 확인에 들어가 보고자 합니다. 위 스크린샷처럼 기존의 RLTrader를 작동 시켜서 한번 확인에 들어가 보도록 합니다.



일단 첫번째 모델입니다. 일단 여기서는 19.275%라는 그다지 크지 않은 수익률이 나오는 것을 볼 수 있었습니다.



그런데 2번째 모델도 비슷한 결과가 나오는 것을 볼 수 있기는 있었습니다.




절대로 같은 스크린샷을 반복해서 쓴 것도 아닌데 3번째 모델도 같은 결과를 배출하는 것을 볼 수 있었습니다.



거기다가 4번째의 결과도 같았으며



마지막까지 결과의 차이가 없는 희얀한 경우가 나오는 것을 볼 수 있었습니다.



일단 모두들 보면, 왜인지 모르게 모두 주식을 보유만 하고 있으면서 기다리기만 하는 것을 보여주고 있습니다.



결국 이건 뭐라고 해야 할까요? 그저 주식을 보유만 하면 언젠가는 올라간다는 것인데, 무슨 워렌버핏이 지금 필요한 것도 아닌데 이런 결과가 나오는 것을 볼 수 있었습니다. 아무래도 이에 대해서는 데이터가 커진 만큼 다른 방법을 강구해야 할 필요가 있다는 것인데, 지금 당장은 무슨 방법이 있을지는 모르겠습니다.

반응형