3년 국채선물 · 카드 날 1,326일 · 그래디언트 부스팅 확장 창 walk-forward · 2016 ~ 2026 표본 밖

밤사이 자산 특징 20개로 학습한 메타 라벨링은 3년 국채선물 되돌림 카드의 계약 배분을 개선하는가

기존 되돌림 카드를 1차 신호로 두고, 밤사이 자산 특징 20개를 받은 그래디언트 부스팅 분류기가 «이 카드 날이 비용 뒤 이길 확률» 을 내면 그 확률에 비례해 계약을 나누는 방식이 기존 R1 가중보다 나은지 쟀다. 특징, 모형, 하이퍼파라미터, seed 를 모두 미리 잠갔다.

폐기 · 확인 +0.13틱/일, p 0.23 확인 AUC 0.519 확인 카드 날 419일, 양수 연도 2/4

세 줄 요약

  1. 카드 날 1,326일에 대해 그래디언트 부스팅(깊이 3, 200회, 학습률 0.05)을 해마다 확장 창으로 다시 학습했다. 확인 구간 419일에서 메타 사이징은 같은 총 계약의 R1 보다 하루 +0.13틱 많이 벌었지만 월 블록 부트스트랩 p 0.23, 90% 구간 −0.14 ~ +0.47, 4개 연도 중 2개만 양수였다.
  2. 예측 확률의 판별력은 확인 구간 AUC 0.519 로 동전에 가깝다. 2016 ~ 2022 표본 밖에서는 확률 5분위 승률이 47% 에서 61% 로 올라갔지만 확인 구간에서는 그 순서가 무너졌다. 표본 밖에서 쓸모가 있던 특징은 미국 금리 변화와 그 크기, 미국 2년 금리뿐이고 나머지 17개는 0 이거나 해로웠다.
  3. 판정은 폐기다. 다른 자산의 밤사이 움직임은 카드의 승패를 가르지 못하고, 모델이 쓸모 있게 본 정보는 카드가 이미 쓰는 미국 금리였다.

가설과 결론

이 저장소에는 매일 쓰는 되돌림 카드가 있다. 미국 10년 금리가 밤사이 3bp 이상 움직이면 다음 날 한국 3년 국채선물이 시가에 과하게 반응했다가 장중에 되돌아간다는 관찰을 규칙으로 만든 것이다. 카드는 맞는 날도, 틀리는 날도 있다. 메타 라벨링은 금융 기계학습에서 쓰는 방법으로, 1차 신호(카드)가 나온 날에 대해 2차 모델이 «이번에는 맞을 확률이 얼마인가» 를 따로 학습하고, 그 확률로 계약 수를 조절한다. 방향은 1차 신호가 정하고 2차 모델은 크기만 정한다.

2차 모델에 줄 정보로 밤사이 다른 자산 20개(미국 금리 세 만기, 달러와 원화, 나스닥, 금, 비트코인, 독일, 프랑스, 일본 금리, 원화 상태와 수급 등)를 골랐다. 앞선 실험들에서 국면 통계가 walk-forward 에서 지고 같은 seed 재학습도 크게 흔들린다는 교훈이 있었으므로, 특징 목록, 모형, 하이퍼파라미터, seed 를 모두 사전등록에서 잠그고 아무것도 고르지 않았다. 아이디어 목록의 32번이다.

가설
H263 (카드 사이징 꼴). 확인 구간(2023-01 ~ 2026-10)에서 메타 사이징의 일별 손익 − R1 일별 손익(같은 총 계약, 비용 1틱) 평균이 0 보다 크고, 월 블록 부트스트랩 한쪽 p < 0.05 이다.
결론
미지지, 폐기. 차이 +0.134틱/일, 한쪽 p 0.227, 90% 구간 [−0.142, +0.474], 확인 4개 연도 중 2개 양수. 채택 문턱(p < 0.05, 연도 다수 양수) 모두 미달.
주가설
가설내용결과한쪽 p판정
H263확인 구간 메타 − R1 일별 차이 > 0+0.13틱/일0.227폐기

2차 프로그램 주가설 17개(H259 ~ H275)의 Holm 보정 p 는 1.00 이다. 확인 구간 차이는 양이지만 우연과 구별되지 않고, 그 양의 몫도 2023 년 한 해가 거의 다 만들었다.

용어와 기호

3선
한국거래소 3년 국채선물. 금리가 오르면 가격이 내린다
틱
국채선물 가격의 최소 단위 0.01. 계약(액면 1억원)당 1만원
bp
금리 0.01%p
세션 s, e
s 는 정보가 쌓이는 한국 거래일, e 는 그다음 한국 거래일
카드(되돌림 카드)
미국 10년 금리 밤사이 변화 g_us 가 |g_us| ≥ 3bp 이고 e 가 s 의 다음 달력일이며 롤 날이 아닐 때, 3선을 g_us 부호 방향(미국 금리 상승이면 매수, 하락이면 매도)으로 e 시가에 사서 e 종가에 판다
R1 가중
카드의 기존 계약 가중. 원화 고유 충격 ε 이 미국 금리와 반대 부호(불일치)면 1계약, 같은 부호면 0.5계약, ε 이 없으면 1계약
gross
카드 방향 × 3선 e 장중(틱). 1계약 비용 전 손익
라벨 y
gross − 1 > 0 이면 1(비용 1틱 뒤 이김), 아니면 0
p̂
2차 모델이 낸 «이 카드 날 라벨이 1 일 확률». seed 0 ~ 4 다섯 모형의 평균
메타 사이징
w_new = w_R1 · clip(2p̂, 0, 2). p̂ 가 0.5 면 R1 그대로, 0.75 면 1.5배, 0.25 면 절반
같은 총 계약
구간마다 메타 사이징의 계약 합이 R1 의 계약 합과 같도록 메타 쪽에 비례 상수 k 를 곱한다. 많이 사서 많이 번 효과를 빼고 «배분» 만 비교하려는 것이다
일별 차이
같은 카드 날의 (메타 손익 × k) − R1 손익. 판정 통계는 그 평균(틱/일)
그래디언트 부스팅
작은 결정트리를 차례로 쌓아, 앞 트리들이 틀린 만큼을 다음 트리가 고치게 하는 모델. 여기서는 scikit-learn 의 HistGradientBoostingClassifier(특징 값을 최대 255개 구간으로 묶어 분기를 찾는 구현)
확장 창
해마다 1월 첫 거래일에, 2013 년부터 그 전 해 말까지의 카드 날 전부로 다시 학습하고 그해만 예측한다. 학습 자료가 해마다 늘어난다
AUC
이긴 날과 진 날을 하나씩 뽑았을 때 이긴 날의 p̂ 가 더 높을 확률. 0.5 는 판별력 없음
순열 중요도
한 특징의 값만 무작위로 섞었을 때 AUC 가 얼마나 떨어지는지. 음수면 그 특징이 오히려 방해했다는 뜻
seed
모형 안 무작위성의 시작값. 0 ~ 4 다섯 개를 평균하기로 사전등록했다
월 블록 부트스트랩
일별 차이를 달 단위 묶음으로 복원 추출해 평균의 분포를 5,000번 다시 만드는 검정. 한쪽 p 는 «평균 > 0» 쪽
발견 구간, 확인 구간
이 실험에서 판정은 확인 2023-01 ~ 2026-10 에서만 한다. 2013 ~ 2022 는 보고만 한다(2016 전은 예측이 없어 R1 그대로)
Holm 보정
여러 가설을 함께 시험할 때 작은 p 부터 남은 가설 수를 곱해 키워 우연한 통과를 막는 방법
롤 날
3선 근월물 교체가 걸친 날. 카드에서 뺀다

자료

데이터셋

모든 특징은 0066 다자산 공통 패널의 행 s 값이다. 행 s 의 값은 모두 e 일 08:20(한국 시간) 이전에 공개된다.

특징 20개와 목표
묶음열원천기간해상도쓰임
미국 금리g_us, g_us2, g_us5(10, 2, 5년 하루 변화 bp), abs_g_us(|g_us|)FRED2013 ~ 2026-10일특징 4
달러, 원화d_dxy(달러인덱스 %), g_fx(밤사이 원화 %), eps(원화 고유 충격 ε)인포맥스 단말2013 ~ 2026-10일특징 3, eps 는 R1 가중에도
위험자산g_nq(나스닥100 선물), g_xau(금), g_btc(CME 비트코인) 로그 변화 %인포맥스 단말2015-01 ~(비트코인 2017-12 ~), 2026-10-12 까지일특징 3
해외 금리g_de10, g_fr10, g_jp10d(독, 불, 일 10년 하루 변화 bp)인포맥스 단말2013 ~ 2026-10일특징 3
원화 상태rv20(원화 20일 실현 변동성), lvl_dist(50원 단위 가격대까지 거리 %)인포맥스 단말2013 ~ 2026-10일특징 2
수급kospi_for(코스피 외국인 순매수 금액), for_share(외국인 국고채 보유 비중 %)인포맥스 단말2013 ~ 2026-10일특징 2
금리 수준base_rate(기준금리), sr1y(1년 스왑 내재 금리), pt1y(1년 스왑포인트)인포맥스 단말2013 ~ 2026-10일특징 3
목표3선 e 시가 → e 종가(틱)인포맥스 단말 일봉(연결)2013 ~ 2026-10일gross, 라벨

결측은 채우지 않고 모형에 그대로 넣는다. 이 모형은 결측을 분기마다 한쪽 가지로 보내는 법을 스스로 학습한다. 2016, 2017 년 학습에는 CME 비트코인 이력이 아직 없어서(값이 전부 결측인 열은 구간을 나눌 수 없다) 그 열을 빼고 19개로 학습했다. 2018 년부터는 20개 전부다.

카드 날과 라벨

카드 날 표본
항목2013 ~ 2022확인 2023 ~ 2026-10
카드 날907419
그중 예측이 있는 날(2016 ~)639419
라벨 1 비율(비용 1틱 뒤 이긴 날)56.6%51.8%
R1 일별 손익 평균(틱)1.490.79

언제 무엇을 아는가

하루의 흐름(한국 시간)
시각일어나는 일
s 일 15:30 ~ 16:30한국 종가 계열(원화, 스왑포인트, 외국인 수급, 기준금리)
s 일 저녁 ~ e 일 07:00독일, 프랑스 종가, 뉴욕 날짜 s 의 미국 금리, 나스닥, 금, 비트코인, 달러인덱스, 원화 NDF 확정
e 일 08:20 이전카드 판정, 특징 20개로 p̂ 계산, 계약 수 확정(정보 마감)
e 일 개장3선 시가 진입(2025-11 까지 09:00, 2025-12 부터 08:45)
e 일 15:453선 종가 청산, 라벨 확정

방법

기준선: 되돌림 카드와 R1

기준선은 같은 날짜의 카드 + R1 일별 손익이다. 카드는 방향을, R1 은 원화 충격이 미국 금리와 엇갈리면 1계약, 같은 쪽이면 0.5계약으로 크기를 정한다. 비용은 왕복 1틱이다.

메타 라벨링과 사이징

  1. 라벨. 카드 날마다 «비용 1틱 뒤 이겼나» 를 0 과 1 로 적는다.
  2. 학습. 그 전 해까지의 카드 날로 분류기를 학습한다. seed 0 ~ 4 다섯 모형을 학습해 확률을 평균한다.
  3. 사이징. 그해 카드 날마다 w_new = w_R1 · clip(2p̂, 0, 2).
  4. 비교. 구간마다 메타 쪽 계약 합을 R1 과 같게 맞추는 상수 k 를 곱하고, 같은 날짜의 손익 차이를 낸다. 확인 구간 k 는 0.899(메타가 평균적으로 조금 더 많이 사려 했다).
  5. 판정. 확인 구간 일별 차이의 월 블록 부트스트랩 한쪽 p < 0.05, 그리고 확인 연도 다수 양수.
  6. 탐색(판정에 쓰지 않음). E1 2016 ~ 2022 표본 밖의 같은 차이. E2 p̂ 5분위 실제 승률과 AUC. E3 seed 하나씩의 확인 구간 차이. E4 2022 년까지 학습한 seed 0 모형의 확인 구간 순열 중요도.

학습과 평가의 분할

확장 창 walk-forward 분할
실제 런의 분할. 한 행이 한 해의 예측이고, 짙은 막대는 학습에 쓴 카드 날(2013-01 부터 그 전 해 말까지), 주황 막대는 그해 예측한 카드 날이다. 첫 예측은 2016-01-06 이다. 판정은 아래 4행(2023 ~ 2026, 419일)에서만 하고, 그 위 7행(2016 ~ 2022, 639일)은 탐색으로 보고한다.

프로그램 공통 규칙

이 실험은 다자산 2차 프로그램(0081 ~)에 속한다. 관련 규칙을 옮긴다.

  1. 실험마다 주가설 하나. 나머지는 탐색이다.
  2. T2 카드 사이징. 카드 + R1 일별 손익 대비 일별 차이(총 계약을 기준선과 같게 비례 조정). 확인 구간 월 블록 부트스트랩 5,000회 한쪽 p < 0.05.
  3. 2차 Holm. 0081 이후 주가설 p 전체에 Holm 을 건다.
  4. 채택 문턱. 확인 구간 차이 > 0, 블록 p < 0.05, 2차 Holm < 0.05, 확인 4개 연도 중 다수 양수, 기존 카드와 독립. 통과해도 전진 장부 없이 전략 카드 후보로만 올린다.
  5. 비용. 왕복 1틱(주가설)과 2틱(보고).

모델

2차 모델은 이진 분류용 그래디언트 부스팅 결정트리다. 깊이 3 의 작은 트리 200그루를 학습률 0.05 로 쌓아, 특징 20개에서 «카드 날 승리» 의 로그 오즈를 학습한다. 비선형 관계와 특징 사이의 상호작용(예: 미국 금리가 크게 움직였고 원화도 같은 쪽일 때)을 잡을 수 있고 결측을 그대로 받는다는 점이 선택 이유다. 깊이를 3 으로, 잎당 최소 표본을 20 으로 묶은 것은 학습 표본이 268 ~ 1,244일로 작아 과적합을 막으려는 것이다.

하이퍼파라미터

HistGradientBoostingClassifier 설정(사전등록에서 잠금, 탐색 없음)
항목값뜻
max_depth3트리 한 그루의 최대 깊이
max_iter200트리 수(부스팅 반복)
learning_rate0.05각 트리 기여에 곱하는 축소 계수
min_samples_leaf20잎 하나의 최소 표본
max_leaf_nodes31(기본)트리당 잎 상한. 깊이 3 이 먼저 묶는다(최대 8잎)
l2_regularization0(기본)잎값 L2 벌점
max_bins255(기본)특징 값을 묶는 구간 수
early_stoppingauto(기본)표본 1만 개 이상일 때만 켜진다. 이 실험은 1,244일 이하라 꺼져 200그루를 다 쌓는다
losslog_loss이진 로그 손실
random_state0 ~ 4다섯 모형 확률 평균
결측 처리모형 내장분기마다 결측을 보낼 쪽을 학습
학습 창확장 창, 해마다 1월2013-01 ~ 전년 말 카드 날 전부

학습된 모델의 구조

아래 그림은 커밋된 런이 저장한 마지막 폴드의 seed 0 모형(학습 2013 ~ 2025 카드 날 1,244일, 시험 2026 년 82일) 그대로다. 그리기 전에 이 모형의 2026 년 예측이 커밋된 예측과 같은지(오차 10−9 이하) 확인했다. 다섯 seed 가 같은 모형이므로 seed 0 이 런의 모형 전체다.

HistGradientBoosting, 마지막 폴드(학습 2013 ~ 2025, 시험 2026) 입력 데이터 카드 날 한 행 = 신호일 s 학습 2013-01 ~ 2025-12 1,244일 미국 10년 |Δ| ≥ 3bp, 롤 날 제외 시험 2026년 82일 특징 20개 (행 s, e 개장 전) 미국 금리 g_us, g_us2, g_us5, |g_us| 달러, 원화 d_dxy, g_fx, ε 위험자산 g_nq, g_xau, g_btc 해외 금리 독, 불, 일 10년 원화 상태, 수급, 금리 7개 그래디언트 부스팅 결정트리 (scikit-learn HistGradientBoostingClassifier, 이진 로그 손실) f₁ f₂ f₃ f₄ f₅ ··· f₂₀₀ 위는 이 모델 트리 5그루와 마지막 그루의 실제 위상(점 = 잎) — 실물은 그림 B·C logit p̂(x) = b₀ + f₁(x) + … + f200(x) max_depth 3, max_iter 200, learning_rate 0.05, min_samples_leaf 20, 조기 종료 없음, seed 0 출력 p̂ = P(카드 비용 뒤 이김) 라벨: dir × 3선 장중 > 1틱 계약 = R1 가중 × clip(2p̂, 0, 2) 총 계약은 기준선과 같게 조정 하이퍼파라미터 — 세팅한 상한과 학습이 실제로 닿은 값 n_estimators = 200 이어 붙이는 트리 개수 — 위 f₁ … 가 이만큼 실제 200그루 max_depth = 3 뿌리(깊이 0)에서 잎까지 분기 최대 3번 — 그림 B·C 의 오른쪽 눈금 실제 깊이 전부 3 · 상한에 닿은 트리 200/200 min_samples_leaf = 20 잎 하나에 표본 20개 미만이면 그 분할을 하지 않는다 실제 가장 작은 잎 n=20 max_features = 1.0 분할마다 후보 피처를 일부만 뽑는다 트리끼리 서로 다른 곳을 보게 만든다 learning_rate = 0.05 트리 하나가 더하는 값 = 적합값 × 0.05 (아래 잎값에 이미 곱해져 있다) 작을수록 트리 한 그루의 발언권이 작다 그루별 잎 수 분포 4 6 8 10 12 14 16 18 20 22 24 26 28 30 31 잎 4~8개 · 상한 31
커밋된 런이 저장한 모델 객체 그대로다. 세팅(상한)과 실현값을 나란히 적었다. 이 모델의 2026 예측이 커밋된 예측과 같음을 확인한 뒤 그렸다.
첫 트리 (1번) 깊이 0 · 뿌리 분기 조건 · n 깊이 1 분기 조건 · n 깊이 2 분기 조건 · n 깊이 3 · 잎 분기 없음 max_depth = 3 뿌리→잎 분기 3번까지 이 트리 실제 깊이 3 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 g_us ≤ 3.5 n=1,244 eps ≤ 0.1306 n=720 g_fx ≤ 0.2274 n=459 잎값 -0.0177 n=431 잎값 -0.0687 n=28 g_us5 ≤ 2 n=261 잎값 +0.0136 n=235 잎값 -0.0576 n=26 for_share ≤ 13.74 n=524 잎값 -0.0394 n=39 eps ≤ -0.2592 n=485 잎값 +0.0535 n=77 잎값 +0.0129 n=408 잎값 ≥ 0 (예측을 위로) 잎값 < 0 (예측을 아래로) n = 그 노드에 떨어진 학습 표본 수 · 조건(≤)이 참이면 왼쪽 가지 '예', 거짓(>)이면 오른쪽 '아니오'
첫 트리의 실제 분기 조건, 표본 수, 잎값(로그 오즈 기여)이다.
마지막 트리 (200번) 깊이 0 · 뿌리 분기 조건 · n 깊이 1 분기 조건 · n 깊이 2 분기 조건 · n 깊이 3 · 잎 분기 없음 max_depth = 3 뿌리→잎 분기 3번까지 이 트리 실제 깊이 3 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 g_jp10d ≤ -1.76 n=1,244 g_btc ≤ 0.5868 n=142 g_btc ≤ -1.78 n=101 잎값 +0.0090 n=79 잎값 +0.0490 n=22 g_btc ≤ 2.626 n=41 잎값 -0.0517 n=21 잎값 +0.0252 n=20 g_jp10d ≤ -1.23 n=1,102 g_fx ≤ 0.1448 n=68 잎값 +0.0009 n=46 잎값 -0.0612 n=22 g_fx ≤ -0.6071 n=1,034 잎값 -0.0200 n=60 잎값 +0.0014 n=974 잎값 ≥ 0 (예측을 위로) 잎값 < 0 (예측을 아래로) n = 그 노드에 떨어진 학습 표본 수 · 조건(≤)이 참이면 왼쪽 가지 '예', 거짓(>)이면 오른쪽 '아니오'
마지막 트리. 학습률 0.05 라 잎값이 첫 트리보다 작다.
깊이 × 특징별 분기 수, 200그루 전체
분기 위치 \ 피처g_fxkospi_forg_btcg_nqg_jp10depsg_us2d_dxylvl_distrv20for_shareabs_g_usg_fr10sr1yg_xaug_de10g_us5g_uspt1ybase_rate합
깊이 0 (뿌리)8111015152224171112341300104912200
깊이 1372921313128829719171015171018181965375
깊이 25455604441513828352727102233321317796609
분기 합99959190878168615957565450504241393516131,184
손실 감소(gain) 몫9.2%7.8%7.7%7.0%6.6%7.6%5.6%5.2%4.0%4.2%4.9%4.3%4.7%4.4%2.8%3.4%4.0%4.4%1.2%0.9%100%

어느 특징이 어느 깊이에서 몇 번 쓰였는지 센 표다. 분기에 자주 쓰였다고 표본 밖에서 쓸모 있는 것은 아니다(순열 중요도는 결과 절).

결과

확증 결과

주가설 H263(비용 1틱, 같은 총 계약)
항목2013 ~ 2022(2016 전은 R1 그대로)확인 2023 ~ 2026-10
카드 날907419
R1 일별 손익(틱)1.490.79
메타 사이징 일별 손익(틱)1.550.92
총 계약 맞춤 상수 k0.9370.899
일별 차이(틱/일)+0.06 (p 0.28)+0.13, p 0.227
90% 구간[−0.12, +0.24][−0.14, +0.47]
양수 연도5 / 102 / 4
2차 Holm 보정 p(17개)1.00

확인 구간 차이 +0.13틱/일은 R1 손익(0.79)의 약 17% 에 해당하는 개선이지만 90% 구간이 0 을 넉넉히 걸친다. 채택 문턱 가운데 «차이 > 0» 하나만 맞고 p 와 연도 조건은 맞지 않는다.

연도별 차이와 누적 손익

R1 대 메타 사이징 누적 손익과 연도별 차이
왼쪽: R1 과 메타 사이징(같은 총 계약)의 누적 손익(비용 1틱 뒤, 기술 통계). 두 선은 2016 년 첫 예측 뒤 2020 년에 벌어지고, 2023 년 초에 한 번 더 벌어진 뒤 나란히 간다. 오른쪽: 연도별 차이 합. 2013 ~ 2015 년의 작은 음수는 예측이 없는 해에 구간 전체 맞춤 상수 k 가 곱해진 몫이다.
연도별 일별 차이 합(틱, 기술 통계)
연도카드 날R1 합메타 합차이
201693+51.5+73.1+21.6
201778+52.0+47.5−4.5
201864+10.5+23.3+12.8
201986+126.0+166.0+40.0
202086−24.5+22.2+46.7
202197+56.5+60.7+4.2
2022135+784.0+737.6−46.4
2023126+258.0+335.4+77.4
2024106−38.5−16.3+22.2
2025105+99.0+61.6−37.4
2026(10월까지)82+12.0+5.9−6.1

확인 구간 차이 합 +56틱 가운데 2023 년이 +77틱이고, 2025 ~ 2026 년에는 메타가 R1 보다 못했다. 카드가 가장 크게 번 2022 년(+784틱)에 메타 사이징은 오히려 46틱 덜 벌었다.

예측 확률은 승패를 갈랐나

p̂ 분위별 실제 승률과 순열 중요도
왼쪽: p̂ 5분위별 실제 승률. 2016 ~ 2022 표본 밖에서는 1분위 47% 에서 5분위 61% 로 대체로 올라갔지만, 확인 구간에서는 2분위가 가장 낮고 3분위가 가장 높아 순서가 없다. 오른쪽: 2022 년까지 학습한 seed 0 모형의 확인 구간 순열 중요도. 양수는 미국 금리 셋(g_us, |g_us|, g_us2)이 거의 전부이고 나머지는 0 근처이거나 음수다.
판별력과 분위별 성적(탐색)
항목표본 밖 2016 ~ 2022확인 2023 ~ 2026
예측한 카드 날639419
AUC0.5480.519
p̂ 5분위 실제 승률(낮음 → 높음)47, 55, 57, 56, 61%51, 45, 59, 49, 55%
p̂ 5분위 1계약 손익(비용 1틱 뒤, 틱)+0.64, +1.27, +2.94, +1.71, +1.82−0.80, +0.21, +2.47, −0.21, +1.67
일별 차이(같은 총 계약)+0.07, p 0.32+0.13, p 0.23
확인 구간 p̂ 평균, 표준편차, 범위0.548, 0.178, 0.11 ~ 0.93

p̂ 는 0.11 에서 0.93 까지 넓게 퍼져, 모델은 자신 있게 날을 갈랐다. 그러나 그 자신감이 실제 승패와 맞지 않았다. 확률이 넓게 퍼지는데 AUC 가 0.52 라는 것은 학습 구간의 우연한 패턴에 맞춰진 모델이라는 신호다.

무엇을 보고 판단했나

순열 중요도(확인 구간 AUC 감소, 2022 년까지 학습한 seed 0, 20회 평균)
특징중요도특징중요도
g_us+0.0243d_dxy−0.0027
abs_g_us+0.0140eps−0.0034
g_us2+0.0089g_us5−0.0037
pt1y+0.0019g_fx−0.0081
g_de10+0.0010lvl_dist−0.0082
sr1y+0.0010g_btc−0.0090
g_fr10+0.0009kospi_for−0.0099
base_rate−0.0003g_xau−0.0108
rv20−0.0014g_jp10d−0.0116
for_share−0.0020g_nq−0.0124

쓸모 있던 정보는 미국 금리 변화의 방향과 크기, 그리고 미국 2년 금리다. 이것은 카드 자체가 이미 쓰는 정보다(카드는 g_us 로 날을 고르고 방향을 정한다). 나스닥, 금, 일본 금리, 비트코인, 코스피 외국인 수급은 확인 구간에서 섞으면 오히려 AUC 가 올라갔다. 즉 모델은 이 특징들에서 학습 구간에만 있던 패턴을 배웠다.

seed 다섯 개

사전등록은 seed 0 ~ 4 다섯 모형의 확률을 평균하기로 했다. 그런데 다섯 seed 의 확인 구간 차이가 모두 +0.13369틱으로 같았다. 이 모형은 표본이 1만 개 미만이면 조기 종료(검증용 표본을 무작위로 떼는 단계)를 쓰지 않고, 특징을 무작위로 고르는 단계도 없어서 seed 가 결과를 바꾸지 않는다. 사전등록한 «seed 평균» 은 실제로는 모형 하나였다. 결과가 seed 운에 기대지 않는다는 뜻이기도 하다.

해석

카드가 맞는 날과 틀리는 날을 가르는 정보는 밤사이 다른 자산 움직임에 거의 없다. 2차 모델이 실제로 기댄 것은 미국 금리 변화의 크기와 2년 금리였고, 이는 카드의 1차 신호와 같은 정보다. 2016 ~ 2022 표본 밖에서 보인 약한 판별력(AUC 0.548, 분위 승률 상승)은 확인 구간에서 이어지지 않았다. 신호를 더하는 대신 승률로 크기를 조절해도 다른 자산의 밤사이 정보는 카드 손익을 개선하지 못한다. 카드 크기 조절에 쓸 정보를 찾는다면 카드가 이미 쓰는 미국 금리의 다른 측면(크기, 만기 구조)에서 찾는 편이 숫자에 맞다.

한계

  • 학습 표본이 268 ~ 1,244일로 작다. 특징 20개의 비선형 모형에는 버거운 크기다. 하이퍼파라미터를 잠가 과적합 선택은 막았지만 과적합 자체는 막지 못했다.
  • 2016, 2017 년은 비트코인 열 없이 19개로 학습했다(이력이 없는 열은 구간을 나눌 수 없어 코드가 자동으로 뺐다).
  • 사전등록한 seed 평균은 모형 하나와 같았다. 무작위성이 없는 모형에 seed 평균을 걸었던 설계상의 착오다.
  • 순열 중요도는 2022 년까지 학습한 하나의 모형에서 잰 것이라 해마다 다시 학습한 실제 예측 모형들과 다르다.
  • 2023 ~ 2026 은 카드의 R1 가중을 찾을 때 이미 본 기간이다. 기준선 자체가 확인 구간에 유리할 수 있다.
  • 사전등록 특징 가운데 나스닥, 금, 비트코인은 2026-10-12 에서 끝나 그 뒤 카드 날은 결측으로 들어갔다.

산출물

  • 계획protocol.md(사전등록 b9530fd), 프로그램 규칙은 0081_us_sector_etf_vector/protocol.md §1
  • 분석analysis.md
  • 코드code/s1_meta.py(확증), code/s_detail.py(기술 통계), code/render_figures.py(그림), code/render_model85.py(모델 구조도)
  • 런results/20261029T140846_main/(metrics.json, card_meta.csv, model_2026_seed0.pkl), results/20261030T164408_detail/(daily_diff.csv, card_frame.csv, 폴드와 연도)

Appendix

A. 데이터셋 실물

card_meta.csv 의 실제 행(2026 년 마지막 카드 날들). dir 은 카드 방향(+1 매수, −1 매도), gross 는 1계약 비용 전 손익(틱), w 는 R1 가중, p 는 p̂, w_new 는 맞춤 상수를 곱하기 전 메타 가중, y 는 라벨.

card_meta.csv 일부
sdirgrosswp̂w_newy
2026-09-30+1+60.50.2200.2201
2026-10-01−1−70.50.4740.4740
2026-10-06−1+60.50.2900.2901
2026-10-13−1+41.00.4040.8081
2026-10-15−1−151.00.7181.4350
2026-10-19+1+191.00.6671.3341
2026-10-20−1−111.00.5761.1520
2026-10-22−1+171.00.7781.5551

B. 모델 입출력 실물

Request meta
행 s = 2026-10-19 카드 날. 2026 년 모형(학습 2013 ~ 2025 카드 날 1,244일), seed 0 ~ 4 평균(다섯 값이 같다), e 08:20 이전 계산
Input
g_us +6, g_us2 +3, g_us5 +5, abs_g_us 6(bp). d_dxy +0.196%, g_fx +0.169%, eps −0.027%. g_nq, g_xau, g_btc 결측(자료 끝). g_de10 +3.78, g_fr10 +14.53, g_jp10d −2.14(bp). rv20 0.679, lvl_dist −1.481, kospi_for 94,732, for_share 25.44, base_rate 3.00, sr1y −1.098, pt1y −14.6
Model response
HistGradientBoosting response p̂ = 0.667. 카드 방향 +1(미국 금리 상승, 3선 매수), R1 가중 1(원화 충격이 반대 부호), w_new = 1 × clip(2 × 0.667, 0, 2) = 1.334, 확인 구간 맞춤 상수 0.899 를 곱해 1.199계약
Ground truth check
3선 e 장중 +19틱, 라벨 1. R1 손익 +18틱, 메타 손익 +21.6틱, 그날 차이 +3.6틱

C. 실험 설정

  • 1차 신호카드: |g_us| ≥ 3bp, 다음 달력일 세션, 롤 날 제외, 3선 시가 진입 종가 청산, R1 가중(불일치 1, 일치 0.5)
  • 라벨dir × 3선 장중 − 1 > 0
  • 특징g_us, g_us2, g_us5, d_dxy, g_fx, eps, g_nq, g_xau, g_btc, g_de10, g_fr10, g_jp10d, rv20, lvl_dist, kospi_for, for_share, base_rate, sr1y, pt1y, abs_g_us(결측 그대로)
  • 모형HistGradientBoostingClassifier(max_depth 3, max_iter 200, learning_rate 0.05, min_samples_leaf 20, 나머지 기본), seed 0 ~ 4 확률 평균
  • 학습확장 창, 해마다 1월 첫 거래일 재학습, 첫 예측 연도 2016(학습 2013 ~ 2015)
  • 사이징w_new = w_R1 · clip(2p̂, 0, 2), 구간마다 총 계약을 R1 과 같게 비례 조정
  • 판정확인 2023-01 ~ 2026-10 일별 차이, 비용 1틱, 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05, 2차 Holm 함께 보고
  • 순열 중요도2022 년까지 학습한 seed 0 모형, 확인 구간, AUC 기준, 20회 반복(random_state 0)