3년, 10년 국채선물 DV01 중립 페어 · 2012-01 ~ 2026-10 · 특징 152개 · 릿지, LightGBM, MLP, 앙상블

3년, 10년 국채선물 커브는 무엇이 움직이고 AI 로 예측할 수 있는가

3년 국채선물을 사고 10년 국채선물을 같은 DV01 만큼 파는 스티프너의 손익을 요인으로 나눴다. 그리고 다음 세션 개장 전에 알려진 152개 특징으로 1, 5, 20세션 뒤 커브 변화를 학습하는 AI 를 연 단위 걷기 전진으로 평가했다. 커브는 대부분 같은 날 함께 오는 것(밤사이 미국 커브, 외국인 선물 수급, 금리 레벨)으로 움직였다. AI 의 예측 정보는 귀무를 넘었지만, 매일 새로 들어가 매번 비용을 무는 사전등록 매매로는 비용을 넘지 못했다.

사전등록 미지지 · 부호 보유형은 탐색 후보 3,626 거래일 · 시험 2016~2026 2,637일 순환이동 귀무 릿지 200 · LightGBM 30 · 보유형 60 가설 H147~H152

같은 날 스티프너 손익의 31%를 요인으로 설명할 수 있었고, 그중 밤사이 미국 커브와 금리가 29%, 외국인 선물 커브 수급이 21%, 한국 금리 레벨이 16%였다. 20세션 묶음에서는 미국 커브와 10년이 53%, 미국 기간 프리미엄이 13%, 한은 경로가 10%였다. 예측 앙상블의 순위 상관은 다음 세션 장중 +0.10, 5세션 +0.16, 20세션 +0.12 로 귀무를 넘었다. 그러나 거래당 비용 전 이익(+0.13~+0.45bp)이 왕복 비용(0.43bp)을 넘지 못했다. 같은 예측의 5일 평균 부호를 들고 있다가 바뀔 때만 바꾸면 20세션 판이 비용 뒤 연 +28bp/DV01(샤프 0.80, 11년 모두 플러스)이었다. 결과를 본 뒤 정한 규칙이라 탐색 후보로만 적는다.

가설과 결론

질문
3년 국채선물(3선)과 10년 국채선물(10선)로 커브에 베팅할 때 (1) 커브를 가장 크게 움직이는 것은 무엇인가, (2) 그 요인을 학습한 AI 가 커브 변화를 미리 맞혀 비용을 넘는가.
가설
결과 전에 계획서를 커밋했다(e9c7245). H147: 다음 세션 시가→종가(T1)에서 앙상블 E 의 부호 매매가 비용 뒤 이긴다. H148, H149: 5세션과 20세션(T5, T20)에서도 같다. H150: E 가 미리 정한 규칙 기준선을 이긴다. H151: 표적 순환이동 귀무를 넘는다. H152: 2022 제외, 최근, 기간 프리미엄 제외, 시드에 견고하다.
결론
H147~H149 미지지(비용 뒤 −0.31, +0.02, +0.01bp/거래). H150 은 T1, T5 에서 지지(상대 우위). H151 은 T1, T5 의 순위 상관이 귀무를 넘었다. 결과를 본 뒤 정한 부호 보유형 규칙은 비용, 연도, 특징 제외에 견고했고, 표적과 변형 선택까지 포함한 최대 통계량 귀무 p = 0.016 이었다(60회 중 0회). 탐색 후보로 두고 전진 기록으로 판정한다.

용어와 기호

  • 스티프너 1단위3선 매수 + 10선 매도, 다리마다 DV01 1원/bp. 손익(bp) = 3선 가격 변화 × 10⁶ / d₃ − 10선 가격 변화 × 10⁶ / d₁₀. 양수 = 커브가 가팔라졌다
  • DV01 (d₃, d₁₀)금리 1bp 변화당 계약 가격 변화(원). KRX 결제가격 산식(표면 5%, 6개월 이표)을 내재수익률에서 중앙 차분. 2026-10 약 2.85만, 8.31만원
  • D실제 규모(원/bp). D = 100만원/bp 이면 3선 약 35계약, 10선 약 12계약
  • s · e신호일 s(한국 거래일), 진입 세션 e = s 다음 거래일. 판단은 e 개장 전에 끝난다
  • T1 · T5 · T20e 시가에서 각각 e 종가, s+5 종가, s+20 종가까지의 스티프너 손익
  • 왕복 비용다리마다 왕복 1틱(1만원/계약) → 10⁴/d₃ + 10⁴/d₁₀ bp. 시험 구간 평균 0.43bp
  • IC시험 구간 예측과 실현 손익의 스피어만 순위 상관
  • NW tNewey-West(지연 max(5, h)) 표준오차로 잰 평균의 t
  • Shapley R²요인 묶음을 넣는 모든 순서에 대해 그 묶음이 더한 R² 의 평균. 묶음 몫의 합 = 총 R²
  • SHAP트리 모델 예측을 특징별 기여로 나눈 값. 평균 |SHAP| 를 중요도로 쓴다
  • 순환이동 귀무표적을 250세션 이상 돌려 특징과의 짝을 끊고, 전처리와 초매개변수 선택을 포함한 걷기 전진 전체를 다시 돌린 분포
  • R · L · N · E릿지, LightGBM, MLP, 앙상블(R 과 L 예측을 각자 학습창 적합값 안 백분위로 바꿔 평균)
  • ma5최근 5개 신호일 예측의 평균. 보유형 규칙에서 부호를 정한다

자료

원천과 시점. 모든 특징은 e 개장 전에 알려진 값이다. 원 자료는 인포맥스 단말 수집 창고와 공개 FRED, NY Fed 사본이다.
묶음원천기간시점 규칙
표적·DV013선·10선 일봉(시가, 정산가, 내재수익률), 연결 사슬(롤 안전)2012-01-02 ~ 2026-10-12—
현물 커브국고 2, 3, 5, 7, 10, 20, 30, 50년, 통안 1년, CD, IRS (일별 풀)2010 ~한국 마감 s
해외 금리FRED 미국 3개월, 2, 5, 10, 30년, BEI 10년, 실질 10년, VIX1962 ~뉴욕 날짜 < e
기간 프리미엄NY Fed ACM 10년(일별), Kim-Wright 10년(FRED)1961 · 1990 ~7일 · 10일 늦춤, 전 표본 추정 모형
독일·일본·원화·달러일별 풀2010 ~독일과 달러는 뉴욕, 일본과 원화는 한국 마감
선물 수급투자자 7종 3선·10선 순매수 계약 × DV012012 ~한국 마감 s
현물 수급보험기금, 외국인, 은행, 운용사(공모, 사모) 종목별 순매수 × 종목 듀레이션, 잔존 ≥8y − <4y2011 ~ (종목 행 약 83만/투자자)1세션 늦춤
공급국고 경쟁입찰 일정·발행예정액 1,404건, 국발계 공표일 67개월(관측)2015-03 ~e 의 달 입찰, 또는 공표일 뒤 다음 달
정책·달력금통위 결정·일정, 선물 최종거래일2010 ~일정은 미리 안다

표적 검산. 연결 사슬 가격으로 만든 스티프너 일별 손익은 롤 날을 뺀 날의 (10선 − 3선 내재수익률) 변화와 상관 0.996 이다. 롤 날에는 내재수익률이 바스켓 교체로 뛰므로(상관 0.36) 가격 사슬을 쓴다.

특징 9계열 152개. 전체 정의는 results/20261013_panel/feature_dict.csv.
계열개수예
CV 커브 상태3110y−3y 수준, z, 1/5/20/60일 변화, 2-5-10 곡률, 3-10-30 버터플라이, 30−10, 3y−통안1년, 3년과 10년 변화, 롤다운 캐리, 60일 레벨-기울기 베타, 스왑 스프레드
TG 표적 이력7과거 1/5/20/60일 스티프너 손익 합, 그날 갭·장중, 20일 변동성
PO 정책10기준금리, 마지막 변경 방향·경과일, 3년·통안1년·CD − 기준금리, 다음 금통위까지, e 금통위
GL 해외35미국 2s10s, 5s30s, 3m10y 수준과 변화, 미국 10년과 2년 변화, ACM, KW 기간 프리미엄, BEI, 실질, VIX, 독일, 일본, 원화, 달러, 한미 10년 차, 한미 기울기 차
FL 선물 수급33투자자 7종 (10선 DV01 − 3선 DV01) 1/5/20일 합, 외국인·증권·은행 레벨 수급, 미결제 변화, 체결 방향, 거래량 비
CB 현물 수급20투자자 5종 장기−단기 듀레이션 순매수 5/20/60일 합, 장기 20일 z
SU 공급6다음 5세션 장기·단기 듀레이션 물량, 20세션 기울기, 다음 장기 입찰까지, e 입찰
BA 베이시스310선 − 3선 시장베이시스·이론갭(bp)
CA 달력7만기까지 세션, 롤 창, 분기말·12월·월말, 요일, 휴일 간격
10년-3년 기울기와 기준금리 2012~2026
그림 1. 국고 10년 − 3년(현물)과 10선 − 3선(선물 내재) 기울기, 기준금리. 인상기에 플래트, 인하기와 동결기에 스티프로 가는 큰 흐름이 보인다.

방법

동행 분해(탐색). 일별 스티프너 종가→종가 손익을 같은 창(전날 한국 마감 → 그날 마감)의 요인 8묶음에 OLS 로 회귀하고 Shapley R² 로 나눴다. 묶음은 레벨(한국 3년 변화와 그 양의 부분), 밤사이 미국(2s10s, 10년, 5s30s), 독일과 일본, 원화와 VIX, 외국인, 증권/은행, 보험/연기금/투신의 선물 커브 수급, 입찰일과 금통위일이다. 갭(종가→시가)과 장중(시가→종가)도 따로 나눴다. 20세션 겹치지 않는 묶음 142개에서는 기간 프리미엄, 한은 경로, 현물 듀레이션 수급, 장기 입찰 횟수를 더했다. 이 분석은 계획서보다 먼저 돌렸으므로 탐색으로 적는다.

걷기 전진. 시험 연도 Y(2016~2026)마다 2013-01-02 부터 «표적 창이 Y 전에 끝나는» 행으로 학습하고(T5, T20 은 h세션 엠바고), Y 년 신호일을 예측한다. 표적은 학습창 1%, 99% 분위로 자른다. 릿지와 MLP 는 학습창 중앙값 채움, 표준화, ±5 자름을 쓴다. 매매는 sign(예측) × 1단위, 매일 새로 진입해 왕복 비용을 문다(사전등록).

연 단위 확장창 걷기 전진의 학습과 시험 일수
그림 2. 걷기 전진 분할. 행 하나가 시험 연도 하나다. 짙은 막대가 학습창, 주황 막대가 시험창이며 겹치지 않는다. 숫자는 T1 이 실제로 쓴 일수다.

모델

모델 계열과 초매개변수는 계획서에 결과 전에 고정했다. 릿지는 «선형으로 충분한가» 의 기준이다. LightGBM 은 특징 사이 조건 관계(예: 미국 커브가 크게 움직인 날만 수급이 의미 있다)를, MLP 는 매끄러운 비선형을 본다. 주 모델 E 는 서로 다른 오차를 섞으려고 릿지와 LightGBM 을 순위로 평균한다. 규칙 기준선은 학습 없는 부호 규칙이다.

모델과 설정
이름계열설정
R릿지 회귀α ∈ {1, 10, 100, 1000, 10000}, 학습창 안 시계열 3겹(뒤 60%를 셋으로) 제곱오차 최소
LLightGBM 회귀num_leaves 7, learning_rate 0.02, n_estimators 400, min_data_in_leaf 100, feature_fraction 0.7, bagging 0.7(freq 1), lambda_l2 10, 시드 0~4 평균
NMLP 회귀(64, 32) ReLU, adam, alpha 1e-3, early_stopping(검증 10%), max_iter 300, 표적 표준화, 시드 0~4 평균
E앙상블(주)½·[R 의 학습 적합값 안 백분위 − 0.5] + ½·[L 의 같은 값]
B_us규칙sign(미국 2s10s 밤사이 변화) × (학습창에서 나은 쪽 ±1)
B_mr / B_carry / B_mom규칙−sign(기울기 z) / sign(롤다운 캐리) / sign(20일 스티프너 손익)

아래 구조도는 T20 의 마지막 폴드(학습 2013~2025, 시험 2026) 모델이다. 그리기 전에 다시 학습해 커밋된 2026년 예측을 그대로 내는지 확인했다. 이 폴드의 릿지는 α 격자의 상한 10000 을 골랐다. 특징 152개를 거의 평균에 가깝게 눌러야 검증 오차가 가장 작았다는 뜻이고, 신호가 약하다는 결과 2 와 맞는다.

릿지 R — T20, 마지막 폴드

릿지 · T20 · 학습 2013~2025 · 시험 2026 입력 데이터 한국 거래일 한 행 = 신호일 s 학습 2013-01~2025 3,172행 표적 창이 2026 전에 끝나는 행만 시험 2026년 166행 특징 152개 (9계열) 커브 상태·표적 이력·정책 해외(미국 커브·기간 프리미엄) 선물·현물 투자자 수급 공급 일정·베이시스·달력 e 개장 전에 알려진 값만 릿지 회귀 (α = 10000, 학습창 안 시계열 3겹 검증으로 고름) 1. 표준화 학습창 중앙값 채움 → 평균·표준편차로 z 화 → ±5 자름 2. 선형 결합 z = b + Σ wᵢ·xᵢ (계수 152개) 3. 링크 z → 예상 bp, 부호가 방향 출력 ŷ = e 시가→s+20 종가 스티프너 손익 예측 (bp) > 0 스티프너, < 0 플래트너 앙상블 E 는 R·L 순위 평균 계수 — 세팅과 학습 결과 피처 152개 표준화된 공간의 계수 — 서로 크기 비교가 된다 0 이 아닌 계수 152개 절편 b = +0.3664 모든 피처가 학습창 평균일 때의 출발점 평균적인 스티프너 변화 |w| 최대 = 0.2048 가장 센 피처: FL_ind_curve20 |w| 중앙값 0.0462 alpha = 10000.0 릿지 벌점 클수록 계수를 더 눌러 붙인다
재현 확인을 거친 마지막 폴드의 실제 단계와 숫자다.
표준화 계수 — 특징 1 표준편차당 bp ← 하락 쪽 상승 쪽 → FL_ind_curve20 +0.2048 선물 수급 CB_frn_long20_z +0.1950 현물 수급 GL_slope_gap_d20 -0.1792 해외 CV_fly31030 -0.1675 커브 상태 GL_krus10 +0.1608 해외 CV_ss3_d20 -0.1602 커브 상태 CB_am_long20_z -0.1528 현물 수급 PO_since -0.1506 정책 CV_fslope -0.1432 커브 상태 GL_dxy_d20 -0.1357 해외 FL_volratio_z -0.1351 선물 수급 GL_acmtp10 -0.1303 해외 TG_mom20 -0.1265 표적 이력 FL_frn_lvl20 +0.1249 선물 수급 CV_s3_m1_d20 +0.1239 커브 상태 FL_sec_curve20 -0.1149 선물 수급 표준화된 공간의 계수 상위 16개 · 절편 b = +0.3664 · 전체 152개 중
막대 길이는 학습된 계수다. 색은 특징 계열이다. 계수가 큰 16개만 그렸다.

LightGBM L — T20, 마지막 폴드 (시드 0)

LightGBM · T20 · 학습 2013~2025 · 시험 2026 입력 데이터 한국 거래일 한 행 = 신호일 s 학습 2013-01~2025 3,172행 표적 창이 2026 전에 끝나는 행만 시험 2026년 166행 특징 152개 (9계열) 커브 상태·표적 이력·정책 해외(미국 커브·기간 프리미엄) 선물·현물 투자자 수급 공급 일정·베이시스·달력 e 개장 전에 알려진 값만 그래디언트 부스팅 결정트리 (LightGBM · 회귀) f₁ f₂ f₃ f₄ f₅ ··· f₄₀₀ 위는 이 모델 트리 5그루와 마지막 그루의 실제 위상(점 = 잎) — 실물은 그림 B·C ŷ = f₁(x) + … + f₄₀₀(x) num_leaves 7 · learning_rate 0.02 · min_data_in_leaf 100 · 5시드 평균 중 시드 0 출력 ŷ = e 시가→s+20 종가 스티프너 손익 예측 (bp) > 0 스티프너, < 0 플래트너 앙상블 E 는 R·L 순위 평균 하이퍼파라미터 — 세팅한 상한과 학습이 실제로 닿은 값 n_estimators = 400 이어 붙이는 트리 개수 — 위 f₁ … 가 이만큼 실제 400그루 max_depth = -1 뿌리(깊이 0)에서 잎까지 분기 최대 -1번 — 그림 B·C 의 오른쪽 눈금 실제 깊이 3~6 · 상한에 닿은 트리 0/400 num_leaves = 7 트리 한 그루의 잎(끝 상자) 최대 개수 실제 잎 7~7개 · 상한에 닿은 트리 400/400 min_data_in_leaf = 100 잎 하나에 학습 표본 100개 미만이면 그 분기를 하지 않는다 실제 가장 작은 잎 n=100 feature_fraction = 0.7 트리마다 피처 152개 중 70%만 무작위로 후보에 올린다 → 그림 D 의 피처별 분기 횟수가 고르게 퍼지는 이유 learning_rate = 0.02 트리 하나가 더하는 값 = 적합값 × 0.02 (아래 잎값에 이미 곱해져 있다) 작을수록 트리 한 그루의 발언권이 작다 그루별 잎 수 분포 7 잎 7~7개 · 상한 7
세팅(상한)과 실현값(실제 깊이·잎 수)을 나란히 적었다. 런의 예측은 시드 5개 평균이고 그림은 시드 0이다.
첫 트리 (1번) 깊이 0 · 뿌리 분기 조건 · n 깊이 1 분기 조건 · n 깊이 2 분기 조건 · n 깊이 3 분기 조건 · n 깊이 4 · 잎 분기 없음 max_depth = -1 뿌리→잎 분기 -1번까지 이 트리 실제 깊이 4 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 GL_acmtp10 ≤ -33.58 n=2,234 GL_krus10 ≤ -30.9 n=904 잎값 +0.3391 n=201 CB_am_long20_z ≤ 1.827 n=703 잎값 +0.4268 n=599 잎값 +0.3305 n=104 GL_us5s30 ≤ 220.5 n=1,330 CB_frn_tilt60 ≤ 1.481 n=1,188 잎값 +0.2810 n=292 GL_real10_d20 ≤ 5 n=896 잎값 +0.3713 n=525 잎값 +0.3123 n=371 잎값 +0.4321 n=142 잎값 ≥ 0 (예측을 위로) 잎값 < 0 (예측을 아래로) n = 그 노드에 떨어진 학습 표본 수 · 조건(≤)이 참이면 왼쪽 가지 '예', 거짓(>)이면 오른쪽 '아니오'
첫 트리의 실제 분기 조건과 잎값(bp 기여)이다.
마지막 트리 (400번) 깊이 0 · 뿌리 분기 조건 · n 깊이 1 분기 조건 · n 깊이 2 분기 조건 · n 깊이 3 분기 조건 · n 깊이 4 분기 조건 · n 깊이 5 분기 조건 · n 깊이 6 · 잎 분기 없음 max_depth = -1 뿌리→잎 분기 -1번까지 이 트리 실제 깊이 6 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 예 아니오 PO_base_d250 ≤ 187.5 n=2,240 CV_fslope ≤ 8.35 n=2,127 잎값 +0.0344 n=126 FL_ins_curve5 ≤ -1.493 n=2,001 잎값 +0.0299 n=137 CV_fslope_gap ≤ -0.5 n=1,864 CB_amp_tilt20 ≤ 0.2416 n=1,562 잎값 -0.0033 n=1,187 CB_frn_tilt20 ≤ 3.751 n=375 잎값 -0.0008 n=214 잎값 +0.0430 n=161 잎값 -0.0208 n=302 잎값 -0.0258 n=113 잎값 ≥ 0 (예측을 위로) 잎값 < 0 (예측을 아래로) n = 그 노드에 떨어진 학습 표본 수 · 조건(≤)이 참이면 왼쪽 가지 '예', 거짓(>)이면 오른쪽 '아니오'
마지막 트리. 학습률 0.02 라 잎값이 첫 트리보다 작다.
깊이 × 특징별 분기 수 — 400그루 전체
분기 위치 \ 피처CV_fly31030GL_slope_gap_d20TG_mom20CV_y3PO_sinceCV_fslopeCV_y10_d60CB_frn_long20_zCV_slopevol20FL_pens_curve20CV_curvCB_am_tilt20GL_krus10GL_us5s30CV_slope_zGL_acmtp10CB_amp_tilt60CB_am_tilt60CV_y3_d60CB_frn_tilt60CB_amp_long20_zPO_base_d250CB_ins_tilt60SU_tilt20CV_fslope_gapCV_ss3_d20TG_mom60PO_cd_baseGL_dxy_d20FL_sec_lvl20CB_frn_tilt20TG_vol20GL_kwtp_d20GL_vixFL_ins_curve20FL_ind_curve20CV_s3_m1GL_slope_gapFL_frn_lvl20GL_acmtp10_d20CV_slopeCV_s30_10GL_bund_d20FL_trust_curve20BA_mb_diffCB_bank_tilt20CB_am_long20_zPO_m1_base_d20FL_sec_curve20CV_y3_zPO_y3_basePO_m1_baseFL_pens_curve5CV_slope_d20FL_frn_curve20FL_ins_curve5FL_volratio_zCA_dteCV_curv_d20CV_slope_d60CV_beta60GL_us2s10sGL_us5s30_d20GL_bei10_d20FL_frn_curve5BA_tg_diffCB_ins_tilt20SU_long5CV_y3_d5TG_mom5TG_ocCB_amp_tilt20CV_slope_d5GL_us2s10s_d20GL_us2_d20FL_aggr3CB_bank_tilt60CV_carryPO_baseGL_us3m10FL_bank_lvl20FL_frn_curve20_zCB_ins_long20_zCB_frn_tilt5CB_am_tilt5CV_s30_10_d20TG_mom1CV_s3_m1_d20CV_y3_d20GL_krw_d20CV_y10_d20CV_swap_slopeFL_bank_curve20FL_aggr10CB_bank_long20_zCB_amp_tilt5CV_slope_d1CV_ss10_d20FL_pens_curve1GL_real10_d20FL_frn_lvl5FL_sec_curve5FL_ins_curve1FL_trust_curve1CV_y10_d5PO_cyclePO_mpc_daysGL_us10_d1GL_us2_d5GL_us10_d20GL_vix_d5GL_jgb_d20FL_sec_lvl5FL_bank_lvl5FL_trust_curve5FL_ind_curve5SU_short5CV_y3_d1CV_y10_d1TG_gapPO_mpc_eGL_us2s10s_d1GL_us2_d1GL_us2s10s_d5GL_us10_d5GL_us5s30_d1GL_bei10_d1GL_real10_d1GL_vix_d1GL_bund_d1GL_dxy_d1GL_jgb_d1GL_krw_d1FL_frn_curve1FL_sec_curve1FL_bank_curve1FL_bank_curve5FL_ind_curve1FL_oi3_d5FL_oi10_d5BA_tg_diff_d5CA_rollwinCA_qendCA_decCA_mendCA_dowCA_gapdaysCB_ins_tilt5CB_bank_tilt5SU_next_longSU_e_longSU_e_any합
깊이 0 (뿌리)92534998337519211881101788771720133044501200121001110544900051110204101105183357160250000000280300000000120100121000000000000000000000000000000000000000000000000400
깊이 122131624101312101613111061279913101171266262810441313645997835356356321167523645032031213414132314510014200200000100011200000000100010000100000000000000000000000000000000000539
깊이 228177111520151410191615712513191417678713965107613485135853110845868625372563661535666403020203103331431116020200323201012001100000000110000000000000000000000000000000000000618
깊이 3157710127171415814122179871099931051055106865365465134485351347452552113645420433310214332036232100013042021001010100010011001001000000000000000000000000000000000000493
깊이 41352612558455282944128642450246764262025114354333225222230233241321200110501111121221200122101000100000000000000100000000000000000000000000000000000000000278
깊이 52002221401201040111211312111132000200000111220101100101003010001000001000000000110110100020100000000000000100000000000000000000000000000000000000000000072
분기 합89676662605553535251494845444242414039373736363635353534333131303028262625242423222222222222222121202020191818181717161514141414131312121111111110101010109999999976555444444333222221111111111111000000000000000000000000000000000002,400
손실 감소(gain) 몫4.7%3.2%4.0%3.2%3.2%2.1%1.9%2.2%2.5%2.0%1.6%2.7%2.0%2.4%1.6%3.2%2.5%2.1%2.2%1.6%1.2%1.9%1.3%1.1%1.1%1.7%1.4%1.3%1.1%1.2%0.9%1.4%1.0%1.0%0.8%1.3%1.1%1.0%1.1%0.7%1.3%0.9%0.8%0.6%0.7%0.5%1.3%0.7%0.8%0.9%0.7%0.9%0.6%0.9%0.8%0.3%0.5%0.6%0.5%0.7%0.5%0.6%0.6%0.4%0.4%0.3%0.2%0.3%0.2%0.3%0.2%0.4%0.2%0.3%0.4%0.2%0.3%0.3%0.4%0.4%0.2%0.3%0.2%0.2%0.4%0.2%0.1%0.3%0.2%0.1%0.1%0.1%0.1%0.1%0.1%0.1%0.1%0.1%0.0%0.2%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%100%

어느 특징이 어느 깊이에서 몇 번 쓰였는지 센 표다.

MLP N — T20, 마지막 폴드 (시드 0)

MLP 64-32 · T20 · 학습 2013~2025 · 시험 2026 입력 데이터 한국 거래일 한 행 = 신호일 s 학습 2013-01~2025 3,172행 표적 창이 2026 전에 끝나는 행만 시험 2026년 166행 특징 152개 (9계열) 커브 상태·표적 이력·정책 해외(미국 커브·기간 프리미엄) 선물·현물 투자자 수급 공급 일정·베이시스·달력 e 개장 전에 알려진 값만 다층 퍼셉트론 (MLP 64-32, ReLU, 회귀) 1. 결측 대치 학습창 중앙값으로 채운다(시험연도를 보지 않는다) 2. 표준화 학습창 평균 0 · 표준편차 1 3. 순전파 3개 가중치 층을 지난다 4. 역전파 학습 adam · 손실 제곱 오차 출력 ŷ = e 시가→s+20 종가 스티프너 손익 예측 (bp) > 0 스티프너, < 0 플래트너 앙상블 E 는 R·L 순위 평균 세팅과 학습 결과 hidden_layer_sizes = (64, 32) 은닉층의 폭 — 세팅 실현: 가중치 층 3개 · 파라미터 11,905개 alpha = 0.001 L2 벌점 — 클수록 가중치를 0 쪽으로 민다 learning_rate_init = 0.001 adam 의 초기 보폭 실현: 마지막 손실 0.0030 max_iter = 300 반복 상한 — 세팅 실현: 87 반복에서 멈췄다 early_stopping = True 검증 0.1 로 10회 나아지지 않으면 멈춘다 검증 최고 0.7264 ŷ = W₃·relu(W₂·relu(W₁z)) early_stopping 10% · alpha 1e-3 · 5시드 평균 중 시드 0
세팅과 실현값(실제 반복 수·파라미터 수)을 나란히 적었다. 표적은 학습창 평균·표준편차로 표준화해 학습했다.
층 구조와 깊이 눈금 깊이 = 가중치 층 3개 (은닉 2개 + 출력 1개) · 파라미터 11,905개 입력 피처 152개 표준화된 값 은닉 1 층 152 → 64 활성 relu 가중치 152×64 편향 64 파라미터 9,792 층 1 은닉 2 층 64 → 32 활성 relu 가중치 64×32 편향 32 파라미터 2,080 층 2 출력 층 32 → 1 활성 identity 가중치 32×1 편향 1 파라미터 33 층 3 출력 P(상승) 0.5 기준 방향 ← 깊이 3 층 →
층 하나가 상자 하나다. 상자 안 숫자는 실제 가중치 행렬 모양이다.
학습 손실 곡선 멈춘 지점 — 반복 87 0.8905 0.0030 손실 (위 = 최고, 아래 = 최저) 반복 1 반복 101 → 세팅 상한 300 은 축 밖 조기 종료 켬 · 검증 최고 정확도 0.7264
조기 종료가 검증 점수를 보고 멈춘 자리까지의 손실(제곱 오차)이다.

결과 1 · 무엇이 커브를 움직이나

일별, 갭, 장중 Shapley R² 분해
그림 3. 같은 창 요인으로 나눈 스티프너 손익. 주황이 투자자 수급, 남색이 가격 요인이다. 2015-03~2026-10 2,845일.
일별 Shapley R² (results/20261013_explain/shapley.json). 괄호는 총 R² 대비 몫.
묶음전체2015-03~20192020~2026갭장중
미국 커브·금리 밤사이0.088 (29%)0.0780.0890.3100.008
외국인 선물 커브 수급0.064 (21%)0.0530.0700.0090.053
레벨(한국 3년 변화)0.048 (16%)0.0180.0800.0090.048
증권·은행 선물 커브 수급0.037 (12%)0.0380.0400.0050.033
독일·일본 10년0.030 (10%)0.0590.0240.0280.015
보험·연기금·투신 선물 수급0.030 (10%)0.0080.0410.0050.024
원화·VIX0.008 (3%)0.0020.0180.0020.012
입찰일·금통위일0.002 (1%)0.0100.0020.0010.001
총 R²0.3060.2660.3640.3690.194
  • 밤사이 미국이 갭을 정한다. 미국 2s10s, 10년, 5s30s 밤사이 변화가 한국 시가 갭 R² 0.37 중 0.31 이다. 장중에는 0.008 뿐이다. 미국 정보는 시가에 다 들어간다.
  • 장중은 수급과 레벨. 외국인이 10선 DV01 을 3선보다 1억원/bp 더 사면 그날 스티프너가 −0.68bp(플래트닝). 증권 −0.58, 은행 −0.52bp. 수급은 같은 날 함께 움직이는 것이지 다음 날을 미리 알려 주지 않는다(결과 2, 3).
  • 약세 플래트닝. 한국 3년 금리 1bp 상승당 −0.078bp, 상승분에는 −0.069bp 를 더한다. 금리가 오를 때 더 플래트해진다. 2020년 이후 레벨 몫이 0.018 → 0.080 으로 커졌다.
  • 입찰일과 금통위일 더미는 거의 0. 그날 커브가 «평균적으로» 한쪽으로 가지 않는다는 뜻이고, 그날 변동이 작다는 뜻은 아니다.
20세션 묶음 Shapley R² 분해
그림 4. 20세션 겹치지 않는 묶음 142개(2015-03~). 총 R² 0.41 중 미국 커브와 10년 0.219, ACM 기간 프리미엄 0.052, 한은 경로(통안 1년 − 기준금리)와 기준금리 변화 0.039, 레벨 0.036, 현물 듀레이션 기울기(외국인, 은행, 운용사) 0.033. 장기 입찰 횟수는 0.001 이다.

결과 2 · 사전등록 예측

걷기 전진 시험 구간(2016-01~2026-10), 매일 새로 진입하고 왕복 비용을 문다 (results/20261013_wf/metrics_wf.json)
표적모델nIC적중비용 전 bp비용 뒤 bpNW t플러스 연도
T1E2,637+0.09953.4%+0.125−0.310−9.160/11
T1R / L / N2,637+0.093 / +0.080 / +0.06553.5 / 52.7 / 51.6%+0.146 / +0.124 / +0.079−0.288 / −0.311 / −0.355−7.8 / −8.9 / −10.71 / 0 / 0
T1B_us2,637−0.01549.7%−0.052−0.426−12.00/11
T5E2,633+0.16455.8%+0.452+0.018+0.165/11
T5R / L / N2,633+0.143 / +0.153 / +0.14255.6 / 54.2 / 55.2%+0.358 / +0.347 / +0.333−0.076 / −0.088 / −0.101−0.7 / −0.8 / −0.93 / 4 / 4
T5B_mr2,633+0.03451.3%+0.040−0.394−3.03/11
T20E2,618+0.11554.4%+0.446+0.012+0.045/11
T20R / L / N2,618+0.093 / +0.113 / +0.11254.6 / 53.6 / 54.1%+0.578 / +0.593 / +0.530+0.144 / +0.159 / +0.096+0.4 / +0.4 / +0.38 / 7 / 3
T20B_carry2,618+0.11857.8%+0.531+0.097+0.216/11
모델과 표적별 IC 와 거래당 비용 전 손익
그림 5. 왼쪽: 시험 구간 순위 상관. 학습 모델(R, L, N, E)은 세 표적 모두 양수이고, 규칙 기준선은 0 근처다. 오른쪽: 거래당 비용 전 손익과 평균 왕복 비용(붉은 점선). 막대가 점선을 넘지 못한다.
순환이동 귀무의 IC 분포
그림 6. 표적을 순환이동해 걷기 전진 전체를 다시 돌린 귀무(릿지 200회, LightGBM 단일 시드 30회)와 관측 IC(세로선). T1, T5 는 두 모델 모두 귀무 최댓값 밖이다(릿지 p 0.005, LightGBM p 0.032 = 30회 중 0회). T20 은 릿지 p 0.025, LightGBM p 0.13.

판정. H147, H148, H149 는 미지지다. 정보는 진짜지만(H151) 거래당 이익이 비용보다 작다. H150: E − B_us(T1) +0.116bp NW p 0.014, E − B_mr(T5) +0.411bp p 0.001, T20 +0.599bp p 0.11. H152(E, 비용 뒤 bp/거래)는 2022 제외 −0.33, +0.02, +0.11, 2024~ −0.34, +0.25, −0.16, 2016~2020 −0.30, −0.12, +0.20 이다. 어느 판에서도 유의하게 플러스가 아니다.

결과 3 · 어떤 자료가 예측하나

SHAP 계열 몫과 T20 상위 특징
그림 7. 왼쪽: LightGBM(학습 ≤2025, 5시드) 평균 |SHAP| 의 계열 몫. 오른쪽: T20 상위 15개 특징.
계열 제거와 계열 단독 걷기 전진 IC
그림 8. 왼쪽: 계열 하나를 뺀 E(LightGBM 3시드)의 IC − 전체 E(5시드)의 IC. 어느 계열을 빼도 0.02 넘게 무너지지 않는다. 오른쪽: 계열 하나만 쓴 E(3시드)의 IC.
  • 정보는 흩어져 있다. SHAP 몫(T5): 커브 상태 25%, 해외 22%, 선물 수급 19%, 현물 수급 15%, 표적 이력 8%, 정책 6%, 베이시스와 공급, 달력 각 2~3%. 해외를 빼면 T1 IC 가 0.099 → 0.083 으로 가장 많이 준다.
  • 상위 특징. T5: 한미 기울기 차의 20세션 변화, 3-10-30 버터플라이, 기울기 5일 변화, 20일 기울기 변동성, VIX, 운용사 현물 듀레이션 기울기. T20: 3-10-30 버터플라이, ACM 기간 프리미엄, 20일 스티프너 손익, 마지막 금리 변경 뒤 경과일, 외국인 현물 장기 매수 z.
  • 단기 반전. 표적 이력 7개만 써도 T5 IC 0.139, T20 0.134 다. 과거 5일 스티프너 손익과 다음 5일 손익의 상관이 −0.11 이다. 커브는 며칠 단위로 되돌아온다. 다만 부호만 쓰는 모멘텀 규칙(B_mom)은 IC 0 근처다. 크기와 변동성(20일 변동성 계수 +)을 함께 써야 보인다.
  • 선물 수급은 예측에서도 쓰인다(T5 단독 IC 0.121). 같은 날 설명력(결과 1)보다는 훨씬 작다. 공급 일정 단독은 0.03~0.04 로 약하다.

결과 4 · 탐색: 부호 보유형 매매

사전등록 채점은 T5, T20 도 매일 새 거래로 세어 매번 왕복 비용을 물렸다. 데스크라면 한 포지션을 들고 있다가 예측 부호가 바뀔 때만 바꾼다. 그래서 결과를 본 뒤 규칙 두 가지를 정했다. (a) e 시가에 sign(예측)으로 포지션을 맞추고 다음 시가까지 들고 간다. (b) 같은데 최근 5일 예측 평균의 부호를 쓴다(ma5). 비용은 포지션이 바뀐 크기 × 왕복 비용 / 2 다. 이 절은 탐색이다.

부호 보유형 규칙의 누적 손익
그림 9. 비용 뒤 누적 손익(bp, DV01 1단위). D = 100만원/bp 이면 1bp = 100만원이다. 2022-09~10(레고랜드 국면)에 T20 판이 크게 벌었다.
보유형 규칙 (metrics_hold.json, 2016-01~2026-10, 시가→다음 시가 평가)
규칙비용 전 bp/일비용 bp/일비용 뒤 bp/일연 bp샤프NW t플러스 연도연 변경
E · T20 · ma5+0.1350.025+0.110+27.50.802.8811/1114
E · T5 · ma5+0.1270.038+0.089+22.20.652.479/1122
E · T20 · 그날 부호+0.1510.076+0.074+18.60.542.006/1144
E · T5 · 그날 부호+0.1640.100+0.065+16.20.471.939/1157
E · T1 · ma5+0.1150.037+0.077+19.30.562.079/1121
기준선 캐리 부호+0.0640.012+0.052+12.90.381.508/117
기준선 기울기 평균 회귀+0.0190.014+0.005+1.10.030.135/118
견고성. 비용 뒤 bp/일 (metrics_hold_robust.json)
판T20 / ma5T5 / ma5T20 / 그날T5 / 그날
기본(다리마다 1틱)+0.110+0.089+0.074+0.065
10선 2틱+0.104+0.080+0.056+0.041
두 다리 2틱+0.085+0.051−0.002−0.035
2022 제외+0.075+0.086+0.054+0.066
2024~+0.094+0.167−0.042−0.000
기간 프리미엄 특징 제외+0.081+0.090+0.074+0.070
LightGBM 1시드+0.100+0.083+0.078+0.068
보유형 규칙 최대 통계량 귀무
그림 10. 순환이동한 표적으로 E(LightGBM 1시드)를 다시 학습하고, 표적 3개 × 변형 2개 중 가장 좋은 비용 뒤 bp/일을 모은 분포. 결과를 보고 표적과 변형을 고른 것까지 값을 매긴다. 관측 최대 +0.110 bp/일, 귀무 최댓값 평균 +0.007, 95% 분위 +0.048, 60회 중 0회가 넘었다(p = 0.016, 60회로 낼 수 있는 가장 작은 값).
  • 왜 보유형이 사는가. 예측 부호가 며칠씩 이어지므로(평균 보유 T20 17세션, T5 11세션) 실제 비용은 매일 비용의 1/4~1/6 이다. 비용 전 이익은 거의 그대로 남는다.
  • 위험. T20 ma5 최대 낙폭 −43bp, 최악 연도 2018 +1.3bp, 최고 2022 +109bp. T5 ma5 최대 낙폭 −45bp, 최악 연도 2016 −8.9bp. 스티프너와 플래트너 비중은 반반이다.
  • 규모. D = 100만원/bp(3선 약 35계약, 10선 약 12계약)이면 T20 ma5 기대 연 약 2,750만원, 최대 낙폭 약 4,350만원이다.
  • 2026년은 약하다. T20 ma5 는 2026년 1~10월 +2.5bp, T5 ma5 는 +28.6bp.

지금 신호(탐색)

표적 창이 닫힌 모든 행(T5 는 2026-10-01 신호일까지, T20 은 2026-09-04 까지)으로 R 과 L 을 다시 학습해 최근 신호일을 예측했다(metrics_live.json).

  • T20 · ma5+0.055 → 스티프너(3선 매수, 10선 매도). 2026-10-12: E +0.207, 릿지 +0.87bp, LightGBM +3.70bp
  • T5 · ma5+0.094 → 스티프너. 10-07, 10-08 은 음수(플래트너)였고 10-12 에 바뀌었다. E +0.408, 릿지 +0.66bp, LightGBM +2.55bp

탐색 규칙의 신호다. 사람이 실행하는 매일 카드에는 아직 올리지 않는다.

한계와 다음

선택. 보유형 규칙과 5일 평활은 결과를 본 뒤 정했다. 최대 통계량 귀무는 표적과 변형 선택만 값을 매긴다. 모델 계열(E)과 특징, 초매개변수는 사전등록이다.
기간 프리미엄. ACM 과 Kim-Wright 는 전 표본으로 추정한 모형 값이다. 빼도 결론은 같다.
비용. 다리마다 왕복 1틱 가정이다. 10선 시가 체결 비용은 실측하지 않았다. 두 다리 2틱이면 그날 부호 판은 0 이 된다.
빠진 자료. 금통위 고빈도 서프라이즈, 경제지표 서프라이즈(컨센서스 이력이 2026-07 부터뿐), 원화 차익거래 유인(FX 스왑), 통안 공급, 추경과 바이백 이벤트, WGBI 편입 일정은 넣지 못했다.
구조 변화. 야간장(2025-06-09~)과 08:45 개장(2025-10-27~) 뒤 시가의 뜻이 바뀌었다. 2024~ 표본은 짧다.
다음. 2026-10-13 부터 T20, T5 ma5 신호를 매일 기록하는 전진 기록을 남기고 100세션 뒤 다시 판정한다. 그 전에 10선 시가 체결 비용을 실측한다.

산출물

  • 계획과 가설protocol.md (커밋 e9c7245, 예측 결과 전)
  • 분석과 판정analysis.md
  • 문헌 조사results/20261013_research/lit_curve.md
  • 패널code/s1_panel.py, code/s1b_extra.py → results/20261013_panel/
  • 동행 분해code/s2_explain.py → results/20261013_explain/
  • 걷기 전진, 귀무, 중요도code/wf.py, s3_wf.py, s4_null.py, s5_importance.py → results/20261013_wf/
  • 보유형(탐색), 지금 신호code/s6_hold.py, s7_hold_null_E.py, s8_live.py
  • 그림code/render_figures34.py, code/render_model34.py

Appendix

A. 데이터셋 실물(패널 네 행, 2026-09-01 ~ 09-04)

L = 연결 사슬 가격(pt), Lopen = 그날 시가의 사슬 값, d = DV01(원/bp), fy = 내재수익률(%). 표적과 특징은 bp. 전체 172열 중 일부.
s3선 L / Lopen / d₃ / fy10선 L / Lopen / d₁₀ / fyT1 / T5 / T20그날 종가→종가10y−3y미국 2s10s 밤사이외국인 커브 수급e 장기 입찰
2026-09-015.03 / 5.10 / 28,590 / 3.8856.16 / 6.35 / 82,833 / 4.358−0.96 / +0.05 / −2.14+1.6749.1−1+6.330
2026-09-024.85 / 4.95 / 28,530 / 3.9485.75 / 5.96 / 82,448 / 4.407+0.97 / −1.56 / −3.03−1.3548.20+6.970
2026-09-035.04 / 4.95 / 28,594 / 3.8816.20 / 6.02 / 82,872 / 4.353−2.33 / −0.85 / −4.04+1.2048.5+3−2.701
2026-09-045.07 / 5.04 / 28,604 / 3.8716.44 / 6.16 / 83,101 / 4.324+2.26 / +3.76 / −3.68−1.8546.5−2+4.730

B. 모델 입출력 실물(T20, 신호일 2026-08-31)

Request meta
T20, 시험 연도 2026 폴드(학습 2013-01-02 ~ 표적 창이 2025 안에 끝나는 행). 9월 1일 시가에 결정하고 s+20 종가까지 든다.
Input (T20 SHAP 상위 10개)
CV_fly31030 27.7 · GL_acmtp10 78.4 · TG_mom20 2.62 · PO_since 1.61 · CB_frn_long20_z −1.48 · GL_slope_gap_d20 2.8 · CB_am_tilt20 −8.43 · CV_y3 384.0 · CV_ss3_d20 −5.5 · CB_amp_tilt60 0.37 (나머지 142개 생략)
Model response
릿지 +0.287bp, LightGBM +3.210bp, MLP −6.955bp, E +0.124(스티프너), B_mr −1, B_carry +1, B_us +1
Ground truth check
실현 T20 = −4.257bp(플래트닝). E 를 따른 매일 진입 거래는 −4.26 − 0.47(비용) = −4.73bp. MLP 만 맞혔다. 맞힌 날이 아니라 틀린 날을 일부러 골랐다.

C. 실험 설정

  • 표본패널 2012-01-02 ~ 2026-10-12 3,626일, 학습 시작 2013-01-02, 시험 2016~2026
  • 표적T1 = e 시가→e 종가, T5, T20 = e 시가→s+h 종가, 스티프너 bp(DV01 = 신호일 값). 학습만 1%, 99% 분위로 자름
  • 엠바고학습 행은 s ≤ (Y 첫 거래일 − h − 1)
  • 전처리(R, N)학습창 중앙값 채움 → 학습창 평균과 표준편차로 표준화 → ±5 자름. L 은 원값(결측은 LightGBM 이 다룬다)
  • 비용다리마다 왕복 1틱: 10⁴/d₃ + 10⁴/d₁₀ bp. 민감도 10선 2틱, 두 다리 2틱
  • 추론NW 지연 max(5, h). 귀무: 표적을 [250, n−250] 세션 순환이동, seed [34, rep], 보유형 릿지 [3406, rep], 보유형 E [3407, rep]
  • 동행 분해OLS, 8묶음 Shapley(256개 부분집합 정확 계산), 2015-03-03 ~ 2026-10-12 2,845일, 20세션 묶음 142개 9묶음
  • 보유형(탐색)pos_s = sign(예측 또는 5일 평균), 손익 = pos_s × (e 시가 → e+1 시가 스티프너), 비용 = |pos_s − pos_(s−1)| × 왕복 비용 / 2