트레이딩

[키움API] KOA StudioSA 톺아보기 - 그 외 여러가지 내용들

성민석 2023. 7. 23. 18:00

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

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

 

지금까지 KOA StudioSA에 있는 개발가이드를 최대한 제가 이해한 내용을 함께 넣어서 설명드렸습니다. 이제 최종적으로 남은 내용들은 모두 모아서 한번 정리해보겠습니다. 

 


OpenAPI 사용제한과 관련하여

OpenAPI는 안정적인 서비스 운영을 위해 몇가지 제한을 두고 있습니다.
이는 과도하게 반복적으로 데이터를 요청하는 등 특정 사용자에의해 서버가 점유되면서,  그렇지 않은 다수의 사용자가 이에 악영향을 받을 수 있는 점을 방지하기 위함입니다. 프로그램 구현시에 주의해주시기 바랍니다.

 

실행환경

OpenAPI는 서버급 OS를 지원하지 않습니다.
또한, 한글외 타언어 OS에서 구동시 정상적으로 동작하지 않을 수 있습니다.

개발환경

OpenAPI는 64비트용으로 제공되지 않습니다. (무조건 32비트 개발환경)
visual studio 2022, 64비트 MS Office 군의 엑셀에서는 OpenAPI 컨트롤 사용이 불가 합니다.


접속제한

서버점검시간은 매일 05:00 에 시작되며 보통 1분, 길어지면 5분정도 소요됩니다.
이 시간에는 접속자체가 불가하며 이전에 접속되어 있는 경우 접속이 단절됩니다.

 


조건검색 조회는 07:30 부터 가능합니다. 따라서 07:30 이후에 OpenAPI 접속하시길 권장 드립니다. (제 경우에는 넉넉하게 8시반쯤 실행하고 있습니다. 너무 빨리 접속하면 위에서처럼 통신이 끊기기도 합니다....)

 

주말 시스템 작업시 접속이 불가한 경우가 있습니다.
주말 접속이 되지 않는 경우 OpenAPI게시판 공지 또는 고객게시판 공지를 확인해보시기 바랍니다.


조회횟수 제한

데이터 조회는 1초당 5회로 제한됩니다. (사실 이 부분이 조금 헷갈리는데, 이건 서버에 따라 유동적으로도 바뀔 수 있긴 합니다.)

CommRqData(데이터 조회요청), SendCondition(조건검색 조회요청), CommKwRqData(복수종목 조회요청) 들이 해당됩니다.
1초당 5회를 초과하는 데이터요청에대해서는 에러코드가 리턴됩니다. 재실행/재접속 없이 1초 후 자동으로 해제됩니다.

 

서버부하방지 제한

기존 1초당 5회 조회횟수 제한과 별개로 "서버부하방지 제한"이 추가되었습니다. (2017년 4월 6일)
특정 고객에 의해 (사실 왜 나머지 고객이 피해를 봐야하는지 이해가 안되긴 합니다. 그냥 블락 때려버리지...) 서버부하 현상이 반복되면서 보다 안정적인 OpenAPI 서비스 제공을 위한 추가정책입니다.


CommRqData(데이터 조회요청), SendCondition(조건검색 조회요청), CommKwRqData(복수종목 조회요청) 들이 해당됩니다.

서버의 상황에따라 유동적일 수 있어서 초당 5회와 같이 명확한 기준을 알려드리기 어려운 점 양해 부탁드립니다.

서버부하방지 제한에 적용되는 경우에는 메세지박스가 출력되며 데이터요청이 불가해집니다. 프로그램 종료 후 재접속으로 해지할 수 있습니다. (OpenAPI 게시판 조회제한 관련 공지내용 참고.)

 

주문횟수 제한

OpenAPI를 통한 주문은 1초당 5회로 제한됩니다.
SendOrder(주식주문), SendOrderFO(파생주문), SendOrderCredit(신용주문) 들이 해당됩니다.
1초당 5회를 초과하는 주문전송에대해서는 에러코드가 리턴됩니다.
※ 위 조회횟수 제한과 주문횟수 제한은 별개로 각각 카운트 됩니다.

 

실시간 데이터 제한

하나의 화면번호에 실시간시세를 등록할 수 있는 최대 종목수는 100종목 입니다.
이외 실시간 데이터를 수신하는데에는 제한이 없습니다.


※ 너무 많은 종목의 시세를 수신하는 것은 사용자PC(CPU, 메모리, 네트워크)의 부하를 일으킬 수 있습니다.
이때 사용자PC상 시세 데이터처리에 지연현상이 일어날 수 있습니다. 또한 수신되는 실시간시세를 모두 파일에 기록하는 처리 로직은 PC부하를 일으키는 요인이 됩니다. (특히, 엑셀로 구현하는 경우 부하 현상이 심할 수 있습니다.) 이는 사용자의 PC환경에따라, 실시간 처리 로직에따라 다르므로 작업관리자창을 띄워서 PC부하정도를 모니터링 하는 등 테스트 하여 사용에 무리가 없는 정도의 종목 수를 구현, 운영하시기 바랍니다.

 

제공되지 않는 서비스

- OpenAPI에서는 조건식 편집 및 저장이 불가 합니다. 영웅문4를 통해 편집/저장 하시기 바랍니다.
- 차트데이터 조회시 이동평균을 포함한 지표데이터는 제공되지 않습니다.
- OpenAPI는 이체 등 증권업무를 제공하지 않습니다. (코인처럼 계좌간 이체라도 됐으면 좋았을텐데 말이죠.)
- OpenAPI는 윈도우 서버군 OS를 지원하지 않습니다.
- OpenAPI는 한글 외 언어 OS를 지원하지 않습니다.
- OpenAPI는 HTS, MTS등 다른 매체에서 사용되는 관심종목 연동을 지원하지 않습니다.
- OpenAPI는 64비트용 컨트롤로 제공되지 않습니다.

 

백신 프로그램에 의한 실행 차단

PC에 설치된 avast, 네이버백신, 다음클리너 등의 백신 프로그램이 OpenAPI로 제작된 고객님의 프로그램 실행을 차단할 수 있습니다.
차단으로 인해 실행이 안되는 경우 PC에 설치된 백신프로그램의 환경설정 및 차단된 프로그램 목록을 참고해보시기 바랍니다.
avast 백신에의한 실행차단의 경우 아래와 같은 방법으로 해결하시기 바랍니다.
1. 시스템 트레이 영역의 avast 아이콘 위에서 마우스 우측버튼을 클릭하고, “avast! 열기”를 실행
2. 오른쪽 상단 "환경 설정” 클릭
3. 왼쪽 “전역 예외” 탭 선택 -> 파일경로 “검색”버튼 클릭 -> c:\OpenApi 선택 -> “추가”버튼 클릭 -> “확인” 버튼 클릭

 


 

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

 

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

 

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

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

open.kakao.com

 

728x90
반응형