세 줄 요약
- 밤사이 특징 20개를 직전 250행으로 표준화하고, 직전 250행 릿지 회귀(α = 10)를 매일 다시 맞춰 3선 다음 세션 장중(시가 → 종가)을 예측했다. |예측| 이 발견 구간 상위 20%(3.25틱 이상)인 날 예측 방향으로 거래하면 비용 1틱 뒤 발견 +1.22틱(385건), 확인 −0.04틱(227건, 승률 50%), 월 블록 부트스트랩 한쪽 p 0.529 다.
- 발견 구간 이익의 대부분은 2022 년(129건, +400틱) 한 해다. 예측과 실제의 순위 상관(IC)은 발견 0.107 에서 확인 0.014 로 사라졌다. α 를 1 이나 100 으로 바꿔도 확인 구간은 0 이하다.
- 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개
| 이름 | 뜻 | 이름 | 뜻 |
|---|---|---|---|
| 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 | 나스닥 선물, 금, 비트코인 로그 변화(%) | sr1y | 1년 스왑레이트(원화 내재 금리) |
| g_de10, g_fr10, g_jp10d | 독일, 프랑스, 일본 10년 하루 변화(bp) | pt1y | 1년 스왑포인트(전) |
표본, 분할, 시점
| 연도 | 거래일 | 예측 없는 날 | 거래 | 연도 | 거래일 | 예측 없는 날 | 거래 |
|---|---|---|---|---|---|---|---|
| 2013 | 247 | 171 | 17 | 2020 | 248 | 0 | 48 |
| 2014 | 245 | 183 | 6 | 2021 | 248 | 0 | 50 |
| 2015 | 248 | 159 | 12 | 2022 | 246 | 0 | 129 |
| 2016 | 246 | 0 | 17 | 2023 | 245 | 0 | 123 |
| 2017 | 243 | 0 | 37 | 2024 | 244 | 55 | 40 |
| 2018 | 244 | 0 | 31 | 2025 | 242 | 195 | 8 |
| 2019 | 246 | 0 | 38 | 2026(10월까지) | 197 | 65 | 56 |
«예측 없는 날» 은 한계 절에 적은 구현 결함 때문이다. 2013 년 초는 창을 채우는 준비 기간이다. 확인 구간 928일 중 315일에 예측이 없고, 만기 교체 날까지 빼면 예측이 있는 날은 601일이다. 시점은 이렇다. 미국과 유럽 특징은 뉴욕 날짜 s 종가로 한국 e 새벽에 확정되고, 국내 특징은 s 일 장 마감 값이다. 예측은 e 08:20 전에 끝나고 3선은 e 개장(2025-11 까지 09:00, 2025-12 부터 08:45) 시가에 진입한다.
방법
- 표준화. 특징 20개를 직전 250행 평균과 표준편차로 z 화하고 결측은 0 으로 둔다.
- 매일 학습. 예측하는 날 i 마다 행 i−250 ~ i−1 에서 y 가 있는 행(200개 이상)으로 릿지 회귀를 푼다. y 는 창 평균을 빼고 맞추고, 예측에 다시 더한다.
- 문턱. 발견 구간 |ŷ| 의 80% 분위수(3.25틱)를 잠근다.
- 거래. |ŷ| ≥ 3.25 이고 만기 교체 날이 아니면 sign(ŷ) 방향 3선 1계약, e 시가 진입, e 종가 청산, 왕복 1틱.
- 판정. 확인 구간 거래 손익(비용 1틱 뒤)의 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05 면 지지.
- 판정에 쓰지 않는 탐색. 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 년 초) |
학습된 계수
| 특징 | 발견 평균 | 확인 평균 | 양수인 날 비율 |
|---|---|---|---|
| 미국 10년 | +1.24 | +2.61 | 88% |
| 원화 고유 충격 ε | −0.57 | −0.57 | 31% |
| 금 | −0.52 | −0.32 | 34% |
| 독일 10년 | −0.57 | −0.05 | 28% |
| 프랑스 10년 | −0.00 | −1.19 | 38% |
| 비트코인 | −0.22 | −1.05 | 13% |
| 기준금리 | −0.20 | +0.63 | 50% |
| 일본 10년 | −0.25 | +0.50 | 53% |
| |미국 10년| | +0.19 | +0.92 | 69% |
미국 10년 계수가 양이라는 것은 «미국 금리가 오른 밤 뒤 3선 장중은 오른다» 는 카드의 되돌림을 모델도 배웠다는 뜻이다. 나머지 특징은 반 정도의 날에 부호가 바뀌어, 매일 다시 맞추는 과정이 관계를 따라가기보다 잡음을 따라간다.
결과
확증 결과
| 항목 | 발견 2013 ~ 2022 | 확인 2023 ~ 2026-10 |
|---|---|---|
| 거래 수 | 385 | 227 |
| 비용 전 평균 | +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 로 확인) 낸 기술 통계다.
| 방향 | 발견 건수 | 발견 평균 | 확인 건수 | 확인 평균 |
|---|---|---|---|---|
| 매수(ŷ ≥ +3.25) | 158 | +0.90 | 88 | −0.11 |
| 매도(ŷ ≤ −3.25) | 227 | +1.44 | 139 | 0.00 |
예측력 자체
| 항목 | 발견 | 확인 |
|---|---|---|
| 예측이 있는 날 | 1,915 | 601 |
| 순위 IC(Spearman) | 0.107 | 0.014 |
| 부호 적중률(y ≠ 0) | 53.8% | 51.6% |
| y 표준편차(틱) | 10.5 | 11.7 |
발견 구간 IC 0.107 은 일별 금리 예측으로는 작지 않은 값이다. 그러나 확인 구간에서 0.014 로 떨어진다. 모델이 2022 년의 금리 급변기에 잘 맞았던 것이 발견 구간 성적을 만들었고, 그 관계가 다음 시기로 이어지지 않았다.
탐색 결과
| 항목 | 발견 | 확인 | 확인 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 는 비용 전 손익(틱)이다.
| s | pred | sig | gross |
|---|---|---|---|
| 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 | 무한대(결함) | +1 | 0 |
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 카드 날 겹침