[인공지능 주식매매] 용도별 증권사 API 추천
일반적으로 주식투자를 위해서는 각 증권사의 HTS 또는 MTS를 사용한다. 해당 프로그램들은 투자자들이 주식투자를 위해 활용할 수 있는 많은 기능들을 제공하고 있다. 하지만 일반적으로 주식 자동매매 프로그램 개발에서는 해당 프로그램을 사용할 수 없으며 각 증권사가 제공하는 api를 사용해야 한다. 주식투자 프로그램 개발을 위한 api를 제공하는 증권사는 다양하며 아래 블로그에서 정리를 잘 해두고 있다. 참고하면 도움이 될 듯하다.
https://igotit.tistory.com/m/entry/증권사-API-DMA정리
여러 api 중 필자가 사용해본 api는 키움증권, 이베스트증권, 한국투자증권의 api이며 현재는 키움증권과 한국투자증권의 api를 사용하고 있다. 왜 하나의 프로그램에서 두 증권사의 api를 사용하는 것일까? 그렇게 중복으로 사용하는 하는 것이 가능한 것인가?
[1. api 중복 사용 가능 여부]
사용 가능하다. 심지어는 한가지 api를 복수 개로 넣어서도 사용 가능하기도 하다. 필자가 사용하고 있는 api들은 모두 ocx형식 api들이며 하나의 프로그램에 여러 개의 ocx를 넣어서 개발 가능하다. 하나 하나를 별개의 객체로 사용해서 접근하고 각각의 이벤트를 따로 관리할 수 있다. 향후 각 증권사 api를 어떻게 사용 가능한지와 간단한 예제 정도의 정보도 공유할까 싶다. (나중에 시간이 된다면 공유하겠다. 필자의 경우 남는 시간에 잠깐씩 모바일로 글을 작성 중이라 프로그래밍 자체에 대한 자세한 글을 작성하기가 쉽지 않다.)
[2. 복수 api 사용 이유]
필자의 경우 2개 증권사의 api를 사용하고 있다. 그 첫 번째 이유는 각 증권사 제공 api의 특성이 다르기 때문이며... 두 번째 이유는 매매 실행에 대한 응답성 때문이다.
- api간 특성 차이 관련
각각 다음과 같은 특성을 가지는 2가지 api를 사용하기를 추천한다. 하나는 주가의 모니터링 또는 분석 기능이 강력한 api를 사용하고 다른 하나는 기능이 떨어지더라도 증권사 수수료가 저렴한 증권사의 api를 사용하기를 추천한다. 주로 수수료가 비싼 증권사의 경우 그만한 가치가 있을 정도로 퀄리티가 좋은 서비스를 제공한다. 하지만 수수료가 비싸다. 장기투자를 하는 경우에는 수수료나 거래세의 비중이 크지 않기에 수수료가 좀 비싸더라도 서비스가 좋은 증권사의 api만 사용해도 좋을 것이다. 하지만 단기투자에서의 경우 거래세와 증권사 수수료와의 싸움이 될 수 밖에 없다. 투자를 많이 해서 질 좋은 서비스를 개발하고 제공하는 증권사에는 죄송한 이야기지만 서비스가 좋은 증권사의 api를 사용해서는 주가의 모니터링 및 분석만을 하고 실제 매수/매도는 수수료가 저렴한 증권사의 api를 사용한다.
여기서 한가지 걱정을 하시는 분들이 있을 수 있다. 주가 모니터링용 증권사의 api로 확인한 주가와 실제 매매를 진행하는 증권사의 api로 매매할 때의 주가가 서로 다르지 않을까라고 걱정하시는 분들이 계실 수 있다. 물론 미세하게 다를 수는 있다. 하지만 이는 각 증권사별 api의 성능 차이에 의해 발생하는 차이지 실제 주가 자체가 다르지는 않다. 국내 모든 증권사들은 한국 거래소를 통해 주식을 거래한다. 시장이 하나이기에 증권사별로 주가가 서로 상이 할 수는 없다. (비트 코인과 같은 가상화폐의 경우는 이와 다르다. 가상 화폐의 경우 거래소가 매우 다양하며 각 거래소마다의 가상화폐 가치가 제 각각이다. 하지만 주식의 경우 거래소가 하나이다.)
- 매매 실행 응답성
사실상 크게 영향을 미치지는 않을 것으로 생각하고 실제 실험을 통해 확인한 바는 아니지만... 주가의 모니터링을 위해 쿼리를 주고 받는 과정 중 매수 또는 매도 명령을 즉각적으로 보낼 수 있느냐 아니냐의 이슈가 있을 수 있다. 단기투자에서의 경우 매수 또는 매도 타이밍은 매우 중요한 요소가 될 수 밖에 없다. 그리고 적절한 타이밍에 즉각적인 매수/매도가 가능해야 한다. 하지만 하나의 api를 사용한다고 가정하면 주가 모니터링을 위한 쿼리가 주고 받는 과정에서는 즉각적인 매매 쿼리 발송이 불가할 여지가 있다. 이 경우 모니터링을 하는 api와는 별개의 독립적인 api를 사용하게 되면 즉각적인 매매 명령을 전송 시킬 수 있을 것으로 기대 한다. 앞서 밝혔지만 실험을 통해 확인한 사항은 아니다.
[증권사 api 추천]
1. 모니터링용 증권사 api
: 대신 증권 또는 키움증권의 api를 추천한다
대신증권의 api는 써보지는 않았지만 수수료가 비싸지만 좋다는 글을 많이 봐서 추천한다. 실 사용해본 키움 증권의 api는 상당히 만족스럽다. 대신을 안 쓰는 이유는 학창시절부터 가지고 있던 증권 계좌가 키움 계좌였기에 자연스럽게 키움부터 사용한 것이고 키움 증권 api로 충분히 만족하고 있기에 괜히 비슷한 성격의 다른 api를 써보느라 시간을 들이고 싶지는 않았다. 자동 매매 개발 시작 초기 개발 시에는 쿼리전송 주기에 대한 제약을 많이 둬서 광범위한 데이터 수집이 힘든 관계로 불만이 있었으나 증권사로서는 어쩔 수 없고 당연한 조치이다. 대신증권은 동일하거나 더 강력한 기능들이 많이 있을 수 있겠지만... 안 써봐서 잘 모르겠고 키움 증권의 경우 hts에서 작성한 조건검색을 통해 검색된 종목리스트를 실시간으로 받아볼 수 있으며 실시간 모니터링 종목을 등록해두면 계속적으로 해당 종목들의 실시간 주가 및 체결 정보가 들어온다. 필자 역시 일부 해당 기능들을 활용해서 자동 매매 기능 구현 중에 있다. 키움증권을 사용하는 분들이라면 자동매매프로그램을 개발하지 않는 투자자들이라도 조건검색식을 구매해서 판매 또는 무료 제공하는 자동 매매 프로그램에 적용해볼 수도 있을 것이다.
2. 매매용 증권사 api
별다른 조건이 필요 없다. 증권사 수수료가 싼 게 최고다. 신규 계좌 개설 시 평생 수수료 무료 조건을 제시하는 증권사들이 있다. 필자가 사용하는 한국투자증권 역시 해당 조건 계좌 개설 이벤트가 있었고 해당 이벤트에서 개설한 수수료 무료 계좌를 통해 자동매매 프로그램을 운용하고 있다. 최초에는 매매용 api로 이베스트증권의 api를 사용하다가 한국투자증권에서 수수료 무료 계좌를 만들자마자 바로 갈아탔다. 매수/매도 관련 기능만 구현하면 되기에 금방 갈아탈 수 있다. 단기투자에서는 거래세와 증권사 수수료가 최대의 적이다. 이런 점에서 수수료 무료 조건은 엄청난 장점이 될 수 있다. 물론 증권사 수수료는 무료라고 하더라도 0.0036396% 가량의 유관기관제비용(증권사마다 조금씩 다르다.)은 지불해야 한다. 어쨌든 api를 제공하는 증권사 중 증권사 수수료를 가장 적게 요구하는 증권사의 api를 선택해서 사용하는 것이 좋다.
*향후 거래세를 최소화 하는 방법에 대해서도 정보를 공유 할 수 있을 듯 하다.
'인공지능 매매 > 인공지능 매매 전략' 카테고리의 다른 글
[인공지능 주식매매] 인공지능 자동매매를 위한 3대 요소 (승률,수익률,투자비율) (0) | 2020.12.05 |
---|---|
[인공지능 주식매매] 3단계 S/W 동작 모니터링 (0) | 2020.12.02 |
[인공지능 주식매매] 매매 주기에 대한 고찰: 하루 단위 3구간 매매 (0) | 2020.11.26 |
[인공지능 주식매매] 프로그램 구성 및 운용 방안 (0) | 2020.11.23 |
[인공지능 주식매매] 실행 모드 구분 및 데이터 백업 (0) | 2020.11.23 |