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

새로운 종료의 수익모델을 만들어 보기

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

안녕하세요?


일단 해결은 안되고 있는 에러는 에러이고, 한가지 하루종일 인공지능 주식 투자자가 무엇을 했는지 알아보니까, 하루종일 관망만 하고 있습니다. 물론 이것도 행동을 인공지능이 결정한 것 중에 하나는 하나이기는 하지만, 이렇게 관망만 하라고 해서 인공지능을 만든 것은 아니기는 아닙니다.



먼저 22일 하루종일 수집이 된 현재가를 기준으로 시간에 따라서 꺾은선 그래프로 나타내 보았습니다. 여기서는 제 우려와는 다르게 하루종일 현재가가 변하는 것을 볼 수 있었습니다.



그래서 이전 타이밍의 현재가가 지금 현재가에 비해서 몇% 비율로 변했는지 알아보는 그래프를 그려 보았습니다. 일단 X축을 Y축의 0점이 아니라 마이너스 최소값으로 반영하기 위해서 축 서식을 열어서 '가로축 교차'를 -1로 지정하여야 했습니다. 그런데 가만히 보니까, 변화량이 1%도 넘지 않는 것을 볼 수 있었습니다.



그래서 강화학습에서 지연보상 임계치가 15% 이런 식으로 있어서는 아무런 소용이 없겠다는 생각이 들었습니다. 하는 김에 일단 지연보상 임계치를 0.1%인 0.001로 바꾸어 주었으며, 시작시 임의의 행동을 하는 비율을 100%로 주었습니다. 그리고 1000에포크 씩이나 강화학습을 했더니, 지난번에 과적합이 되는 결과가 나왔고, 학습에 걸린 시간이 너무나 길었습니다. 그래서 이번에는 200에포크로 한번 과감하게 줄여 보았습니다.



이렇게 해서 Yellowoperation이라는 프로젝트 안에 있는 파이썬 스크립트를 작성하는 데 성공했으며, 다음으로 할 일은 구글 코랩에서 돌리기 위해서 한번 구글 드라이브에 업로드를 해 보도록 합니다. 그전에 이미 있던 yellowoperation관련된 파이썬 파일(*.py)는 버리도록 합니다.




그 다음으로 구글 코랩을 열어서 이전에 만들어 두었던 스크립트가 살아 있는 것을 볼 수 있었습니다. 그래서 새로 타이핑을 일일히 할 것도 없이-미리 파일을 다운로드 받아주면, 지워져도 ipython파일을 업로드하면 됩니다.



먼저 1차 시도는 1시간 59분으로 거의 2시간이 걸려서야 강화학습이 끝났다는 것을 볼 수 있었습니다. 하지만 이거 하나만 가지고서는 수익 모델이 나왔는지 알 수는 없습니다.



두번째 강화학습은 1시간 55분으로 나왔으며, 여기서도 역시 모델을 얻는데 성공하기는 했습니다. 그런데 이게 5배나 더 많은 강화학습의 에포크인 1000에포크를 주면, 얼마나 시간이 오래 걸릴지 상상도 되지 않습니다.



그리고 3번째 강화학습을 끝냈는데, TPU가 적응을 하기라도 했는지 이번에는 1시간 조금 넘는 시간이 걸린 다음에 강화학습이 끝난 것을 볼 수 있었습니다.




다음으로는 4번째 강화학습을 한 결과입니다. 이번에도 역시 시간이 줄어 들어서 1시간 2분만 걸린 다음, 모델이 만들어 지기는 했습니다.



5번째 강화학습의 결과는 아예 1시간..... 여기서 1초만 더 걸렸을 뿐입니다. 점점 무언가 강화학습에 걸리는 시간이 점점 짧아진다는 생각이 듭니다.



마지막 강화학습의 결과입니다. 실수로 6번째 학습에 걸린 시간을 찍는 것을 깜빡했는데, 아무튼 마지막 강화학습 결과도 2시간이 거의 걸렸는 초반에 비하면 상당히 빨라지기는 했습니다.



그렇게 해서 총 7개의 모델을 얻는데 성공했습니다. 물론 7개 중에서 얼마나 많은 수익을 주는 수익모델이 있는지는 아직은 모릅니다. 그래서 백테스트를 들어가야 하는데, 일단 그 내용까지 여기 넣어 버리면, 너무 포스팅의 내용이 길어져 버리는 문제점이 생기기 때문에, 여기서 간략하게 마치도록 하겠습니다.

반응형