주식 자동매매 시스템

파이썬을 이용한 주식 자동매매 시스템

이미지
파이썬을 이용한 주식 자동매매 시스템 INDEX 환경구축 키움증권 API - 연결테스트 키움증권 API - 계좌정보 조회 키움증권 API - 주문 키움증권 API - 종목정보 가져오기 포트폴리오 - 종목, 업종별 자산 포트폴리오 한국투자증권 API API reference 키움 OpenAPI+ 개발가이드 한국투자증권 OpenAPI 다운로드 및 가이드 Design https://www.design-seeds.com/in-nature/succulents/cacti-color-2/ https://create.piktochart.com/dashboard

파이썬을 이용한 주식 자동매매 시스템 2 - 연결테스트

연결, 로그인 테스트

먼저 키움API를 사용하여 HTS 시스템에 연결, 로그인하는 과정이 필요하다.

* 설치해두었던 KOAStudioSA.exe 파일을 실행시켜 먼저 버전처리 작업을 해주어야 정상적으로 연결이된다.
로그인 자동화를 위해 작업표시줄에서 계좌비밀번호 저장을 눌러 자동로그인 설정을 해주어야 한다. 
버전처리를 위해 일주일에 한번정도 수동 로그인을 해주어야 하는 것 같다.





OCX방식의 API를 파이썬에서 사용하기 위해서는 PyQt5가 필요하다.
pip install로 설치 후, 'QAxWidget' Class를 상속받아 만드는 방식이 가장 편리하다.

키움증권HTS 연결 테스트를 위한 가장 기본이되는 코드이다. 

class KiwoomTrade(QAxWidget):
    def __init__(self):
        super().__init__()
        self._create_kiwoom_instance()
        self._set_signal_slots()

    def _create_kiwoom_instance(self):
        self.setControl("KHOPENAPI.KHOpenAPICtrl.1")

    def _set_signal_slots(self):
        self.OnEventConnect.connect(self._event_connect)
        self.OnReceiveTrData.connect(self._receive_tr_data)

    def comm_connect(self):
        self.dynamicCall("CommConnect()")
        self.login_event_loop = QEventLoop()
        self.login_event_loop.exec_()

    def _event_connect(self, err_code):
        if err_code == 0:
            print("connected")
        else:
            print("disconnected")

        self.login_event_loop.exit()


if __name__ == "__main__":
    kiwoom = KiwoomTrade()
    kiwoom.comm_connect()

연결이 실패한다면, 버전처리가 잘 되었는지 확인해야한다. 버전처리 작업을 할 때 꼭 KOAStudioSA 프로그램을 종료한 상태로 해야한다.

이 블로그의 인기 게시물

Linux에서 CSV파일 사용방법

R에서 외부 데이터 이용하기 (Excel, csv)

[R 함수] aggregate, apply 사용 방법