본문 바로가기
Python, API

[XINGAPI] 이베스트투자증권의 분봉 표시

by 오늘밤날다 2022. 7. 7.

 

항셍 틱 데이터를 실시간으로 받아오면서 5분 봉을 만드는 코드를 구성했는데

장이 끝나고 비교해보면 묘하게 틱 데이터가 누락되는 것 같기도 하고 가격이 밀리기도 하고 당겨지기도 하는 것 같은 이상한 기분이 들어서 차트를 열어놓고 하나씩 비교해봤다.

 

일단 항셍은 9시 15분에 장이 시작되고 거래가 집중되는데 그 바로 1분 전인 14분부터 동시호가가 1분 동안 진행된다. 당연하지만 이 동시호가에 거래되는 가격은 모두 동일하다. 아래는 키움증권과 이베스트투자증권의 HTS에서의 1분 봉이고 최초 9시 14분에 거래된 88 계약의 가격은 모두 21,366원이다.

 

그런데 언뜻 보면 두 차트가 동일해 보이지만 9시 15분부터 분봉을 유심히 관찰해보면 약간씩 차이가 발생하기 시작한다.

항셍 1분봉 비교

 

 

 

5분 봉으로 비교해보면 확연한 차이가 발생하는 것을 볼 수 있다.

 

항셍 5분봉 비교

 

1분 봉에서는 첫 번째 봉이 동시호가 시간대의 거래만이 포함되어 나타나나 5분 봉에서는 두 증권사의 HTS에서 다르게 표현되는데 키움증권의 경우 5분 봉도 여전히 1분 봉처럼 동시호가대의 거래량만 포함하고 있지만 이베스트투자증권의 경우 윗꼬리가 달려있는 음봉으로 표현되고 거래량도 88 계약이 아니라 107 계약이다. 말도 안 되지만 동시호가 시간 대 이후의 거래량을 포함하고 있는 것이다!!!

 

이 차이가 뭘까? 한참을 고민하다가 틱 차트를 열어서 봤는데 한숨이 나왔다. 예를 들어 가상의 A봉과 B봉의 시간대를 정의하고 이 A와 B의 경계점에서 발생되는 틱 데이터들이 어디에 포함되는지 살펴보면 아래와 같다.

 

 

A봉: 10시 0분 ~ 10시 5분 (5분간)

B봉: 10시 5분 ~ 10시 10분 (5분간)

거래시간 키움증권 이베스트투자증권
10시 4분 59초 A봉 A봉
10시 5분 0초 B봉 A봉
10시 5분 0.000001초 B봉 A봉
10시 5분 0.999999초 B봉 A봉
10시 5분 1초 B봉 B봉

 

이베스트투자증권의 HTS에서 항셍 분봉은 10시 5분 0.999999초를 이전봉(A봉)으로 인식한다. 10시 5분 1초가 되어야만 다음 봉이 된다. HTS는 물론 API 또한 마찬가지로 이 방법을 따르고 있다. 개인적으로 이건 잘못된 표현방법이라고 생각한다. 새해는 1월 1일이 되는 그 시점부터 시작되는 것이지 1월 1일 1초부터 시작된다는 것은 좀 아니지 않나?