3년, 10년 국채선물 · 장중 투자자 수급 30초, 2019 ~ 2026 · 사전등록 16가설 Holm

투신 장중 순매수를 따라가면 국채선물에서 이길 수 있나

장중 시각 t 까지 쌓인 투신 순매수가 평소보다 크면 투신 방향으로 3선이나 10선에 들어가 종가(또는 다음 날 종가)까지 드는 규칙을, 2019 ~ 2026 년 30초 수급과 1분봉으로 시각 일곱 개와 다음 날까지 16개 경우에서 검정했다.

폐기 · H338 ~ H353 미지지 16개 중 15개 비용 뒤 음, 유의한 것 0개 투신은 하락 때 산다(가격과 상관 −0.24 ~ −0.39)

세 줄 요약

  1. 장중 투신 누적 순매수가 평소의 1 표준편차를 넘을 때 투신을 따라 3선, 10선에 들어가 종가까지 들면, 10:00 부터 15:30 까지 일곱 시각과 다음 날 보유까지 16개 경우 중 15개가 비용 1틱 뒤 건당 손익이 음수(−0.73 ~ −3.99틱)였다. 하나 남은 10선 다음 날도 +0.33틱(p 0.44)이고 확인 구간은 −1.55틱이다. 경우마다 475 ~ 524건으로 표본은 충분했고, Holm 보정 p 는 16개 모두 1.00 이다.
  2. 이유는 투신이 가격을 이끄는 쪽이 아니라 받아 주는 쪽이기 때문이다. 투신 순매수는 같은 창의 가격 움직임과 상관 −0.24 ~ −0.39 로, 가격이 내릴 때 늘고 오를 때 준다. 30분 순매수 변화와 다음 30분 가격 변화의 상관은 0 에 가깝다(3선 −0.01, 10선 +0.00). 종가 근처(15:20, 15:30)는 남은 움직임이 평균 2 ~ 3틱(3선)이라 비용 1틱을 넘기 어렵다.
  3. 판정은 폐기다. «투신이 사면 따라 산다» 는 이 표본에서 성립하지 않는다. 반대 방향(투신이 사면 팔기)은 10선 10:00 +1.99틱, 3선 11:00 +0.36틱이지만 결과를 본 뒤의 관찰이고, 10선 10:00 은 확인 구간에서 반대 방향도 −1.31틱이다. 탐색으로만 남긴다.

가설과 결론

채권 데스크에서는 장중 투자자별 수급 화면을 보며 방향을 읽는 일이 흔하다. 그중 하나가 «투신이 사면 오른다» 는 감각이다. 투신(자산운용사의 펀드 계정)이 장중에 국채선물을 크게 순매수하면, 그 수요가 이어지거나 정보가 있는 매수일 것이므로 그 방향으로 따라 들어가면 남는다는 생각이다. 2026-11-02 사용자(채권 데스크)가 이 습관이 실제로 통하는지, 종가 근처를 포함한 여러 시각에서 검정해 달라고 요청했다.

가설
장중 시각 t 까지 쌓인 투신 누적 순매수가 평소(직전 60거래일 같은 시각의 흔들림)보다 1 표준편차 이상 크면, 투신 방향으로 3선 또는 10선에 들어가 그날 종가(15:45 종가 단일가)까지 들 때 비용 1틱 뒤 건당 평균 손익이 0 보다 크다. 시각 일곱 개(10:00, 11:00, 13:00, 14:00, 15:00, 15:20, 15:30)와 두 상품을 곱한 14개(H338 ~ H351), 그리고 15:30 수급으로 다음 거래일 정산가까지 드는 2개(H352, H353), 모두 16개를 한 묶음으로 Holm 보정한다.
결론
15개는 건당 손익이 음수이고, 10선 다음 날(H353)만 +0.33틱이다. 한쪽 p 는 0.437 ~ 1.000, Holm 보정 p 는 모두 1.00 이다. 가설은 하나도 지지되지 않았다. 판정은 폐기다.
주가설 묶음과 판정
가설대상신호 시각보유건당 비용 1틱 뒤Holm p판정
H338 ~ H3443선10:00 ~ 15:30 일곱 개t+1분 → 그날 종가−1.18 ~ −2.36틱1.00미지지
H345 ~ H35110선10:00 ~ 15:30 일곱 개t+1분 → 그날 종가−1.02 ~ −3.99틱1.00미지지
H352, H3533선, 10선15:30그날 정산가 → 다음 거래일 정산가−0.73, +0.33틱1.00미지지

사전등록 때 이미 «대부분 미지지, 종가 근처는 남은 시간이 짧아 1틱을 넘기 어렵다» 고 예측했다. 결과는 그 예측보다도 나빴다. 장중 14개는 비용을 빼기 전 손익부터 모두 0 이하이고, 투신이 크게 산 날일수록 그 뒤 가격은 오히려 내렸다.

용어와 기호

3선, 10선
한국거래소 3년, 10년 국채선물. 가격으로 거래하며 금리가 오르면 가격이 내린다. 연결 시세(그때그때 거래가 가장 많은 근월물을 이어 붙인 것)를 쓴다
틱
가격의 최소 단위 0.01. 1계약 1틱은 1만원이다. 이 페이지의 손익은 모두 1계약당 틱이다
투신
거래소 투자자 분류의 «투자신탁», 즉 자산운용사가 운용하는 펀드 계정. 순매수 = 매수 계약 − 매도 계약
외국인합
외국인 투자자 분류의 합계 순매수. 이 페이지에서는 비교용으로만 쓴다
Ft
그날 개장부터 시각 t 까지 쌓인 투신 누적 순매수(계약). t 이하 마지막 30초 스탬프의 값이며, 그 스탬프가 t 보다 2분 넘게 이르면 빈 값으로 둔다
zt(투신 z)
zt = Ft ÷ (직전 60거래일 같은 시각 Ft 의 표준편차, 최소 40일). 평균은 빼지 않는다. 순매수의 부호 자체가 신호이기 때문이다. 오늘 값은 표준편차 계산에 들어가지 않는다
가격 z
(시각 t 가격 − 그날 시가) ÷ 직전 60거래일 같은 값의 표준편차. 개장부터 t 까지 가격이 평소보다 얼마나 움직였는지
D
거래 방향. |zt| ≥ 1 이면 D = zt 의 부호(+1 매수, −1 매도), 아니면 거래 없음
Rt(장중 표적)
(그날 15:45 봉 종가 − 진입가) × 100 틱. 진입가는 t 다음 1분봉(라벨 t+1분)의 종가다
N(다음 날 표적)
다음 거래일 (정산가 − 기준가) × 100 틱, 같은 월물. 기준가는 전날 정산가이므로 «그날 정산가에 들어가 다음 날 정산가에 나온» 손익이다
종가 단일가, 정산가
15:35 ~ 15:45 주문을 모아 한 가격에 체결하는 마감 경매. 15:45 봉 종가가 그 가격이다. 정산가는 그날 손익 계산의 기준 가격으로, 보통 종가와 같다
gross, net1, net2
gross = D × 표적(비용 전). net1 = gross − 1틱(판정 기준), net2 = gross − 2틱(보고용). 1틱은 매수와 매도를 합친 왕복 비용 가정이다
승률
net1 이 0 보다 큰 거래의 비율
월 블록 부트스트랩
거래를 달 단위 묶음으로 나눠, 묶음을 복원 추출해 평균을 5,000번 다시 계산하는 방법(seed 162). 같은 달 거래끼리 닮은 점을 보존한다
한쪽 p, 90% 구간
한쪽 p 는 «진짜 평균이 0 인데 우연히 이만큼 양으로 나올 확률». 90% 구간은 부트스트랩 평균의 5% 와 95% 분위수다
Holm 보정
여러 가설을 한꺼번에 시험할 때 우연히 하나쯤 통과하는 것을 막으려고 p 값을 가설 수에 맞춰 키우는 방법. 16개 한 묶음에 건다
발견 구간, 확인 구간
발견 2019 ~ 2023, 확인 2024-01 ~ 2026-10. 규칙이 학습하는 값은 직전 60일 표준편차뿐이라 표본 전체를 한 번 평가하고, 두 구간을 나눠 함께 보고한다
OLS, HAC(Newey-West)
OLS 는 최소제곱 선형회귀. HAC 표준오차는 이웃한 날끼리 닮은 오차(자기상관)와 고르지 않은 분산을 감안해 표준오차를 키우는 방식이다. Newey-West 지연 5, Bartlett 가중
t 값
계수 ÷ 표준오차. 대략 |t| ≥ 2 면 0 과 구별된다고 본다. 95% 구간은 계수 ± 1.96 × 표준오차
충격 구간
저장소에 고정해 둔 충격 사건 15개 가운데 이 표본(2019 ~) 안에 드는 9개 각각의 그날부터 10거래일. 코로나(2020-02-24), 러시아 우크라이나 침공, SVB 파산, 하마스 이스라엘, 이란 이스라엘(2024-04), 엔 캐리 청산(2024-08-05), 한국 비상계엄(2024-12-04), 미국 상호관세(2025-04-03), 이스라엘 이란 공습(2025-06-13)
되돌림(반대 방향)
투신과 반대로 들어가는 것. 같은 거래에서 −gross − 1틱으로 읽는다. 이 실험에서는 판정에 쓰지 않는 탐색이다
만기일
국채선물 최종 거래일. 3, 6, 9, 12월 셋째 화요일(휴장이면 그 앞 거래일)이고, 그날 근월물은 11:30 에 거래를 마친다. 연결 1분봉은 11:31 부터 다음 월물이므로 장중 표적에서 뺀다

자료

데이터셋

쓴 자료(모두 인포맥스 단말에서 받은 것)
자료기간해상도쓰임
선물 장중 투자자 수급 3선, 10선(저장된 수집본)2019-01-02 ~ 2026-08-1430초, 개장 뒤 누적 순매수 계약투신 Ft, 외국인합(비교)
같은 표 자체 수집본2026-08-24 ~ 2026-10-3030초같은 열(투신순매수수량)
선물 연결 1분봉 3선, 10선2019-01 ~ 2026-10-301분, 라벨은 봉이 끝나는 시각진입가, 15:45 종가, 가격 z, 만기일 달력
월물별 1분봉 원자료2026-07-01 ~ 09-101분연결 1분봉이 빈 날을 그날 거래량 최대 월물로 채움
선물 일봉 3선, 10선2019-01 ~ 2026-10-30일(정산가, 기준가)다음 날 표적 N

2026-08-17 ~ 08-21 다섯 날은 수급이 없어 빠진다. 국채선물 개장 시각은 2025-11 까지 09:00, 2025-12 부터 08:45 다. 연결 1분봉과 월물별 원자료가 겹치는 2026 년 66,720개 분봉에서 두 표는 월물 교체 전후 날을 빼면 값이 모두 같았다.

표본과 거르기

표본(정본 런 metrics.json, panel.csv)
항목3선10선
수급과 일봉이 모두 있는 거래일1,9061,906
장중 표적을 쓰는 날(15:45 봉이 마지막이고 만기일이 아닌 날)1,8411,860
빠진 날(만기일 31일, 수능일처럼 종가 시각이 다른 날)6546
zt 가 있는 날(앞 40일은 표준편차가 없어 빈 값)1,853 ~ 1,8661,853 ~ 1,866
|zt| ≥ 1 인 날의 비율(시각별)26 ~ 28%27 ~ 29%
경우별 거래 수(연평균)475 ~ 504(59 ~ 63)497 ~ 524(62 ~ 66)
|Ft| 중앙값, 10:00 → 15:30(계약)332 → 798144 → 343

거래는 이틀 반에 한 번꼴로 생긴다. 기회가 드물어서 못 이기는 규칙이 아니다. 다음 날 표적은 일봉 표가 거래일을 하나 빠뜨린 경우(예: 2026-09-22) 다음 일봉 행이 실제 다음 거래일이 아니므로 그 날을 뺐다.

언제 무엇을 아는가

장중 수급 화면을 보고 판단한 뒤 주문을 내기까지 시간이 걸린다. 그래서 수급은 시각 t 까지의 값만 쓰고, 진입은 1분 늦게(t+1분 봉의 종가) 한다. 청산은 15:45 종가 단일가다.

신호, 진입, 청산의 시간 순서
신호 시각 일곱 개(빨간 점)와 진입, 청산의 순서. 예를 들어 11:00 신호는 11:00 까지의 투신 누적 순매수로 z 를 계산하고 11:01 봉 종가에 들어가 15:45 종가 단일가에 나온다(빨간 화살표). 다음 날 규칙은 15:30 z 로 방향을 정해 그날 정산가에 들어가 다음 거래일 정산가에 나온다(파란 화살표).
하루의 흐름(한국 시간)
시각일어나는 일
08:45(2025-11 까지 09:00)개장. 투신 누적 순매수는 0 에서 시작해 30초마다 갱신
t(10:00 ~ 15:30)Ft 확정(t 이하 마지막 30초 스탬프), 직전 60일 표준편차로 zt 계산
t + 1분|zt| ≥ 1 이면 t+1분 봉 종가에 D 방향 진입
15:35연속 거래 끝, 종가 단일가 주문 접수
15:45종가 단일가 체결, 장중 규칙 청산(Rt 확정). 다음 날 규칙은 이 가격(정산가)에 진입
다음 거래일 15:45다음 날 규칙 청산(N 확정). 다음 거래일까지 달력 4일 이상이면 들어가지 않는다(휴장 앞 청산)

방법

  1. 신호 만들기. 상품마다, 시각마다 Ft 와 zt 를 매일 계산한다. 표준편차는 그날 이전 60거래일로만 계산하므로 미래 정보가 들어가지 않는다.
  2. 규칙 적용. |zt| ≥ 1 이면 투신 방향 D 로 진입하고 표적(Rt 또는 N)만큼 번다. 건당 net1 = D × 표적 − 1틱.
  3. 판정. 16개 경우 각각 건당 net1 평균이 0 보다 큰지 월 블록 부트스트랩 5,000회 한쪽 p 로 보고, 16개에 Holm 보정을 건다. Holm p < 0.05 면 지지.
  4. 전략 카드 후보 조건(사전등록). 지지되고, 확인 구간 건당 net1 > 0, 연도 과반 양, 비용 2틱 뒤 누적 양. 이번에는 첫 조건부터 통과한 경우가 없다.
  5. 판정에 쓰지 않는 보조 보고(사전등록). 가격을 통제한 회귀, 30분 창 선후 상관, 반대 방향 손익, 문턱 0.5 와 2, 외국인합으로 같은 규칙, 충격 구간 손익.
  6. 이 페이지에서 더한 기술 통계. 남은 움직임 크기, 투신 z 구간별 평균 움직임, 연도별 건당 평균, 무효 처리한 첫 런과 고친 런의 비교. 모두 정본 런의 파일(panel.csv, trades.csv, metrics.json)에서 다시 센 것이고, 판정을 바꾸지 않는다.

모델

이 실험의 «모델» 은 학습하는 머신러닝 모델이 아니라 미리 고정한 매매 규칙 하나와, 그 규칙이 왜 지는지 보려는 설명용 선형회귀 하나다. 규칙이 데이터에서 배우는 것은 직전 60일 표준편차뿐이라 과적합 여지가 거의 없다.

매매 규칙

규칙의 모든 설정(사전등록 그대로)
항목값이유
신호투신 누적 순매수 Ft데스크가 실제로 보는 화면 값
표준화 창직전 60거래일, 최소 40일, 같은 시각시각마다 누적 규모가 다르고(10:00 보다 15:30 이 두 배 이상) 해마다 거래량이 달라서
평균 빼기하지 않음«산다, 판다» 의 부호가 곧 신호
문턱|zt| ≥ 1평소보다 눈에 띄게 큰 날만(시각별 약 27%)
방향투신과 같은 쪽검정하려는 데스크 습관 그대로
시각 t10:00, 11:00, 13:00, 14:00, 15:00, 15:20, 15:30오전, 오후, 종가 근처를 고루
수급 허용 지연t 이전 2분 이내 스탬프수급 갱신이 끊긴 날을 걸러냄
진입t+1분 봉 종가화면을 보고 주문하는 시간
청산15:45 종가 단일가(장중), 다음 거래일 정산가(다음 날)하루 안에 정리, 다음 날 규칙은 15:30 신호만
휴장 앞다음 거래일까지 달력 4일 이상이면 다음 날 규칙 거래 없음긴 휴장의 점프 위험을 피함
비용왕복 1틱(판정), 2틱(보고)1틱은 3선 실측 호가 스프레드
수량1계약, 겹침 없음(하루 한 번)건당 평균을 그대로 읽기 위해

설명용 회귀

투신 순매수가 큰 날은 이미 가격이 크게 움직인 날일 수 있다. 그렇다면 투신 신호의 손익은 «가격이 움직인 뒤 따라가기» 의 손익과 섞인다. 둘을 떼어 보려고 Rt 를 투신 z 와 가격 z 에 함께 회귀했다.

식
Rt = a + b투신 × zt + b가격 × 가격 z + 오차. 다음 날은 Rt 대신 N, 신호는 15:30 값
표본
모든 날(규칙 거래일만이 아니다), 장중 표적을 쓰는 날 가운데 세 값이 모두 있는 날. 3선 1,796 ~ 1,803일, 10선 1,813 ~ 1,820일
추정
OLS, 상품과 시각마다 한 번. 비교용으로 투신 z 하나만 넣은 회귀도 함께
표준오차
Newey-West HAC, 지연 5, Bartlett 가중
쓰임
판정에 쓰지 않는 보조 보고. 계수 b투신 가 양이면 «가격을 감안해도 투신 방향으로 더 간다», 음이면 «투신 반대로 간다»
시각별 회귀 계수와 95% 구간
학습된 회귀 계수 그대로 그렸다(정본 런 panel.csv 에서 다시 적합해 aux_regression.csv 의 계수와 t 를 소수 여덟째 자리까지 재현한 뒤 그렸다). 빨강이 가격을 통제한 투신 계수, 회색이 투신 단독, 파랑이 가격 z 계수이고 가로 막대는 95% 구간이다. 3선 오전(10:00, 11:00)의 투신 계수는 0 보다 분명히 작고, 다른 시각은 0 근처다. 어느 시각에서도 투신 계수가 0 보다 분명히 큰 경우는 없다.
학습된 계수(틱, 괄호는 HAC t). 정본 런 aux_regression.csv
대상시각표본투신 단독투신(가격 통제)가격 z투신 z 와 가격 z 상관
3선10:001,796−0.59 (−2.7)−0.54 (−2.4)+0.22 (+0.8)−0.24
3선11:001,803−0.71 (−3.0)−0.68 (−2.9)+0.10 (+0.4)−0.29
3선13:001,803−0.22 (−1.3)−0.22 (−1.2)−0.00 (−0.0)−0.38
3선14:001,803−0.33 (−2.2)−0.15 (−1.0)+0.50 (+2.3)−0.39
3선15:001,803−0.29 (−2.4)−0.12 (−1.1)+0.47 (+3.0)−0.38
3선15:201,803−0.23 (−2.3)−0.11 (−1.1)+0.33 (+2.4)−0.38
3선15:301,802−0.06 (−0.8)−0.01 (−0.1)+0.15 (+1.3)−0.38
3선다음 날1,792−0.21 (−0.6)−1.45 (−4.2)
10선10:001,813−0.83 (−1.2)−0.77 (−1.1)+0.22 (+0.3)−0.28
10선11:001,820−0.89 (−1.4)−0.80 (−1.3)+0.29 (+0.4)−0.30
10선13:001,820−0.08 (−0.2)−0.08 (−0.1)+0.01 (+0.0)−0.34
10선14:001,820−0.20 (−0.4)+0.28 (+0.6)+1.32 (+2.4)−0.37
10선15:001,820+0.04 (+0.1)+0.53 (+1.4)+1.31 (+3.1)−0.38
10선15:201,820−0.47 (−1.9)−0.08 (−0.3)+1.16 (+3.5)−0.34
10선15:301,819−0.28 (−1.4)−0.00 (−0.0)+0.84 (+2.9)−0.34
10선다음 날1,804−0.35 (−0.3)−4.31 (−4.0)

두 가지가 읽힌다. 첫째, 투신 z 와 가격 z 의 상관이 모든 시각에서 −0.24 ~ −0.39 다. 개장 뒤 가격이 내린 날 투신이 사고, 오른 날 판다. 둘째, 가격을 통제해도 투신 계수는 음이거나 0 이다. 3선 오전은 가격을 통제해도 투신 계수가 음(t −2.4, −2.9)이고, 10선 오후에 가격을 통제하면 투신 계수가 +0.3 ~ +0.5 로 바뀌지만 t 가 1.4 를 넘지 않는다. 투신 순매수에는 가격이 이미 말해 준 것 위에 더할 방향 정보가 보이지 않는다. 오히려 오후에는 개장 뒤 가격 움직임 쪽이 종가까지 이어지는 경향(가격 z 계수 t 3선 2.3 ~ 3.0, 10선 2.4 ~ 3.5)이 있다.

결과

확증 결과

사전등록 16개 경우(틱/건, 정본 런 results/20261102T090243_main). 90% 구간은 net1 평균의 월 블록 부트스트랩 구간, 누적은 비용 2틱 뒤
가설대상시각건수비용 전net190% 구간승률한쪽 pHolm발견확인연도 양누적 net2
H3383선10:00475−0.87−1.87[−2.8, −1.0]40%0.9991.00−2.37−0.960/8−1,362
H3393선11:00489−1.36−2.36[−3.3, −1.5]38%1.0001.00−2.42−2.250/8−1,644
H3403선13:00491−0.59−1.59[−2.3, −1.0]38%0.9991.00−1.93−0.970/8−1,270
H3413선14:00493−0.79−1.79[−2.4, −1.2]35%1.0001.00−2.08−1.300/8−1,377
H3423선15:00492−0.70−1.70[−2.1, −1.3]33%1.0001.00−1.78−1.580/8−1,330
H3433선15:20504−0.47−1.47[−1.8, −1.1]29%1.0001.00−1.55−1.320/8−1,243
H3443선15:30496−0.18−1.18[−1.5, −0.9]25%1.0001.00−1.18−1.180/8−1,083
H34510선10:00499−2.99−3.99[−6.7, −1.4]45%0.9931.00−6.13−0.692/8−2,492
H34610선11:00497−1.14−2.14[−4.1, −0.2]46%0.9661.00−2.49−1.582/8−1,563
H34710선13:00518−0.57−1.57[−3.0, −0.2]47%0.9681.00−2.23−0.423/8−1,333
H34810선14:00524−0.35−1.35[−2.9, +0.2]48%0.9281.00−1.71−0.722/8−1,231
H34910선15:00520−0.02−1.02[−2.1, +0.1]46%0.9341.00−1.35−0.422/8−1,049
H35010선15:20520−0.74−1.74[−2.4, −1.1]41%1.0001.00−2.31−0.831/8−1,426
H35110선15:30521−0.68−1.68[−2.3, −1.1]40%1.0001.00−2.04−1.121/8−1,398
H3523선다음 날493+0.27−0.73[−1.8, +0.4]47%0.8591.00−0.33−1.402/8−851
H35310선다음 날522+1.33+0.33[−3.7, +4.7]48%0.4371.00+1.52−1.554/8−349
시각별 건당 손익과 90% 구간
시각별 건당 손익. 빨간 점이 비용 1틱 뒤(net1) 평균과 90% 부트스트랩 구간, 흰 점이 비용 전 평균이다. 3선은 여덟 경우 모두 구간 전체가 0 아래이거나 0 을 겨우 걸친다. 10선 다음 날(H353)만 평균이 0 위에 있지만 구간이 −3.7 부터 +4.7 까지 넓게 0 을 걸친다. 그 이유는 아래 탐색 결과에 적었다.

결과를 데스크 말로 옮기면 이렇다. 투신을 따라 3선이나 10선에 장중에 들어가면 어느 시각에 들어가든 비용을 빼기 전부터 이미 진다. 장중 14개의 비용 전 손익은 −0.02 ~ −2.99틱으로 모두 0 이하다. 3선 일곱 시각은 8개 연도 모두 음(0/8)이고, 10선 장중은 연도 양이 1 ~ 3개다. 승률도 3선 25 ~ 40%, 10선 40 ~ 48% 로 동전 던지기보다 낮다.

종가 근처가 더 나을 것이라는 기대도 맞지 않았다. 3선 15:30 진입은 비용 전 −0.18틱으로 0 에 가장 가깝지만, 그것은 남은 움직임이 작아서일 뿐이다. 아래 표처럼 진입부터 종가까지 3선이 움직이는 크기는 15:30 에 평균 2.2틱, 15:20 에 2.8틱이다. 방향을 아무리 잘 맞혀도 1틱 비용을 넘기 어려운 크기이고, 실제로는 방향도 못 맞혔다.

진입부터 종가까지 남은 움직임(평균 |Rt|, 틱, 장중 표적을 쓰는 모든 날). 기술 통계, results/20261102T090649_detail/abs_move.csv
대상10:0011:0013:0014:0015:0015:2015:30
3선6.96.35.14.63.62.82.2
10선23.320.616.915.011.69.07.0

시간과 연도로 보면

시각별 규칙의 누적 손익
16개 규칙의 누적 손익(계약당 틱, 비용 1틱 뒤). 점선 오른쪽이 확인 구간(2024-01 ~)이다. 3선 일곱 줄은 처음부터 끝까지 꾸준히 내려간다. 특정 사건 하나가 만든 손실이 아니다. 10선 다음 날(빨간 점선)은 2020-03 코로나 충격 한 번에 크게 오르고 2022 년에 한 번 더 오른 뒤, 2023 ~ 2025 년에 그 이익을 다 잃었다가 2026 년 하반기에 다시 0 위로 올라왔다.
연도별 건당 손익 표
연도별 건당 평균 손익(비용 1틱 뒤). 칸 안 숫자가 값이고, 파랑은 이익, 빨강은 손실이다(색은 ±6틱에서 고정). 연도 합은 metrics.json 의 연도별 합과 같은 것을 확인했다. 3선 장중 56칸(일곱 시각 × 8년)은 모두 0 이하다. 10선 파랑 칸은 2022 ~ 2025 년 여기저기와 다음 날 규칙에 흩어져 있고, 같은 시각에서 몇 해씩 이어지지 않는다.

발견 구간(2019 ~ 2023)과 확인 구간(2024 ~ 2026)을 나눠도 16개 중 15개가 두 구간 모두 음이다. 예외인 10선 다음 날도 발견 +1.52, 확인 −1.55 로 부호가 뒤집힌다. 시기를 바꿔 보아도 투신을 따라가서 이긴 구간이 없다.

투신은 언제 사는가

규칙이 지는 이유를 보려고, 30분 창마다 투신 순매수 변화가 직전, 같은, 다음 30분 가격 변화와 어떻게 함께 움직이는지 쟀다(사전등록 보조 보고). 비교로 외국인합도 같이 쟀다.

30분 순매수 변화와 가격 변화의 상관
30분 창 순매수 변화와 가격 변화(틱)의 상관, 2019 ~ 2026 풀링. 빨강이 투신, 파랑이 외국인합. 투신은 같은 30분과 직전 30분 가격과 음의 상관이다. 가격이 내리는 동안과 내린 직후에 산다. 외국인은 반대로 같은 방향이다. 둘 다 다음 30분 가격과의 상관은 0 이다.
30분 창 상관(정본 런 leadlag.csv)
대상주체창 수직전 30분 가격같은 30분 가격다음 30분 가격
3선투신18,388−0.09−0.13−0.01
3선외국인합18,388+0.04+0.20+0.01
10선투신18,578−0.07−0.12+0.00
10선외국인합18,578+0.09+0.14+0.01

투신의 매매는 역추세, 유동성 공급의 모양이다. 가격이 밀릴 때 받아 주고 오를 때 내놓는다. 그래서 «투신 순매수가 크다» 는 화면은 «지금까지 가격이 내렸다» 는 사실을 다시 보여 주는 것에 가깝고, 앞으로의 방향에 대해서는 말해 주는 것이 없다.

투신 z 를 다섯 구간으로 나눠 진입부터 종가까지의 평균 움직임을 보면 같은 그림이 나온다. 이 그림은 판정과 무관한 기술 통계다.

투신 z 구간별 진입부터 종가까지 평균 움직임
투신 z 구간별 평균 Rt(+ 는 가격 상승). 투신을 따라가는 규칙이 통하려면 막대가 왼쪽(크게 팜)에서 음, 오른쪽(크게 삼)에서 양이어야 한다. 실제로는 반대다. 3선 오전에는 투신이 크게 판 날(z ≤ −2) 종가까지 +1.6 ~ +4.5틱 오르고, 크게 산 날(z ≥ 2) −1.1 ~ −3.9틱 내렸다. 10선 10:00, 11:00 에 투신이 크게 산 날은 −8.7, −8.0틱이다. 양 끝 구간의 표본은 46 ~ 83일이라 하나하나는 흔들림이 크다.

하루를 따라가 보기

2026-10-20 을 골랐다. 표본에서 3선 일곱 시각 모두 신호가 난 가장 최근 날이라, 하루 안에서 일곱 규칙이 모두 어떻게 됐는지 한 장에 보인다.

2026-10-20 3선 가격과 투신 누적 순매수
2026-10-20 3선. 위: 1분봉 가격과 규칙의 진입가(▼, 투신을 따라 매도). 아래: 개장 뒤 투신(빨강)과 외국인합(파랑) 누적 순매수, 아래쪽 빨간 숫자는 각 시각의 z. 투신은 오전 내내 팔아 14:00 에 −2,822계약까지 쌓였고, 그동안 3선은 첫 봉 102.88 에서 종가 103.06 으로 18틱 올랐다. 외국인은 같은 방향(매수)이었다.
  • 10:00 투신 −1,374계약, z −2.2 → 10:01 102.92 에 매도 → 종가 103.06, −14틱(비용 뒤 −15).
  • 11:00 투신 −1,719계약, z −1.7 → 11:01 102.92 에 매도 → −14틱.
  • 13:00, 14:00, 15:00, 15:20, 15:30 도 모두 매도였고 −7, −5, −6, −3, −2틱이다. 늦게 들어갈수록 손실이 작은 것은 남은 움직임이 작기 때문이다.
  • 같은 날 10선에서는 투신이 샀고(11:00 z +1.7) 10선도 올라 따라 산 규칙이 +40틱을 벌었다. 한 날 한 날은 이렇게 운이 크게 작용한다. 판단은 500건 안팎의 평균으로만 한다.

탐색 결과

아래는 모두 판정에 쓰지 않는다. 사전등록에 적어 둔 비교들이고, 검정하지 않았다.

문턱을 바꾸거나 외국인합으로 같은 규칙을 쓰면(건당 net1 틱, 괄호는 건수). 정본 런 aux_regression.csv
대상시각투신 |z| ≥ 0.5투신 |z| ≥ 2외국인합 |z| ≥ 1
3선10:00−1.71 (914)−3.73 (133)−0.71 (526)
3선11:00−1.97 (941)−3.89 (130)+0.26 (528)
3선13:00−1.38 (949)−2.24 (126)−1.14 (513)
3선14:00−1.46 (948)−2.10 (126)−0.97 (516)
3선15:00−1.38 (968)−1.87 (136)−0.88 (527)
3선15:20−1.37 (972)−1.92 (138)−1.18 (526)
3선15:30−1.12 (991)−1.37 (134)−1.44 (512)
3선다음 날−0.61
10선10:00−1.13 (988)−7.02 (119)+1.29 (546)
10선11:00−1.94 (1,043)−5.35 (113)+0.64 (549)
10선13:00−0.78 (1,042)−1.32 (114)−3.35 (550)
10선14:00−2.03 (1,026)−1.82 (116)−2.00 (543)
10선15:00−1.36 (1,041)−1.11 (129)−2.33 (560)
10선15:20−2.01 (1,043)−0.88 (120)−1.40 (558)
10선15:30−1.70 (1,026)−0.17 (118)−1.55 (571)
10선다음 날+1.89

문턱을 낮춰(0.5) 더 자주 들어가도, 높여(2) 아주 큰 날만 들어가도 장중은 모두 음이다. 문턱을 높이면 오전은 더 나빠진다(3선 11:00 −3.89, 10선 10:00 −7.02). 투신이 유난히 크게 산 날일수록 따라가면 더 크게 졌다. 외국인합으로 바꾸면 3선 11:00, 10선 10:00, 11:00, 다음 날 10선 네 경우만 양이고 나머지 열두 경우는 음이다.

충격 구간 거래와 반대 방향 손익(정본 런 metrics.json). 반대 방향은 같은 거래를 투신 반대로 했을 때 건당 −gross − 1틱
가설경우충격 구간 거래그 거래 net1 합충격 구간 빼고 누적 net2반대 방향 건당
H3383선 10:0025−130−1,207−0.13
H3393선 11:0024−117−1,503+0.36
H3403선 13:0027−97−1,146−0.41
H3413선 14:0026−79−1,272−0.21
H3423선 15:0031−49−1,250−0.30
H3433선 15:2033−14−1,196−0.53
H3443선 15:3032−7−1,044−0.82
H34510선 10:0024+158−2,626+1.99
H34610선 11:0023+43−1,583+0.14
H34710선 13:0023+18−1,328−0.43
H34810선 14:0023+16−1,224−0.65
H34910선 15:0027−29−993−0.98
H35010선 15:2028−64−1,334−0.26
H35110선 15:3027−35−1,336−0.32
H3523선 다음 날33−7−811−1.27
H35310선 다음 날30+346−665−2.33
  • 충격 구간 탓이 아니다. 충격 구간 거래는 경우마다 23 ~ 33건이고, 빼고 나도 비용 2틱 뒤 누적은 16개 모두 음이다. 10선 다음 날(H353)이 +0.33틱으로 하나만 양이 된 것은 충격 구간 30건이 +346틱을 냈기 때문이고, 빼면 비용 2틱 뒤 누적 −665틱이다.
  • 반대 방향(투신이 사면 팔기)은 10선 10:00 +1.99틱, 3선 11:00 +0.36틱, 10선 11:00 +0.14틱만 양이고, 나머지 열세 경우는 반대 방향도 음이다. 10선 10:00 의 반대 방향 이익은 발견 구간(따라가기 −6.13틱, 반대 방향 +4.13틱)에서 거의 다 나왔고, 확인 구간에서는 따라가기 −0.69틱, 반대 방향 −1.31틱으로 둘 다 진다. 결과를 본 뒤 고른 방향이고 시기에 기댄 관찰이라 이 실험에서는 탐색이다. 쓰려면 새 사전등록과 이 실험이 보지 않은 기간에서의 검증이 먼저다.

해석

«투신이 사면 오른다» 는 장면은 이 표본에서 확인되지 않는다. 투신의 장중 순매수는 가격이 내릴 때 늘고 오를 때 준다. 투신은 대체로 가격을 받아 주는 쪽이고, 순매수가 크다는 것은 그때까지 가격이 내렸다는 뜻에 가깝다. 그 뒤 종가까지 가격은 투신 방향으로 돌아오지 않았고, 3선 오전에는 오히려 투신 반대쪽으로 조금 더 갔다.

데스크가 «투신이 사니 오른다» 고 느끼는 장면은 아마 이런 날일 것이다. 가격이 크게 밀린 뒤 투신 매수가 쌓이고, 그 직후 반등이 나온 날. 그런 날은 기억에 남지만, 투신이 사는 동안 계속 밀린 날도 같은 수만큼 있다. 500건 안팎의 평균으로 보면 장중에 따라간 쪽은 어느 시각에서도 졌다.

종가 근처는 따로 볼 만했다. 15:20, 15:30 에는 투신이 그날 쌓은 순매수가 거의 다 드러나 있지만, 그 시점부터 종가 단일가까지 3선이 움직이는 크기가 2 ~ 3틱밖에 안 된다. 정보가 있더라도 비용 1틱을 넘기기 어려운 구간이고, 실제로는 정보도 없었다.

한계

  • 만기일 결함과 수정 2(첫 런 뒤 찾음). 첫 런은 만기일을 일봉의 월물 교체 전날로 잘못 잡아, 실제 만기일 31일을 장중 표본에 남겼다. 연결 1분봉은 만기일 11:31 에 다음 월물로 넘어가므로 10:00, 11:00 진입 거래 일부가 두 월물의 가격 차(3선 최대 −74틱)를 손익으로 셌다. 상세 페이지를 쓰다 이 결함을 찾았고, 프로토콜 수정 2 로 만기일을 규칙(3, 6, 9, 12월 셋째 화요일, 휴장이면 직전 거래일)으로 정해 빼고, 일봉 표가 거래일을 건너뛴 날의 다음 날 표적도 빼서 다시 돌렸다. 고친 런이 정본이고 첫 런은 무효로 남겼다. 가설과 판정 규칙은 그대로이고 판정도 같다. 결과를 본 뒤의 수정이라는 점은 그대로 밝혀 둔다(아래 표).
  • 수급은 2019 ~ 2026-08-14 는 저장된 수집본, 2026-08-24 ~ 는 자체 수집본이고 2026-08-17 ~ 21 은 없다. 실시간 화면에서는 집계 지연이 있을 수 있다.
  • 연결 1분봉이 빈 2026-07-01 ~ 09-10 은 월물별 원자료로 채웠다(프로토콜 수정 1, 결과를 보기 전).
  • 비용 1틱은 3선 실측 스프레드다. 10선은 호가 간격이 더 넓을 수 있어 실제 비용이 더 크다. 결론 방향은 바뀌지 않는다.
  • 충격 구간은 고정 15개 중 2019 년 이후 표본에 드는 9개만 해당한다.
  • 투신만 봤다. 사모, 연기금, 은행 같은 다른 기관과 조합은 재지 않았다. 투신 순매수가 펀드 설정과 환매 같은 비정보성 흐름인지도 구분하지 않았다.
  • 틱 손익은 소수 여섯째 자리로 반올림해, 부동소수점 1.0000000000005 틱이 이익으로 세지지 않게 했다.
수정 2 전후 비교(건당, 틱). 왼쪽이 무효 처리한 첫 런 results/20261102T084459_main_void_expiry, 오른쪽이 정본 런. results/20261102T090649_detail/amendment2.csv
가설경우건수따라가기 net1반대 방향
H3383선 10:00476 → 475−2.42 → −1.87+0.42 → −0.13
H3393선 11:00493 → 489−3.20 → −2.36+1.20 → +0.36
H3403선 13:00497 → 491−1.79 → −1.59−0.21 → −0.41
H3413선 14:00498 → 493−1.87 → −1.79−0.13 → −0.21
H3423선 15:00494 → 492−1.69 → −1.70−0.31 → −0.30
H3433선 15:20506 → 504−1.48 → −1.47−0.52 → −0.53
H3443선 15:30500 → 496−1.20 → −1.18−0.80 → −0.82
H34510선 10:00501 → 499−4.16 → −3.99+2.16 → +1.99
H34610선 11:00496 → 497−2.11 → −2.14+0.11 → +0.14
H34710선 13:00522 → 518−1.36 → −1.57−0.64 → −0.43
H34810선 14:00526 → 524−0.87 → −1.35−1.13 → −0.65
H34910선 15:00525 → 520−0.83 → −1.02−1.17 → −0.98
H35010선 15:20528 → 520−1.62 → −1.74−0.38 → −0.26
H35110선 15:30528 → 521−1.49 → −1.68−0.51 → −0.32
H3523선 다음 날502 → 493−0.74 → −0.73−1.26 → −1.27
H35310선 다음 날526 → 522−0.10 → +0.33−1.90 → −2.33

만기일 거래가 빠지면서 3선 오전의 손실과 반대 방향 이익이 함께 줄었다. 10선 오후는 표본이 바뀌며 오히려 손실이 조금 커졌다. 10선 다음 날은 일봉이 건너뛴 날 4건이 빠지며 −0.10 에서 +0.33 으로 올랐지만 p 0.437 로 여전히 0 과 구별되지 않는다.

산출물

  • 계획protocol.md(사전등록 01d5b16, 수정 1 d292f9c 는 결과 전, 수정 2 9c65f66 은 첫 런 뒤 찾은 만기일 결함)
  • 분석, 판정analysis.md
  • 코드code/s1.py(확증 런), code/s_detail.py(기술 통계, 헤드라인 재현 검사 포함), code/render_figures.py(그림)
  • 정본 런results/20261102T090243_main/(metrics.json, cells.csv, trades.csv, panel.csv, aux_regression.csv, leadlag.csv)
  • 무효 런results/20261102T084459_main_void_expiry/(만기일 결함, 비교용으로만 남김)
  • 기술 통계results/20261102T090649_detail/(abs_move.csv, bucket.csv, amendment2.csv, example_flow.csv, example_bars.csv)

Appendix

A. 데이터셋 실물

입력 1: 30초 수급의 실제 행(example_flow.csv, 2026-10-20 3선). 투신과 외국인합은 개장 뒤 누적 순매수 계약이다.

30초 수급 일부
시각투신외국인합
2026-10-20 08:55:30−95−723
2026-10-20 08:56:00−95−719
2026-10-20 10:59:30−1,7191,723
2026-10-20 11:00:00−1,7191,723
2026-10-20 11:00:30−1,7191,768

입력 2: 정본 런의 일별 패널(panel.csv) 같은 날 행 가운데 몇 열. tu 는 Ft, ztu 는 zt, entry 는 t+1분 진입가, R 은 Rt(틱), zpx 는 가격 z 다.

panel.csv 2026-10-20(소수 둘째 자리 반올림)
열3선10선
ok_day, close_pxTrue, 103.06True, 106.57
tu, ztu 10:00−1,374, −2.19154, +0.76
tu, ztu 11:00−1,719, −1.67470, +1.70
entry, R 11:00102.92, +14106.17, +40
zpx 11:00+0.55+0.45
tu, ztu, R 15:30−2,633, −1.53, +2597, +1.30, +11
N(다음 날)+8+19

출력: 규칙 거래 원장(trades.csv)의 실제 행. dir 은 D, gross 와 net1 은 틱이다.

trades.csv 일부
datehyptenortimezdirgrossnet1
2019-03-08H3383선10:00+1.59+10−1
2019-03-11H3383선10:00+1.21+1−3−4
2026-10-20H3393선11:00−1.67−1−14−15
2026-10-27H3393선11:00+1.43+1+6+5
2026-10-30H3393선11:00−1.74−1−8−9

B. 모델 입출력 실물

H339(3선, 11:00) 규칙이 2026-10-20 에 실제로 받은 입력과 낸 출력이다.

Request meta
2026-10-20 11:00 신호, 3선 연결 시세, 규칙 H339(|z| ≥ 1 이면 투신 방향, t+1분 진입, 15:45 종가 청산, 비용 1틱)
Input
11:00 이하 마지막 30초 스탬프 11:00:00 의 투신 누적 순매수 F = −1,719계약. 직전 60거래일 11:00 F 의 표준편차 약 1,028계약(z 에서 역산). 11:00 가격 102.90, 그날 첫 봉 시가 102.87
Model response
z = −1,719 ÷ 1,028 = −1.67. |z| ≥ 1 이므로 D = −1(매도). 11:01 봉 종가 102.92 에 1계약 매도
Ground truth check
15:45 종가 단일가 103.06. R = (103.06 − 102.92) × 100 = +14틱, gross = −1 × 14 = −14틱, net1 = −15틱. 투신은 팔았지만 가격은 올랐다. 같은 날 같은 시각 10선은 z +1.70 으로 매수, R +40틱이었다

C. 실험 설정

  • 기간2019-01-01 ~ 2026-10-30(수급 2026-08-17 ~ 21 없음)
  • 시각10:00, 11:00, 13:00, 14:00, 15:00, 15:20, 15:30(다음 날 규칙은 15:30)
  • 신호투신 누적 순매수, t 이전 2분 이내 마지막 30초 스탬프
  • 표준화직전 60거래일 같은 시각 표준편차, 최소 40일, 평균 빼지 않음
  • 문턱|z| ≥ 1(비교 0.5, 2)
  • 진입, 청산t+1분 봉 종가 → 15:45 봉 종가. 다음 날은 그날 정산가 → 다음 거래일 정산가, 달력 4일 이상 휴장 앞 거래 없음
  • 제외마지막 봉이 15:45 가 아닌 날, 만기일(3, 6, 9, 12월 셋째 화요일, 휴장이면 직전 거래일, 수정 2), 다음 날 표적은 일봉 표가 거래일을 건너뛴 날(수정 2)
  • 비용왕복 1틱(판정), 2틱(보고), 틱은 소수 여섯째 자리 반올림 뒤 계산
  • 검정건당 net1 평균 > 0, 월 블록 부트스트랩 5,000회 한쪽 p, seed 162, 16개 Holm, 지지 문턱 Holm p < 0.05
  • 분할 보고발견 2019 ~ 2023, 확인 2024-01 ~ 2026-10
  • 전략 카드 조건지지, 확인 구간 net1 > 0, 연도 과반 양, 비용 2틱 뒤 누적 양
  • 보조 회귀OLS, 상수와 투신 z, 가격 z, Newey-West HAC 지연 5
  • 선후 상관09:30 ~ 15:30 30분 격자, 순매수 변화와 직전, 같은, 다음 30분 가격 변화(틱), 풀링
  • 충격 구간고정 15개 중 표본 안 9개, 각 사건일부터 10거래일