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

원숭이 투자자의 오류 해결과 새로운 벽에 가로막힌 하루

by 인터넷떠돌이 2019. 2. 5.
반응형

안녕하세요?


이래저래 어제 포스팅에서는 원숭이 투자자에 문제가 있었음을 알았고, 그래서 이번 포스팅에서는 이 문제를 해결하기 위한 시도를 하였습니다. 그리고 나서는 새로운 수익모델을 찾기위한 시도를 들어갔습니다만, 그래도 결과가 시원찮지 않은 것을 보여주고 있었습니다.



먼저 한번 RLTrader에 가서, 위 스크린샷처럼 learing이 false로 되어 있을 경우에는 랜덤한 행동을 하는 비율이 오히려 0가 되는 것을 볼 수 있습니다. 한마디로 말해서 지금까지 제가 원숭이 투자자라고 생각했던 것이 실제로는 학습되지 않은 신경망을 통해서 나온 것이라는 것을 볼 수 있었습니다.



그래서 이번에는 먼저 try: 문을 가지고 나와서, 먼저 해야 할 일은 에포크를 1번만 시도하는 경우에는 0으로 나누기를 하는 에러가 발생하고 맙니다. 그래서 이런 에러를 해결하기 위해서, 먼저 위 스크린샷처럼 해당하는 에러가 생겼을 경우에는 무조건 epsilon의 값을 1.0으로 두어라고 명령을 해 줍니다.



그리고 나서 원숭이 투자자를 위한 메뉴에서 먼저 False라도 되어 있었던 learning을 True로 만들어 주도록 합니다. 그리고 나서 이제 실행에 들어가 봅니다.



RLTrader를 작동시킨 다음에, 먼저 위 스크린샷처럼 원숭이 투자자에 대해서 한번 체크표시를 해 주도록 합니다. 이렇게 해서 이제는 제대로 작동될 것을 기대하면서 한번 작업에 들어가 봅니다.



이번에는 제대로 패턴이 안 나오고 제대로 랜덤한 결과들이 나오는 것을 볼 수 있었습니다. 그리고 원숭이 투자자의 평균은 도저히 수익이 나오지 않는 것으로 나온다는 것도 알 수 있었습니다.




먼저 원숭이 투자자가 나온 결과를 비교해 보고 있습니다. 일단 모든 행동이 랜덤으로 나왔다는 것을 3번째 그래프를 보면 알 수 있습니다만, 그 위에 하나같이 투자를 시작하면 시작할 수록, 이 AJ렌터카에서는 손해만 나온다는 것을 알 수 있었습니다.



그래도 패턴이 같다고 생각이 되는 것은 하나도 없이 제대로 랜덤한 행동을 보여주고 있습니다만, 이게 거의 원숭이 투자자에서 패턴이 나오는 것은 해결이 되었다는 생각이 듭니다.



다음으로는 새로운 수익모델을 찾기 위해서, 한번 위 스크린샷처럼 랜덤한 행동을 하는 비율을 50%로 초반에 설정을 해 주고서 600에포크 동안 강화학습을 진행하도록 만들어 주도록 합니다.



설정된 yellowoperation의 main.py를 구글 드라이브에 있는 제 폴더에 올려 주도록 합니다. 그전에 당연하다면 당연하게도 기존에 있던 main.py를 제거하는 것도 잊지 말아야 합니다.



일단 첫번째 모델이 만들어 지는데 3시간 가까이 걸리는 것을 확인할 수 있었습니다.




두번째 모델역시 3시간 조금 넘는 시간이 걸린 다음에 강화학습이 완료가 된 것을 확인할 수 있었습니다.



다음으로는 세번째 모델을 만드는데 이 경우에는 어떻게 된 것인지 모르겠습니다만, 아무튼 간에 3시간 40분 가까이 걸리는 것을 확인할 수 있었습니다.



이렇게 급하게 강화학습을 해서, 어떻게 4개의 수익모델을 얻는데는 성공하기는 성공했습니다. 다만, 이렇게 한다고 해서 이 모두가 다 백테스트를 해서 수익을 낼 수 있는지는 모르겠다는 생각이 듭니다.



다시금 RLTrader를 실행시키는 것을 해서, 위 스크린샷처럼 한번 제대로 작업을 하도록 합니다. 이제 수익이 나오리라 기대를 하기는 합니다만......



먼저 첫번째 모델입니다. 여기서는 제대로 모델이 나오지 않은 것을 확인할 수 있었습니다.




두번째 모델의 경우에도 수익이 나오지 않는 것을 확인할 수 있었습니다.



다음으로 3번째 강화학습으로 나온 모델의 경우에도 수익이 나오지 않은 상황인 것은 매한가지 였습니다.



마지막 모델까지 수익이 나오지 않는 것을 확인할 수 있었습니다.



일단 무어라고 해야 할까요? 강화학습을 해서 나온 모델들의 행동 패턴이 무언가 거의 비슷해 보인다는 생각이 듭니다. 이 경우에는 과적합이라고 해야 할까요? 아니면 시간 관계상 600에포크밖에 강화학습을 하지 않아서 생긴 문제라고 해야 할까요? 아무튼 어찌된 셈인지는 모르겠습니다만, 계속해서 분봉차트에서 수익을 못내고 있기는 합니다.

반응형