We will find a way. We always have.

고려대학교에서 인공지능과 금융공학을 연구하고 있는 어느 대학원생의 블로그입니다.

금융(Finance)/시스템 트레이딩(System Trading)

[고민] 대신증권API과 키움증권 API 사이에서

MinsukSung 2020. 9. 21. 17:37

 증권사 API를 사용한지 한달이 다 되가는데, 처음에는 키움증권API를 사용하는 예제가 많길래 키움증권으로 공부를 시작했습니다. 그러다가 선배의 권유로 대신증권 API도 사용해보기 시작했습니다. API를 활용하여 하고자 했던 목적은 정말 간단하게 데이터를 가져오기 위함이었습니다. 그러다가 거래량을 중심으로 트레이딩하는 모델을 만들어보자라는 생각이 들어 여기까지 오게 됐습니다.

 

 주저리 주저리 떠들었는데, 키움증권 API와 대신증권 API 각각 모두 장당점이 있다는 걸 알게 되었습니다. 기술적으로 자세한 내용은 퀀티랩(QuantyLab)이라는 블로그에서 잘 정리해두었습니다. 여기서 확인해보시면 될 것 같습니다. 간단하게 설명하자면 키움증권API는 OCX방식이고, 대신증권API는 COM이란 방식이라고 합니다. 그리고 키움증권API를 활용하기 위해선 PyQt를 무조건적으로 사용해야하지만, 대신증권API를 활용하기 위해선 단순히 win32com이란 라이브러리를 통해서 직접 객체를 생성하여 만들 수 있다는 점이 다릅니다. 저도 그래서 아래 블로그에서 언급한대로 대신증권의 COM방식이 훨씬 편한다고 생각합니다. 아무래도 객체를 직접 만들게 된다면 파라미터로 공유하여 사용할 수 있게 될테니깐요. 

 

실시간으로 거래량이 급등하는 종목을 필터링하고 싶습니다...

 

 두 증권사의 비교는 여기까지만 하고, 저는 조건검색을 하여 실시간 급등주를 포착하는 시스템을 만들어서 거래량을 이용하여 트레이딩을 하고자 했습니다. 하지만 문제는 여기 있습니다. 키움증권API에서 조건검색을 사용할 수 있다고 생각해서 당연히 대신증권API에서도 사용할 수 있을 것이라고 착각하고 대신증권API를 기반으로 개발을 하고 있었습니다. 하지만 대신증권API는 키움증권과 달리 조건검색을 할 수 있는 API를 제공하지 않는다고 하더군요. 제가 철저하게 자료조사를 하지 못한 탓이죠. ㅠㅠ

 


 

 그래서 제가 세운 전략은 두 증권사 API를 불편하지만 동시에 쓸까 고민중에 있습니다. 일단 데이터를 가져와서 데이터베이스를 구축하는건 아무래도 대신증권이 더 편하다고 생각이 들고, 조건검색식과 같은 기능은 키움증권이 더 편하다고 생각이 들었기 때문이죠. 사실 이 두 증권사API를 한꺼번에 쓰지 않고 하나의 증권사API로만 개발하고 싶은데 말이죠. 사실 키움으로만 한다면 이 모든걸 간단하게 끝낼 수 없지만 PyQt의 늪에 빠져서 코딩하는데 어려움을 한번 겪어보고 나니까 아무래도 대신증권쪽이 더 손이 가더라구요. 일단 계속해서 조건검색을 대신하여 실시간 급등주를 포착하기 위한 다른 방법들을 모색해볼 생각입니다. (대신증권에선 특징주라고 API를 따로 제공해주기도 하더군요). 실시간 급등주를 포착하기 위해서 필요한 대신증권 API를 찾아보았습니다. 일단 Dscbo1.StockMst라는 API인데 아무래도 활용할 수 있을지는 의문입니다.

대신증권 API에서 "급등"이라는 키워드로 검색했을 때

 

대신증권 API 중 주식 종목 현재가(Dscbo1.StockMst)

 

 대신증권 API에서 거래량 관련 API를 찾아봤습니다. 문제는 실시간으로 거래량을 가져온다고 한들, 대략 3,000여개 이상의 종목들을 모두 한꺼번에 모니터링할 순 없을 겁니다. (조건검색이 진짜 좋은거구나..)

 

대신증권 API에서 "거래량"이라는 키워드로 검색했을 때

 

그나마 대신증권 API에서 DsCbo1.CpSvrNew8119라는 API는 시간대별로 종목별 프로그램매매 추이 리스트를 알려주긴 합니다. 근데 조금 이상한 건 그냥 매도/매수 수량이 아니라 프로그램 매수/매도 수량 증감입니다. 

 

 

대신증권 API 중 시간대별/종목별 프로그램매매 추이 리스트(DsCbo1.CpSvrNew8119)

 

아직까진 키움증권의 조건검색API를 대체하기 위해서 대신증권에서 어떤 API를 사용해야하는지 감이 안오네요...


 

증권사 API 장단점 비교

이 포스트에서는 다음 세 가지 증권사 API의 활용성에 대해 정리하고자 합니다. - 키움증권 Open API - 대신증권 크레온 API - 이베스트투자증권 Xing API

blog.quantylab.com

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

사이보스플러스 도움말 - 대신증권

설명주식종목의 현재가에 관련된 데이터(10차 호가 포함)통신종류Request/Reply연속여부X관련 SB/PB StockCur관련CYBOS [7021현재가] 주식일반모듈위치cpdib.dll [주의] 업종 관련 데이터는 더 이상 지원하지

money2.daishin.com

 

사이보스플러스 도움말 - 대신증권

[종목별 프로그램매매 추이 리스트(시간대별)] DsCbo1.CpSvrNew8119 설명종목별 프로그램매매  추이 리스트(시간대별) 데이터를 요청하고 수신한다.통신종류Request/Reply연속여부o관련 SB/PB관련CYBOS [811

money2.daishin.com