안녕하세요?


지난번 포스팅에서 어떻게 1000에포크로 강화학습을 시킨 결과가 너무 과적합이 되었는지 몰라도, 패턴이 2가지 정도로 백테스트 결과 나오는 것을 확인할 수 있었습니다. 그래서 한번 강화학습의 횟수인 에포크를 절반으로 줄여서 한번 들어가 보기는 보았습니다만, 이번에도 결과가 시원치 않은 것을 확인할 수 있었고, 그 내용을 포스팅 하고자 합니다.



먼저 첫번째 강화학습의 결과입니다. 어찌된 것인지 몰라도 확습할 데이터의 양이 많아서 인지, 위 스크린샷에서 보이는 것처럼 3시간 50분에 가까운 시간이 걸린 것을 확인할 수 있었습니다.



그나마 2번째 강화학습의 경우에는 위 스크린샷에서 보이는 것처럼 그나마 나은 상황인 것을 확인할 수 있었습니다. 그래도 2시간 넘어 걸렸다는 것은 변하지 않습니다.



그리고 3번째 강화학습에 있어서는 어떻게 된 것인지 모르겠습니다만, 강화학습 결과 3시간 하고 10분이 넘는 시간이 걸리는 것으로 나왔습니다.



4번째 강화학습에서는 그나마 작업이 수월하게 되어서 인지 몰라도, 강화학습이 1시간 16분 정도 걸리는 것을 확인할 수 있었습니다.




그리고 5번재 강화학습을 하면서 도중에 구글 드라이브와의 연결이 끊어진 탓인지 몰라도 제대로 작업이 저장이 되지 않는 트러블이 생겼습니다. 그래서 다시 한다고 시간이 6시간은 넘게 걸렸습니다.



마지막 6번째 강화학습의 경우에도 위 스크린샷에서 나오는 것처럼 3시간 넘게 걸리는 것을 확인할 수 있었습니다. 이로 마루어 보아서, 480개가 넘는 이 강화학습은 시간을 미친듯이 잡아먹는 다는 것을 알 수 있었습니다.



아무튼 하루종일 걸려서 어떻게 6개의 강화학습의 모델을 얻는데 성공하기는 성공했습니다. 그래서 이제 백테스트에 들어가기 위한 준비에 들어갑니다.



먼저 RLTrader를 실행시킨 다음에, CS홀딩스의 1분봉 차트를 가지고 오도록 합니다. 그리고 여기서 지난번 포스팅에서 계산한 것처럼 25%의 데이터를 백 테스팅에 들어가 보도록 합니다.




먼저 위 스크린샷과 같이 미미하지만 그래도 수익이 나오는 것을 확인할 수 있었습니다.



그런데 가만히 보니, 이 경우에서도 위 스크린샷에 나와 있는 것처럼 2종류의 패턴이 나오는 것을 확인할 수 있었습니다.



일단 첫번째 모델의 강화학습 에포크 10, 200, 400, 500의 모습입니다. 강화학습이 진행이 되면 될수록 랜덤한 행동이 없어지는 것은 확인할 수 있었습니다만, PV의 가치를 크게 키우는 데는 그다지 적합하지 않다는 것을 알 수 있습니다.



두번째 모델이 강화학습을 하면서 나온 패턴을 분석한 결과입니다. 이 결과에서는 다소 PV를 올려놓은 다음 잘 유지는 하는 것을 볼 수 있습니다만, 더 중요한 것은 첫번째 모델과 같은 패턴을 강화학습에서는 나오지 않습니다.




세번째 모델의 경우지만, 이 모델에서는 구매를 하기만 하고서, 그저 계속해서 아무런 액션도 마지막에 가서는 취하지 않는 것을 볼 수 있습니다. 이래서야 이게 학습을 하는 것이 맞는지 의문이기는 합니다.



5번재 모델의 경우는 그나마 마지막 500에포크에서 다양한 행동을 보여주는 듯 합니다만, 문제는 이런 것이 백테스트에서 반영이 되지 않은 듯 합니다.



마지막 6번째 모델입니다. 이 모델의 경우에는 위 스크린샷에서 나와 있는 것처럼 학습이 진행이 되면 될수록 그냥 주식을 매수만 하고 가만히 있다는 것을 알 수 있습니다.



그렇게 해서 마지막 결과인데, 거의 행동의 양상이 2종류의 패턴으로 나누어져 있는 것을 볼 수 있습니다. 이게 과적합이라고 하면, 일단 에포크의 수를 200정도로 더 극단적으로 줄여서 한번 강화학습에 들어가 볼 수는 있습니다만, 그렇게 하고 나서도 어떤 결과가 나올지는 아직은 모르겠다는 생각이 듭니다.

+ Recent posts