안녕하세요?


이번 포스팅에서는 다소 실망스러울 수도 있다는 내용을 포스팅 하게 되었습니다. 아무튼 일단 제가 1분 단위로 주식이 변하면, 이 변화하는 상황을 가지고서 단타매매를 하였을 경우 어떤 모델을 만들 수 있는지를 한번 시도해 보고자 했습니다. 일단 그 결과를 먼저 포스팅으로 올립니다.



먼저 강화학습의 조건 자체는 그대로 두도록 합니다.



그런데 시작을 하려고 하니 문제가 벌어졌습니다. 먼저 무슨 내용인고 하니, str에서는 적용이 되지 않는다? 즉, 숫자가 와야할 곳에 str이 와서 생기는 문제라는 것 입니다.



일단 이래저래 NumPy에서 나오는 array를 가지고서 어떻게 하려고 했지만, 도저히 이해가 되지 않았습니다.




일단 저는 어떻게 해서 날자를 제거해 버리고, 그냥 시간만 남겨두는 방식을 썼습니다.



그래서 차트 데이터를 구성하는 부분에서도 아예 date를 빼주도록 합니다.



그리고 나서 data_manager.py에서도 한번 관련된 부분을 처리해 주도록 합니다. 일단, 기관과 외국인 순매수량이 분단위 차트에서는 아예 제공되지 않으니, data_manager에서는 주석처리를 해 버리도록 합니다.




일단 기계학습에 들어가기는 했는데, 문제가 발생했습니다. 먼저 날짜가 없는 탓인지 몰라도, Loss항목이 전혀 뭐가 나오지 않는 것을 볼 수 있었습니다. 그리고 다음으로는 또 문제인 것이 유별나게 계산이 진행되는 속도가 느리다는 것 입니다. 얼마나 느렸냐 하면, 거의 5시간 정도 시간이 걸리는 것을 볼 수 있었습니다.



결국 학습결과가 나오는 것을 볼 수는 있는데, 문제는 유별나게 랜덤한 행동이 많고, 결정한 내용이 전혀 없다는 것을 볼 수 있었습니다.



결국 마지막에 가서는 아무런 행동을 하지 않고 그냥 주식을 사서 그대로 기다리는 행동을 하는 것이 가장 합리적인 행동이라고 판단을 내리고서 1000에포크에 가서는 아무런 행동도 하지 않는 것을 볼 수 있었습니다. 이래서야 단타매매를 학습시킨 의미가 없는데, 문제는 15%의 지연보상 임계치만 해도 시간 문제가 심각합니다. 즉, 지금 당장 제가 보유하고 있는 컴퓨터의 성능 가지고서는 어떻게 작업을 진행해 나가기가 어렵다는 생각이 들기 때문에, 하는 수 없이 그냥 단타매매는 일단 유보해야 할듯 합니다.

  1. 무거운 2019.01.25 22:42 신고

    numpy를 어떻게 공부하셨나요? 저도 이리저리 검색해봤는데 좋은 책이나 포스팅을 못찾았었습니다.

    • 안녕하세요?

      이런저런 일이 있어서 댓글을 늦었습니다. 우선 numpy를 검색해 보실 때, 구글에서 영문으로 검색해 보셨는지요?
      생각보다 엄청나게 많은 유용한 정보가 인터넷에서 사실상 영어로 돌아다니고 있습니다.

+ Recent posts