안녕하세요?
일이 좀 있어서 모의투자에 들어가 보면서 블로그 포스팅을 한다는 것이 많이 늦어지기는 늦어졌습니다. 일단 밀린 블로그 포스팅이라고 하나하나 차근차근 해야 하기 때문에, 한꺼번에 올릴 수는 없고 해서 중간중간 자르기로 했습니다. 결론부터 말하자면, 일단 금요일 오늘은 모의투자 자체에는 들어가 보기는 봤습니다. 다만, 생각만큼 주식 인공지능이 끝내 해결하지 못한 문제 하나 때문에 100% 만족은 못했습니다.
먼저 위 스크린샷과 같이 일단 pytrader2를 실행을 시켰는데, 문제는 정작 RLTrader를 호출하는 과정까지 가지를 않고 계속해서 헛돌다가 그대로 끝나 버리는 것 입니다.
먼저 위 스크린샷처럼 어딘가 주식의 종목코드를 제대로 문자열로 인식하지 못해서 일어난 문제인가 하는 생각이 들어서, 굳이 str()함수를 사용하였습니다만, 상황은 영 좋지 않았습니다.
그래서 먼저 위 스크린샷처럼 한번 pytrader를 실행시켜서, 여기서도 RLTrader를 불러오지 못하면서 이런 일이 생기는 것인가를 테스트 해 보고자 합니다.
그런데 pytrader를 실행시켰을 경우에도 RLTrader를 실행시키지 못하고, 그대로 통과해 버리는 문제를 발생하고 말았습니다. 그래서 짐작이 가는 문제가 한 가지 있기는 있었습니다.
바로 위 스크린샷에 보이는 것처럼 서버에서 정보를 받은 다음, 받은 정보를 읽어와야 하는데, 그 메서드를 모두 CommGetData를 사용하였습니다. 그런데 이 함수는 더 이상 지원을 하지 않는다고 하더니, 드디어 진짜로 지원을 하지 않는 날이 왔다는 생각이 듭니다.
그래서 기존에 있는 이 kiwoom.py를 위 스크린샷처럼 한번 보도록 합니다. 이 메서드는 이제 쓸모가 없어 졌으니, 주석처리를 하도록 합니다.
그래서 먼저 위 스크린샷에서 보이는 것처럼 일봉차트를 가지고 오는 메서드에서는 commgetdata를 get_comm_data로 바꾸어 주도록 합니다.
그리고 나서 계좌의 현재 상태를 가지고 오는 메서드에서는 위 스크린샷과 같이 기존의 지원을 더이상하지 않는다는 키움증권의 메서드는 그만 사용하도록 하고, 새로운 메서드로 바꾸도록 합니다.
그리고 나서 계좌정보의 multi 데이터 역시 읽어들이는 과정에서 기존의 메서드는 그만 사용하도록 하고, 새로운 메서드를 사용할 수 있도록 만들어 주도록 합니다.
그리고 나서 분봉차트를 가지고 오는 메서드에서도 역시나 그전에 사용하던 메서드는 주석처리를 해서 만약을 위해서 남겨 두도록 하고, 모두 새로운 메서드를 사용하도록 만들어 주도록 합니다.
그런데 막상 pytrader2를 작동시켜 보니, 위 스크린샷과 같은 에러가 나오는 것을 확인할 수 있기는 있었습니다. 그래서 어딘가가 문제가 발생한 것인지 찾아봐야 합니다.
그래서 한번 새로운 메서드를 찾아보니, 여기서는 레코드명을 지정해야 한다고 키움증권의 Open API 매뉴얼에 나와 있그는 했습니다. 그래서 여기가 문제가 아닌가 하는 생각이 들었습니다. 일단 이어서 나오는 내용이 있기는 있습니다만, 너무 포스팅이 길어지는 감이 있으니, 여기서 일단 끊기로 하며, 이어서 다음 포스팅에서 후속편을 이어 올리도록 하겠습니다.