본문 바로가기
트레이딩

마켓 데이터 처리시 주요 시각, 시간.

by 리치굿맨 2016. 2. 20.


 

개요

 

거래소에서 발생하는 체결 및 호가 틱 데이터 실시간 수신 및 처리과정에서의 주요 시각, 시간 정보.


거래소에서 제공하는 마켓 데이터를  컴퓨터에서 수신하고 프로그램에서 데이터 처리하는 전체과정에서 시각, 시간 정보의 명확한 정의.


 


 


 

주요시각, 시간들.

 

데이터  흐름
1. 거래소에서의 매매과정에서의 체결 혹은 호가변동정보 전송시 거래소 서버에서 해당 정보의 발생시각을 같이 전송해준다.
2. 상기1은 네트웍을 통하여 전송되므로 시간지연이 발생하며, 내 컴퓨터에서 수신하는 시점은 1의 시각과는 달리 지연될 수 밖에 없다.
3. 컴퓨터에서 수신한 데이터 처리과정에서도 역시 시간지연이 발생한다.
4. 최종적으로 프로그램에서 매매주문 신호 만들어진 시점에는 상기 1,2,3 과정 전체 누적된 지연시간이 있다.

아래 항목들은 주요시각, 시간들 각각의 설명.

하기변수명에서 Time_ 은 시각 의미. TimeInterval_ 은 시간격 의미.  TimeDay_는 로컬 당일기준 시각 의미함.

항번 

 항목

 설명.

변수명. 

 1

 거래소 서버 발급 시각.

거래소 서버에서 해당 사건 발생시각을 전송해준다.  

애매모호성 : 해당 시각이 이벤트 발생시각인지 전송하는 시각인지 정보없음.

한국거래소인 경우 시분초만 제공되므로 매번의 수신된 데이터에는 중복된 시각이 있게됨. 즉, 체결이벤트데이터를 수십개 수신했는데 이들의 시각이 모두 동일 초 (예 10시10분10초)로 되어있는 경우 허다함. 따라서, 한국거래소에서 제공하는 시각정보는 데이터열에서 유니크한 값이 아니므로 아이디 용도로 사용불가.

시각형식 : 한국 로컬시 당일 기준 시분초.

uint32_t TimeMicroSecDay_Exchange

당일0시0분0초이후 경과된 마이크로 초.


 2

 데이터 수신시각.

거래소에서 전송한 데이터를 컴에서 수신할때마다 컴퓨터 시계기준 발급한 시각.

매번의 시각 발행시 유니크한 값이 되도록 시각 발급가능하므로 데이터열에서 유니크한 아이디 역할 할 수 있음.  데이터를 정확하게 챠팅한다든지 시간 정보 중요한 계산에서는 이 값을 이용함이 유일한 수단.

uint32_t

TimeMicroSecDay_Receive 

당일0시0분0초이후 경과된 마이크로초. 데이터열에 같은 값 없음 보장.

 3

 데이터수신지연시간

상기2 데이터 수신시각에서 상기1시각을 빼면 데이터 수신지연시간을 구할 수 있으나,

반드시 컴퓨터가 고정밀 시계동기화 되어있어야만 한다.

한편, 컴퓨터가 고정밀 시계동기화가 되어있다고 해도 거래소 서버 발급 시각이 초단위의 정밀도 밖에 안되므로 원천적으로 부정확할 수 밖에 없다. 

TimeInterval_RcvExc

 4

데이터 처리과정 소요시간.

데이터 처리과정별 소요시간. 이는 필요성에 따라 임의 지점에서 시간격 계산한다.   상기 2번 시각대비 어떤 처리과정 이후 시점에 현재 시각 받아서 그 차이를 계산하여 소요시간 파악한다.

TimeInterval_Proc# 

 5

 신호발생시각.

매매주문을 위한 신호 발생시킨 시각. 

Time_Signal# 

 6

 신호발생지연시간.

상기2번 데이터 수신시각 기준 상기5 의 시간격.  

매매전략에 따라서는, 이 시간격이 긴 경우 신호를 매매처리부로 전송하지 않을 수 있다. 즉, 시간지연이 너무 길게 소요된 경우 시장에 주문 내봤자 이미 기회는 지나간 시점일 수 있기때문.

TimeInterval_Signal# 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 





 
 


 


///674.


태그

,

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT