트레이딩

자동매매를 위한 증권사 API 비교 : 키움증권 vs 대신증권

성민석 2021. 10. 1. 00:22

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

해당 블로그로 넘어오기 전에 예전 블로그에서는 키움증권 OpenAPI과 대신증권 Cybos API 사이에서 고민한다는 글을 남겼던 적이 있습니다. 하지만 지난 1년간 API를 더 활용해보면서 의견이 좀 바뀌게 되어 다시 작성하게 되었습니다.

 

https://minsuksung-ai.tistory.com/21

 

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

 증권사 API를 사용한지 한달이 다 되가는데, 처음에는 키움증권API를 사용하는 예제가 많길래 키움증권으로 공부를 시작했습니다. 그러다가 선배의 권유로 대신증권 API도 사용해보기 시작했습

minsuksung-ai.tistory.com

 

지금 생각해보면 그 때 당시에는 제가 두 API 모두 많이 사용해보지 않았습니다. 일단 결론부터 말씀드리자면 주문과 매매 관련된 API는 키움증권 API가 더 나은 것 같고, 데이터 수집이나 조회 관련된 API는 대신증권 API가 더 나은 것 같습니다. 이와 관련된 기술적인 분석은 아래 블로그를 참고하시면 좋을 것 같습니다. 

 

http://blog.quantylab.com/htsapi.html

 

증권사 API 장단점 비교

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

blog.quantylab.com

 

저는 아무래도 COM이나 OCX와 같은 어려운 내용은 잘 모릅니다. 키움증권 API가 OCX이고 대신증권 API가 COM 방식이라고만 알아두시면 될 것 같습니다. 제가 이후에 각 증권사별로 예수금이나 과거 정보 조회를 하는 방법을 소개해드릴텐데 확실히 두 API가 장단점이 있습니다. 각 증권사별로 제가 사용하면서 느꼈던 좋은 점과 나쁜 점을 정리하여 보겠습니다.

 


 

키움증권 API

  • 아무래도 국내 1등 증권사답게 구글링하다보면 가장 많이 공부할 수 있는 API입니다. 따라서 처음 입문하실 때 자연스럽게 키움으로 하게 될 겁니다. 이 말은 키움은 대신에 비해서 커뮤니티가 잘 형성되어 있어서 사용자들끼리 도움을 받기 쉽습니다.
  • 또한 실시간 API가 정말 사용하기 쉽습니다. OnReceiveRealData 함수를 통해서 사실상 실시간과 관련된 정보를 모두 처리할 수 있습니다.

  • 하지만 매우 불친절한 API 설명이나 (KOA StudioSA도 사실 그렇게 친절하진 않습니다.) 고객센터의 답변만으로 직접 부딪혀 가며 디버깅해봐야합니다. 관련해서는 이후에 다른 포스팅에서 만나뵙는걸로 하겠습니다. 그리고 KOS StudioSA와 별개로 PDF를 제공해주는데 도대체 이 두개가 왜 내용이 다른지 모르겠습니다. 그리고 왜 쓰지도 않는 필드의 값이 존재하는거며 서로 다른 조건이 걸려야지만 수신되는 필드값이 하나의 함수에서 불러와지고 그에 대한 설명은 일절 없는지 모르겠습니다.

https://download.kiwoom.com/web/openapi/kiwoom_openapi_plus_devguide_ver_1.1.pdf

  • 하지만 그놈의 TR요청이 너무 빡셉니다. 실시간 데이터를 다루는 방법을 잘 모르신다면 TR요청으로 해결하실텐데 그러면 지옥의 TR제한에 걸립니다. 통상적으로 TR요청 1회당 3.6초로 제한두면 괜찮은데 이는 스캘핑이나 초단타 전략시 매우 불리하게 작용될 순 있습니다.
  • 아래와 같은 책을 참고하면 도움이 많이 되실겁니다. 시중에서 키움증권 API를 활용하는 책들입니다. 개인적으로 두 개의 책 모두가 필요하다고 생각합니다. 전자는 실시간 데이터를 처리하는 부분이 미흡하지만 프로그램에 대한 전체적인 윤곽을 잡아줄 수 있어서 좋았고 두번째 책은 실시간과 관련된 API를 공부할 수 있어서 좋았습니다.

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791158391461&orderClick=LEa&Kc= 

 

파이썬으로 배우는 알고리즘 트레이딩 - 교보문고

내 손으로 만드는 자동 주식 거래 시스템 | 이 책은 “프로그래밍 책이지만 기존의 전공자를 위한 프로그래밍 책이 아니라 비전공자와 일반인이 파이썬을 쉽고 재미있게 배울 수 있어야 한다”

www.kyobobook.co.kr

 

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791158392024&orderClick=JA8 

 

손가락 하나 까딱하지 않는 주식 거래 시스템 구축 - 교보문고

파이썬을 이용한 데이터 수집과 차트 분석, 매매 자동화까지 | 24시간 자동으로 주식을 분석하고 거래하는 시스템을 구축하는 방법을 배우고 나머지 시간은 더 멋지게 보내고 싶은 분들을 위한

www.kyobobook.co.kr

 


 

대신증권 API

  • 제가 대신증권 API를 활용하면서 감탄한 부분은 일단 COM 객체를 통해서 편하게 사용할 수 있다는 부분이었습니다. 이게 키움과 매우 다른 점 중 하나인데 개인적으로는 코드 작성시 자유도가 더 높아지게 되는건 대신입니다. 그렇기 때문에 PyQT에 거의 종속되어 있는 키움과 다르게 자유도가 매우 높습니다.
  • 또한 데이터 조회시 키움의 빡센 TR요청을 겪다보면 대신은 선녀라고 느껴질겁니다. 물론 대신증권도 제한은 있지만 키움보단 덜하다고 생각하시면 됩니다.
  • 파이썬 뿐만 아니라 C#이나 VBA와 같은 다양한 언어에 대한 예제를 제공해줍니다. 이 부분은 키움보다 좋은 점이었습니다. 하지만 예제를 제공해준다는건 그만큼 사용하기 불편하다는 이유라고도 생각합니다. 더군다나 API 관련해서 질의응답하기가 매우 불편하기 때문에 무언가를 공부할 때 막연한 부분이 있었습니다. 그렇게 생각한 이유는 초보자가 절대 읽기 쉬운 수준의 예제가 아닙니다. 왜 저걸 다 클래스화시켜서 예제를 예제처럼 만들지 않았는지 모르겠습니다.

  • 시중에서 대신증권 API를 활용하는 책은 유일하게 아래 책뿐입니다. 그마저도 제대로 다루기보다는 책의 거의 끝부분에서 간단하게 다루는 정도라서 공부하기 힘들 겁니다. 개인적으로는 대신증권에서 직접 제공해주는 예제를 보는게 쉬울 수 있습니다.

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791162243206&orderClick=JA8 

 

파이썬 증권 데이터 분석 - 교보문고

파이썬 입문, 웹 스크레이핑, 트레이딩 전략, 자동 매매 | 트레이딩 전략과 프로그래밍 모두를 알아야 투자에 성공할 수 있다!이 책은 1부 ‘파이썬 데이터 분석 기본’과 2부 ‘파이썬 데이터 분

www.kyobobook.co.kr

 


 

쓰다보니 각 API별로 사용하면서 불편했던 내용이 정리된 느낌이 있네요. 두 증권사 API 모두 완벽할 순 없으니 결론적으로 매매를 위한 API로는 그래도 키움API가 좋고 백테스팅과 같이 데이터를 조회해야할 경우에는 대신API가 좋습니다. 추가적으로 제가 이베스트와 같은 API는 사용해보진 않았습니다. 선물API로는 이베스트가 더 좋다는 의견이 있습니다. 이 부분도 나중에 한번 다뤄보도록 하겠습니다. 

728x90
반응형