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

금요일 실전 주식투자에 도전한 결과

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

안녕하세요?


가지가지 일이 있어서 하는 수 없이 늦은 시간에 포스팅을 하나 올리게 되었는데, 아무튼 이번 포스팅에서는 금요일에 있었던 인공지능 주식 투자자의 실전 모의투자 결과를 소개하고자 합니다.



먼저 24일인 목요일에 있었던, 수집된 데이터를 기반으로 해서 알아본 결과입니다. 일단 엑셀의 꺾은선 그래프로 종가라고 표시하기는 했지만, 이 값이 곧 현재가입니다. 즉, 종가=현재가로 해서 데이터를 모은 결과입니다.



이날은 변화량을 한번 조사해 보니까, 일단 1%넘는 주가의 오름과 내림이 감지되기는 했습니다. 하지만 대체적으로는 0.5%이하에서 왔다갔다 하고 있는 것을 볼 수 있었습니다.



그리고 자세히 보면 어떻게 해서든 매도라는 명령을 내려서 차익을 얻을 수 있으리라 생각이 됩니다만, 글쎄요. 일단 일봉차트로 학습시킨 제 수익모델은 아직 매도 명령을 자주 내리지는 않는 듯 합니다.



그리고 금요일날은 오전에 바쁜 용무가 있어서 잠시 자리비운 사이에 2시간 정도 위 스크린샷에서 보이는 에러와 같은 것이 벌어져서 정지가 된 것 빼고는 그런대로 순조롭게 진행이 되기는 되었습니다.



일단 이 에러가 왜 나왔는지 자세히 보니까, 위 스크린샷과 같이 분명히 ohlcv라는 딕셔너리를 만든 것은 사실인데, 문제는 이 딕셔너리를 아래에서 또 만들어서 넣으라는 명령이 왔다는 생각이 듭니다.




그리고 이번에는 Call_of_Break_and_Retry()라는 메서드가 호출되고 나서도 어떻게 해서 계속해서 무언가 반복이 된다는 것을 볼 수 있었습니다.



그래서 일단 메서드를 조금은 바꾸고자 했습니다. 우선 위 스크린샷에서 보이는 것처럼 set_input_value라는 사용자 정의 함수를 호출하는 것으로 바꾸어쑈고, 그 아래에 comm_rq_data를 추가하는 작업을 하였습니다.



그리고 나서 opt10001이라는 TR을 서버에 요청을 했음에도 데이터가 제대로 오지 않았을 경우에는 위 스크린샷에서 보이는 것처럼 Wrong_Turn_Season2라는 메소드를 실행시키라는 명령을 내렸습니다.



일단 먼저 시가가 오지 않아서 다시 요청하라는 메서드가 작동을 해서, 한번 제대로 시가까지 요청을 하는 것을 볼 수 있기는 있었습니다.



그런데 하다하다 보니, 위 스크린샷에 보이는 것처럼 분명히 RLTrader를 호출해야 하는  상황이 되었음에도, 계속해서 호출이 되지 않고 지연이 되어서 그만 불러지지 않는 것을 볼 수 있었습니다.




그래서 이번에는 방법을 바꾸 어서 위 에러가 난 스크린샷을 보니까, 같은 딕셔너리의 항목 데이터가 2개 들어가서 생긴 에러라는 생각이 들어서 위 스크린샷처럼 ohlcv 딕셔너리 안의 값을 모두 비어주도록 했습니다.



그렇게 해서 이번에 또 시가부터 서버에서 전송해 주지 않아서 생기는 오류가 발생하는 것을 볼 수 있었습니다. 다행이랄까요? 여기서는 제대로 에러를 내지 않고서 여기서는 제대로 움직여 주었습니다.



그러나 에러를 낸 상황에서 보면, 위 스크린샷에서 보이는 것처럼 일단 ohlcv라는 딕셔너리를 현재가 데이터를 받아와서 제대로 만드는 것 까지는 확실하게 해낸 것을 볼 수 있습니다.



그런데 아래에서 가면 무슨이유가 생긴 것인지 같은 항목안에 데이터가 2개 씩 들어가 있어서 에러를 내는 것을 볼 수 있습니다.



결국 찾아보니, 분명히 마지막에 요청을 하는 opw00001이라는 TR을 요청하고 이제 RLTrader가 호출이 되어야 하는 상황인데, 이 상황에서 어찌된 것인지 뜬금없이 또 다시 opt10001이라는 TR이 또 요청이 되는 것을 볼 수 있었습니다. 이것 때문에 ohlcv라는 딕셔너리의 같은 항목에 데이터가 2개씩 들어가는 말이 안되는 상황이 벌어지는 것을 볼 수 있습니다. 이걸 어떻게 처리를 해야 한다는 생각이 들지만, 지금 당장은..... 해결책이 딱히 떠 오르지는 않습니다.

반응형