본문 바로가기

알고리즘 트레이딩

국내 증권사 오픈 API

국내 증권사 중 키움, 이베스트, 대신 증권은 윈도우의 COM (Component Object Model)기반의 API를 제공하고 있습니다. 문제는 COM 기반의 API가 매우 오래된 기술이고 윈도우 운영체제에서만 동작한다는 점입니다. 개인 투자자가 증권사의 오픈 API를 사용하려면 윈도우 운영체제에서 증권사가 제공하는 프로그램을 설치해야합니다. 이와 달리 암호화폐 거래소는 REST API를 사용합니다. REST API는 HTTP 프로토콜을 사용하기 때문에 운영체제에 종속적이지 않으며 별도의 프로그램을 설치할 필요도 없습니다. 인증 방식 역시 공인인증서 등을 사용하지 않기 때문에 프로그램 개발시 더 편리하게 인증도 진행할 수 있습니다. 

 

2022년 04월에 한국투자증권이 국내 최초로 REST API 기반의 오픈 API 서비스를 시작했습니다. 아직까지는 기존의 COM 기반의 API에 비해 부족한 점이 많지만 투자 스타일에 따라 REST API를 사용해도 충분히 자동 매매를 구현할 수 있습니다. 특히 리눅스나 macOS에서도 증권사 API를 사용할 수 있기 때문에 서버를 임대해서 사용하는 경우 윈도우 서버 보다 더 저렴한 비용으로 서버를 이용할 수 있습니다. 최근 개인들에게 인기가 있는 퀀트 투자의 경우 종목을 선정하고 6개월이나 1년에 한 번 리배런싱을 진행합니다. 이런 중장기 투자의 경우 REST API를 사용하면 암호화폐 거래소의 자동매매 프로그램 개발처럼 최소한의 노력으로 자동매매 프로그램 개발이 가능합니다. 물론 한국투자증권의 REST API도 웹소켓을 기반으로 실시간 데이터를 제공하고 있으며 이를 사용하면 단타 위주의 프로그램도 개발 가능합니다. 하지만 개인 투자자들이 많이 사용하고 있는 조건식 등이 아직은 지원하지 않고 있는데 이 부분이 조금 아쉬운 점이라고 할 수 있습니다.

 

한국 투자증권의 REST API는 국내 주식 뿐만 아니라 해외 주식 거래도 지원하기 때문에 최근 인기 있는 미국 주식 투자 역시 자동 매매를 통해 구현할 수 있습니다. 파이스탁에서는 mojito 라는 파이썬 모듈을 개발했고 이를 오픈소스로 공개해두었습니다. 직접 한국 투자증권의 REST API를 사용하는 것 보다 mojito 모듈을 사용하면 파이썬에서 더 편리하게 프로그램 개발이 가능합니다. 

 

https://github.com/sharebook-kr/mojito

 

GitHub - sharebook-kr/mojito: python wrapper for the KIS

python wrapper for the KIS . Contribute to sharebook-kr/mojito development by creating an account on GitHub.

github.com

 

Mojito 모듈을 사용한 주식 자동매매 프로그램 개발은 다음 책을 참고하세요. 

 

https://wikidocs.net/book/7845