PYTHON/Kiwoom Open API

키움증권 Open API 이벤트 처리하기

  • -

 

키움증권에서 제공하는 Open API에서는 trcode를 통해 데이터를 요청하고 서버에서 요청을 받은 경우 이벤트를 발생시킨 후 해당 이벤트에 결과값을 반환해준다. 따라서 데이터를 요청하기 위해서는 반드시 trcode를 전송하는 부분과 이벤트를 연결하는 부분, 그리고 데이터를 받아오는 세 가지 부분으로 구성해야만 데이터를 사용할 수 있다.

 

 

데이터 입력 함수 : SetInPutValue()

데이터 전송 함수 : CommRqData()

[  이벤트 처리 코드  ]

결과값 받아오는 함수 : GetCommData()

 

 

의외로 단순하게, 키움증권에서 발생시키는 이벤트의 종류는 8개로, 많지 않다. 

## 로그인 이벤트 처리 함수
self.kiwoom.OnEventConnect.connect(self.event_connect)                      ## 로그인 이벤트 처리 함수
self.kiwoom.OnEventConnect.connect(self.Login_info)                         ## 로그인 정보 처리 함수

## PROCESS EVENT (Open API 이벤트 처리 코드)
self.kiwoom.OnReceiveTrData.connect(self.receive_trdata)                    ## 데이터 조회 요청 처리 함수
self.kiwoom.OnReceiveRealData.connect(self.receive_realdata)                ## 실시간 데이터 처리 함수
self.kiwoom.OnReceiveTrCondition.connect(self.OnReceiveTrCondition)         ## 조건검색 데이터 처리 이벤트
self.kiwoom.OnReceiveConditionVer.connect(self.OnReceiveConditionVer)       ## 조건검색 버전처리 이벤트
self.kiwoom.OnReceiveMsg.connect(self.OnReceiveMsg)                         ## 서버 메시지 처리 함수
self.kiwoom.OnReceiveRealCondition.connect(self.OnReceiveRealCondition)     ## 조건검색 실시간 편입 이탈 여부 로드
self.kiwoom.OnReceiveChejanData.connect(self.OnReceiveChejanData)           ## 주문 후 체결 잔고 데이터 처리 이벤트

 

각 코드 내에 있는 connect()의 괄호 안에 있는 내용은 직접 제작한 함수 이름에 해당한다. 따라서 함수 이름은 본인이 제작한 함수라면 어떤 이름이든 괜찮으니 아무 이름으로 만들어도 된다. 각 이벤트가 발생했을 때 해당 이벤트로부터 발생한 데이터를 받아올 수 있는 함수(위의 경우 2번 줄의 self.event_connect나 3번 줄의 self.Login_info 등이 이에 해당함)만 작성해주면 된다.

  • OnEventConnect
  • OnReceiveTrData
  • OnReceiveRealData
  • OnReceiveTrCondition
  • OnReceiveConditionVer
  • OnReceiveMsg
  • OnReceiveRealCondition
  • OnReceiveChejanData

 

 


728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.