3년·10년 국채선물 근월 · 코스콤 호가·체결 틱 · 2026-07-10~10-07 · 장중 마이크로스트럭처

국채선물 호가 불균형 신호는 지연 뒤에도 스프레드를 넘는가

1호가 잔량 불균형은 다음 가격 움직임의 방향을 80% 가까이 맞힌다. 그러나 맞혀서 얻는 몫은 계약당 0.2~0.4틱이고 왕복 비용은 1틱이다. 신호를 받아 주문을 내기까지 5초만 걸려도 그 몫이 절반 아래로 줄어든다.

폐기 — OBI 단독 매매 H107 지지 · H108 미지지 · H109 지지(상대 비교) 43거래일 × 2상품 런 1회 (정본)

세 줄 요약

  1. 3년과 10년 국채선물 근월의 호가창에서 매수1호가 잔량과 매도1호가 잔량의 불균형(OBI₁)을 보고 그 방향으로 1계약을 사고파는 규칙을, 신호를 본 뒤 주문까지 걸리는 지연 L(0~180초)과 보유 시간 h(10~900초)를 바꿔 가며 실제 호가로 모의했다. 방향은 잘 맞지만(|OBI₁| > 0.6 에서 3선 0.815, 10선 0.769, 43일 모두 0.70 초과) 지연 0초에서도 미드 기준 총손익이 계약당 최대 0.42틱으로 왕복 비용 약 1틱의 절반에 못 미친다.
  2. 상품당 75칸, 모두 150칸 가운데 순손익이 0 을 넘는 칸은 없다.
  3. 같은 신호로 1호가에 줄을 서는 수동 진입은 공격 진입보다 덜 잃지만, 체결되는 순간 가격이 이미 불리하게 움직여 있어(역선택) 체결당 손익은 여전히 음수다. OBI 를 혼자 매매하는 전략은 접고, 다른 전략의 진입 시점을 고르는 필터로만 쓴다.

질문과 결론

이 저장소의 장중 시그널은 외부망에서 계산해 파일로 내부망에 보낸다. 그래서 신호를 본 순간과 주문이 거래소에 닿는 순간 사이에 지연이 생긴다. 호가 불균형 같은 초단기 신호는 그 지연을 견디는가? 이 실험은 그 질문을 세 가설로 나눴다.

가설과 판정. 판정 규칙은 계산 전에 `protocol.md` 에 적었다.
번호가설판정핵심 수치
H107|OBI₁| > 0.6 이면 다음 미드 변화 방향 적중률이 날마다 0.70 을 넘는다지지3선 0.815 [0.805, 0.825] · 10선 0.769 [0.763, 0.776] · 0.70 넘은 날 43/43
H108지연 L 뒤 공격 진입·h 뒤 공격 청산의 순손익이 0 을 넘는 칸이 있다미지지150칸 중 양수 0칸 · 최선 3선 −0.58틱, 10선 −0.66틱
H109같은 신호에서 수동 진입이 공격 진입보다 신호당 순손익이 높다지지(상대 비교만)L 30초에서 h 다섯 칸 모두 차이 양수, Holm p ≤ 0.028 · 수동의 체결당 손익도 음수
트랙 판정OBI 단독 매매 폐기L = 30초 열이 전부 음수 — 계획에 적어 둔 접는 기준

용어와 기호

이 리포트에 나오는 기호 전부.
기호·용어뜻
틱국채선물 가격의 최소 단위, 0.01 포인트. 손익은 모두 1계약당 틱으로 적는다
1호가, 매도1호가·매수1호가지금 가장 싸게 팔겠다는 가격(매도1호가)과 가장 비싸게 사겠다는 가격(매수1호가). 그 가격에 쌓인 수량이 잔량이다
스프레드매도1호가 − 매수1호가. 이 표본에서 3선은 거의 항상 1틱, 10선은 대부분 1틱이다
미드(매도1호가 + 매수1호가)/2. 거래가 가능한 가격이 아니라 기준점이다
OBI₁1호가 잔량 불균형 = (매수1호가 잔량 − 매도1호가 잔량)/(두 잔량의 합). −1~+1, 양수면 사려는 쪽이 두텁다
OBI₅1~5호가 잔량을 가중치 1/k(k = 호가 순번)로 더해 같은 식으로 만든 불균형. 2~5호가 잔량이 있는 21일만
DP₅잔량 소진 압력 = [(매수1호가 잔량의 5초 변화) − (매도1호가 잔량의 5초 변화)]/(지금 두 잔량의 합). 두 1호가 가격이 5초 동안 그대로일 때만 값이 있다
θ신호 문턱. |OBI₁| ≥ θ 이면 신호, 방향은 OBI₁ 의 부호
L지연. 신호를 본 시각에서 주문이 체결 가능한 시각까지 걸린 초. 0, 5, 30, 60, 180
h보유 시간. 진입(또는 수동 체결)에서 청산까지 초. 10, 30, 60, 300, 900
공격 진입·청산살 때 매도1호가로, 팔 때 매수1호가로 바로 체결. 스프레드를 낸다
수동 진입매수 신호면 매수1호가에, 매도 신호면 매도1호가에 주문을 걸고 기다린다. 체결되면 반 스프레드를 받는 자리이지만 언제 체결될지 모른다
총손익·순손익총손익 = 진입 시각 미드에서 청산 시각 미드까지 우리 방향 변화. 순손익 = 실제 체결 가격 기준(스프레드 차감)
역선택수동 주문이 체결되는 순간이 대개 가격이 우리에게 불리하게 움직이는 순간이라는 현상
IC정보 계수. 신호와 h 초 뒤 미드 변화의 스피어만 순위 상관을 하루에 하나 잰 값
날짜 블록 부트스트랩날을 단위로 복원 추출해(2,000회) 신뢰구간을 만드는 방법. 하루 안의 신호가 서로 독립이 아니므로 날을 표본 단위로 삼는다
Newey–West t날짜 계열의 자기상관을 감안한 평균의 t 값(시차 5일)
Holm 보정여러 칸을 동시에 검정할 때 우연히 하나가 유의해 보이는 것을 막는 단계적 p 값 보정
순환 이동 귀무하루 안에서 신호 계열을 30분 이상 무작위로 돌려 가격과의 짝을 끊은 뒤 같은 격자를 다시 돌려 최댓값을 취하는 것. «격자에서 제일 좋은 칸을 고르면 우연으로 얼마나 좋아 보이나» 의 기준

자료

쓴 자료와 뺀 날. 원천은 코스콤 호가와 체결 틱을 이 저장소가 날마다 받아 둔 것이다.
항목값
상품3년 국채선물 근월(2026-09-14 부터 12월물), 10년 국채선물 근월(2026-09-15 부터 12월물). 그날 거래량이 가장 많은 계약
기간·표본2026-07-10 ~ 2026-10-07, 상품마다 43거래일. 그중 2~5호가 잔량이 있는 날 21일
내용호가 틱(1~5호가 가격·잔량, 거래소 시각 마이크로초) · 체결 틱(가격·수량). 체결의 매수·매도 방향은 체결 직전 호가와 비교해 정했다(직전 매도1호가 이상이면 매수 주도)
시각거래소 시각만 쓴다. 수신 PC 시각은 날마다 ±0.7초 어긋나 있어 쓰지 않는다
세션연속 거래 08:45~15:35 만. 신호 09:00~15:20, 모든 청산 15:34:59 이전. 시가·종가 단일가는 뺀다
하루 규모(중앙)호가 갱신 3선 19,804 · 10선 26,673, 체결 3선 4,335 · 10선 9,433
뺀 날 — 수집 공백반나절만 받았거나 09:00~15:30 사이 300초 넘게 비는 날: 07-08, 07-09, 07-15, 07-21, 07-29, 08-20, 08-28, 09-04, 09-08, 09-10
뺀 날 — 품질 규칙2026-07-31. 그날 원천에 같은 흐름이 두 벌 섞여 호가 행의 8% 가 완전 중복이고, 체결의 43%(3선)·52%(10선)가 직전 미드에서 2틱 넘게 떨어져 있었다. 규칙(체결 어긋남 2% 초과 또는 중복 1% 초과)은 자료의 어긋남으로 정했고 그날 하나만 걸린다

규칙과 모의 방법

학습하는 모델은 없다. 문턱 하나와 부호 하나로 된 규칙을 실제 호가 위에서 굴린다. 그래서 이 리포트에는 모델 구조도가 없다.

측정과 모의의 설정.
갈래무엇을 하나설정
방향 적중 (H107)호가가 갱신될 때마다 OBI₁ 을 재고, 그 뒤 처음 미드가 바뀌는 방향과 부호가 같으면 적중09:00~15:30, 1호가가 비거나 교차한 갱신과 OBI₁ = 0 은 뺀다. |OBI₁| 다섯 구간과 >0.6
IC1초 격자에서 그 초에 유효한 신호와 h 초 뒤 미드 변화의 순위 상관h = 1, 5, 10, 30, 60, 300초. 신호 OBI₁·OBI₅·DP₅, OBI₅ 가 OBI₁ 에 더하는 몫
공격 매매 (H108)1초 격자에서 |OBI₁| ≥ θ 가 되면 신호. L 초 뒤의 반대편 1호가로 진입, 그로부터 h 초 뒤의 반대편 1호가로 청산θ = 0.4, 0.6, 0.8 · L = 0, 5, 30, 60, 180 · h = 10, 30, 60, 300, 900 → 상품당 75칸. 한 번에 1계약, 청산 전에는 새 신호를 받지 않는다
수동 진입 (H109)L 초 뒤 같은 편 1호가에 그 가격의 잔량 뒤로 1계약을 건다. h 초 안에 체결되면 체결 + h 초에 반대편 1호가로 청산, 아니면 취소(손익 0)체결 판정 세 갈래 — 줄 서기(주): 그 가격에 상대편 주도 체결량이 앞 잔량 + 1계약을 채우면 · 가격 통과만(하한): 우리 가격 너머로 체결되거나 반대 호가가 닿으면 · 맨 앞(상한): 앞 잔량이 없다고 치고 상대편 주도 체결 1계약이면
기준선직전 60초 미드 변화가 1틱 이상이면 그 방향(모멘텀) 또는 반대 방향(되돌림)으로 같은 기계를 돌린다L·h 격자 25칸씩. 무정보 기준선은 0

줄 서기 모형은 개별 주문이 보이지 않는 데서 나온 타협이다. 앞에 선 주문이 취소돼 우리 순번이 당겨지는 것을 인정하지 않으므로 체결을 실제보다 늦게 본다. 그래서 하한과 상한을 함께 낸다.

검정

  • 표본 단위는 날이다. 하루 안의 신호는 서로 겹치고 이어지므로 독립 표본이 아니다. 신뢰구간은 날짜 블록 부트스트랩(2,000회, 시드 27).
  • 칸별 p 값은 날짜별 순손익 합의 평균이 0 이하라는 귀무에 대한 단측 t 다. 두 상품 150칸에 Holm 보정을 한다.
  • 선택 편향은 순환 이동 귀무 200회로 잰다. 관측 최댓값이 그 분포의 어디에 있는지가 «격자에서 고른 값이 우연 이상인가» 의 답이다.
  • H109는 L = 30초, θ = 0.6 의 h 다섯 칸에서 날짜마다 (수동 신호당 순손익 − 공격 거래당 순손익)을 내고 단측 t 검정과 Holm 보정으로 본다.
  • 지연 예산은 θ = 0.6 에서 총손익이 L = 0 값의 절반 아래로 처음 떨어지는 L 이다.

결과: 방향 적중

OBI 구간별 다음 미드 변화 방향 적중률과 날짜별 분포
왼쪽: |OBI₁| 구간별 적중률(전 기간 호가 갱신 합, 3선 820,058건, 10선 1,087,283건). 불균형이 클수록 단조롭게 잘 맞고 0.8 이상에서 3선 0.871, 10선 0.820 이다. 오른쪽: |OBI₁| > 0.6 의 하루 적중률. 43일 모두 0.70(점선) 위다. 가장 낮은 날도 3선 0.727, 10선 0.731 이다.
H107: |OBI₁| > 0.6 의 하루 적중률. 런 20261007_161224_obi.
상품날날짜 평균95% 구간0.70 넘은 날최저·최고다음 미드 변화까지(중앙)
3년 국채선물430.8150.805 ~ 0.82543/430.727 · 0.87925.6초
10년 국채선물430.7690.763 ~ 0.77643/430.731 · 0.8225.5초

3선은 하루 미드 변화가 400번 안팎이라 신호가 맞아도 그 변화가 오기까지 오래 기다린다. 10선은 1호가 잔량이 3선의 10분의 1 수준(60계약 안팎)이라 훨씬 자주 움직인다.

결과: 지평별 IC

지평별 IC — OBI1, OBI5, DP5, OBI5 잔여분
날짜 평균 IC. OBI₁(색 실선)은 3선에서 30초(0.309), 10선에서 5초(0.277)에 정점이다. 5호가 가중 OBI₅ 는 OBI₁ 보다 약하고, OBI₅ 가운데 OBI₁ 으로 설명되지 않는 몫(×)은 짧은 지평에서 0 이거나 음수다. 2~5호가는 1호가에 없는 정보를 거의 주지 않는다.
OBI₁ 의 날짜 평균 IC 와 Newey–West t. 43일 모두 모든 h 에서 IC 가 양수다.
상품h 1초5초10초30초60초300초
3년 IC0.1370.2340.2730.3090.2940.183
3년 t51.980.582.949.836.217.2
10년 IC0.2140.2770.2630.1910.1430.058
10년 t70.672.670.553.041.512.1

DP₅(잔량 소진 압력)의 IC 는 3선 0.07~0.11, 10선 0.13~0.15(h 1~10초)로 OBI₁ 의 절반 수준이다. 예측력은 의심할 여지 없이 있다. 남은 질문은 그 예측력이 돈이 되느냐다.

결과: 공격 매매와 지연

지연 L 에 따른 총손익 감쇠
θ = 0.6 의 계약당 총손익(진입 미드 → 청산 미드). 지연 0초에서도 0.1~0.36틱이고, 5초 지연에 절반 아래로, 30초에 0.03틱 이하로 줄어든다. 공격 매매의 왕복 비용은 약 1틱이라 이 그림의 세로축 위쪽 밖에 있다.
θ 0.6 순손익 격자와 선택 편향 귀무 분포
왼쪽 둘: θ = 0.6 의 순손익(실제 호가 체결). 25칸 모두 음수이고 지연이 있으면 거의 정확히 −1틱(스프레드 그대로)이다. 오른쪽: 순환 이동 귀무 200회의 격자 최댓값 분포와 관측 최댓값(세로선). 관측값은 귀무보다 높지만(정보가 있다) 0(점선)에는 한참 못 미친다.
θ = 0.6 의 계약당 순손익(틱). 런 20261007_161224_obi, cells.csv.
상품 · Lh 10초30초60초300초900초
3년 · 0초−0.80−0.70−0.66−0.65−0.64
3년 · 5초−0.94−0.89−0.87−0.86−0.87
3년 · 30초−0.99−0.98−0.99−0.98−0.91
3년 · 60초−1.02−1.01−1.00−1.03−0.93
3년 · 180초−1.01−1.00−1.01−0.97−0.96
10년 · 0초−0.75−0.71−0.70−0.78−0.93
10년 · 5초−1.02−1.01−1.01−1.15−1.40
10년 · 30초−1.05−1.04−1.04−1.11−1.06
10년 · 60초−1.06−1.07−1.07−1.02−1.24
10년 · 180초−1.06−1.08−1.09−1.16−1.25
H108 판정 수치. 하루 거래 수는 겹치지 않는 1계약 거래 기준.
상품최선 칸 (θ·L·h)하루 거래총손익순손익 [95%]양수 칸귀무 최댓값 95백분위관측 최댓값의 귀무 백분위
3년0.8 · 0초 · 300초46.3+0.42−0.58 [−0.62, −0.54]0/75−0.85100%
10년0.8 · 0초 · 30초330.1+0.37−0.66 [−0.68, −0.64]0/75−0.6795%

문턱을 올리면 조금 낫다(최선 순손익: 3선은 θ 0.4, 0.6, 0.8 에서 −0.74, −0.64, −0.58, 10선은 −0.78, −0.70, −0.66). 그러나 어느 칸도 0 근처에 가지 못한다. 지연 예산은 모든 h 에서 5초 미만이다. 3선 h 60초의 총손익이 0.35(지연 0) → 0.15(5초) → 0.03(30초), 10선은 0.33 → 0.06 → 0.02 틱이다.

결과: 수동 진입

L 30초 θ 0.6 수동 진입 세 모드와 공격 진입의 순손익
L = 30초, θ = 0.6. 검은 선은 공격 진입의 거래당 순손익, 색 선은 수동 진입의 체결당 순손익(실선은 줄 서기, 점선은 가격 통과만, 파선은 맨 앞). 수동이 공격보다 높지만 맨 앞 상한까지 모두 0 아래다.
L = 30초, θ = 0.6 수동 진입. 신호당 = 체결 안 된 신호를 0 으로 넣은 평균, 체결당 = 체결된 거래만. «체결 순간 미드 대비» 는 체결 시각의 미드가 우리 가격보다 얼마나 유리했나(+0.5 면 반 스프레드를 번 상태).
상품체결 판정h하루 신호체결률신호당체결당체결 순간 미드 대비
3년줄 서기101880.059−0.04−0.65−0.31
3년줄 서기601150.214−0.14−0.64−0.33
3년줄 서기300460.496−0.31−0.63−0.30
3년가격 통과만(하한)601150.204−0.14−0.66−0.43
3년맨 앞(상한)601130.643−0.09−0.13+0.40
10년줄 서기103850.221−0.16−0.72−0.30
10년줄 서기601900.549−0.40−0.73−0.31
10년줄 서기300590.786−0.65−0.83−0.30
10년가격 통과만(하한)601900.520−0.42−0.80−0.42
10년맨 앞(상한)601900.787−0.26−0.33+0.25
H109: 날짜 짝 비교(수동 줄 서기 신호당 − 공격 거래당), L = 30초, θ = 0.6.
상품h수동 신호당공격 거래당차이tHolm p
3년10−0.039−0.994+0.956282.4< 10⁻¹⁰
3년60−0.136−0.986+0.850122.6< 10⁻¹⁰
3년900−0.343−0.911+0.56910.5< 10⁻¹⁰
10년10−0.159−1.054+0.894164.5< 10⁻¹⁰
10년60−0.399−1.041+0.64233.4< 10⁻¹⁰
10년900−0.685−1.066+0.3801.970.028

수동이 덜 잃는 이유는 두 가지다. 신호의 상당수가 체결되지 않아 손익 0 으로 끝나고, 체결되면 반 스프레드를 내는 대신 받는 자리에 선다. 그러나 줄 서기 모형에서 체결된 순간의 미드는 이미 우리 가격보다 0.30틱 불리하다. 3선 1호가에는 수백 계약이 줄 서 있어서, 우리 차례가 오는 것은 대개 그 줄이 다 팔려 가격이 우리 주문을 넘어갈 때다. 이 실험 전체에서 양수가 나온 값은 하나뿐이다. 맨 앞 상한, θ 0.8, 지연 0, h 900초에서 3선 신호당 +0.12틱이다. 지연이 없고 줄의 맨 앞에 선다는 두 비현실적 가정을 함께 둔 상한이다.

기준선

같은 기계로 직전 60초 미드 변화(1틱 이상)를 따르는 모멘텀과 반대로 가는 되돌림을 돌렸다. 지연 0의 총손익은 모멘텀이 3선 −0.38~−0.45틱, 10선 −0.28~−0.41틱이고, 되돌림이 그 부호를 뒤집은 값이다. 초~분 지평의 미드는 1틱 진동을 되돌린다. 최선 순손익은 3선 되돌림(지연 0, h 300초) −0.71, 10선 되돌림(지연 180, h 900초) −0.67이고, 모멘텀은 −1.00틱과 −1.04틱이다. OBI 의 최선(−0.58, −0.66)이 두 기준선보다 낫지만 셋 모두 비용을 넘지 못한다. 무정보 기준선은 0 이다.

왜 스프레드를 못 넘나

산수가 결과를 정한다. |OBI₁| > 0.6 일 때 다음 미드 변화가 맞을 확률을 p, 그 변화의 크기를 대개 반 틱(한쪽 1호가만 움직여 스프레드가 2틱이 되는 경우)이라 하면 기대 미드 이동은 (2p − 1) × 0.5틱이다. p = 0.8 이면 0.3틱이고, 관측한 지연 0 총손익 0.2~0.4틱과 맞는다.

공격 주문은 매도1호가에 사고 매수1호가에 팔아 왕복으로 스프레드 1틱을 낸다. 맞혀서 버는 몫보다 내는 비용이 세 배 크다. 지연이 붙으면 신호가 가리키던 미드 변화가 이미 지나간 뒤라(3선은 25.6초, 10선은 5.5초 안에 대부분 일어난다) 그 0.3틱마저 사라진다. 수동 주문은 비용을 받는 쪽으로 돌리지만 역선택이 그 몫을 가져간다.

한계

43거래일은 짧다. 하루 안의 신호는 독립이 아니라 유효 표본은 날 수에 가깝다. 다만 판정은 «작은 양수를 못 찾았다» 가 아니라 «지연 0 의 총손익이 비용의 절반도 안 된다» 이므로 표본이 늘어도 뒤집히기 어렵다.

1초 격자다. 지연 0 칸은 신호를 본 바로 그 초의 호가로 체결된다고 가정한 상한이다. 수동 체결은 개별 주문을 볼 수 없어 범위로만 쟀고, 줄 서기 모형은 앞 주문의 취소로 순번이 당겨지는 것을 인정하지 않는다. 우리 1계약의 시장 충격은 무시했다. 2~5호가 잔량은 21일만 있어 깊이 신호의 판단은 그 21일에 한정된다.

코스콤 체결 표는 거래소 누적거래량의 약 68%만 담는다. 줄 서기 모형은 우리 가격에서 소진된 거래량을 덜 세므로 수동 체결률이 낮게 나왔을 수 있다. 앞 잔량을 0.68배로 줄이는 보정으로도 3분 체결 확률은 3선 0.404 에서 0.420, 10선 0.734 에서 0.748 로만 올라 수동 진입의 결론(체결당 음수)은 바뀌지 않는다.

이 결론을 뒤집는 조건: 끝에서 끝 지연이 1초 아래이고 줄의 앞쪽에 설 수 있는 실행 경로가 생기면 수동 진입의 맨 앞 상한(체결당 −0.13~+0.14틱) 쪽으로 다가갈 수 있다. 파일로 시그널을 보내는 지금 경로에서는 해당하지 않는다.

산출물

  • 계획experiments/0027_obi_latency/protocol.md
  • 분석과 판정experiments/0027_obi_latency/analysis.md
  • 정본 런results/20261007_161224_obi/
  • 계산code/run.py, code/sim.py
  • 검정과 표code/summarize.py
  • 그림code/figures.py