세 줄 요약
- 롤 주간에 외국인이 3선을 1만 계약 더 사면 다음 날 원월 − 근월 스프레드는 발견 구간 −2.32틱(t −3.09, 204일) 움직였지만, 확인 구간에서는 +1.29틱(t +2.47, 153일)으로 부호가 뒤집혔다.
- 발견 구간에서 정한 음(−) 방향의 확인 구간 한쪽 p 는 0.993 이다. 기관 순매수(E1)도 발견 t +3.12 → 확인 t −2.23 으로 똑같이 뒤집혔다. 표본에는 만기 전후 하루에 스프레드가 ±60틱 넘게 뛰는 날이 21일 있어 회귀를 흔든다.
- 롤 수급으로 다음 날 스프레드 변화를 예측할 수 없다. 판정은 폐기다.
가설과 결론
국채선물은 3개월마다 만기가 온다. 만기 직전 며칠 동안 근월물을 가진 투자자는 근월물을 팔고 원월물을 사서 포지션을 다음 만기로 옮긴다(롤오버). 외국인은 3선의 큰 보유자라 그들의 롤 방향과 속도가 두 월물 사이 가격 차이(캘린더 스프레드)를 하루 이틀 밀어낼 수 있다. 롤 수급이 스프레드를 밀고 다음 날 더 밀거나 되돌린다면, 그날 수급을 보고 스프레드 매매를 할 여지가 생긴다.
이 실험은 롤 주간 그날 외국인 순매수가 다음 거래일 스프레드 변화를 미국 금리 변화 위에 설명하는지 물었다. 부호는 발견 구간에서 정하고 확인 구간에서 같은 방향인지 본다.
| 가설 | 내용 | 결과 | 한쪽 p | 판정 |
|---|---|---|---|---|
| H283 | y = a + bus·g_us + bx·x (HAC 2) 에서 확인 구간 bx 가 발견 부호(−) 방향 | 발견 −2.32, 확인 +1.29 (틱/만 계약) | 0.993 | 부호 뒤집힘, 폐기 |
확인 구간 계수는 반대 방향으로 오히려 t +2.47 이다. 같은 프로그램 주가설 63개(H259 ~ H321)에 Holm 보정을 걸면 1.00 이다. 판정은 폐기다. 관계가 있다면 시기마다 방향이 바뀌어 예측에 쓸 수 없다.
용어와 기호
- 3선
- 한국거래소 3년 국채선물. 3, 6, 9, 12월 셋째 화요일에 만기
- 근월물, 원월물
- 만기가 가장 가까운 월물과 그 다음 월물
- 틱
- 3선 가격의 최소 단위 0.01. 계약당 1만원
- 롤오버, 롤 주간
- 만기 전에 근월물을 정리하고 원월물로 옮기는 일. 자료에서 투자자별 롤 수급이 기록된 만기 직전 5 ~ 28 거래일(평균 9.4일)
- sp
- 스프레드 = (원월물 종가 − 근월물 종가) × 100(틱)
- y
- 다음 거래일 sp − 오늘 sp(틱). 다음 거래일이 5 달력일보다 멀면 비운다
- x(외국인합)
- 그날 3선 외국인 순매수(계약). 롤 주간에는 원월 쪽 롤 수급이 주로 담긴다
- 기관계, 개인
- 같은 날 기관 전체, 개인의 순매수(계약). 탐색 E1 에서 x 자리에 넣는다
- sp_dev
- 오늘 sp − 직전 3일 sp 평균. 탐색 E2(스프레드가 평소에서 벗어나면 되돌아오는가)
- g_us
- 미국 10년 국채금리의 하루 변화(bp, 뉴욕 날짜 기준). 통제 변수
- bx
- x 의 계수. 이 페이지는 1만 계약당 틱으로 적는다(원 계수 × 10,000)
- HAC 표준오차
- 이웃한 날 오차가 닮는 것과 분산이 날마다 다른 것을 견디는 표준오차(Newey-West, 지연 2)
- t, 한쪽 p
- t 는 계수 / 표준오차. 한쪽 p 는 효과가 0 인데 발견 구간 부호 방향으로 이만큼 나올 확률
- 발견 구간, 확인 구간
- 발견 2016-10 ~ 2022-12 에서 부호를 정하고, 확인 2023-01 ~ 2026-06 에서만 판정한다
- Holm 보정
- 여러 가설을 함께 시험할 때 우연한 통과를 막도록 p 를 가설 수에 맞춰 단계적으로 키우는 방법
자료
데이터셋
| 자료 | 원천 | 기간 | 해상도 | 쓰임 |
|---|---|---|---|---|
| 3선 투자자별 롤오버(근월물, 원월물 종가, 결제월, 투자자별 순매수) | 인포맥스 단말(수급 원장 investors_rollover_f3y) | 2016-10-31 ~ 2026-06-12 | 일, 원월물 있는 날 2,358행, 수급 있는 날 366행 | sp, y, x, 기관계, 개인 |
| 미국 10년 금리 | FRED DGS10 | 2016 ~ 2026 | 일 | g_us(통제) |
| 항목 | 발견 2016-10 ~ 2022 | 확인 2023 ~ 2026-06 |
|---|---|---|
| 회귀 표본(일) | 204 | 153 |
| 롤 주간(만기) 수 | 25 | 14 |
| sp 평균, 표준편차(틱) | +4.9, 25.3 | −5.9, 22.4 |
| y 표준편차(틱) | 36.8 | 20.8 |
| x 평균, 표준편차(계약) | −16,029, 27,908 | −14,409, 31,321 |
| |y| ≥ 60틱 인 날(만기 전후) | 16 | 5 |
언제 무엇을 아는가
| 시각 | 일어나는 일 |
|---|---|
| s 일 15:45 | 3선 근월물, 원월물 종가. sp 확정 |
| s 일 장 마감 뒤 | 그날 투자자별 순매수 공표. x 확정 |
| s+1 일 새벽 | 뉴욕 날짜 s 의 미국 10년 금리 확정(g_us). y 창 안에 들어가는 동시 통제 |
| s+1 일 15:45 | 다음 거래일 종가. y = sps+1 − sps 확정 |
x 는 y 창이 시작되기 전에 알려져 있으므로 예측 변수다. g_us 는 y 창 안에서 생기는 값이라 예측 변수가 아니라 같은 시기 금리 충격을 빼는 통제로만 쓴다.
방법
- 표본. 롤오버 원장에서 원월물 가격이 있는 날을 쓰고, 외국인 순매수가 기록된 롤 주간 날만 회귀에 넣는다.
- 회귀. y 를 g_us 와 x 에 회귀한다. 표준오차는 HAC(지연 2).
- 판정. 발견 구간 bx 부호(음)를 잠그고, 확인 구간 bx 가 같은 방향일 한쪽 p < 0.05 면 지지.
- 다중검정. 같은 프로그램 주가설 63개에 Holm 보정.
- 판정에 쓰지 않는 탐색. x 대신 기관계, 개인 순매수(E1). 스프레드 이탈 sp_dev 의 되돌림(E2, 롤 주간에 한정하지 않고 원월물이 있는 모든 날).
모델
모델은 설명 변수 두 개짜리 선형회귀다. 학습하는 값은 상수, g_us 계수, x 계수 세 개다. 가격이 아니라 스프레드 변화를 맞히는 문제라 두 월물에 공통인 금리 수준 움직임은 대부분 빠지고, 남는 것은 두 월물 사이 상대 가격의 변화다.
| 항목 | 값 |
|---|---|
| 목표 y | 다음 거래일 스프레드 변화(틱), 다음 거래일이 5 달력일 넘게 떨어지면 결측 |
| 설명 변수 | 상수, g_us(bp), x(계약) |
| 표본 | 외국인 순매수가 있는 롤 주간 날 |
| 추정 | 최소제곱, 구간별 한 번 |
| 표준오차 | Newey-West HAC, 지연 2 |
| 부호 | 발견 구간 bx 의 부호로 고정 |
| 변수 | 발견(204일) | 확인(153일) |
|---|---|---|
| 상수(틱) | −4.93 (−2.31) | +1.68 (1.11) |
| g_us, 1bp 당(틱) | +0.13 (0.35) | −0.34 (−2.05) |
| x, 1만 계약당(틱) | −2.32 (−3.09) | +1.29 (2.47) |
| R² | 0.031 | 0.052 |
결과
확증 결과
| 항목 | 발견 2016-10 ~ 2022 | 확인 2023 ~ 2026-06 |
|---|---|---|
| 표본 | 204 | 153 |
| x 계수(틱/만 계약) | −2.32 (t −3.09) | +1.29 (t +2.47) |
| 부호(발견에서 고정) | − | |
| 한쪽 p | 0.993 | |
| Holm 보정 p(63개) | 1.00 |
발견 구간에서는 외국인이 많이 판 날 다음 날 스프레드가 벌어졌고, 확인 구간에서는 많이 판 날 다음 날 스프레드가 좁혀졌다. 두 결과 모두 t 의 크기로는 우연이 아닌 것처럼 보이지만 방향이 반대다. 한 구간에서 유의한 관계가 다음 구간에서 정반대로 유의하면, 그 관계는 예측에 쓸 수 있는 구조가 아니다.
분위와 연도로 보면
아래는 판정에 쓰지 않는 기술 통계다(results/20261030T163947_detail/, 확증 수치를 먼저 다시 만들어 일치를 확인한 뒤 계산).
| 분위 | 발견 x 평균 | 발견 y | 확인 x 평균 | 확인 y |
|---|---|---|---|---|
| 1(가장 많이 판 날) | −64,999 | +13.4 | −66,586 | −7.3 |
| 2 | −17,360 | +3.4 | −8,763 | +2.6 |
| 3 | −1,346 | −11.7 | −633 | −0.2 |
| 4 | −27 | +1.1 | 0 | −1.6 |
| 5(가장 많이 산 날) | +3,978 | −11.9 | +5,462 | +7.7 |
| 분위당 표본 | 40 ~ 41 | 26 ~ 35 | ||
분위별로 보면 어느 구간도 단조롭지 않다. 롤 주간 외국인 순매수는 대부분 음(롤 과정에서 근월을 크게 팔고 원월을 사는 날이 섞여 순매수가 음으로 기록)이고, 양인 날은 작다.
| 연도 | 계수 | 연도 | 계수 |
|---|---|---|---|
| 2017 | −9.73 (−2.84), 25 | 2022 | +0.43 (0.35), 66 |
| 2018 | −2.95 (−1.73), 24 | 2023 | +3.23 (1.97), 43 |
| 2019 | +1.21 (1.66), 27 | 2024 | +1.25 (1.49), 45 |
| 2020 | −1.92 (−2.47), 26 | 2025 | +0.43 (0.92), 45 |
| 2021 | −7.38 (−1.99), 30 | 2026(6월까지) | +15.26 (1.91), 20 |
탐색 결과
| 항목 | 발견 | 확인 | 발견 부호 방향 한쪽 p |
|---|---|---|---|
| E1 기관계 순매수(틱/만 계약) | +1.83 (t 3.12), 275일 | −1.14 (t −2.23), 176일 | 0.987 |
| E1 개인 순매수(틱/만 계약) | −6.14 (t −1.38), 273일 | +7.28 (t 0.88), 169일 | 0.809 |
| E2 스프레드 이탈 sp_dev(틱/틱) | −0.678 (t −14.6), 1,455일 | −0.596 (t −13.6), 805일 | 0.000 |
기관은 외국인과 반대편에서 롤 물량을 받는 경우가 많아 외국인과 거울상이다(같이 뒤집혔다). E2 는 두 구간 모두 매우 강하다. 스프레드가 직전 3일 평균보다 1틱 벌어지면 다음 날 약 0.6 ~ 0.7틱 되돌아온다. 다만 이 되돌림의 상당 부분은 만기 직전 하루 뛰었다가 다음 날 제자리로 오는 자료상의 뾰족점(그림 1)에서 나오므로, 매매 가능한 되돌림이라고 보기 어렵다.
해석
롤 주간 외국인 순매수 숫자에는 두 가지가 섞여 있다. 근월을 팔고 원월을 사는 롤 자체(순매수에는 거의 0 으로 잡힌다)와 방향성 매매다. 그래서 순매수만으로는 롤 압력이 어느 쪽으로 걸렸는지 알기 어렵다. 게다가 스프레드 변화의 큰 값은 만기 직전의 가격 결정 방식에서 나오는 경우가 많아 수급과 무관한 잡음이 크다. 관계의 방향이 2022 년을 경계로 뒤집힌 것은 시장 구조(누가 롤을 받는가)가 바뀌었을 가능성을 보여 줄 뿐, 미리 알고 쓸 수 있는 규칙이 아니다.
한계
- 만기 전후 하루에 스프레드가 ±60틱 넘게 뛰는 날이 21일 있다. 근월물 마지막 거래일의 가격 결정이나 원장의 월물 표기 전환에서 생긴 값으로 보이며, 확증 런은 이를 거르지 않았다. 발견 구간의 음의 계수와 E2 의 강한 되돌림은 이 날들에 크게 기댄다.
- 투자자별 순매수가 근월과 원월을 합친 값인지 월물별인지 원장만으로 확인하지 못했다. 롤 압력을 재려면 월물별 수급이 필요하다.
- g_us 는 y 창 안의 동시 값이라 통제로만 썼다. 이 회귀를 그대로 매매 신호로 옮길 수는 없다.
- 롤 주간 수가 발견 25번, 확인 14번으로 적다. 날 수가 204, 153 이어도 같은 만기 안의 날들은 서로 닮는다.
산출물
- 계획
protocol.md(사전등록 88b2c97) - 코드
code/s1_roll.py(확증),code/s_detail.py(기술 통계),code/render_figures.py(그림) - 런
results/20261029T160608_main/,results/20261030T163947_detail/(rollover_rows.csv, metrics.json)
Appendix
A. 데이터셋 실물
rollover_rows.csv 의 실제 행(2026-06 만기 롤 주간과 2026-03 만기 직전). 열은 날짜, 근월물과 원월물 종가, 근월물 결제월, sp, y, 외국인과 기관과 개인 순매수(계약), g_us(bp).
| 날짜 | 근월물 | 원월물 | 결제월 | sp | y | 외국인 | 기관 | 개인 | g_us |
|---|---|---|---|---|---|---|---|---|---|
| 2026-03-16 | 104.83 | 104.22 | 2026.03 | −61 | +131 | +30,351 | −29,043 | −713 | −5 |
| 2026-03-17 | 104.20 | 104.90 | 2026.03 | +70 | −75 | +3,022 | −5,388 | +1,708 | −3 |
| 2026-06-08 | 102.77 | 102.30 | 2026.06 | −47 | 0 | −4,000 | +3,293 | +766 | +1 |
| 2026-06-09 | 103.01 | 102.54 | 2026.06 | −47 | −8 | −5,989 | +6,335 | +142 | −3 |
| 2026-06-10 | 103.13 | 102.58 | 2026.06 | −55 | +2 | −10,178 | +8,184 | +12 | +2 |
| 2026-06-11 | 103.07 | 102.54 | 2026.06 | −53 | +6 | +23,691 | −23,345 | −2,053 | −10 |
2026-03-16 → 17 처럼 만기일을 끼고 스프레드가 −61 → +70 → 다시 제자리로 오는 행이 위 한계 절의 뾰족점이다.
B. 모델 입출력 실물
- Request meta
- 2026-06-10 장 마감 뒤, 2026-06 만기 롤 주간. 계수는 발견 구간에서 잠근 부호(−)와 확인 구간 추정치
- Input
- x = 외국인 순매수 −10,178 계약, sp = −55틱, g_us = +2bp(통제)
- Model response
- 발견 구간 계수로 x 몫 기대 = −2.32 × (−1.0178) ≈ +2.4틱(스프레드 확대). 확인 구간 계수로는 +1.29 × (−1.0178) ≈ −1.3틱(축소). 두 구간의 답이 반대다
- Ground truth check
- 2026-06-11 sp = −53, y = +2틱. 이날은 발견 구간 방향과 맞았지만, 확인 구간 전체로는 반대 방향이 우세했다
C. 실험 설정
- 자료3선 투자자별 롤오버 원장, 원월물 가격이 있는 날, 외국인 수급이 있는 롤 주간 날만 회귀
- 목표다음 거래일 sp 변화(틱), 5 달력일 넘게 떨어지면 결측
- 회귀y ~ g_us + 외국인합, HAC 지연 2
- 분할발견 2016-10 ~ 2022-12, 확인 2023-01 ~ 2026-06
- 문턱발견 부호 방향 확인 한쪽 p < 0.05, 63개 Holm 함께 보고
- 탐색E1 기관계, 개인, E2 sp_dev(직전 3일 평균 대비, 모든 날)