덤프에 있으면서 지금까지 어떤 실험도 값으로 읽지 않은 표를 다섯 개
골라, 표마다 예측 문제를 하나씩 붙였다. 모델 격자는 고정하고 데이터 축만
움직였다. 다섯 중 셋이 사전등록 문턱을 넘었고, 그중 하나는 이 저장소에서
처음으로 단순 규칙을 유의하게 넘었다.
채택 3 · 미지지 2시험 2021~2026적합 135건 · 벽시계 3분런 1회 (정본)
야간 미국채가 국채선물 개장 갭의 82.85%를 방향으로
맞히고(규칙 78.78% · 짝지은 McNemar p=0.0011), 종목 대차·외국인 잔고가 익일
상대가치에서 일별 랭크 IC +0.0251(Newey-West t=2.37)을 내며, 장마감
현선 괴리는 되돌지 않고 이어진다(66.87% · 적응 상수 대비 +1.28%p ·
p=0.0071). 반대로 국고채 입찰 결과와 단기자금 금리는 각각 오후 방향·익일
커브 기울기를 말하지 않았다.
무엇을 물었나
앞선 실험들은 같은 피처 스토어를 돌려 쓰며 모델만 바꿨다. 이
실험은 축을 데이터로 돌린다. 표마다 그 표가 자연스럽게 답할 수 있는 문제를
하나씩 세우고, 모델은 계열 넷(선형·배깅트리·부스팅·거리)으로 고정한다.
이기고 지는 것이 데이터 때문인지만 보려는 것이다.
H24 · P1
야간(전일 15:45 → 당일 08:45) 해외 금리가 3년 국채선물
개장 갭을 규정한다. 모델이 «미국채 10년 금리의 반대 부호» 규칙을 넘는다.
H25 · P2
국고채 입찰 결과(응찰율·부분낙찰율·테일)가 그날 오후
선물 방향을 담고 있다.
H26 · P3
종목별 대차잔량·외국인 잔고가 익일 상대 리치/치프를
예측한다(대차가 늘면 상대적으로 싸진다).
H27 · P4
단기자금 긴장(CD·콜·KOFR 스프레드)이 익일 3선↔10선
기울기를 예측한다.
H28 · P5
장마감 현선 괴리(잔차)가 익일 되돌림을 예측한다.
기호: 틱 = 국채선물 호가 한 칸(0.01) · bp =
0.01%p · 잔차 = 종목 금리에서 그날 커브 회귀선을 뺀 값 · 랭크 IC =
하루 횡단면에서 예측 순위와 실현 순위의 스피어만 상관 · 정직 선택 =
설정을 시험연도 이전 성적만 보고 고르는 것.
데이터셋
다섯 탐침이 쓰는 원천은 아래와 같다. 앞선 실험이 값으로 읽은 표는 하나
뿐이고(미국채 분봉 ust_intra), 그것도 한국 장중 창에서 다른
타깃에 쓴 것이다 — 여기서는 야간 창이다. 나머지는 이 실험이 처음 연다.
탐침마다 표본 구간이 다르다. 옅은 칸은 학습 전용 구간,
진한 칸은 시험연도다. 미국채 분봉이 2021년부터라 P1 의 표본이 가장 짧고,
현선갭 원장이 2026-08-13 에서 끊겨 P5 의 오른쪽 끝이 앞선다.
look-ahead 를 어디서 끊었나. P1 은 08:45(개장 15분
전, 미국 시장은 05:00 에 닫는다) · P2 는 11:00(경쟁입찰 결과 공표 약 10:40 뒤) ·
P3·P4·P5 는 T일 종가 원장이다. 피처가 그 시각 뒤 정보를 건드리면 창을 자르는
코드(code/probes9.py 의 _win)에서 잘린다.
롤 당일은 P1 표본에서 뺐다 — 근월 코드가 바뀌는 날의 «갭» 은 야간 뉴스가
아니라 계약 간 스프레드다(19일, 갭 표준편차 41.0틱 대 보통날 11.7틱).
채점과 분할
다섯 탐침이 같은 규율로 채점된다. 확장창 워크포워드 — 시험연도 Y 의
학습 표본은 Y 이전 자료뿐이고, 설정 선택도 Y 이전 성적만 본다. 첫 시험연도는
앞이 없어 사전등록한 대체 설정(분류 logit_l2 · 회귀
ridge)을 쓴다. 시드는 5개(0~4)이고 시드가 도는 모델만 흔들림을
잰다.
폴드마다 학습창이 넓어지고 시험은 그 해 한 칸이다. 막대 안 숫자는
그 폴드가 쓴 행 수다(P3·P5 는 종목-일이라 수가 크다).
방향 채점은 y ∈ {−1, +1} 만 센다. 변화가 정확히 0 인 표본
(P1 59일 · P2 38일 · P4 98일 · P5 73건)은 무효로 빼고 그 수를 보고한다 — 0 을
한쪽에 붙이면 승률이 그 규칙에서 나온다. 판정 문턱은 실행 전에 박았다.
사전등록 판정 문턱(protocol.md §6). 분류는 셋을 모두,
패널은 둘을 모두 넘어야 채택이다.
갈래
문턱 1
문턱 2
문턱 3
분류(P1·P2·P4·P5)
모든 기준선 초과
짝지은 McNemar p<0.05
차이 > 시드 흔들림 × 2
패널(P3)
일별 IC 평균 > 0 이고 Newey-West(lag 5) t > 2.0
되돌림 기준선과 짝지은 Wilcoxon p<0.05
차이 > 시드 흔들림 × 2
모델
격자는 다섯 탐침이 똑같다. 계열 넷을 고르게 두는 것이 목적이다.
분류 여섯, 회귀 셋(P3)이며 하이퍼파라미터는 아래가 전부다.
모델 격자. 전처리는 결측을 학습창 중앙값으로 채우고, 선형·거리
계열만 표준화한다(트리는 단조 변환에 불변이라 필요 없다).
이름
계열
무엇을 학습하나
설정
logit_l2
선형
피처의 가중합으로 로그오즈
L2 · C=0.1 · 최대 2,000회
logit_l1
선형(희소)
계수를 0 으로 눌러 피처를 고른다
L1 · C=0.05 · liblinear
knn
거리
적합하지 않는다 — 표를 기억하고 이웃에게 묻는다
k=25 · 1/거리 가중
et
배깅트리
분기 지점을 무작위로 뽑은 트리 400그루의 평균
깊이 6 · 잎 최소 20 · √p
rf
배깅트리
부트스트랩 표본마다 최적 분기를 찾은 트리 400그루
깊이 6 · 잎 최소 20 · √p
hgb
부스팅
앞 트리가 남긴 잔차를 다음 트리가 메운다
깊이 3 · 학습률 0.05 · 300회 · L2 1.0
ridge (P3)
선형 회귀
잔차 변화(bp)를 가중합으로
α=10
et·hgb (P3)
회귀판
위와 같되 출력이 bp
트리 300 · 잎 최소 50
기준선은 탐침마다 다르다. 공통은 적응 상수(후행 120표본의 다수
방향)이고, 여기에 그 표의 단순 규칙이 붙는다 — P1 은 «미국채 10년 금리
변화의 반대 부호», P2 는 오전 모멘텀과 응찰율 규칙, P4 는 기울기 모멘텀과 그
반대, P5 는 잔차 되돌림, P3 은 전일 잔차 변화의 반대다.
아래 구조도는 학습된 객체에서 그렸다(모식도가 아니다). 정직 선택이
마지막 시험연도에 고른 다섯 설정은 커밋된 예측을 그대로 다시 내는지 확인한
뒤에만 그렸다(P1 174행 · P2 68행 · P3 13,476행 · P4 179행 · P5 975행 전부
부호 일치). 격자에 있었지만 마지막 해에 뽑히지 않은 설정도 같은 폴드에서
그려 돌린 모델 일곱을 모두 싣는다.
선형 · 로지스틱 회귀(L2) — 탐침 P1 · 마지막 폴드(학습 960행) · 재현 확인
전처리 단계와 계수 요약. 절편과 0 이 아닌 계수 수를 함께 적는다.표준화된 공간이라 계수 크기를 서로 견줄 수 있다.
부스팅 · 히스토그램 그래디언트 부스팅 — 탐침 P2 · 마지막 폴드(학습 576행) · 재현 확인
세팅(상한)과 실현값(실제로 닿은 깊이·잎 수)을 나란히 둔다.분기 조건·표본 수·잎값 그대로. 그림이 넓으면 잎을 가지치기해 그린다.마지막 트리 — 앞 트리와 같은 규칙으로 그렸다.
P2 · 깊이 × 피처 분기표
분기 위치 \ 피처
f_band_bp_w
f_size_vs_out
f_surprise_bp_w
f_morning_tick
f_cover_w
f_partial_w
f_size_jo
f_cover_min
f_alloc_ratio
f_cover_max
f_tail_bp_w
f_tail_bp_max
f_has_10y
f_dow
f_has_3y
f_n_auction
f_has_5y
f_has_20y
f_has_30y
f_has_50y
합
깊이 0 (뿌리)
22
52
39
24
18
6
12
12
25
36
19
14
21
0
0
0
0
0
0
0
300
깊이 1
106
53
56
38
39
34
45
41
39
25
20
27
0
7
0
1
0
0
0
0
531
깊이 2
91
79
80
79
74
67
48
48
37
38
34
22
3
2
3
0
0
0
0
0
705
분기 합
219
184
175
141
131
107
105
101
101
99
73
63
24
9
3
1
0
0
0
0
1,536
손실 감소(gain) 몫
15.0%
10.8%
10.5%
7.7%
9.1%
8.3%
6.6%
7.3%
5.8%
8.1%
4.0%
5.2%
0.8%
0.6%
0.3%
0.0%
0.0%
0.0%
0.0%
0.0%
100%
어느 깊이에서 어느 피처가 얼마나 쓰였는지.
부스팅 · 히스토그램 그래디언트 부스팅 — 탐침 P3 · 마지막 폴드(학습 119,107행) · 재현 확인
세팅(상한)과 실현값(실제로 닿은 깊이·잎 수)을 나란히 둔다.분기 조건·표본 수·잎값 그대로. 그림이 넓으면 잎을 가지치기해 그린다.마지막 트리 — 앞 트리와 같은 규칙으로 그렸다.
P3 · 깊이 × 피처 분기표
분기 위치 \ 피처
f_rich_chg1
f_rich_chg5
f_rich_bp
f_dur
f_out_log
f_fo_chg5
f_fo_chg20
f_lend_chg5
f_fo
f_lend
f_out_chg5
f_lend_chg1
합
깊이 0 (뿌리)
51
35
75
45
13
6
17
9
0
8
17
4
280
깊이 1
135
154
125
58
18
34
6
11
9
9
0
1
560
깊이 2
265
258
242
153
52
13
28
28
22
12
1
7
1,081
분기 합
451
447
442
256
83
53
51
48
31
29
18
12
1,921
손실 감소(gain) 몫
26.9%
22.0%
33.7%
9.8%
2.5%
0.9%
0.9%
1.7%
0.8%
0.5%
0.1%
0.2%
100%
어느 깊이에서 어느 피처가 얼마나 쓰였는지.
거리 · k-최근접이웃 — 탐침 P4 · 마지막 폴드(학습 1,822행) · 재현 확인
세팅과 전처리 단계. 이 계열은 적합하지 않고 표를 기억한다.가까운 순서 · 그 이웃의 정답 · 1/거리 가중치.
배깅트리 · RandomForest — 탐침 P5 · 마지막 폴드(학습 5,427행) · 재현 확인
세팅(상한)과 실현값(실제로 닿은 깊이·잎 수)을 나란히 둔다.분기 조건·표본 수·잎값 그대로. 그림이 넓으면 잎을 가지치기해 그린다.마지막 트리 — 앞 트리와 같은 규칙으로 그렸다.
P5 · 깊이 × 피처 분기표
분기 위치 \ 피처
f_tick_bp
f_resid_ma5
f_resid_lag1
f_resid_bp
f_stale_sec
f_fut_bp
f_resid_sd20
f_spread_mp_bp
f_cash_bp
f_dow
f_tenor
합
깊이 0 (뿌리)
104
56
36
66
5
7
3
20
12
0
91
400
깊이 1
139
110
97
117
27
40
31
58
65
6
110
800
깊이 2
221
193
175
194
151
156
93
107
126
52
114
1,582
깊이 3
362
327
339
325
286
290
266
208
241
130
79
2,853
깊이 4
527
548
504
456
458
423
422
351
297
195
56
4,237
깊이 5
715
645
649
626
517
474
527
454
390
285
55
5,337
분기 합
2,068
1,879
1,800
1,784
1,444
1,390
1,342
1,198
1,131
668
505
15,209
어느 깊이에서 어느 피처가 얼마나 쓰였는지.
선형 · 로지스틱 회귀(L1, 희소) — 탐침 P1 · 마지막 폴드(학습 960행) · 격자 예시
전처리 단계와 계수 요약. 절편과 0 이 아닌 계수 수를 함께 적는다.표준화된 공간이라 계수 크기를 서로 견줄 수 있다.
세팅(상한)과 실현값(실제로 닿은 깊이·잎 수)을 나란히 둔다.분기 조건·표본 수·잎값 그대로. 그림이 넓으면 잎을 가지치기해 그린다.마지막 트리 — 앞 트리와 같은 규칙으로 그렸다.
P1 · 깊이 × 피처 분기표
분기 위치 \ 피처
f_dow
f_ustfut_10y_bp
f_ust_5y_all_bp
f_ust_10y_all_bp
f_ust_2y_all_bp
f_ustfut_30y_bp
f_ust_10y_eve_bp
f_ust_5y_eve_bp
f_ustfut_2y_bp
f_ust_2y_eve_bp
f_ust_5y_ny_bp
f_ust_10y_ny_bp
f_gap_days
f_ust_2y_ny_bp
f_ust_slope_all_bp
f_ust_10y_rng_bp
f_gap_sd20
f_ust_10y_dawn_bp
f_ust_10y_vol_bp
f_prev_sess_tick
f_prev_range_tick
f_gap_ma5
f_ust_2y_dawn_bp
f_prev_gap_tick
f_ust_5y_dawn_bp
f_nasdaq_pct
합
깊이 0 (뿌리)
20
34
27
26
22
35
24
14
23
14
11
22
7
19
12
4
8
10
5
4
5
8
10
3
3
7
377
깊이 1
41
47
31
46
45
29
28
33
23
30
28
34
20
19
12
25
14
11
9
18
12
8
9
9
7
7
595
깊이 2
55
60
48
54
50
41
39
44
29
45
25
40
29
27
21
17
25
20
35
13
15
9
17
9
15
14
796
깊이 3
76
74
65
65
48
49
49
40
49
37
31
22
27
27
27
25
21
23
23
21
25
16
21
26
20
12
919
깊이 4
72
56
72
60
57
47
43
47
43
39
39
24
26
23
27
22
22
34
20
28
20
29
21
21
15
13
920
깊이 5
85
52
66
56
42
39
42
33
27
22
29
21
32
22
23
24
25
17
19
15
16
23
15
24
20
13
802
분기 합
349
323
309
307
264
240
225
211
194
187
163
163
141
137
122
117
115
115
111
99
93
93
93
92
80
66
4,409
어느 깊이에서 어느 피처가 얼마나 쓰였는지.
선형 · 릿지 회귀 — 탐침 P3 · 마지막 폴드(학습 119,107행) · 격자 예시
전처리 단계와 계수 요약. 절편과 0 이 아닌 계수 수를 함께 적는다.표준화된 공간이라 계수 크기를 서로 견줄 수 있다.
결과
정본 런 results/20260922_164331_probes/. 성능은 모두
정직 선택 값이다(사후 최고가 아니다).
탐침
시험 표본
성능
기준선
짝지은 검정
판정
P1 야간 해외금리 → 개장 갭
834일
승률 0.8285
규칙 0.7878 · 적응상수 0.5072
규칙 대비 b=69:c=35 · p=0.0011
채택
P2 입찰 결과 → 오후 방향
472일
승률 0.5424
응찰율 0.5297 · 적응상수 0.4958 · 오전모멘텀 0.4534
응찰율 대비 p=0.7264 · 상수 대비 p=0.1678
미지지
P3 대차·외국인 → 종목 상대가치
103,894 종목-일 (1,401일)
IC +0.0251 (NW t=2.37)
되돌림 −0.0140 · 무작위 0
Wilcoxon p=0.0385 (짝 1,327일)
채택
P4 단기자금 → 커브 기울기
1,385일
승률 0.5177
적응상수 0.4910 · 되돌림 0.4845 · 모멘텀 0.4628
상수 대비 p=0.1312
미지지
P5 마감 현선갭 → 익일 잔차
5,156 종목-일
승률 0.6687
적응상수 0.6559 · 되돌림 0.3933
상수 대비 b=325:c=259 · p=0.0071
채택
분류 탐침 넷. 진한 막대가 모델, 옅은 막대가 기준선이다. P1 은
기준선 자체가 0.788 로 높고 그 위를 넘었다. P5 는 수준(0.669)이 높아 보이지만
적응 상수가 이미 0.656 이다 — 이 탐침이 번 것은 그 위의 1.3%p 다.연도별 승률. P1 은 네 해 모두 0.80 이상이고, P2·P4 는 해마다
0.47~0.58 사이를 오간다 — 합산 승률이 가리는 자리다.
설정별 합산 승률(P3 은 일별 IC). 시험연도 전체를 합쳐 사후로 본
값이라 성능이 아니라 참고다 — 판정에 쓴 값은 위 표의 정직 선택이다.
탐침
logit_l2
logit_l1
knn
et
rf
hgb
ridge
P1
0.8357
0.8249
0.8249
0.8249
0.8297
0.8165
—
P2
0.5127
0.4809
0.4958
0.4809
0.4979
0.5508
—
P3 (IC)
—
—
—
0.0294
—
0.0458
0.0093
P4
0.5083
0.5069
0.5285
0.5235
0.5148
0.4939
—
P5
0.6635
0.6674
0.6503
0.6678
0.6736
0.6505
—
탐침별로 읽기
P1 — 개장 갭의 대부분은 밤에 정해진다
야간 미국채 10년 금리 변화와 개장 갭의 상관이 −0.784다. 한 변수
규칙만으로 78.78% 가 맞고, 모델은 거기서 +4.07%p를 더한다. 네 해 모두
0.806~0.863 이고 무너지는 해가 없다. 설정별로는 선형이 위다(logit_l2
0.8357 > hgb 0.8165) — 금리에서 갭으로 가는 사상이 거의 선형이라
트리가 쪼갤 구조가 적다.
사보타주로 확인했다. 야간 피처를 하루 뒤로 밀면 같은 절차의 승률이
0.8357 → 0.5540 으로 무너지고, 피처 행을 무작위로 뒤섞으면 0.4976
이 된다. 이 승률은 «그날 밤의 정보가 그날 아침에 붙어 있다» 에서 나오며 날짜가
어긋나면 사라진다.
점 하나가 하루다. 기울기는 야간 금리 1bp 당 갭 몇 틱인지를
말한다. 규칙은 이 그림의 부호만 쓰고, 모델이 더 버는 4%p 는 기울기가
레짐마다 다르다는 사실과 만기 구간별 차이에서 온다.
P3 — 이 저장소가 처음 연 횡단면 축
매일 듀레이션 2차 회귀로 커브를 긋고 그 잔차를 종목의 리치/치프로
정의했다. 타깃은 잔차의 익일 변화다. 일별 랭크 IC 평균 +0.0251(NW t=2.37),
IC 가 양수인 날 54.26%. 되돌림 기준선은 −0.0140 으로 부호가 반대다 —
잔차는 하루 만에 되돌지 않는다. 상하위 십분위 롱숏은 +0.109bp/일
(NW t=1.75)로, 방향은 맞지만 크기가 작다.
위: 누적 일별 IC — 모델은 우상향하고 되돌림 기준선은 내려간다.
아래: 20일 이동평균. 2023년 구간이 음수로 내려앉는다(그 해 IC −0.0505).
P5 — 잔차는 되돌지 않고 이어진다
가설은 «오늘 잔차가 내일 반대로 돌아온다» 였고 틀렸다. 되돌림 규칙의
승률이 0.3933 으로 무작위보다 한참 아래다 — 부호가 이어진다는 뜻이다. 다만 이
표의 기저율이 한쪽으로 쏠려 있어(익일 잔차 양수 33.66%) 적응 상수가 이미
0.6559 를 낸다. 모델이 번 것은 그 위의 +1.28%p(p=0.0071)다.
누설 카나리아가 셋 걸렸고 셋 다 누설이 아니다.f_stale_sec·f_tick_bp·f_tenor 가 각각
0.663 을 낸다. 이 카나리아는 «피처 부호만으로» 승률을 재는데, 거의 상수인
피처는 곧 «항상 다수 클래스» 예측이 되고 그 값이 기저율 0.663 이다. 카나리아
설계의 한계다 — 다음에는 기저율 대비 초과분으로 재야 한다.
P2·P4 — 표가 그 질문에는 답하지 않는다
P2 는 응찰율·부분낙찰율·응찰금리 밴드·테일·낙찰금리 서프라이즈·발행 규모를
다 넣어도 오후 방향에서 0.5424 이고 응찰율 규칙과 갈리지 않는다(p=0.7264).
McNemar 가 갈린 표본이 204~232건뿐이라 «신호 없음» 과 «표본 부족» 을 이
실험이 가르지 못한다. P4 는 0.5177 로 적응 상수보다 높지만 p=0.1312 다.
다만 모멘텀 기준선(0.4628)은 유의하게 넘는다(p=0.0068) — 기울기는 하루 단위로
모멘텀이 아니라 되돌림에 가깝다는 사실이 남는다.
왜 그런가
세 가지가 갈렸다.
정보가 이미 값에 박혀 있는 자리(P1)에서는 표가 바로 값을 한다.
한국 시장이 닫힌 사이 미국 금리가 움직이면 그 몫은 개장가에 실릴 수밖에
없다. 모델이 할 일은 «얼마나» 를 레짐에 맞게 조정하는 것뿐이고, 그것이
규칙 대비 4%p 다.
횡단면(P3·P5)에서는 작은 신호가 많은 표본으로 유의해진다. 종목-일
표본이 10만 건이면 IC 0.025 도 t=2.37 이 된다. 반대로 그 크기가 작다는
사실도 같이 읽어야 한다 — 0.109bp/일은 비용을 견딜 수 있는 크기가 아닐 수
있다.
일 단위 방향(P2·P4)은 표본이 수백 일이라 4~5%p 차이가 있어도
유의해지지 않는다. 사전등록 §6 에서 «P2 는 문턱이 빡빡하다» 고 미리 적어
둔 그대로다.
그리고 모델 계열의 순서가 탐침마다 다르다. P1 은 선형이 1위,
P2·P3 은 부스팅, P4 는 거리(k-최근접이웃), P5 는 배깅트리다. 같은 격자를
다섯 문제에 걸었을 때 이기는 계열이 갈린다는 것은, 모델 축을 더 넓히는 것보다
문제를 바꾸는 쪽이 값이 크다는 앞선 관찰과 같은 말이다.
한계
P1 이 맞히는 값은 체결 가능한 값이 아니다. 갭을 거래하려면 전일
15:45 종가에 들어가 09:00 시가에 나와야 하는데 이 모델의 피처는 08:45 에
관측된다. 국채선물에 야간장이 없으므로 그 사이에 포지션을 만들 수 없다.
이 탐침의 값은 손익이 아니라 개장 호가 산정이다.
비용을 계산하지 않았다. P3·P5 는 원리상 체결 가능하지만 현물
스프레드가 신호 크기(0.109bp/일 · 1.28%p)보다 클 수 있다. 데스크 파라미터가
확정되면 그때 다시 판정한다.
레짐 분해를 하지 않았다. 연도별 표만 냈고, 지표 경고가 그 사실을
적는다.
P3 의 커브는 듀레이션 2차 회귀다. 쿠폰·유동성 효과가 잔차에 남고
종목 고정효과를 빼지 않았다. 잔차의 변화를 타깃으로 둔 것이 대부분을
상쇄하지만 전부는 아니다.
시드 흔들림 문턱이 이번에는 판정을 가르지 않았다. 관측 흔들림이
0.0005~0.0061 로 작아 문턱이 헐거웠고 McNemar 가 먼저 걸렸다. 문턱 셋 중
하나가 무력했다는 사실을 숨기지 않는다.
첫 런은 롤 당일 19일을 포함했다(P1 승률 0.8137). 그 19일이 계약
스프레드라는 것을 확인하고 표본에서 뺀 뒤 다시 돌린 것이 정본이며, 포함본은
삭제했다.