안녕하세요?


특별하게 획기적인 방법이 나오지 않으면서 계속해서 강화학습에 시간만 잡아먹히는 와중에 어떻게 하면 실시간 주식인공지능으로 많은 수익을 올릴까를 생각하기 위해서 한번 분봉차트를 특정 시간대별로 가지고 오도록 해서, 얘네들에 대해서 한번 살펴보고자 합니다.



먼저 위 스크린샷처럼 기존의 메서드에서 틱범위가 1로 되어서 1분봉 차트를 가져왔는 것에 비해서 3이라는 숫자를 입력해서 3분봉차트를 가지고 오도록 합니다.



이렇게 해서 위 스크린샷처럼 데이터 베이스를 가지고 오는데, 모두 3분봉, 5분봉, 10분봉, 15분봉, 30분봉, 45분봉, 60분봉의 차트를 가지고 오는데 성공했습니다. 다만 이번 경우에는 가지고 오면서 일일히 코드를 변경하는 과정을 거쳤는데, 앞으로는 인터페이스 상에서 이를 구현해야 하는 숙제가 남아 있다는 생각이 듭니다.



먼저 3분봉의 경우인데, 일단 -값이 붙은 변화량을 모두 절대값으로 바꾼 다음에, 변화량을 한번 체크해 보았습니다. 이 경우에는 먼저 31정도로 값이 나오는 것을 볼 수 있습니다.



다만 5분봉의 변화량을 절대값으로 변환한 다음에 이를 평균으로 만들어 보면 좀 더 줄어드는 것을 발견할 수 있었습니다. 다음으로 10분봉으로 넘어가 보도록 하겠습니다.




10분봉으로 오면서 변화량이 점점 더 줄어드는 것을 볼 수 있었습니다. 이를 뭐라고 해야 할까요? 장기적으로 가면 갈수록 점점 변화량이 적어진다고 해야 할까요?



15분봉에 이르러서는 조금 더 변화량이 줄어든 것을 볼 수 있었습니다. 이게 그 만큼 거래량이 많지 않고, 그저 그대로 계속 있는 종목이라는 뜻일까요?



다음으로는 위 스크린샷에서 보이는 것처럼 30분봉을 가지고 오는데 성공했습니다. 이 경우에는 위 스크린샷에서 보이는 것처럼 비약적으로 변화량이 더 줄어든 것을 볼 수 있었습니다.



45분봉에 이르러서는 그 변화량이 더 줄어든 것을 확인할 수 있었습니다. 이로 미루어 보아서 점점 체크하는 간격이 크면 클수록 그 간격이 더 커지는 것을 확인할 수 있었습니다.




마지막으로 60분봉 차트를 가지고 와서 한번 절대값으로 변환한 변화량의 평균을 살펴보았습니다. 가장 작은 값이 변화량의 평균으로 나오는 것을 확인할 수 있었습니다.



일단 생각을 하면서 먼저 내린 결론은 너무 값이 작아서, 1분봉 차트의 변화량이 제대로 반영이 되지 않았지 않았나 하는 생각이 듭니다. 그래서 위 스크린샷의 경우처럼 먼저 1000을 곱해서 profitloss가 너무 작아서 반영이 되도록 만들어 줍니다.



그리고 나서 main.py로 가서, 위 스크린샷처럼 한번 지연보상 임계치와 전체 학습 에포크의 전체 수를 600에서 1000으로 늘리도록 해 보았습니다.



그리고 나서 구글 드라이브에 있는 기존의 yellowoperation의 py파일들을 모두 제거하도록 하고, 다음으로 앞서 완성이 되었는 내용의 py파일을 업로드 하도록 합니다.



일단 이렇게 해서 구글 코랩에서 다시금 강화학습을 들어가기는 갔습니다만, 처음예상했던 속도의 향상은 일어나지는 않았습니다. 아무래도 log파일을 보면서 어디가 잘못된 것인지 한번 확인을 해 본 다음에, 너무 많은 학습이 일어나는 것은 아닌지 확인을 해 보아야 겠다는 생각이 듭니다.

+ Recent posts