3년 국채선물 · 밤사이 다자산 특징 20개 · 2013 ~ 2026-10 · 롤링 릿지, 발견 구간에서 문턱을 잠근 단독 규칙

밤사이 자산 20개로 매일 다시 맞춘 릿지 회귀가 3년 국채선물 장중을 예측해 비용 뒤 남는가

미국 금리, 달러, 원화, 주식, 금, 해외 금리, 외국인 수급 같은 밤사이 특징 20개로 직전 250일만 보고 매일 릿지 회귀를 다시 맞춰 다음 세션 3선 장중을 예측하고, 예측이 큰 날만 거래했다.

폐기 · 확인 −0.04틱/건, p 0.529 발견 +1.22틱(385건), 확인 227건 확인 순위 IC 0.014

세 줄 요약

  1. 밤사이 특징 20개를 직전 250행으로 표준화하고, 직전 250행 릿지 회귀(α = 10)를 매일 다시 맞춰 3선 다음 세션 장중(시가 → 종가)을 예측했다. |예측| 이 발견 구간 상위 20%(3.25틱 이상)인 날 예측 방향으로 거래하면 비용 1틱 뒤 발견 +1.22틱(385건), 확인 −0.04틱(227건, 승률 50%), 월 블록 부트스트랩 한쪽 p 0.529 다.
  2. 발견 구간 이익의 대부분은 2022 년(129건, +400틱) 한 해다. 예측과 실제의 순위 상관(IC)은 발견 0.107 에서 확인 0.014 로 사라졌다. α 를 1 이나 100 으로 바꿔도 확인 구간은 0 이하다.
  3. 20개 특징을 매일 다시 결합해도 표본 밖에서 남는 예측력이 없다. 판정은 폐기다. 기준금리가 오래 변하지 않으면 표준화가 무한대를 만들어 예측이 약 250일씩 비는 구현 결함이 있었고, 확인 구간 928일 중 315일은 예측이 없었다.

가설과 결론

지금 카드는 미국 10년 금리 하나만 본다. 밤사이에 움직이는 자산은 훨씬 많고, 그 관계는 시기마다 바뀐다. 그렇다면 «많은 자산을 넣고, 관계가 바뀌는 것을 따라가도록 매일 다시 맞추는» 모델이 더 나을 수 있다. 릿지 회귀는 특징이 많고 서로 닮았을 때 계수를 0 쪽으로 눌러 과적합을 줄이는 선형회귀다. 직전 250일만 쓰므로 관계 변화를 따라간다. 예측이 작은 날은 잡음이라 보고 큰 날만 거래한다.

가설
H303. 확인 구간(2023-01 ~ 2026-10) 거래당 비용 1틱 뒤 평균 > 0, 월 블록 부트스트랩 한쪽 p < 0.05.
결론
확인 구간 227건 평균 −0.04틱, 90% 구간 −1.11 ~ +1.00, 한쪽 p 0.529. 2차와 3차 묶음 주가설 63개 Holm 보정 p 1.00. 판정은 폐기다.
주가설
가설내용결과(확인)한쪽 p판정
H303롤링 릿지 |예측| 상위 20% 날 예측 방향 3선, 비용 1틱 뒤 거래당 평균 > 0−0.04틱(227건)0.529폐기

발견 구간의 +1.22틱은 사전에 정한 하이퍼파라미터로 낸 표본 밖 예측의 성적이지만(매일 과거 250일로만 학습), 같은 구간에서 문턱을 정했고 2022 년에 몰려 있다. 확인 구간에서는 비용 전 +0.96틱이 비용 1틱에 그대로 먹힌다.

용어와 기호

3선, 틱
한국거래소 3년 국채선물. 1틱은 가격 0.01, 계약(액면 1억원)당 1만원. 금리가 오르면 가격이 내린다
bp
금리 0.01%p
행 s, 세션 e
s 는 한국 거래일(뉴욕 날짜 s 종가 포함), e 는 그다음 한국 거래일. 특징은 e 08:20 이전에 알려진 값이고 거래는 e 에서 한다
y(장중)
3선 세션 e 시가 → 종가(틱). 근월물 기준가 사슬. 만기 교체 날은 거래하지 않는다
z 표준화
특징마다 직전 250행(최소 60)의 평균과 표준편차로 (값 − 평균) / 표준편차. 그날 값은 쓰지 않는다. 결측은 0
릿지 회귀, α
최소제곱 오차에 α × (계수 제곱합)을 더해 최소화하는 선형회귀. α 가 클수록 계수가 0 쪽으로 눌린다. 여기서 α = 10
롤링 창
예측하는 날 바로 앞 250행(y 가 있는 행 200개 이상)으로만 계수를 구한다. 날마다 창이 하루씩 밀린다
예측 ŷ
창 안 y 평균 + Σ 계수 × 그날 z. 단위는 틱
문턱
발견 구간 |ŷ| 의 80% 분위수 3.25틱. 이 이상이면 sign(ŷ) 방향으로 1계약
순위 IC
매일의 ŷ 와 실제 y 의 Spearman 순위 상관. 1 이면 순서가 완벽히 맞고 0 이면 무관
발견, 확인 구간
발견 2013-01 ~ 2022-12(문턱을 정함), 확인 2023-01 ~ 2026-10(판정)
월 블록 부트스트랩, 한쪽 p
거래 손익을 달 단위로 묶어 복원 추출을 5,000번 해 평균의 분포를 만들고, 효과가 0 일 때 지금 평균 이상이 나올 확률을 센다
Holm 보정
여러 가설을 함께 시험할 때 p 를 가설 수에 맞춰 키우는 방법. 2차와 3차 묶음 주가설 63개
카드
데스크의 기존 규칙. 미국 10년 밤사이 |변화| ≥ 3bp 이면 다음 세션 3선을 반대로(금리 상승이면 매수) 시가에 사서 종가에 판다
승률
비용 1틱 뒤 손익이 0 보다 큰 거래의 비율

자료

데이터셋

쓴 자료(공통 다자산 패널, 행 = 한국 거래일)
자료원천기간해상도쓰임
3선 시가, 종가(기준가 사슬), 만기 교체 표시인포맥스 단말 일봉2012 ~ 2026-10일y, 거래 제외
미국 2, 5, 10년 금리FRED, 단말2012 ~ 2026-10일, 뉴욕 날짜특징
달러인덱스, NDF, 원화 종가, 스왑포인트인포맥스 단말2012 ~ 2026-10일특징(원화 계열)
나스닥100 선물, 금, CME 비트코인인포맥스 단말2015-01 ~ 2026-10(비트코인 2017-12 ~), 그 전은 결측 = 0일, 뉴욕 날짜특징
독일, 프랑스, 일본 10년인포맥스 단말2012 ~ 2026-10일특징
코스피 외국인 순매수, 외국인 국채 보유 비중, 기준금리인포맥스 단말2012 ~ 2026-10(보유 비중 2015 ~, 기준금리 2013 ~)일특징(국내 상태)

특징 20개

특징 목록(모두 행 s 값, 롤링 z 표준화 뒤 사용)
이름뜻이름뜻
g_us, g_us2, g_us5미국 10, 2, 5년 하루 변화(bp)rv20원달러 하루 변화의 20일 표준편차
|g_us|미국 10년 변화의 절댓값lvl_dist원달러가 가장 가까운 50원 단위에서 떨어진 거리(%)
d_dxy달러인덱스 로그 변화(%)kospi_for코스피 외국인 순매수 금액
g_fx밤사이 원화 변화(%, NDF 기준)for_share외국인 국채 보유 비중
ε원화 고유 충격(달러인덱스와 미국 금리로 설명 안 되는 몫)base_rate한국은행 기준금리
g_nq, g_xau, g_btc나스닥 선물, 금, 비트코인 로그 변화(%)sr1y1년 스왑레이트(원화 내재 금리)
g_de10, g_fr10, g_jp10d독일, 프랑스, 일본 10년 하루 변화(bp)pt1y1년 스왑포인트(전)

표본, 분할, 시점

연도별 예측 가능일과 거래 수(2013 ~ 2026-10)
연도거래일예측 없는 날거래연도거래일예측 없는 날거래
2013247171172020248048
201424518362021248050
20152481591220222460129
201624601720232450123
201724303720242445540
201824403120252421958
20192460382026(10월까지)1976556

«예측 없는 날» 은 한계 절에 적은 구현 결함 때문이다. 2013 년 초는 창을 채우는 준비 기간이다. 확인 구간 928일 중 315일에 예측이 없고, 만기 교체 날까지 빼면 예측이 있는 날은 601일이다. 시점은 이렇다. 미국과 유럽 특징은 뉴욕 날짜 s 종가로 한국 e 새벽에 확정되고, 국내 특징은 s 일 장 마감 값이다. 예측은 e 08:20 전에 끝나고 3선은 e 개장(2025-11 까지 09:00, 2025-12 부터 08:45) 시가에 진입한다.

방법

  1. 표준화. 특징 20개를 직전 250행 평균과 표준편차로 z 화하고 결측은 0 으로 둔다.
  2. 매일 학습. 예측하는 날 i 마다 행 i−250 ~ i−1 에서 y 가 있는 행(200개 이상)으로 릿지 회귀를 푼다. y 는 창 평균을 빼고 맞추고, 예측에 다시 더한다.
  3. 문턱. 발견 구간 |ŷ| 의 80% 분위수(3.25틱)를 잠근다.
  4. 거래. |ŷ| ≥ 3.25 이고 만기 교체 날이 아니면 sign(ŷ) 방향 3선 1계약, e 시가 진입, e 종가 청산, 왕복 1틱.
  5. 판정. 확인 구간 거래 손익(비용 1틱 뒤)의 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05 면 지지.
  6. 판정에 쓰지 않는 탐색. E1 α = 1, 100. E2 거래일이 카드 날과 겹치는 비율.

모델

설정

모델은 특징 20개의 선형 결합이다. 학습할 것은 계수 20개와 절편이고, 날마다 새로 구한다. 릿지 벌점은 서로 닮은 특징(미국 2, 5, 10년처럼)이 큰 계수를 반대 부호로 나눠 갖는 것을 막는다. 창이 250일이라 최근 1년의 관계만 반영한다.

하이퍼파라미터 전부(프로토콜에 고정, 고르지 않음)
항목값
모델릿지 회귀(닫힌 해 (XᵀX + αI)⁻¹Xᵀy, 절편은 y 평균을 빼서 처리)
α10(탐색 E1 에서 1, 100)
학습 창직전 250행, y 가 있는 행 200개 이상
재학습매일
특징 표준화직전 250행(최소 60) 평균, 표준편차. 결측 0
목표3선 e 시가 → 종가(틱)
거래 문턱발견 구간 |ŷ| 80% 분위수 = 3.25틱
첫 예측 행패널 261번째 행부터(2013 년 초)

학습된 계수

릿지 계수의 구간 평균과 시간 경로
학습된 모델 그대로 그렸다(매일 적합한 계수를 다시 계산했고, 그 예측으로 만든 거래가 확증 런과 건수, 평균, p 까지 같은 것을 assert 로 확인했다). 왼쪽: 매일 계수의 구간 평균. 발견과 확인에서 같은 방향으로 큰 것은 미국 10년(양, 카드와 같은 방향)과 원화 고유 충격(음) 정도이고, 프랑스 10년, 비트코인, 기준금리, 일본 10년은 구간마다 부호나 크기가 크게 바뀐다. 오른쪽: 계수 다섯 개의 월말 값. 2022 ~ 2023 년에 금과 프랑스 10년 계수가 −5 안팎까지 출렁인다. 끊긴 구간은 예측이 없는 날이다.
계수의 안정성(매일 계수 기준, 기술 통계)
특징발견 평균확인 평균양수인 날 비율
미국 10년+1.24+2.6188%
원화 고유 충격 ε−0.57−0.5731%
금−0.52−0.3234%
독일 10년−0.57−0.0528%
프랑스 10년−0.00−1.1938%
비트코인−0.22−1.0513%
기준금리−0.20+0.6350%
일본 10년−0.25+0.5053%
|미국 10년|+0.19+0.9269%

미국 10년 계수가 양이라는 것은 «미국 금리가 오른 밤 뒤 3선 장중은 오른다» 는 카드의 되돌림을 모델도 배웠다는 뜻이다. 나머지 특징은 반 정도의 날에 부호가 바뀌어, 매일 다시 맞추는 과정이 관계를 따라가기보다 잡음을 따라간다.

결과

확증 결과

주가설 H303(3선 1계약, 틱/건)
항목발견 2013 ~ 2022확인 2023 ~ 2026-10
거래 수385227
비용 전 평균+2.22+0.96
비용 1틱 뒤 평균+1.22−0.04
비용 2틱 뒤 평균+0.22−1.04
비용 1틱 뒤 승률52.2%49.8%
월 블록 부트스트랩 한쪽 p, 90% 구간0.529, −1.11 ~ +1.00
Holm 보정 p(63개)1.00

누적 손익과 연도별 성적

아래 그림과 표는 확증 런을 그대로 다시 만들어(거래 수, 평균, p 를 assert 로 확인) 낸 기술 통계다.

규칙 누적 손익
규칙의 누적 손익(1계약, 비용 1틱 뒤). 회색 띠는 예측이 없던 날이다. 2013 ~ 2021 년은 9년 동안 +70틱 정도로 옆걸음이고, 2022 년 한 해에 +400틱이 쌓인다. 확인 구간에서는 2023 년 +71틱 뒤 2024 ~ 2026 년에 조금씩 잃는다.
연도별 거래당 손익과 예측 분위별 손익
왼쪽: 연도별 거래당 손익(비용 1틱 뒤)과 거래 수. 발견 구간 10년 중 음인 해가 5년이다. 오른쪽: 매일의 예측을 5분위로 나눈 실제 장중 평균. 발견 구간은 예측 순서대로 계단이 서지만 확인 구간은 모든 분위가 음이고 순서가 없다.
매수와 매도로 나누면(비용 1틱 뒤 틱/건)
방향발견 건수발견 평균확인 건수확인 평균
매수(ŷ ≥ +3.25)158+0.9088−0.11
매도(ŷ ≤ −3.25)227+1.441390.00

예측력 자체

매일 예측(롤 날 제외, 유한한 예측만, 기술 통계)
항목발견확인
예측이 있는 날1,915601
순위 IC(Spearman)0.1070.014
부호 적중률(y ≠ 0)53.8%51.6%
y 표준편차(틱)10.511.7

발견 구간 IC 0.107 은 일별 금리 예측으로는 작지 않은 값이다. 그러나 확인 구간에서 0.014 로 떨어진다. 모델이 2022 년의 금리 급변기에 잘 맞았던 것이 발견 구간 성적을 만들었고, 그 관계가 다음 시기로 이어지지 않았다.

탐색 결과

사전등록 탐색(판정에 쓰지 않음, 비용 1틱 뒤 틱/건)
항목발견확인확인 p
E1 α = 1+1.54(384건)−0.60(235건)0.817
α = 10(주가설)+1.22(385건)−0.04(227건)0.529
E1 α = 100+1.59(383건)−0.04(212건)0.524
E2 거래일 중 카드 날 비율52.9%(거래의 절반이 카드와 같은 날)

벌점 크기를 100 배 바꿔도 확인 구간 성적이 0 이하에 머문다. 벌점이 문제가 아니라 특징 결합 자체에 표본 밖 정보가 없다는 뜻이다. 거래의 절반이 카드 날과 겹치는 것은 미국 10년 계수가 가장 크고 안정적이라 큰 예측이 주로 미국 금리가 크게 움직인 날 나오기 때문이다.

해석

매일 다시 맞추는 모델은 «관계가 바뀌면 따라간다» 는 장점과 «잡음도 따라간다» 는 단점을 같이 가진다. 250일 창에 특징 20개면 계수 하나에 쓸 수 있는 정보가 적고, 계수 대부분이 날마다 부호를 바꾼다. 결국 살아남는 것은 미국 10년 되돌림 하나이고, 그것은 이미 카드가 더 단순하게 잡고 있다. 여러 자산을 넣어 매일 결합하는 접근은 카드 위에 새 정보를 더하지 못했다.

한계

  • 구현 결함. 기준금리처럼 250행 동안 값이 변하지 않는 특징은 표준편차가 0 이 되고, 그 뒤 값이 바뀌는 날 z 가 무한대가 된다(2013-05-09, 2014-08-14, 2024-10-11, 2026-07-16). 그 행이 학습 창에 들어 있는 동안 릿지 해가 계산되지 않아 예측이 약 250일씩 비었다. 2025 년은 242일 중 195일, 확인 구간 전체는 928일 중 315일이 빠졌다. 무한대 예측으로 들어간 거래도 3건 있다. 그 3건을 빼도 발견 +1.20, 확인 −0.06틱으로 결론은 같다. 결함을 고친 다시 돌리기는 하지 않았다(사전등록에 없는 변형이 된다).
  • 발견 구간 성적이 2022 년 한 해에 몰려 있다. 문턱(80% 분위)도 그 구간에서 정했다.
  • 일부 예측은 학습 창 안의 극단값 때문에 수천 틱 단위로 커진다. 거래 방향(부호)만 쓰므로 손익에는 영향이 작지만 분위 평균은 왜곡된다. 그래서 IC 는 순위 상관으로만 적었다.
  • 코스피 외국인 순매수, 외국인 보유 비중 같은 국내 특징은 s 일 마감 뒤 집계되는 값이다. 공개 시각을 따로 검증하지 않았다.

산출물

  • 계획protocol.md(사전등록 88b2c97)
  • 분석, 판정analysis.md
  • 코드code/s1_ridge.py(확증), code/s_detail.py(기술 통계, 계수 기록, 확증 수치 재현 assert), code/render_figures.py(그림)
  • 런results/20261029T160608_main/(확증), results/20261030T163033_detail/(daily.csv, trades.csv, coef_monthly.csv, metrics.json)
  • 공용 코드../0100_model_open_error_fade/code/libb2.py(특징 20개, z 표준화, 단독 규칙 검정)

Appendix

A. 데이터셋 실물

trades.csv 의 실제 행(2026 년 마지막 8건). pred 는 예측 ŷ(틱), sig 는 방향(+1 매수, −1 매도), gross 는 비용 전 손익(틱)이다.

trades.csv 일부
spredsiggross
2026-06-09−11.00−1−16
2026-06-11−5.47−1−10
2026-06-18+3.94+1−10
2026-06-24−5.94−1+5
2026-06-26−4.17−1+2
2026-06-29−3.72−1−5
2026-07-07+5.76+1+13
2026-07-16무한대(결함)+10

B. 모델 입출력 실물

Request meta
행 s = 2026-06-29, 세션 e = 2026-06-30. 직전 250행(y 250개)으로 릿지 α = 10 적합. 창 안 y 평균 −1.46틱
Input
z 값과 학습된 계수(기여 = z × 계수, 큰 것만): 코스피 외국인 순매수 z −4.23 × 1.07 = −4.54, 외국인 보유 비중 z +1.89 × 1.65 = +3.12, 1년 스왑레이트 z +1.07 × (−1.23) = −1.32, 달러인덱스 z −0.65 × 2.03 = −1.31, 일본 10년 z +1.00 × 0.93 = +0.92, 금 z −1.12 × 0.55 = −0.62 …(중략, 나머지 14개는 각각 |기여| 0.6 아래). 미국 10년은 그날 변화 0bp
Model response
ŷ = −1.46 + Σ 기여 = −3.72틱. |ŷ| ≥ 3.25 이므로 3선 1계약 매도
Ground truth check
2026-06-30 3선 시가 → 종가 +5틱. 방향이 틀려 −5틱, 비용 뒤 −6틱. 예측을 주도한 것이 외국인 수급과 보유 비중처럼 날마다 계수가 바뀌는 특징이었다

C. 실험 설정

  • 특징20개(3.2 절), 직전 250행 z 표준화(최소 60), 결측 0
  • 모델릿지 α = 10, 직전 250행 창(y 200개 이상), 매일 재적합, 절편은 창 y 평균
  • 규칙|ŷ| ≥ 3.25틱(발견 80% 분위), sign(ŷ) 방향 1계약, e 시가 진입 종가 청산, 만기 교체 날 제외
  • 비용왕복 1틱(주가설), 2틱(보고)
  • 분할발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10
  • 검정확인 구간 거래 손익 월 블록 부트스트랩 5,000회, seed 66, 한쪽 p < 0.05, 63개 Holm
  • 탐색E1 α = 1, 100. E2 카드 날 겹침