세 줄 요약
- 장중 투신 누적 순매수가 평소의 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 이다.
- 이유는 투신이 가격을 이끄는 쪽이 아니라 받아 주는 쪽이기 때문이다. 투신 순매수는 같은 창의 가격 움직임과 상관 −0.24 ~ −0.39 로, 가격이 내릴 때 늘고 오를 때 준다. 30분 순매수 변화와 다음 30분 가격 변화의 상관은 0 에 가깝다(3선 −0.01, 10선 +0.00). 종가 근처(15:20, 15:30)는 남은 움직임이 평균 2 ~ 3틱(3선)이라 비용 1틱을 넘기 어렵다.
- 판정은 폐기다. «투신이 사면 따라 산다» 는 이 표본에서 성립하지 않는다. 반대 방향(투신이 사면 팔기)은 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 ~ H344 | 3선 | 10:00 ~ 15:30 일곱 개 | t+1분 → 그날 종가 | −1.18 ~ −2.36틱 | 1.00 | 미지지 |
| H345 ~ H351 | 10선 | 10:00 ~ 15:30 일곱 개 | t+1분 → 그날 종가 | −1.02 ~ −3.99틱 | 1.00 | 미지지 |
| H352, H353 | 3선, 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-14 | 30초, 개장 뒤 누적 순매수 계약 | 투신 Ft, 외국인합(비교) |
| 같은 표 자체 수집본 | 2026-08-24 ~ 2026-10-30 | 30초 | 같은 열(투신순매수수량) |
| 선물 연결 1분봉 3선, 10선 | 2019-01 ~ 2026-10-30 | 1분, 라벨은 봉이 끝나는 시각 | 진입가, 15:45 종가, 가격 z, 만기일 달력 |
| 월물별 1분봉 원자료 | 2026-07-01 ~ 09-10 | 1분 | 연결 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개 분봉에서 두 표는 월물 교체 전후 날을 빼면 값이 모두 같았다.
표본과 거르기
| 항목 | 3선 | 10선 |
|---|---|---|
| 수급과 일봉이 모두 있는 거래일 | 1,906 | 1,906 |
| 장중 표적을 쓰는 날(15:45 봉이 마지막이고 만기일이 아닌 날) | 1,841 | 1,860 |
| 빠진 날(만기일 31일, 수능일처럼 종가 시각이 다른 날) | 65 | 46 |
| zt 가 있는 날(앞 40일은 표준편차가 없어 빈 값) | 1,853 ~ 1,866 | 1,853 ~ 1,866 |
| |zt| ≥ 1 인 날의 비율(시각별) | 26 ~ 28% | 27 ~ 29% |
| 경우별 거래 수(연평균) | 475 ~ 504(59 ~ 63) | 497 ~ 524(62 ~ 66) |
| |Ft| 중앙값, 10:00 → 15:30(계약) | 332 → 798 | 144 → 343 |
거래는 이틀 반에 한 번꼴로 생긴다. 기회가 드물어서 못 이기는 규칙이 아니다. 다음 날 표적은 일봉 표가 거래일을 하나 빠뜨린 경우(예: 2026-09-22) 다음 일봉 행이 실제 다음 거래일이 아니므로 그 날을 뺐다.
언제 무엇을 아는가
장중 수급 화면을 보고 판단한 뒤 주문을 내기까지 시간이 걸린다. 그래서 수급은 시각 t 까지의 값만 쓰고, 진입은 1분 늦게(t+1분 봉의 종가) 한다. 청산은 15:45 종가 단일가다.
| 시각 | 일어나는 일 |
|---|---|
| 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일 이상이면 들어가지 않는다(휴장 앞 청산) |
방법
- 신호 만들기. 상품마다, 시각마다 Ft 와 zt 를 매일 계산한다. 표준편차는 그날 이전 60거래일로만 계산하므로 미래 정보가 들어가지 않는다.
- 규칙 적용. |zt| ≥ 1 이면 투신 방향 D 로 진입하고 표적(Rt 또는 N)만큼 번다. 건당 net1 = D × 표적 − 1틱.
- 판정. 16개 경우 각각 건당 net1 평균이 0 보다 큰지 월 블록 부트스트랩 5,000회 한쪽 p 로 보고, 16개에 Holm 보정을 건다. Holm p < 0.05 면 지지.
- 전략 카드 후보 조건(사전등록). 지지되고, 확인 구간 건당 net1 > 0, 연도 과반 양, 비용 2틱 뒤 누적 양. 이번에는 첫 조건부터 통과한 경우가 없다.
- 판정에 쓰지 않는 보조 보고(사전등록). 가격을 통제한 회귀, 30분 창 선후 상관, 반대 방향 손익, 문턱 0.5 와 2, 외국인합으로 같은 규칙, 충격 구간 손익.
- 이 페이지에서 더한 기술 통계. 남은 움직임 크기, 투신 z 구간별 평균 움직임, 연도별 건당 평균, 무효 처리한 첫 런과 고친 런의 비교. 모두 정본 런의 파일(
panel.csv,trades.csv,metrics.json)에서 다시 센 것이고, 판정을 바꾸지 않는다.
모델
이 실험의 «모델» 은 학습하는 머신러닝 모델이 아니라 미리 고정한 매매 규칙 하나와, 그 규칙이 왜 지는지 보려는 설명용 선형회귀 하나다. 규칙이 데이터에서 배우는 것은 직전 60일 표준편차뿐이라 과적합 여지가 거의 없다.
매매 규칙
| 항목 | 값 | 이유 |
|---|---|---|
| 신호 | 투신 누적 순매수 Ft | 데스크가 실제로 보는 화면 값 |
| 표준화 창 | 직전 60거래일, 최소 40일, 같은 시각 | 시각마다 누적 규모가 다르고(10:00 보다 15:30 이 두 배 이상) 해마다 거래량이 달라서 |
| 평균 빼기 | 하지 않음 | «산다, 판다» 의 부호가 곧 신호 |
| 문턱 | |zt| ≥ 1 | 평소보다 눈에 띄게 큰 날만(시각별 약 27%) |
| 방향 | 투신과 같은 쪽 | 검정하려는 데스크 습관 그대로 |
| 시각 t | 10: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투신 가 양이면 «가격을 감안해도 투신 방향으로 더 간다», 음이면 «투신 반대로 간다»
panel.csv 에서 다시 적합해 aux_regression.csv 의 계수와 t 를 소수 여덟째 자리까지 재현한 뒤 그렸다). 빨강이 가격을 통제한 투신 계수, 회색이 투신 단독, 파랑이 가격 z 계수이고 가로 막대는 95% 구간이다. 3선 오전(10:00, 11:00)의 투신 계수는 0 보다 분명히 작고, 다른 시각은 0 근처다. 어느 시각에서도 투신 계수가 0 보다 분명히 큰 경우는 없다.| 대상 | 시각 | 표본 | 투신 단독 | 투신(가격 통제) | 가격 z | 투신 z 와 가격 z 상관 |
|---|---|---|---|---|---|---|
| 3선 | 10:00 | 1,796 | −0.59 (−2.7) | −0.54 (−2.4) | +0.22 (+0.8) | −0.24 |
| 3선 | 11:00 | 1,803 | −0.71 (−3.0) | −0.68 (−2.9) | +0.10 (+0.4) | −0.29 |
| 3선 | 13:00 | 1,803 | −0.22 (−1.3) | −0.22 (−1.2) | −0.00 (−0.0) | −0.38 |
| 3선 | 14:00 | 1,803 | −0.33 (−2.2) | −0.15 (−1.0) | +0.50 (+2.3) | −0.39 |
| 3선 | 15:00 | 1,803 | −0.29 (−2.4) | −0.12 (−1.1) | +0.47 (+3.0) | −0.38 |
| 3선 | 15:20 | 1,803 | −0.23 (−2.3) | −0.11 (−1.1) | +0.33 (+2.4) | −0.38 |
| 3선 | 15:30 | 1,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:00 | 1,813 | −0.83 (−1.2) | −0.77 (−1.1) | +0.22 (+0.3) | −0.28 |
| 10선 | 11:00 | 1,820 | −0.89 (−1.4) | −0.80 (−1.3) | +0.29 (+0.4) | −0.30 |
| 10선 | 13:00 | 1,820 | −0.08 (−0.2) | −0.08 (−0.1) | +0.01 (+0.0) | −0.34 |
| 10선 | 14:00 | 1,820 | −0.20 (−0.4) | +0.28 (+0.6) | +1.32 (+2.4) | −0.37 |
| 10선 | 15:00 | 1,820 | +0.04 (+0.1) | +0.53 (+1.4) | +1.31 (+3.1) | −0.38 |
| 10선 | 15:20 | 1,820 | −0.47 (−1.9) | −0.08 (−0.3) | +1.16 (+3.5) | −0.34 |
| 10선 | 15:30 | 1,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)이 있다.
결과
확증 결과
| 가설 | 대상 | 시각 | 건수 | 비용 전 | net1 | 90% 구간 | 승률 | 한쪽 p | Holm | 발견 | 확인 | 연도 양 | 누적 net2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| H338 | 3선 | 10:00 | 475 | −0.87 | −1.87 | [−2.8, −1.0] | 40% | 0.999 | 1.00 | −2.37 | −0.96 | 0/8 | −1,362 |
| H339 | 3선 | 11:00 | 489 | −1.36 | −2.36 | [−3.3, −1.5] | 38% | 1.000 | 1.00 | −2.42 | −2.25 | 0/8 | −1,644 |
| H340 | 3선 | 13:00 | 491 | −0.59 | −1.59 | [−2.3, −1.0] | 38% | 0.999 | 1.00 | −1.93 | −0.97 | 0/8 | −1,270 |
| H341 | 3선 | 14:00 | 493 | −0.79 | −1.79 | [−2.4, −1.2] | 35% | 1.000 | 1.00 | −2.08 | −1.30 | 0/8 | −1,377 |
| H342 | 3선 | 15:00 | 492 | −0.70 | −1.70 | [−2.1, −1.3] | 33% | 1.000 | 1.00 | −1.78 | −1.58 | 0/8 | −1,330 |
| H343 | 3선 | 15:20 | 504 | −0.47 | −1.47 | [−1.8, −1.1] | 29% | 1.000 | 1.00 | −1.55 | −1.32 | 0/8 | −1,243 |
| H344 | 3선 | 15:30 | 496 | −0.18 | −1.18 | [−1.5, −0.9] | 25% | 1.000 | 1.00 | −1.18 | −1.18 | 0/8 | −1,083 |
| H345 | 10선 | 10:00 | 499 | −2.99 | −3.99 | [−6.7, −1.4] | 45% | 0.993 | 1.00 | −6.13 | −0.69 | 2/8 | −2,492 |
| H346 | 10선 | 11:00 | 497 | −1.14 | −2.14 | [−4.1, −0.2] | 46% | 0.966 | 1.00 | −2.49 | −1.58 | 2/8 | −1,563 |
| H347 | 10선 | 13:00 | 518 | −0.57 | −1.57 | [−3.0, −0.2] | 47% | 0.968 | 1.00 | −2.23 | −0.42 | 3/8 | −1,333 |
| H348 | 10선 | 14:00 | 524 | −0.35 | −1.35 | [−2.9, +0.2] | 48% | 0.928 | 1.00 | −1.71 | −0.72 | 2/8 | −1,231 |
| H349 | 10선 | 15:00 | 520 | −0.02 | −1.02 | [−2.1, +0.1] | 46% | 0.934 | 1.00 | −1.35 | −0.42 | 2/8 | −1,049 |
| H350 | 10선 | 15:20 | 520 | −0.74 | −1.74 | [−2.4, −1.1] | 41% | 1.000 | 1.00 | −2.31 | −0.83 | 1/8 | −1,426 |
| H351 | 10선 | 15:30 | 521 | −0.68 | −1.68 | [−2.3, −1.1] | 40% | 1.000 | 1.00 | −2.04 | −1.12 | 1/8 | −1,398 |
| H352 | 3선 | 다음 날 | 493 | +0.27 | −0.73 | [−1.8, +0.4] | 47% | 0.859 | 1.00 | −0.33 | −1.40 | 2/8 | −851 |
| H353 | 10선 | 다음 날 | 522 | +1.33 | +0.33 | [−3.7, +4.7] | 48% | 0.437 | 1.00 | +1.52 | −1.55 | 4/8 | −349 |
결과를 데스크 말로 옮기면 이렇다. 투신을 따라 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틱 비용을 넘기 어려운 크기이고, 실제로는 방향도 못 맞혔다.
| 대상 | 10:00 | 11:00 | 13:00 | 14:00 | 15:00 | 15:20 | 15:30 |
|---|---|---|---|---|---|---|---|
| 3선 | 6.9 | 6.3 | 5.1 | 4.6 | 3.6 | 2.8 | 2.2 |
| 10선 | 23.3 | 20.6 | 16.9 | 15.0 | 11.6 | 9.0 | 7.0 |
시간과 연도로 보면
metrics.json 의 연도별 합과 같은 것을 확인했다. 3선 장중 56칸(일곱 시각 × 8년)은 모두 0 이하다. 10선 파랑 칸은 2022 ~ 2025 년 여기저기와 다음 날 규칙에 흩어져 있고, 같은 시각에서 몇 해씩 이어지지 않는다.발견 구간(2019 ~ 2023)과 확인 구간(2024 ~ 2026)을 나눠도 16개 중 15개가 두 구간 모두 음이다. 예외인 10선 다음 날도 발견 +1.52, 확인 −1.55 로 부호가 뒤집힌다. 시기를 바꿔 보아도 투신을 따라가서 이긴 구간이 없다.
투신은 언제 사는가
규칙이 지는 이유를 보려고, 30분 창마다 투신 순매수 변화가 직전, 같은, 다음 30분 가격 변화와 어떻게 함께 움직이는지 쟀다(사전등록 보조 보고). 비교로 외국인합도 같이 쟀다.
| 대상 | 주체 | 창 수 | 직전 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 를 다섯 구간으로 나눠 진입부터 종가까지의 평균 움직임을 보면 같은 그림이 나온다. 이 그림은 판정과 무관한 기술 통계다.
하루를 따라가 보기
2026-10-20 을 골랐다. 표본에서 3선 일곱 시각 모두 신호가 난 가장 최근 날이라, 하루 안에서 일곱 규칙이 모두 어떻게 됐는지 한 장에 보인다.
- 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건 안팎의 평균으로만 한다.
탐색 결과
아래는 모두 판정에 쓰지 않는다. 사전등록에 적어 둔 비교들이고, 검정하지 않았다.
| 대상 | 시각 | 투신 |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선 네 경우만 양이고 나머지 열두 경우는 음이다.
| 가설 | 경우 | 충격 구간 거래 | 그 거래 net1 합 | 충격 구간 빼고 누적 net2 | 반대 방향 건당 |
|---|---|---|---|---|---|
| H338 | 3선 10:00 | 25 | −130 | −1,207 | −0.13 |
| H339 | 3선 11:00 | 24 | −117 | −1,503 | +0.36 |
| H340 | 3선 13:00 | 27 | −97 | −1,146 | −0.41 |
| H341 | 3선 14:00 | 26 | −79 | −1,272 | −0.21 |
| H342 | 3선 15:00 | 31 | −49 | −1,250 | −0.30 |
| H343 | 3선 15:20 | 33 | −14 | −1,196 | −0.53 |
| H344 | 3선 15:30 | 32 | −7 | −1,044 | −0.82 |
| H345 | 10선 10:00 | 24 | +158 | −2,626 | +1.99 |
| H346 | 10선 11:00 | 23 | +43 | −1,583 | +0.14 |
| H347 | 10선 13:00 | 23 | +18 | −1,328 | −0.43 |
| H348 | 10선 14:00 | 23 | +16 | −1,224 | −0.65 |
| H349 | 10선 15:00 | 27 | −29 | −993 | −0.98 |
| H350 | 10선 15:20 | 28 | −64 | −1,334 | −0.26 |
| H351 | 10선 15:30 | 27 | −35 | −1,336 | −0.32 |
| H352 | 3선 다음 날 | 33 | −7 | −811 | −1.27 |
| H353 | 10선 다음 날 | 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 틱이 이익으로 세지지 않게 했다.
| 가설 | 경우 | 건수 | 따라가기 net1 | 반대 방향 |
|---|---|---|---|---|
| H338 | 3선 10:00 | 476 → 475 | −2.42 → −1.87 | +0.42 → −0.13 |
| H339 | 3선 11:00 | 493 → 489 | −3.20 → −2.36 | +1.20 → +0.36 |
| H340 | 3선 13:00 | 497 → 491 | −1.79 → −1.59 | −0.21 → −0.41 |
| H341 | 3선 14:00 | 498 → 493 | −1.87 → −1.79 | −0.13 → −0.21 |
| H342 | 3선 15:00 | 494 → 492 | −1.69 → −1.70 | −0.31 → −0.30 |
| H343 | 3선 15:20 | 506 → 504 | −1.48 → −1.47 | −0.52 → −0.53 |
| H344 | 3선 15:30 | 500 → 496 | −1.20 → −1.18 | −0.80 → −0.82 |
| H345 | 10선 10:00 | 501 → 499 | −4.16 → −3.99 | +2.16 → +1.99 |
| H346 | 10선 11:00 | 496 → 497 | −2.11 → −2.14 | +0.11 → +0.14 |
| H347 | 10선 13:00 | 522 → 518 | −1.36 → −1.57 | −0.64 → −0.43 |
| H348 | 10선 14:00 | 526 → 524 | −0.87 → −1.35 | −1.13 → −0.65 |
| H349 | 10선 15:00 | 525 → 520 | −0.83 → −1.02 | −1.17 → −0.98 |
| H350 | 10선 15:20 | 528 → 520 | −1.62 → −1.74 | −0.38 → −0.26 |
| H351 | 10선 15:30 | 528 → 521 | −1.49 → −1.68 | −0.51 → −0.32 |
| H352 | 3선 다음 날 | 502 → 493 | −0.74 → −0.73 | −1.26 → −1.27 |
| H353 | 10선 다음 날 | 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선). 투신과 외국인합은 개장 뒤 누적 순매수 계약이다.
| 시각 | 투신 | 외국인합 |
|---|---|---|
| 2026-10-20 08:55:30 | −95 | −723 |
| 2026-10-20 08:56:00 | −95 | −719 |
| 2026-10-20 10:59:30 | −1,719 | 1,723 |
| 2026-10-20 11:00:00 | −1,719 | 1,723 |
| 2026-10-20 11:00:30 | −1,719 | 1,768 |
입력 2: 정본 런의 일별 패널(panel.csv) 같은 날 행 가운데 몇 열. tu 는 Ft, ztu 는 zt, entry 는 t+1분 진입가, R 은 Rt(틱), zpx 는 가격 z 다.
| 열 | 3선 | 10선 |
|---|---|---|
| ok_day, close_px | True, 103.06 | True, 106.57 |
| tu, ztu 10:00 | −1,374, −2.19 | 154, +0.76 |
| tu, ztu 11:00 | −1,719, −1.67 | 470, +1.70 |
| entry, R 11:00 | 102.92, +14 | 106.17, +40 |
| zpx 11:00 | +0.55 | +0.45 |
| tu, ztu, R 15:30 | −2,633, −1.53, +2 | 597, +1.30, +11 |
| N(다음 날) | +8 | +19 |
출력: 규칙 거래 원장(trades.csv)의 실제 행. dir 은 D, gross 와 net1 은 틱이다.
| date | hyp | tenor | time | z | dir | gross | net1 |
|---|---|---|---|---|---|---|---|
| 2019-03-08 | H338 | 3선 | 10:00 | +1.59 | +1 | 0 | −1 |
| 2019-03-11 | H338 | 3선 | 10:00 | +1.21 | +1 | −3 | −4 |
| 2026-10-20 | H339 | 3선 | 11:00 | −1.67 | −1 | −14 | −15 |
| 2026-10-27 | H339 | 3선 | 11:00 | +1.43 | +1 | +6 | +5 |
| 2026-10-30 | H339 | 3선 | 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거래일