증권사 API2021. 1. 15. 18:00

 

안녕하세요.

 

해가 바뀐지 벌써 2주가 지났는데 뒤늦게 인사 드립니다.

 

초밥도 사먹고, 소고기도 사먹기 위해 열심히 일하다보니 시간이 어찌나 빨리 지나가던지 말입니다.

 

 

시스템을 운용하면서 증권사에서 API 관련하여 중대한 변경 또는 업데이트가 있으면 SMS 알림을 해주는데요.

 

그렇지 않은 경우는 잘 모르고 지나가는 경우가 많습니다.

 

 

작년 eBest 투자대회 이후로 처음으로 증권사 홈페이지에 접속 해보는 것 같은데 변경 사항이 있어 뒤늦게 나마 전해 드립니다. (이미 알고 계신분은 패스.)

 

1. 그동안 CME 거래소와 계약하여 위탁 운영해오던 CME 야간 선물의 운영 중단에 대해서는 전해드린적이 있는데요.

이 부분에서 협의의 문제로 잠시 중단된 것인줄 알았더니 이 소식으로 향후 CME 야간 선물 운영 계획이 없다고 파악하고 소식 전해드립니다.

 

-야간 CME시장 코스피200선물 및 미국달러선물의 글로벌거래 중단 으로 인한 TR제공 종료

  TR 삭제
  - CCEAT00100 선물옵션 CME 정상주문
  - CCEAT00200 선물옵션 CME 정정주문
  - CCEAT00300 선물옵션 CME 취소주문

 

2. 최근 주식투자 인구가 증가세를 보이는 부분과 시스템 트레이더가 되기 위해 API를 이용하는 사람이 많이 늘었는지 XingAPI 신규가입을 일시 중단한다는 소식입니다.

이는 급증하는 투자인구 증가와 함께 폭주하는 주문건에 대해 처리하기 위해 증권사 서버에 많은 부담을 주고 있기 때문이며 비단 eBest만의 문제는 아니고 타 증권사에서도 여러 크고 작은 주문 관련 사고나 시세 지연 등의 문제가 빈번하게 포착되고 있기에 거래를 하는 분들은 주의 하셔야 할 것 같습니다.

 

3. 앞서 전해드린 2번의 항목과 연계되는 부분인데요.

주식 정정 및 취소 주문 TR의 처리 건수를 대폭 감소시킨다는 뉴스입니다.

 

  - CSPAT00700(현물 정정주문), CSPAT00800(현물 취소주문) TR 제한을 강화 합니다.

  - CSPAT00700 TR제한은 기존 1초당 99건에서 1초당 3건으로 변경 됩니다. 

  - CSPAT00800 TR제한은 기존 1초당 99건에서 1초당 3건으로 변경 됩니다. 

 

수십 수백건의 주문을 동시 다발적으로 전송할 경우 증권사 서버에도 부담이 되지만 시세 조작 의심을 받을 여지도 있으니 주의 하셔야 할 것 같습니다.

(확인결과 VIP 서버에서는 해당 내용이 적용되고 있지 않습니다. 일반 서버에서는 따로 확인 해보지 못했습니다.)

 

 

오늘은 이렇게 3건의 뉴스를 전해 드렸고 다음에는 알찬 내용으로 소식 전하겠습니다.

 

 

호가창에서 뵙겠습니다.

 

Posted by 투자의神
증권사 API2018. 1. 26. 03:00

 

 

 

▲ 이베스트 투자증권의 xing API (이하 API)의 OC0 Real TR을 이용하여 데이터를 수신받다가 일부 필드의 데이터가 누락되는 부분이 발견되었고 이를 재차 확인하기 위해 devcenter 를 통해 확인해봐도 마찬가지인 상황입니다.

 

▲ 해당 문제를 이베스트 API 담당자에게 전달 하였고 이후 누락 여부는 확인 해보지 않았으나 데이터를 받고 계신분은 데이터 누락 여부를 확인 해보시기 바랍니다.

 

 

 

▲ API의 t8413 조회 TR을 이용하여 특정 종목의 일간 데이터를 조회 해보면 유상증자/무상증자/감자/배당 등의 사유로 주가가 변경되는 경우가 있습니다.

 

▲ 이때 API와 HTS도 마찬가지로 내부적으로 '수정주가 사유', '수정비율' 데이터에 맞게 주가를 변경 처리 해주어야 하는데 일부의 '수정주가 사유'와 '수정비율' 데이터가 잘못 수신되는 경우가 있을 수 있습니다.

 

▲ 이런 문제가 발생하면 API 담당자에게 전달하여 올바르게 수정될 수 있도록 하셔야 합니다.

 

 

 

▲ 위의 경우와 마찬가지로 t8413 조회 TR을 이용했을시 일부 잘못된 데이터가 수신되는 경우이며 이런 현상은 '분(minute)' 데이터 요청시에도 발생할 수 있습니다.

 

 

 

Posted by 투자의神
증권사 API2018. 1. 23. 04:00

 

 

주식을 거래하다보면 참고해야 될 데이터들이 많이 있습니다.

 

 

그것은 계산이라기보다 단순 참고 해야 될 사항인데요.

 

 

선물 옵션을 거래하다보면 단순 참고가 아니라 계산후 참고를 하거나 가중치를 부여하여 계산후 참고를 하는 것들이 필요할 때가 있습니다.

 

 

특히나 실거래에 앞서 시뮬레이션을 하기 위해 미적분을 사용하거나 각 값들의 평균치 계산시 제곱으로 계산하거나 하는 것들이 그 예입니다.

 

 

이럴때 증권사에서 제공하는 기본 데이터 포맷은 string (문자열) 데이터 이지만 float 타입으로 파싱해서 사용하는데 간혹 계산시 그 값이 부정확하거나 자릿수 문제가 나올 수 있는데요.

 

 

필자는 개인적으로 처리 속도가 다소 늦더라도 decimal 타입을 선호하는 편인데 경우에 따라서는 double 타입을 사용하기도 합니다.

 

 

우리가 다뤄야 할 데이터들은 계산 값의 정확도가 중요한 것이지 속도가 크게 문제 되지는 않기에 decimal 타입을 선호합니다.

 

 

다만 decimal 의 경우에는 속도가 int 타입보다 적어도 2배 많게는 30배 이상 차이가 발생하기 때문에 이를 보완하기 위해서 모든 데이터들을 int32 또는 int64 타입으로 변경하여 처리 하는 경우도 있으며 자릿수와 정확도의 문제가 발생하지 않으면 최소한 float 타입으로 변환해서 사용하기도 합니다. (int32 도 무방)

 

 

실거래시에는 시뮬레이션때보다 더 적은 경우의 수에 대해 연산하기 때문에 본래의 데이터 타입을 사용하셔도 됩니다. (그러나 실거래시에는 결과값을 보기 위해 어차피 속도의 문제가 아니므로 필자는 decimal 타입을 선호함.)

 

 

HTS에서 기본적으로 제공하는 옵션전광판 화면을 보셨을겁니다.

 

 

 

▲ 이베스트 투자증권의 HTS인 eBest Pro 마스터에서 제공하는 옵션전광판은 위와 같습니다.

 

 

이러한 옵션전광판의 등가 옵션(위 이미지에서는 327.50)은 장중이 아닐때는 직전 마지막 거래에 기반하여 고정 표시되지만 장중일 때는 HTS 자체적으로 계산하여 등가 옵션의 표기가 달라질 수 있습니다.

 

 

예를들어 2018년 01월 19일 주간장 마감시의 코스피200 기준의 등가옵션은 330.00 이었지만 2018년 01월 22일 주간장이 개장한 후 장초반 일시적인 조정세로 인해 등가 옵션이 327.50으로 변경되었습니다.

 

 

위 경우처럼 장중 코스피 200 지수의 등락에 따라 HTS의 옵션 전광판 데이터는 지속적으로 변경되지만 API로 수신된 데이터의 등가옵션 구분은 전일 종가 기준의 등가옵션 구분을 그대로 사용하기 때문에 만약 장중 등락에 따른 등가옵션의 변화를 API를 통해 바로 확인하기 위해서는 별도의 계산을 해주어야 합니다.

 

 

옵션은 2.50 단위로 종목이 변경되기 때문에 50%인 1.25를 기준으로 등가옵션 구분이 변경되도록 처리 해주면 됩니다.

 

 

만약 300.00과 302.50의 중간인 301.25라는 값에 정확히 걸쳐져 있으면 등가옵션의 구분은 높은쪽인 302.50을 등가옵션으로 구분하는게 옵션 이론상 맞습니다.

 

 

Posted by 투자의神
증권사 API2018. 1. 14. 11:30

 

 

주식이나 ETF는 신용 또는 미수 주문이 가능하기 때문에 성공확률이 높은 매매 기법을 운용함에 있어서는 경우에 따라 신용과 미수 주문을 사용함으로써 수익의 극대화를 할 수 있습니다.

 

 

필자는 개인적으로 신용주문과 미수주문을 전혀 사용하지 않고 현금 보유범위 내에서만 그것도 30~50%의 범위 내에서만 운용하고 있으나 필요로 하는분이 계실것 같아 기록으로 남깁니다.

 

 

HTS를 통하면 신용/미수 주문이 가능한 종목인지와 주문 가능 비율을 쉽게 볼 수 있지만 API에서는 별도로 조회 요청을 해야 합니다.

 

 

우선 신용/미수 주문 가능 여부는 T1411 의 조회TR을 이용하면 리턴값중 jrate 필드의 값으로 구분하면 됩니다.

 

1 : 100%

 

2 : 20% (신용 불가)

 

3 : 30% (신용 불가)

 

4 : 40% (신용은 45%)

 

5 : 50% (신용도 50%)

 

위 값은 신용과 미수 주문 가능 여부와 주문 가능 수량까지 한번에 계산할 수 있도록 도와줍니다.

 

 

만약 주문 수량을 정확히 조회 해보고 싶다면 조회TR중 CSPBQ00200, CSPAQ00600 을 이용하면 리턴값으로 주문 가능 수량을 조회 할 수 있습니다.

 

 

 

수능(수학능력평가시험)일은 주간장의 개/폐장이 1시간씩 순연되며 야간장은 개장만 1시간 순연되며, 개장전에 API를 통해 데이터를 조회 해보면 순연된 시각 기준으로 개/폐장 시각 정보를 수신받아서 프로그램에 적용할 수 있습니다.

 

 

 

야간장의 경우 HTS는 종목 마스터 갱신과 잔고 정산을 위해 HTS 종료 후 재접속을 해야 올바른 정보가 표기 되지만 API의 경우에는 접속을 차단하지 않더라도 됩니다.

 

 

 

하나의 접속 아이디로는 실서버(VIP 포함)에 3개의 접속 세션을 유지 할 수 있으며 물리적으로 동일한 컴퓨터이던 다른 컴퓨터이던 상관없이 이베스트 투자증권 API서버에서 접속 세션을 카운팅하는 방식을 채택하고 있습니다.

 

 

단, 모의서버의 경우에는 접속 세션의 갯수에 상관없습니다. (수십개의 접속 세션 유지도 가능함)

 

 

또한 하나의 운영체제 내에서는 최대 10개의 프로그램(이베스트 투자증권 API 연동 프로그램)까지 구동할 수 있으므로 아이디가 여러개라면 한대의 서버에서 데이터 수집, 저장, 분석, 매매, 시뮬레이션 등 다양한 것들을 동시에 진행할 수 있습니다.

 

 

 

Posted by 투자의神
증권사 API2018. 1. 11. 10:30

 

 

알고리즘 자동매매 시스템을 만들기 위해 증권사 API를 이용할 때 기본적인 처리 프로세스는 다음과 같습니다.

 

 

@. 진입

 

1. 데이터 수신

 

2. 데이터 분석

 

3. 주문 접수

 

4. 주문 접수 확인 - 주문 내용(주문일시, 주문수량, 주문가격, 주문번호 등) 수신

 

5. 주문 체결 확인 - 체결 내용(체결일시, 체결수량, 체결가격, 주문번호 등) 수신

 

 

@. 청산

 

1. 데이터 수신

 

2. 데이터 분석

 

3. 주문 접수

 

4. 주문 접수 확인 - 주문 내용(주문일시, 주문수량, 주문가격, 주문번호 등) 수신

 

5. 주문 체결 확인 - 체결 내용(체결일시, 체결수량, 체결가격 등) 수신

 

 

위 과정을 처리 함에 있어서 문제의 소지가 될 수 있는 부분은 3~5번입니다.

 

 

주문 접수시 현재가와 주문가의 차이, 주문 접수 당시의 갑작스러운 상승이나 하락의 흐름, 주문의 유형(지정가, 시장가 등)에 따라 주문을 접수한 이후 실제 체결시까지 시간의 차이가 약 1초 이상인 경우에는 별 문제가 없습니다.

 

 

만약 주문 유형이 즉시 체결이 될 수 있는 시장가 주문이거나 지정가 주문이라 하더라도 즉시 체결이 될 수 있는 (시장가와 같은 효력의 주문) 경우라면 문제가 발생할 수 있습니다.

 

 

주문 접수 확인 데이터는 조회TR에 대한 결과이고 주문 체결 확인 데이터는 실시간TR을 수신한 것으로 다른 TR을 이용하기 때문인데요.

 

 

즉시 체결이 될 수 있는 조건에서는 이 데이터의 수신 순서가 역전될 수 있기 때문에 위 처리 프로세스를 기준으로 주문번호 등을 수신 받아 프로그램(메모리)에 저장해두고 이후 주문 체결 확인 데이터 수신시 주문번호로 매칭하려는 경우에는 주문 체결 확인 데이터가 먼저 수신된 후 주문 접수 확인 데이터가 수신될 수 있습니다.

 

 

이는 서버측의 부하 정도, 사용자의 인터넷 환경 등에 따라 4~5번의 과정이 순서대로 처리 될 수도 있고 5번이 먼저 처리되고 4번이 처리 될 수도 있습니다.

 

 

주문 접수한 종목코드나 수량, 가격 정보가 제각각이라면 주문번호 이외에 주문일시, 주문수량, 주문가격 등의 정보로 분리 구분 처리 하면 되지만 짧은 시간내에 소수(혹은 하나)의 종목에 동일 수량의 주문을 처리 하고자 할 경우에는 하나의 알고리즘 자동매매 프로그램 내에서 분리 구분이 안될 수 있습니다.

 

 

만약 즉시 체결 조건의 주문으로 동시 다발 처리를 하려면 프로그램 내에서 매매 로직별로 별도의 넘버링을 하고 수신되는 데이터의 순서와 일대일 매칭하는 등의 별도의 후처리가 필요합니다.

 

 

변동성 완화장치를 이용한 매매 기법을 많이 연구하고 계실텐데요.

위와 같은 개념으로 몇년전 시행된 동/정적 변동성 완화장치 (일명 VI)의 경우에 VI상태에서의 동시호가가 끝나고 VI가 해제되는 순간 수신할 수 있는 데이터는 해당 종목의 체결데이터(주식의 경우 S3_는 코스피, K3_는 코스닥의 체결 데이터를 수신할 수 있는 RealTR)와 VI_ (VI와 연관된 모든 데이터를 수신할 수 있는 RealTR)의 데이터인데요.

 

 

VI_ 해제 데이터가 먼저 수신 될 수도 있고 체결 데이터가 먼저 수신 될 수도 있으므로 고려하여 프로그램 개발을 진행해야 할 것입니다.

 

 

 

Posted by 투자의神
증권사 API2018. 1. 8. 00:30

 

 

@.

선물의 증거금액은 코스피200의 전일 종가 * 250,000원 * 증거금율에 따라 매일 변동 됩니다.

 

 

이 공식은 코스피200 지수선물의 거래를 중개하는 모든 증권사에 공통으로 적용되는 부분이기도하고요.

 

 

거래를 하다보면 주간장에서 포지션을 보유한채로 오버나잇하여 당일 야간장에서 거래를 하거나 익일 거래를 하는 경우가 발생할 수 있는데요.

 

 

만약 야간장(CME) 거래가 가능하게 설정되어 있는 상태라면 야간장의 증거금은 당일 주간장 코스피200 종가를 기준으로 17시에 다시 계산되어 반영됩니다.

 

 

증거금이 여유롭지 못하거나 야간장에 급격한 가격 변화가 발생하면 경우에 따라 반대매매가 발생할 수 있으므로 이 부분을 인지하고 매매해야 합니다.

 

 

@.

각 투자자별 매매 동향 데이터를 내려주는 Real TR중 BM_이나 조회 TR인 BMT의 경우에 코스피200지수선물, 코스피200지수옵션 콜옵션, 코스피200지수옵션 풋옵션, 코스피, 코스닥의 거래금액만 합산되고 코스닥150지수선물과 코스피200지수 미니선물, 코스피200지수 미니옵션의 거래대금은 반영되지 않습니다.

 

 

@.

BMT는 30초 지연 데이터를 조회 할 수 있으며 BM_은 실시간의 데이터를 수신 받을 수 있습니다.

 

 

@.

BM_의 OutBlock tjjcode 는 아래와 같습니다.

 

0000 사모펀드

 

0001 금융투자

 

0002 보험

 

0003 투신

 

0004 은행

 

0005 종금

 

0006 기금

 

0007 기타법인

 

0008 개인

 

0009 등록외국인

 

0010 미등록외국인

 

0011 국가

 

0017 외국인합계

 

0018 기관합계

 

 

@.

선물은 주식이나 옵션과 달리 약정 체결 금액과 증거금액이 다른데요.

 

 

약정 체결 금액은, 코스피200 전일종가 * 250,000원 이고

 

증거금액은, 코스피200 전일종가 * 250,000원 * 증거금율입니다.

 

 

BM_이나 BMT로 수신되는 값중 선물의 경우 약정대금 기준인지 증거금액 기준인지 증권사도 그 내용은 알지 못하며 단지 코스콤에서 데이터를 내려주면 그대로 API 사용자에게 전달 해 줄 뿐입니다.

 

 

관련 데이터를 기반으로 매매 로직을 정립하였다면 확인이 필요한 부분입니다.

 

 

@.

API를 이용하여 거래를 할 때 프로그램이 정상적인 각 장 구분을 인지 할 수 있어야 합니다.

 

장 구분은, 장전 시간외 / 장전 주식 동시호가 개시 / 장전 선물 동시호가 개시 / 장전 옵션 동시호가 개시 / 장전 ELW 동시호가 개시 / 장중 / 장마감 동시호가 / 장마감 / 주식 시간외 동시호가 개시 / 주식 시간외 체결 개시 / 주식 시간외 단일가 개시 / 주식 시간외 단일가 마감 / CME 동시호가 개시 / CME 개장 / CME 장마감 / EUREX 동시호가 개시 / EUREX 개장 / EUREX 장마감 등을 뜻합니다.

 

 

대부분의 경우에는 이러한 장 구분 인자값을 수신할 수 있지만 CME, EUREX의 관한 장 구분 인자값은 별도로 제공하고 있지 않고 섬머타임 시행 여부에 따라 폐장 시각이 1시간 당겨지거나 늦춰질 수 있는 점 때문에 API를 이용해 처리할 때는 여유있는 시각값을 입력하여 데이터 처리 및 주문 등에 오류가 없도록 하여야 합니다.

 

 

Posted by 투자의神
증권사 API2018. 1. 5. 03:00

 

 

HTS를 통해 거래를 하다보면 실시간 체결 데이터의 색상이 빨강, 파랑, 검정 이렇게 3가지의 경우로 출력됩니다.

 

 

독자님들은 체결데이터에 입혀진 색상이 의미하는 바는 무엇이라 생각하시나요?

 

 

경우마다 다를수는 있겠지만 필자가 사용하고 있는 이베스트 투자증권의 기준으로 그것은 매수체결, 매도체결, 데이터누락(알수없음) 입니다.

 

 

매매를 해온 지난 시간동안 다양한 사람들을 만나왔는데 그중 매수체결, 매도체결의 데이터를 이용하여 각 체결 강도를 측정하고 그것을 기반으로 매매하는 분도 만나뵌적이 있는데요.

 

 

색상으로 체결을 구분한다? 사실은 반은 맞고 반은 틀린 내용입니다.

 

 

그 이유는, 증권사는 기본적으로 코스콤(KOSCOM)에서 가공되지 않은 100%의 Real 데이터를 받게 되지만 증권사는 서버 부하 등을 이유로 여러 정보들을 가공해서 내려주기 때문인데요.

 

 

앞서 "증권사 API를 사용하다보면 생기는 문제 #1"에서도 언급했듯 접속 서버별로 수신받을 수 있는 데이터의 갯수가 다를 수 있는 원인이기도 합니다.

http://systemtraders.tistory.com/451 )

 

 

이러한 가공(재처리) 과정에서 체결구분에 대한 인자값이 NULL (빈 값)로 내려오는 경우가 발생하기 때문에 증권사에서 내려주는 데이터가 100% 맞다고 판단해서는 안됩니다.

 

 

또한 Real TR이 아닌 조회 TR을 사용하여 조회시 Real TR과 체결구분 인자값(쉽게 말해 매수 체결인지 매도 체결인지의 구분)이 다를 수 있는데 Real TR을 통해 NULL이 수신되어 증권사 서버에 저장되면 이후 조회 TR로 데이터를 요청했을때 해당 데이터는 매도체결로 간주되어 수신됩니다.

 

 

 

위 모든 내용은 필자의 주관적 판단에 따른 것이 아니라 코스콤의 전산 담당자 그리고 증권사의 API 담당자에게 확인한 내용을 토대로 작성했습니다.

 

 

 

Posted by 투자의神
증권사 API2018. 1. 4. 05:20

 

 

증권사 API를 이용하여 데이터를 조회하는 부분까지는 충분하게 정리해놨지만 필자가 겪은 여러 문제 상황들에 대해 정리하여 새로이 사용하고자 하는 '신규'분들께 도움이 되고자 글을 작성하게 되었습니다.

 

 

대부분의 API 사용자들은 증권사의 모의서버를 기준으로 각종 데이터를 주고 받아 시뮬레이션하고 모의투자로 로직을 검증하게 됩니다.

 

 

타사의 경우에는 잘 모르겠으나 이베스트 투자증권의 서버는 증권사 자체의 관리 인력에 의해 유지, 보수 되지만 모의투자 서버는 위탁 관리 업체를 통하게 되어 있습니다.

 

 

해마다 위탁 관리 계약이 갱신되는지 혹은 경우(이벤트)가 있을때만 교체 되는지는 알 수 없습니다.

 

 

그리고 실거래 서버와 모의투자 서버는 API를 다룸에 있어서 차이가 있는 부분도 있는데요.

 

 

모의투자 서버를 기준으로 데이터를 조회하거나 주문을 내는 시스템이 어느정도 성과를 예상하고 실거래 서버로 도메인(Domain, hts.ebestsec.co.kr 등)을 변경하면 원치 않는 에러를 마주하는 경우가 아주 많습니다.

 

 

이런 부분들을 수정하고자 "API 질문/답변 게시판"에 문의글을 등록하면 답변을 받기까지 대체로 2~3일은 소요되기에 문제점이 많이 발견된 코드일수록 정상작동 하는 코드로 수정하기까지 제법 많은 시간이 필요합니다.

 

 

시간은 곧 돈이며 비용이기 때문에 생각나는대로 글을 올려보겠습니다.

 

 

첫 시간이므로 간단하게 가보겠습니다.

 

 

증권사 서버와 데이터 송/수신을 하다보면 여러 이유(사용자 PC의 과부하, 사용자 인터넷의 문제, 사용자측 전력 문제, 서버측 과부하, 전체 인터넷망의 문제 등)로 데이터가 유실되는 경우가 있습니다.

 

 

충분히 검증되지 않은 내용은 '항상 거짓 = false' 이다는 전제로 보셔야 하는데 간혹 전혀 의심을 하지 않고 상대는 증권사 서버이니 괜찮겠지라는 막연한 믿음을 가지는 경우를 자주 접하는데요.

 

 

예를 들어 삼성전자의 하루치 체결 데이터를 모두 수신 받았다면 당연히 맞겠지라는 생각보다는 올바르게 수신된 것인지, 누락된 데이터는 없는지 검증 해보셔야 합니다.

 

 

필자가 사용하는 방법으로는 각 모든 체결 데이터의 체결량의 합산치와 맨 마지막에 수신된 데이터의 누적 체결량을 비교해보면 누락된 데이터가 있는지 알 수 있습니다.

 

 

누락된 데이터(필자는 '이빨 빠졌다'라고 표현함)의 이빨을 채워넣으려면 장 마감후 TR조회를 통해서 채워 넣을수도 있고 장중 타 증권사에서도 동시에 데이터를 받음으로써 어느정도 보완책을 마련할 수 있습니다.

 

 

위 경우처럼 합산치와 최종 데이터를 비교하여 확인할 수 있는 데이터가 있는가 하면 호가 데이터의 경우에는 언제 어디에서 얼만큼의 누락이 발생되었는지 알 수 없습니다.

 

 

또한 통상의 경우 모의서버와 일반서버는 수신되는 데이터의 수량(갯수)이 일치하지만 필자가 사용하고 있는 VIP 서버는 더 많은 데이터를 내려주는데요.

 

 

그 이유는, VIP 서버는 발생되는 모든 데이터를 개별 건으로 일일이 내려주지만 모의서버와 일반서버의 경우에는 짧은 시간내에 많은 데이터가 발생하면 서버측과 사용자측의 과부하 및 데이터 유실을 막기 위해 어느정도 크기의 덩어리로 뭉쳐서 보내기 때문입니다.

 

 

체결량 기준으로 1, 2, 3, 4, 5의 데이터가 발생될 때 VIP 서버는 1, 2, 3, 4, 5에 대한 5건의 데이터 모두를 수신받을 수 있지만 일반 서버와 모의서버는 VIP 서버와 같을수도 있고 총 합산 기준으로 1 ~ 5건 범위내에서 합산된 데이터를 수신받을 수도 있습니다.

 

 

때문에 모의서버와 일반서버는 부하가 적다는 장점이 있지만 세밀한 데이터를 받아서 처리해야 되는 경우에는 부적합할 수도 있습니다.

 

 

필자는 분석 및 매매에 충분할만큼의 시스템을 갖추고 있어 '과부하'는 고려의 대상이 아니고 보다 세밀한 데이터를 통한 퀀트(Quant) 분석을 하기를 원하므로 VIP 서버를 통해 데이터를 받아 처리하고 있습니다.

 

 

모의서버, 일반서버, VIP 서버는 별도의 차이점이 더 있는데요.

 

 

뉴스 검색기에 사용된 TR중 뉴스 본문을 조회할 수 있는 t3102의 경우를 비교 해보겠습니다.

 

 

 

▲ DevCenter 접속시 '모의서버'를 선택하여 접속하고 t3102 TR의 속성을 조회한 모습입니다.

 

▲ "초당 전송 수"는 1초당 1건이고, "기간 별 제한"은 10분당 200건입니다.

 

▲ 초당 1건을 넘는 조회 요청시 일정 시간동안 패널티를 받게 됩니다.

 

▲ 최근 조회 기준으로 10분내 200건을 넘는 조회 요청시 일정 시간동안 패널티를 받게 됩니다.

 

 

 

▲ DevCenter 접속시 '일반서버'를 선택하여 접속하고 t3102 TR의 속성을 조회한 모습입니다.

 

▲ "초당 전송 수"는 1초당 10건이고, "기간 별 제한"은 없습니다.

 

▲ 초당 10건을 넘는 조회 요청시 일정 시간동안 패널티를 받게 됩니다만 그정도로 뉴스가 폭주하는 경우는 거의 없다시피 하므로 "뉴스 검색기"용도로 적합한 방법이 되겠고 "뉴스 검색기"에서 "모의서버" 접속 항목을 없앤 이유이기도 합니다.

 

▲ 해당 TR의 경우 "기간 별 제한"이 없지만 일반서버로 접속 하였을 시 모든 TR에 적용되는 것이 아니며 이외 대부분의 TR에서는 "기간 별 제한"이 있습니다.

 

▲ VIP 서버의 경우에는 "기간 별 제한"이 사실상 무제한입니다.

 

 

이베스트 투자증권 xing API 사용에 도움이 되기를 바라며 언제가 될 지 모르는 다음편에서 다시 만나 뵙도록 하겠습니다.

 

 

 

Posted by 투자의神
증권사 API2017. 12. 22. 09:30

 

 

각자가 필요로 하는 프로그램을 만들기 위해서는 TR이라는 것을 사용할 수 밖에 없고 필요할때 마다 API에 대한 기본적인 사용법은 xingAPI Guide를 참조하거나 DevCenter를 찾아보면 나와 있습니다.

 

 

그러나 xingAPI도 그렇고 타 증권사 API를 사용할 때 조회TR 또는 실시간TR의 부연 설명이나 자세한 사용 방법이 부족한 경우가 있습니다.

 

 

필자의 경우 오래전 처음 프로젝트를 진행하면서 자세한 사용 방법 파악에 몇개월 이상을 허비하기도 했습니다.

 

 

이럴때는 "사용자 문의 게시판" 등을 이용하면 고민의 시간을 제법 줄일 수 있습니다.

 

 

 

 

 

▲ 이베스트 투자증권의 API에 관해 질문하고 답변을 받을 수 있는 "고객문의" 게시판입니다.

 

▲ 보시다시피 다양한 질문들이 등록되어 있고 답변도 이뤄지고 있습니다.

 

▲ 다만 담당자가 한정되어 있다보니 연휴가 끼어 있거나 출장 등으로 부재시에는 회신을 받기까지 상당한 시일이 소요될 수 있습니다.

 

▲ 필자의 경우 원하는 답변을 받기까지 최대 2주가 넘게 걸린적도 있습니다.

 

▲ 타 증권사의 경우에는 기본적인 메뉴얼 또는 가이드가 더 부실한 경우가 많고 궁금증을 해소하기 위해서는 더 오랜 시간을 허비해야 되는 편입니다.

 

▲ 접속 경로는 아래와 같습니다.

 

1. 이베스트 투자증권 홈페이지 ( http://ebestsec.co.kr ) 접속 및 로그인

 

2. 상단 메뉴중 고객센터 > 매매시스템 > API > 고객문의의 순서로 이동

 

▲ 글쓰기를 통해 새로운 질문이나 건의 사항 등을 등록할 수 있고 기존의 질문/답변들을 대상으로 "검색" 할 수도 있습니다.

 

 

다양하게 활용 해보시기 바랍니다.

 

 

Posted by 투자의神
증권사 API2017. 12. 13. 00:30

 

 

KhOpenApiexcelTest_ver_2.12.xls

 

 

▲ 키움 투자증권 OpenAPI+용 VBA 샘플입니다.

 

▲ Microsoft Office Excel 이 설치되어 있어야 합니다.

 

 

Posted by 투자의神