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

오류와의 전쟁인 첫 모의투자 투입

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

안녕하세요?


이번 포스팅에서는 어제라고 해야 할까요? 월요일 하루종일 어떻게 주식 모의투자에 한번 제가 만든 프로그램을 투입해 보고, 그야말로 여기저기 버그가 터져나오는 상황을 올리고자 합니다. 사실 이 포스팅을 작성한 시점에 월요일 밤인데, 아직도 해결을 못하고 계속해서 헤메고 있기는 있습니다만, 아마 수요일쯤 올리는 포스팅에서는 해결이 되기를 간절히 바라고 있습니다.



일단 위 스크린샷처럼 월요일 오전 9시가 넘자마자 한번 주식 인공지능이 작동하기 위해서 위 스크린샷처럼 입력내용을 다 입력해놓은 다음에, 이제 실시간 투자 시작 버튼을 눌러 주도록 합니다.



그런데 도중에 예상치 못한 에러가 발생하면서 그만 멈추어 버리고 말았습니다. 그것도 30분 이렇게 오래 간 것이면 모르겠습니다만, 그것도 아니고 금방 뻗어 버려서 뭐랄까요, 속이 상하기는 상했습니다.



pytrader에서 어디가 문제인가 생각을 해 보니까, 일단 RLTrader를 작동시키는 메서드의 마지막에 주식을 거래하는 메서드는 아직 실행중인데, 이 와중에 또 RLTrader를 작동시키라는 신호가 와서 문제가 아닌가 하는 생각이 들었습니다. 그래서 먼저 기존의 delay_of_pytrader를 실행시키는 코드는 주석 처리를 했습니다.



그리고 나서 실제로 주식을 거래하는 메서드인 trader_stocks()메소드에서 이 pytrader전체의 다이커를 작동 시키는 메서드를 가동하도록 해 봅니다.




그래도 여기서 예상치 못한 또 다른 에러가 뜨는 것을 볼 수 있었습니다. 아무튼 이번에는 어디서 이런 문제가 나온 것인지는 모르겠습니다만, 시간이 넉넉하지 않기 때문에 서둘러서 작업을 해 보도록 합니다.



가만히 로그를 들여다 보니까, 이상하게 RLTrader에서 예수금이 부족하면 매수 명령을 내릴 리가 없는데, 계속해서 매수 명령을 내리고 있다는 것을 볼 수 있습니다. 즉, 과거 데이터 상에서 기반해서 내린 명령이 현재에도 영향을 주는 것이 이런  식으로 나왔다는 것을 볼 수 있었습니다.



거기다가 이렇게 다시한번 실행시켜 보아도 이렇게 중간에 어디서 충돌이 일어나서 프로그램이 정지해 버리는 문제는 여전히 현재 진행중인 것을 볼 수 있습니다. 이래서야 될 일도 안되겠다는 생각이 듭니다.



그래서 먼저 중간에 print()로 들어온 메세지들이 처음에는 문제인가 싶어서, 위 스크린샷처럼 _receive_msg()메서드를 통째로 주석처리에 넣어 버렸습니다.




그런데 위 스크린샷처럼 에러 메세지가 뜨는 것을 볼 수 있었습니다. 이래서야 문제가 있다는 생각이 드는데, 어디가 문제인가 하고 봤더니.....



위 스크린샷처럼 msg를 받을 경우 처리할 메서드가 부재라고 해서 나오는 에러였습니다. 그래서 이제는 받을 필요가 없으니 일단 위 스크린샷처럼 일단 주석처리 해서 아예 msg전체를 받지도 않도록 만들어 버렸습니다.



하지만 그래도 이게 정답은 아니기는 했는지, 계속해서 에러 메세지가 뜨는데, 어디서 이런에러의 원인이 되는 것인지는 아직도 감을 잡을 수 없었습니다.



그래서 이번에는 아예 pytrader에서 어디가 문제인지 알아보기 위해서 위 스크린샷처럼 마커를 하나씩 찍어 주도록 해 보도록 합니다.




위 스크린샷처럼 텍스트 확인이라는 마커가 지나치게 많이 찍히는 것을 확인할 수 있습니다. 이 대문에 에러가 생기는 것이 아닌가 하는 생각이 들었습니다.



실제로 이런 엄청나게 많은 메세지를 보면서 알 수 있다 시피, 많은 횟수의 텍스트 파일 확인 이후에 이렇게 충돌이 일어난 것으로 생각이 되는 에러 메세지가 나오는 것을 볼 수 있었습니다.



그래서 일단 이번에는 주식체결이 되었다는 것을 알려주는 메세지가 에러를 일으킨 것인가 하는 생각이 들어서 위 스클니샷처럼 일단 나오라는 표식을 모두 주석처리를 했습니다.



하지만 그렇게 하고도 계속해서 같은 종류의 에러가 나오는 것을 볼 수 있었습니다.



그래서 전에는 넣었던 pass를 빼고 그냥 try만 주기는 했습니다만, 그래도 에러가 생기는 것은 어떻게 할 수가 없었습니다. 뭐라고 해야 할까요? 이때까지가 거의 점심시간이 다가오기 전 까지의 이야기였으며, 계속해서 발생하는 에러로 인해서 정말로 속이 타들어 가는 심정이었습니다.

반응형