트레이딩

[키움API] KOA StudioSA 톺아보기 - 주문과 잔고처리 (2)

성민석 2023. 7. 21. 11:31

안녕하세요 성민석입니다.

오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 바탕으로 글을 작성해나갈 예정입니다. 여기서 제 개인적인 의견이나 첨언이 들어갈 경우 파란색으로 표시하겠습니다.

 

지난 포스팅에는 키움API를 이용하여 주문을 넣는 API에 대해서 알려드렸습니다.

2023.07.21 - [트레이딩] - [키움API] 주문과 잔고처리 (1) - 주문

 

[키움API] 주문과 잔고처리 (1) - 주문

안녕하세요 성민석입니다. 오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 바탕으로 글을 작성해나갈 예정입니다. 여기서

minsuk-sung.tistory.com

이번 포스팅에서는 키움증권API를 이용하여 잔고처리가 어떻게 진행되는지에 대해서 알려드리겠습니다.

 


주문체결, 잔고 수신

OnReceiveChejan()이벤트는 주문접수, 체결, 잔고변경시 발생됩니다. 이 이벤트를 통해 대부분의 주문관련 정보를 얻을 수 있습니다. 주문요청에 대한 응답은 주문접수, 주문체결, 잔고수신 순서로 진행됩니다. (정정/취소 주문의 경우 주문접수 후에 주문확인 신호가 한번 더 수신됩니다.)

 

하나의 주문에대해 부분체결되는 경우 아래와 같은 순서로 OnReceiveChejan 이벤트가 발생됩니다.

주문 → 접수 → (체결1 → 잔고1)(체결2 → 잔고2...)(체결n → 잔고n)

(여기서 처음에 가장 헷갈리는 것 중 하나는 체결 정보가 수신될 때, "현재까지의 누적체결량"을 줍니다. 그렇기 때문에 이전누적체결량을 가지고 있어야 얼마나 체결됐는지 계산이 됩니다. 그리고 전부 체결됐는지 확인하기 위해선 미체결량이 0인지를 확인하셔야 합니다. 이게 정말 헷갈렸습니다.)

 

주문 응답의 구분은 OnReceiveChejanData()이벤트가 발생될때 전달되는 sGubun값을 이용합니다. sGubun값은 접수와 체결시 '0'값, 잔고변경은 '1'값을 가지게 됩니다. 이값에 따라 실시간타입 "주문체결" 또는 "잔고" 타입이 사용됩니다.

 

OnReceiveChejan()이벤트로 전달되는 FID목록정리

OnReceiveChejan()이벤트가 발생될때 아래 FID를 이용하여 값을 받으시면 됩니다. 
예) 체결가 = GetChejanData(910)

 

"9201" : "계좌번호"

"9203" : "주문번호"

"9001" : "종목코드"

"913" : "주문상태"

"302" : "종목명"

"900" : "주문수량"

"901" : "주문가격"

"902" : "미체결수량"

"903" : "체결누계금액"

"904" : "원주문번호"

"905" : "주문구분"

"906" : "매매구분"

"907" : "매도수구분"

"908" : "주문/체결시간"

"909" : "체결번호"

"910" : "체결가"

"911" : "체결량"

"10" : "현재가"

"27" : "(최우선)매도호가"

"28" : "(최우선)매수호가"

"914" : "단위체결가"

"915" : "단위체결량"

"919" : "거부사유"

"920" : "화면번호"

"917" : "신용구분"

"916" : "대출일"

"930" : "보유수량"

"931" : "매입단가"

"932" : "총매입가"

"933" : "주문가능수량"

"945" : "당일순매수수량"

"946" : "매도/매수구분"

"950" : "당일총매도손일"

"951" : "예수금"  (지원안함) → 이걸 지원해주지 않기 때문에 직접 체결량과 체결가를 통해서 직접 계산해야하는 번거로움이 있습니다.

"307" : "기준가"

"8019" : "손익율"

"957" : "신용금액"

"958" : "신용이자"

"918" : "만기일"

"990" : "당일실현손익(유가)"

"991" : "당일실현손익률(유가)"

"992" : "당일실현손익(신용)"

"993" : "당일실현손익률(신용)"

"397" : "파생상품거래단위"

"305" : "상한가"

"306" : "하한가"

 


 

키움증권 API와 관련된 자세한 내용을 확인하고 싶으신 분들은 PDF를 확인해보시면 좋을 것 같습니다.

 

마지막으로 같이 트레이딩하는 분들과 소통하고 싶습니다. 언제든지 트레이딩이나 인공지능과 관련된 내용을 함께 공유하고 토론하고 싶으시다면 아래의 오픈 카카오톡 링크로 연락주세요.
https://open.kakao.com/me/minsuksung

 

성민석 (Minsuk Sung)님의 오픈프로필

인공지능을 공부하는 연구자이자 시스템 트레이딩을 하는 트레이더입니다. 

open.kakao.com

 

728x90
반응형