안녕하세요?


어떻게 해서든 간에 텐서플로우(tensorflow)를 이용한 강화학습으로 만든 주식 모델을 가지고서 한번 증권사와 연동하기 위해서는 한번 키움증권의 API와 연동할 필요성이 있었습니다. 그런데 키움증권 API는 파이썬을 지원하지 않기 때문에 처음에는 마이크로 소프트사의 Visual studio에서 만들어 낸 프로그램과 IPC를 통한 연계를 생각했었습니다만, 그래도 찾아보니 해법이 하나 나오기는 나왔습니다.


듣자니, 키움증권 API는 OCX(Object linked and Embeding Custom Control)이라는 방식을 사용하는데, 이는 기존의 COM(Component Object Model)방식에 비해서 파이썬에서 사용하기 쉽지 않다고 합니다. 그래서 파이썬에서는 PyQt 패키지의 QAxContainer 모듈을 통해서 OCX를 사용할 수 있다고 합니다.



먼저 키움증권 Open API+의 사용을 신청하러 가도록 합니다.



그런데 제가 신청을 했는 시간이 너무 늦은 밤이라서 하는 수 없이 기다리도록 해야 했습니다.



그래서 한번 번개3라고 해서 중요 기능만 있는 간소화된 버전의 키움증권 HTS를 다운로드 받아 보도록 합니다.



일단 번개3의 설치가 다 끝이 났습니다.



그리고 나서 KOA Studio라고 해서 키움증권 Open API를 이용한 프로그램의 개발을 도와주는 프로그램이 있는데, API가 제대로 접속이 되는 지 여부를 알아보기 위해서 이 프로그램을 다운로드 받도록 합니다.




그리고 나서 아나콘다를 실행하도록 합니다. 당연 실행한 이유는 새로운 가상환경을 만들어 주기 위해서 입니다.



PyQtTest라고 해서 파이썬 3.6버전의 파이썬을 지정해서 가상환경을 설치해 주도록 합니다.



그리고 아나콘다 상에서 PyQt를 설치하도록 합니다.



일단 PyQt가 5.9.2버젼으로 설치가 된 것을 확인할 수 있었습니다.



그리고 나서 PyCharm에서 새로운 프로젝트를 생성 하도록 합니다.




그리고 방금 아나콘다 상에서 만들어 준 새 가상환경을 지정해 주도록 합니다.



그리고 나서 새 프로젝트에서는 main.py라는 파이썬 파일을 만들어 주도록 합니다.



그리고 첫 코드로 파이썬에서 GUI 유저 인터페이스를 만들어 주는 환경을 만들어 주는 PyQt가 제대로 설치되었는지 확인하기 위해서 Hello PyQt라는 메세지 박스를 띄우는 작업을 시작 해보도록 합니다.



일단 main을 실행시키도록 합니다.



메세지 박스자체를 띄우기는 그런데로 성공했다는 생각이 듭니다. 좀 예상보가 메세지 박스가 작기는 하지만, 그래도 처음으로 파이썬을 이용해서 그래픽인 유저 인터페이스를 만들 수 있다는 생각이 듭니다. 그리고 이를 사용해 보니까, 유니티5가 정말로 대단하다는 생각이 드는게, 저렇게 코드로 일일히 작업해야 하는 내용을 단지 디자인 툴로 만들어 줄 수 있다는 것을 생각해 보니, 무어라 할 말이 없어 집니다.

+ Recent posts