같은 날 스티프너 손익의 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개 신호일 예측의 평균. 보유형 규칙에서 부호를 정한다
자료
| 묶음 | 원천 | 기간 | 시점 규칙 |
|---|---|---|---|
| 표적·DV01 | 3선·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년, VIX | 1962 ~ | 뉴욕 날짜 < e |
| 기간 프리미엄 | NY Fed ACM 10년(일별), Kim-Wright 10년(FRED) | 1961 · 1990 ~ | 7일 · 10일 늦춤, 전 표본 추정 모형 |
| 독일·일본·원화·달러 | 일별 풀 | 2010 ~ | 독일과 달러는 뉴욕, 일본과 원화는 한국 마감 |
| 선물 수급 | 투자자 7종 3선·10선 순매수 계약 × DV01 | 2012 ~ | 한국 마감 s |
| 현물 수급 | 보험기금, 외국인, 은행, 운용사(공모, 사모) 종목별 순매수 × 종목 듀레이션, 잔존 ≥8y − <4y | 2011 ~ (종목 행 약 83만/투자자) | 1세션 늦춤 |
| 공급 | 국고 경쟁입찰 일정·발행예정액 1,404건, 국발계 공표일 67개월(관측) | 2015-03 ~ | e 의 달 입찰, 또는 공표일 뒤 다음 달 |
| 정책·달력 | 금통위 결정·일정, 선물 최종거래일 | 2010 ~ | 일정은 미리 안다 |
표적 검산. 연결 사슬 가격으로 만든 스티프너 일별 손익은 롤 날을 뺀 날의 (10선 − 3선 내재수익률) 변화와 상관 0.996 이다. 롤 날에는 내재수익률이 바스켓 교체로 뛰므로(상관 0.36) 가격 사슬을 쓴다.
| 계열 | 개수 | 예 |
|---|---|---|
| CV 커브 상태 | 31 | 10y−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 베이시스 | 3 | 10선 − 3선 시장베이시스·이론갭(bp) |
| CA 달력 | 7 | 만기까지 세션, 롤 창, 분기말·12월·월말, 요일, 휴일 간격 |
방법
동행 분해(탐색). 일별 스티프너 종가→종가 손익을 같은 창(전날 한국 마감 → 그날 마감)의 요인 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단위, 매일 새로 진입해 왕복 비용을 문다(사전등록).
모델
모델 계열과 초매개변수는 계획서에 결과 전에 고정했다. 릿지는 «선형으로 충분한가» 의 기준이다. LightGBM 은 특징 사이 조건 관계(예: 미국 커브가 크게 움직인 날만 수급이 의미 있다)를, MLP 는 매끄러운 비선형을 본다. 주 모델 E 는 서로 다른 오차를 섞으려고 릿지와 LightGBM 을 순위로 평균한다. 규칙 기준선은 학습 없는 부호 규칙이다.
| 이름 | 계열 | 설정 |
|---|---|---|
| R | 릿지 회귀 | α ∈ {1, 10, 100, 1000, 10000}, 학습창 안 시계열 3겹(뒤 60%를 셋으로) 제곱오차 최소 |
| L | LightGBM 회귀 | 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 평균 |
| N | MLP 회귀 | (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, 마지막 폴드
LightGBM L — T20, 마지막 폴드 (시드 0)
| 분기 위치 \ 피처 | CV_fly31030 | GL_slope_gap_d20 | TG_mom20 | CV_y3 | PO_since | CV_fslope | CV_y10_d60 | CB_frn_long20_z | CV_slopevol20 | FL_pens_curve20 | CV_curv | CB_am_tilt20 | GL_krus10 | GL_us5s30 | CV_slope_z | GL_acmtp10 | CB_amp_tilt60 | CB_am_tilt60 | CV_y3_d60 | CB_frn_tilt60 | CB_amp_long20_z | PO_base_d250 | CB_ins_tilt60 | SU_tilt20 | CV_fslope_gap | CV_ss3_d20 | TG_mom60 | PO_cd_base | GL_dxy_d20 | FL_sec_lvl20 | CB_frn_tilt20 | TG_vol20 | GL_kwtp_d20 | GL_vix | FL_ins_curve20 | FL_ind_curve20 | CV_s3_m1 | GL_slope_gap | FL_frn_lvl20 | GL_acmtp10_d20 | CV_slope | CV_s30_10 | GL_bund_d20 | FL_trust_curve20 | BA_mb_diff | CB_bank_tilt20 | CB_am_long20_z | PO_m1_base_d20 | FL_sec_curve20 | CV_y3_z | PO_y3_base | PO_m1_base | FL_pens_curve5 | CV_slope_d20 | FL_frn_curve20 | FL_ins_curve5 | FL_volratio_z | CA_dte | CV_curv_d20 | CV_slope_d60 | CV_beta60 | GL_us2s10s | GL_us5s30_d20 | GL_bei10_d20 | FL_frn_curve5 | BA_tg_diff | CB_ins_tilt20 | SU_long5 | CV_y3_d5 | TG_mom5 | TG_oc | CB_amp_tilt20 | CV_slope_d5 | GL_us2s10s_d20 | GL_us2_d20 | FL_aggr3 | CB_bank_tilt60 | CV_carry | PO_base | GL_us3m10 | FL_bank_lvl20 | FL_frn_curve20_z | CB_ins_long20_z | CB_frn_tilt5 | CB_am_tilt5 | CV_s30_10_d20 | TG_mom1 | CV_s3_m1_d20 | CV_y3_d20 | GL_krw_d20 | CV_y10_d20 | CV_swap_slope | FL_bank_curve20 | FL_aggr10 | CB_bank_long20_z | CB_amp_tilt5 | CV_slope_d1 | CV_ss10_d20 | FL_pens_curve1 | GL_real10_d20 | FL_frn_lvl5 | FL_sec_curve5 | FL_ins_curve1 | FL_trust_curve1 | CV_y10_d5 | PO_cycle | PO_mpc_days | GL_us10_d1 | GL_us2_d5 | GL_us10_d20 | GL_vix_d5 | GL_jgb_d20 | FL_sec_lvl5 | FL_bank_lvl5 | FL_trust_curve5 | FL_ind_curve5 | SU_short5 | CV_y3_d1 | CV_y10_d1 | TG_gap | PO_mpc_e | GL_us2s10s_d1 | GL_us2_d1 | GL_us2s10s_d5 | GL_us10_d5 | GL_us5s30_d1 | GL_bei10_d1 | GL_real10_d1 | GL_vix_d1 | GL_bund_d1 | GL_dxy_d1 | GL_jgb_d1 | GL_krw_d1 | FL_frn_curve1 | FL_sec_curve1 | FL_bank_curve1 | FL_bank_curve5 | FL_ind_curve1 | FL_oi3_d5 | FL_oi10_d5 | BA_tg_diff_d5 | CA_rollwin | CA_qend | CA_dec | CA_mend | CA_dow | CA_gapdays | CB_ins_tilt5 | CB_bank_tilt5 | SU_next_long | SU_e_long | SU_e_any | 합 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 깊이 0 (뿌리) | 9 | 25 | 34 | 9 | 9 | 8 | 3 | 3 | 7 | 5 | 1 | 9 | 2 | 11 | 8 | 8 | 1 | 1 | 0 | 1 | 7 | 8 | 8 | 7 | 7 | 17 | 20 | 1 | 3 | 3 | 0 | 4 | 4 | 5 | 0 | 12 | 0 | 0 | 12 | 10 | 0 | 1 | 1 | 1 | 0 | 5 | 4 | 4 | 9 | 0 | 0 | 0 | 5 | 1 | 1 | 10 | 2 | 0 | 4 | 1 | 0 | 1 | 1 | 0 | 5 | 1 | 8 | 3 | 3 | 5 | 7 | 1 | 6 | 0 | 2 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 1 | 2 | 1 | 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 | 400 |
| 깊이 1 | 22 | 13 | 16 | 24 | 10 | 13 | 12 | 10 | 16 | 13 | 11 | 10 | 6 | 12 | 7 | 9 | 9 | 13 | 10 | 11 | 7 | 12 | 6 | 6 | 2 | 6 | 2 | 8 | 10 | 4 | 4 | 13 | 13 | 6 | 4 | 5 | 9 | 9 | 7 | 8 | 3 | 5 | 3 | 5 | 6 | 3 | 5 | 6 | 3 | 2 | 11 | 6 | 7 | 5 | 2 | 3 | 6 | 4 | 5 | 0 | 3 | 2 | 0 | 3 | 1 | 2 | 1 | 3 | 4 | 1 | 4 | 1 | 3 | 2 | 3 | 1 | 4 | 5 | 1 | 0 | 0 | 1 | 4 | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 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 | 539 |
| 깊이 2 | 28 | 17 | 7 | 11 | 15 | 20 | 15 | 14 | 10 | 19 | 16 | 15 | 7 | 12 | 5 | 13 | 19 | 14 | 17 | 6 | 7 | 8 | 7 | 13 | 9 | 6 | 5 | 10 | 7 | 6 | 13 | 4 | 8 | 5 | 13 | 5 | 8 | 5 | 3 | 1 | 10 | 8 | 4 | 5 | 8 | 6 | 8 | 6 | 2 | 5 | 3 | 7 | 2 | 5 | 6 | 3 | 6 | 6 | 1 | 5 | 3 | 5 | 6 | 6 | 6 | 4 | 0 | 3 | 0 | 2 | 0 | 2 | 0 | 3 | 1 | 0 | 3 | 3 | 3 | 1 | 4 | 3 | 1 | 1 | 1 | 6 | 0 | 2 | 0 | 2 | 0 | 0 | 3 | 2 | 3 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 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 | 618 |
| 깊이 3 | 15 | 7 | 7 | 10 | 12 | 7 | 17 | 14 | 15 | 8 | 14 | 12 | 21 | 7 | 9 | 8 | 7 | 10 | 9 | 9 | 9 | 3 | 10 | 5 | 10 | 5 | 5 | 10 | 6 | 8 | 6 | 5 | 3 | 6 | 5 | 4 | 6 | 5 | 1 | 3 | 4 | 4 | 8 | 5 | 3 | 5 | 1 | 3 | 4 | 7 | 4 | 5 | 2 | 5 | 5 | 2 | 1 | 1 | 3 | 6 | 4 | 5 | 4 | 2 | 0 | 4 | 3 | 3 | 3 | 1 | 0 | 2 | 1 | 4 | 3 | 3 | 2 | 0 | 3 | 6 | 2 | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 3 | 0 | 4 | 2 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 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 | 493 |
| 깊이 4 | 13 | 5 | 2 | 6 | 12 | 5 | 5 | 8 | 4 | 5 | 5 | 2 | 8 | 2 | 9 | 4 | 4 | 1 | 2 | 8 | 6 | 4 | 2 | 4 | 5 | 0 | 2 | 4 | 6 | 7 | 6 | 4 | 2 | 6 | 2 | 0 | 2 | 5 | 1 | 1 | 4 | 3 | 5 | 4 | 3 | 3 | 3 | 2 | 2 | 5 | 2 | 2 | 2 | 2 | 3 | 0 | 2 | 3 | 3 | 2 | 4 | 1 | 3 | 2 | 1 | 2 | 0 | 0 | 1 | 1 | 0 | 5 | 0 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 0 | 0 | 1 | 2 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | 278 |
| 깊이 5 | 2 | 0 | 0 | 2 | 2 | 2 | 1 | 4 | 0 | 1 | 2 | 0 | 1 | 0 | 4 | 0 | 1 | 1 | 1 | 2 | 1 | 1 | 3 | 1 | 2 | 1 | 1 | 1 | 1 | 3 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 2 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | 72 |
| 분기 합 | 89 | 67 | 66 | 62 | 60 | 55 | 53 | 53 | 52 | 51 | 49 | 48 | 45 | 44 | 42 | 42 | 41 | 40 | 39 | 37 | 37 | 36 | 36 | 36 | 35 | 35 | 35 | 34 | 33 | 31 | 31 | 30 | 30 | 28 | 26 | 26 | 25 | 24 | 24 | 23 | 22 | 22 | 22 | 22 | 22 | 22 | 22 | 21 | 21 | 20 | 20 | 20 | 19 | 18 | 18 | 18 | 17 | 17 | 16 | 15 | 14 | 14 | 14 | 14 | 13 | 13 | 12 | 12 | 11 | 11 | 11 | 11 | 10 | 10 | 10 | 10 | 10 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 7 | 6 | 5 | 5 | 5 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 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 | 2,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)
결과 1 · 무엇이 커브를 움직이나
| 묶음 | 전체 | 2015-03~2019 | 2020~2026 | 갭 | 장중 |
|---|---|---|---|---|---|
| 미국 커브·금리 밤사이 | 0.088 (29%) | 0.078 | 0.089 | 0.310 | 0.008 |
| 외국인 선물 커브 수급 | 0.064 (21%) | 0.053 | 0.070 | 0.009 | 0.053 |
| 레벨(한국 3년 변화) | 0.048 (16%) | 0.018 | 0.080 | 0.009 | 0.048 |
| 증권·은행 선물 커브 수급 | 0.037 (12%) | 0.038 | 0.040 | 0.005 | 0.033 |
| 독일·일본 10년 | 0.030 (10%) | 0.059 | 0.024 | 0.028 | 0.015 |
| 보험·연기금·투신 선물 수급 | 0.030 (10%) | 0.008 | 0.041 | 0.005 | 0.024 |
| 원화·VIX | 0.008 (3%) | 0.002 | 0.018 | 0.002 | 0.012 |
| 입찰일·금통위일 | 0.002 (1%) | 0.010 | 0.002 | 0.001 | 0.001 |
| 총 R² | 0.306 | 0.266 | 0.364 | 0.369 | 0.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. 그날 커브가 «평균적으로» 한쪽으로 가지 않는다는 뜻이고, 그날 변동이 작다는 뜻은 아니다.
결과 2 · 사전등록 예측
| 표적 | 모델 | n | IC | 적중 | 비용 전 bp | 비용 뒤 bp | NW t | 플러스 연도 |
|---|---|---|---|---|---|---|---|---|
| T1 | E | 2,637 | +0.099 | 53.4% | +0.125 | −0.310 | −9.16 | 0/11 |
| T1 | R / L / N | 2,637 | +0.093 / +0.080 / +0.065 | 53.5 / 52.7 / 51.6% | +0.146 / +0.124 / +0.079 | −0.288 / −0.311 / −0.355 | −7.8 / −8.9 / −10.7 | 1 / 0 / 0 |
| T1 | B_us | 2,637 | −0.015 | 49.7% | −0.052 | −0.426 | −12.0 | 0/11 |
| T5 | E | 2,633 | +0.164 | 55.8% | +0.452 | +0.018 | +0.16 | 5/11 |
| T5 | R / L / N | 2,633 | +0.143 / +0.153 / +0.142 | 55.6 / 54.2 / 55.2% | +0.358 / +0.347 / +0.333 | −0.076 / −0.088 / −0.101 | −0.7 / −0.8 / −0.9 | 3 / 4 / 4 |
| T5 | B_mr | 2,633 | +0.034 | 51.3% | +0.040 | −0.394 | −3.0 | 3/11 |
| T20 | E | 2,618 | +0.115 | 54.4% | +0.446 | +0.012 | +0.04 | 5/11 |
| T20 | R / L / N | 2,618 | +0.093 / +0.113 / +0.112 | 54.6 / 53.6 / 54.1% | +0.578 / +0.593 / +0.530 | +0.144 / +0.159 / +0.096 | +0.4 / +0.4 / +0.3 | 8 / 7 / 3 |
| T20 | B_carry | 2,618 | +0.118 | 57.8% | +0.531 | +0.097 | +0.21 | 6/11 |
판정. 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 몫(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 다. 이 절은 탐색이다.
| 규칙 | 비용 전 bp/일 | 비용 bp/일 | 비용 뒤 bp/일 | 연 bp | 샤프 | NW t | 플러스 연도 | 연 변경 |
|---|---|---|---|---|---|---|---|---|
| E · T20 · ma5 | +0.135 | 0.025 | +0.110 | +27.5 | 0.80 | 2.88 | 11/11 | 14 |
| E · T5 · ma5 | +0.127 | 0.038 | +0.089 | +22.2 | 0.65 | 2.47 | 9/11 | 22 |
| E · T20 · 그날 부호 | +0.151 | 0.076 | +0.074 | +18.6 | 0.54 | 2.00 | 6/11 | 44 |
| E · T5 · 그날 부호 | +0.164 | 0.100 | +0.065 | +16.2 | 0.47 | 1.93 | 9/11 | 57 |
| E · T1 · ma5 | +0.115 | 0.037 | +0.077 | +19.3 | 0.56 | 2.07 | 9/11 | 21 |
| 기준선 캐리 부호 | +0.064 | 0.012 | +0.052 | +12.9 | 0.38 | 1.50 | 8/11 | 7 |
| 기준선 기울기 평균 회귀 | +0.019 | 0.014 | +0.005 | +1.1 | 0.03 | 0.13 | 5/11 | 8 |
| 판 | T20 / ma5 | T5 / ma5 | T20 / 그날 | 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 |
- 왜 보유형이 사는가. 예측 부호가 며칠씩 이어지므로(평균 보유 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)
| s | 3선 L / Lopen / d₃ / fy | 10선 L / Lopen / d₁₀ / fy | T1 / T5 / T20 | 그날 종가→종가 | 10y−3y | 미국 2s10s 밤사이 | 외국인 커브 수급 | e 장기 입찰 |
|---|---|---|---|---|---|---|---|---|
| 2026-09-01 | 5.03 / 5.10 / 28,590 / 3.885 | 6.16 / 6.35 / 82,833 / 4.358 | −0.96 / +0.05 / −2.14 | +1.67 | 49.1 | −1 | +6.33 | 0 |
| 2026-09-02 | 4.85 / 4.95 / 28,530 / 3.948 | 5.75 / 5.96 / 82,448 / 4.407 | +0.97 / −1.56 / −3.03 | −1.35 | 48.2 | 0 | +6.97 | 0 |
| 2026-09-03 | 5.04 / 4.95 / 28,594 / 3.881 | 6.20 / 6.02 / 82,872 / 4.353 | −2.33 / −0.85 / −4.04 | +1.20 | 48.5 | +3 | −2.70 | 1 |
| 2026-09-04 | 5.07 / 5.04 / 28,604 / 3.871 | 6.44 / 6.16 / 83,101 / 4.324 | +2.26 / +3.76 / −3.68 | −1.85 | 46.5 | −2 | +4.73 | 0 |
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