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

kiwoom.py에 있었던 변경사항 -2-

by 인터넷떠돌이 2020. 2. 26.
반응형

안녕하세요?

 

지난번 포스팅에서 다 끝나지 않은 제가 만든 kiwoom.py의 변경된 사항을 알려드리고자 이 포스팅을 기존의 카테고리가 아닌 지식정리 창고에 올리는 이유가 되기도 했습니다. 앞으로도 한개의 포스팅이 더 올라가야 할 정도로 양이 만만치 않게 많아서 이렇게 되었는데, 아무튼 추가로 그 내용을 정리해 보았습니다.

 

그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 3개의 메서드도 더 추가를 했습니다. 물론 이 메서드들이 다 작동을 한다고는 생각할 수는 없지만, 일단 제가 kiwoom.py에 추가를 했는 메서드입니다.

 

그리고 나서 나중에 kiwoom.py자체에 에러가 있다고 알려져서 제가 정보를 찾아가며넛 추가한 메서드입니다. 이 메서드가 아마 포멧을 변형시킬때 사용한 것인데, 지금은 잘 생각이 나지 않습니다.

 

다음으로도 키움증권 서버에서 받아온 문자열 정보를 숫자로 바꾸기 위해서 위 스크린샷의 메서드를 추가해 주었습니다.

 

 

그리고 나서 opw00001이라는 TR이라고 키움증권 서버에 보내는 요청에 대한 메서드도 한번 추가해 주도록 합니다. 이렇게 했는 이유는 매수할 대 한도를 제대로 정하기 위해서 입니다.

 

그리고 나서 다음으로 위 스크린샷에서 볼 수 있는 것과 같이 현재가를 가지고 온다고 해야 할까요? 일단 일봉차트를 가지고 오는 메서드를 만들어서 ohlcv라는 딕셔너리 안에 들어갈 내용을 만들어 줍니다.

 

그리고 나서 위 스크린샷에서 볼 수 있는 것과 같이 일단 opw00018이라고 하는 뭐랄까 재정상태를 가지고 오기 위한 메서드를 보고 계십니다. 일단 결과가 될 self.opw00018_output을 리셋시키는 메서드와 키움증권에서 계정에 있는 재정 정보를 가지고 오기 위한 메서드의 전반부를 보고 계십니다.

 

그리고 나서 어느 종목을 얼마나 보유했는지에 대해서 정보를 가지고 오기 위한 메서드의 후반부를 보고 계십니다. 이렇게 했는 이유는 opw00018이라는 TR에선느 먼저 single 데이터라고 전체적인 정보를 먼저 보내주고, 이후에 multi라고 하는 추가적인 정보-어떤 주식의 종목을 얼마나 가지고 있는 지에 대해서 보내주기 때문입니다.

 

그리고 나서 위 스크린샷에서 볼 수있는 것과 같이 opt10001이라는 TR에 대해서 정보를 가지고 오기 위한 코드를 작성하는데, 이 메서드도 길어서 중간에 한번 잘라야 했습니다.

 

그리고 여기서 중간중간에 보이는 Wrong_Turn_Season2()라는 메서드를 자주 호출하는 것을 볼 수 있는데, 이게 키움증권 서버에서 항상 원활하게 정보가 오지 않아서 벌어지는 일이기도 합니다.

 

그리고 나서 모든 내용이 다 제대로 나왔다고 하면, 위 스크린샷에서 볼 수 있는 것과 같이 일단 마지막에 ohlcv라는 딕셔너리에 가지고 왔는 내용을 다 넣는 것으로 시작할 수 있습니다. 그런데 이렇게 해서 이제 어느정도는 kiwoom.py에 제가 변형시킨 내용을 다 올렸습니다만, 문제는 아직 다 끝나지 않아서 다음 포스팅에서 마지막으로 올릴 것을 약속드리며 이만 마칩니다.

반응형