세 줄 요약
- 카드 날 배분 규칙(예측 D > 0 이면 10선, 아니면 3선)은 3선 카드 대비 일별 손익 차이가 발견 +0.245틱/일(p 0.053), 확인 +0.060틱/일(p 0.263) 이었고, 확인 4개 연도 중 2개만 양이었다.
- 예측의 부호 적중률은 발견 48.7%, 확인 49.6% 로 동전 던지기와 같았다. 학습된 회귀가 실제로 한 일은 «미국 금리가 작게 움직인 날은 10선, 크게 움직인 날은 3선» 이라는 충격 크기 규칙이고, 커브 기울기 계수는 해마다 0 과 구별되지 않았다.
- 커브 모양으로 3선과 10선을 고르는 학습은 확인 구간에서 3선 카드를 이기지 못했다. 판정은 폐기다.
가설과 결론
이 프로그램의 기준 전략(이하 카드)은 미국 10년 금리가 밤사이 3bp 이상 움직인 다음 날, 한국 3년 국채선물을 그 반대 방향으로 시가에 사거나 팔아 종가에 청산하는 되돌림 매매다. 같은 되돌림을 10년 국채선물로 할 수도 있다. 미국 금리 움직임이 장기 쪽에 몰린 날(커브가 가팔라지거나 평평해진 날)에는 한국도 장기물이 더 크게 출렁였다가 더 크게 되돌아올 수 있다.
이 실험은 미국 커브 기울기 변화와 충격 크기로 «오늘 10선이 3선보다 위험당 더 벌까» 를 예측하는 회귀를 해마다 다시 학습하고, 그 예측대로 하루에 한 만기만 골라 싣는 규칙이 3선 카드보다 나은지 물었다. 결과를 보기 전에 다음 해를 예측하므로 걷기 전진(walk-forward) 평가다.
| 가설 | 내용 | 결과 | 한쪽 p | 판정 |
|---|---|---|---|---|
| H285 | 확인 구간 일별 손익 차이(학습 배분 − 3선 카드, 비용 각 1틱) 평균 > 0 | +0.060틱/일(419일) | 0.263 | 미지지, 폐기 |
확인 구간 90% 구간은 [−0.100, +0.223] 으로 0 을 넉넉히 포함한다. 같은 프로그램 주가설 63개(H259 ~ H321)에 Holm 보정을 걸면 1.00 이다. 판정은 폐기다.
용어와 기호
- 3선, 10선
- 한국거래소 3년, 10년 국채선물(최근월 연결). 가격으로 거래하며 금리가 오르면 가격이 내린다
- 틱
- 국채선물 가격의 최소 단위 0.01. 3선, 10선 모두 계약당 1만원
- 세션 s, e
- s 는 정보가 쌓이는 한국 거래일, e 는 다음 한국 거래일. 매매는 e 에서만 한다
- g_us, g_us2
- 미국 10년, 2년 국채금리의 하루 변화(bp, 뉴욕 날짜 s). 1bp 는 0.01%p
- 카드 날
- |g_us| ≥ 3bp, e 가 s 의 다음 달력일, 3선 롤 날이 아닌 날. 방향 dir = sign(g_us)(채권 매수가 +)
- R1 가중 w
- 카드 날의 계약 수. 원화 고유 충격 ε 의 방향이 미국 금리와 어긋나면 1, 같으면 0.5, ε 가 없으면 1
- ε
- 원화 고유 충격. 밤사이 원화 변화에서 달러인덱스와 g_us 몫을 뺀 나머지
- gross
- 3선 한 계약 손익 = dir × (e 시가 → 종가, 틱)
- k
- 위험 환산 계수 = 발견 구간 10선 장중 표준편차 / 3선 장중 표준편차 = 3.288. 10선 1/k 계약이 3선 1계약과 같은 위험
- g10
- 10선 1/k 계약 손익을 3선 틱으로 잰 값 = dir × 10선 장중 / k
- D
- 그날 10선이 3선보다 위험당 더 번 몫 = g10 − gross(3선 틱). 회귀의 목표
- Δ기울기
- g_us − g_us2(bp). 양이면 미국 커브가 가팔라졌다
- 일별 손익 차이
- 같은 카드 날 (새 장부 손익 − 기준선 손익). 기준선은 w × (gross − 1)
- 걷기 전진, 확장 창
- 해마다 1월에 그 전 해 말까지의 카드 날 전부로 다시 학습하고 그 해만 예측한다. 학습 창은 해마다 길어진다
- 적중률
- 예측 D 의 부호와 실제 D 의 부호가 같은 카드 날 비율
- 월 블록 부트스트랩
- 같은 달 날짜를 한 덩어리로 다시 뽑기를 5,000번 해 평균의 분포를 만든다. 한쪽 p 는 평균 > 0 쪽
- 발견 구간, 확인 구간
- 발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10. 판정은 확인 구간에서만
- Holm 보정
- 여러 가설을 함께 시험할 때 우연한 통과를 막도록 p 를 가설 수에 맞춰 단계적으로 키우는 방법
자료
데이터셋
| 자료 | 원천 | 기간 | 해상도 | 쓰임 |
|---|---|---|---|---|
| 3선, 10선 시가, 종가 | 인포맥스 단말 일봉(연결) | 2013 ~ 2026-10 | 일 | gross, g10, D, k |
| 미국 10년, 2년 금리 | FRED DGS10, DGS2 | 2013 ~ 2026-10 | 일 | 카드 날, Δ기울기, |g_us| |
| 원화 NDF, 달러인덱스 | 인포맥스 단말 | 2013 ~ 2026-10 | 일 | ε → R1 가중 |
| 항목 | 발견 2013 ~ 2022 | 확인 2023 ~ 2026-10 |
|---|---|---|
| 카드 날 | 907 | 419 |
| 그중 예측이 있는 날(2016 부터) | 639 | 419 |
| 3선 gross 평균, 10선 g10 평균(비용 전, 3선 틱) | +2.54, +2.58 | +1.66, +0.77 |
| D 평균, 표준편차 | +0.04, 6.24 | −0.89, 4.52 |
| D 와 Δ기울기 상관, D 와 |g_us| 상관 | −0.02, −0.12 | −0.07, −0.07 |
발견 구간에서 두 만기의 위험당 되돌림은 거의 같았고(+2.54 대 +2.58), 확인 구간에서는 3선이 뚜렷이 컸다(+1.66 대 +0.77). D 의 표준편차(4.5 ~ 6.2틱)에 비해 평균 차이는 작다.
언제 무엇을 아는가
| 시각 | 일어나는 일 |
|---|---|
| 매년 1월 첫 거래일 전 | 그 전 해 말까지 카드 날 전부로 회귀를 다시 학습하고 계수를 잠근다 |
| e 일 새벽 5 ~ 6시 | 뉴욕 날짜 s 의 미국 10년, 2년 금리 확정. 카드 날이면 Δ기울기, |g_us| 계산 |
| e 일 08:20 이전 | ε 와 R1 가중, 예측 D 계산. D > 0 이면 10선, 아니면 3선 |
| e 일 개장 | 고른 만기를 시가에 dir 방향으로 진입(2025-11 까지 09:00, 그 뒤 08:45) |
| e 일 15:45 | 종가 청산 |
방법
- 위험 맞추기. 발견 구간 장중 표준편차 비율로 k = 3.288 을 한 번 정한다. 10선은 1/k 계약을 쓰고, 그 손익을 3선 틱으로 잰다.
- 학습. 2016 년부터 해마다 1월에, 그 전 해 말까지의 카드 날로 D 를 [Δ기울기, |g_us|] 에 최소제곱 회귀한다.
- 배분. 그 해 카드 날마다 예측 D > 0 이면 10선 1/k 계약, 아니면 3선 1계약. R1 가중 w 는 그대로 곱한다.
- 비용. 3선 1계약 왕복 1틱. 10선 1/k 계약은 계약당 1틱이므로 1/k = 0.304틱.
- 비교. 같은 카드 날 (배분 손익 − 3선 카드 손익)의 평균. 총 계약 비례 조정은 위험이 같아 1 이다. 확인 구간 월 블록 부트스트랩 5,000회 한쪽 p.
- 판정에 쓰지 않는 탐색. 늘 10선(E1), 예측 부호 적중률(E2).
모델
모델은 설명 변수 두 개짜리 선형회귀다. 무엇을 학습하나: 카드 날의 «10선이 3선보다 위험당 더 번 몫» D 가 미국 커브 기울기 변화와 충격 크기에 어떻게 기대는가. 왜 넣었나: 장기 쪽 충격이 큰 날 10선이 유리하다면 Δ기울기 계수가 양이어야 하고, 충격 크기에 따라 유리한 만기가 바뀐다면 |g_us| 계수가 그것을 잡는다. 예측 D 의 크기는 쓰지 않고 부호만 쓴다.
| 항목 | 값 |
|---|---|
| 목표 | D = g10 − gross(3선 틱, 비용 전) |
| 설명 변수 | 상수, Δ기울기 = g_us − g_us2(bp), |g_us|(bp) |
| 추정 | 최소제곱(표준화 없음, 규제 없음) |
| 학습 창 | 2013-01 부터 예측 연도 직전 해 말까지(확장 창) |
| 다시 학습 | 매년 1월, 첫 예측 연도 2016 |
| 결정 | 예측 D > 0 → 10선 1/k 계약, 아니면 3선 1계약 |
| 위험 환산 k | 3.288(발견 구간 장중 표준편차 비율, 한 번 고정) |
걷기 전진 분할
학습된 계수
| 예측 연도 | 학습 날 | 상수 | Δ기울기 | |g_us| | R² |
|---|---|---|---|---|---|
| 2016 | 268 | +1.25 (1.45) | +0.010 (0.13) | −0.177 (−1.27) | 0.006 |
| 2017 | 361 | +1.58 (2.34) | −0.011 (−0.16) | −0.243 (−2.17) | 0.014 |
| 2018 | 439 | +1.37 (2.30) | −0.015 (−0.25) | −0.203 (−2.02) | 0.010 |
| 2019 | 503 | +1.23 (2.27) | −0.032 (−0.57) | −0.164 (−1.77) | 0.008 |
| 2020 | 589 | +0.97 (2.00) | −0.019 (−0.37) | −0.125 (−1.51) | 0.005 |
| 2021 | 675 | +0.42 (0.93) | −0.038 (−0.74) | −0.005 (−0.07) | 0.001 |
| 2022 | 772 | +0.45 (1.01) | −0.040 (−0.80) | −0.019 (−0.25) | 0.001 |
| 2023 | 907 | +1.41 (3.23) | −0.005 (−0.10) | −0.235 (−3.54) | 0.014 |
| 2024 | 1,033 | +1.23 (3.03) | −0.048 (−1.15) | −0.221 (−3.74) | 0.016 |
| 2025 | 1,139 | +1.08 (2.89) | −0.047 (−1.20) | −0.202 (−3.72) | 0.015 |
| 2026 | 1,244 | +1.05 (2.98) | −0.030 (−0.80) | −0.202 (−3.88) | 0.014 |
상수가 양이고 |g_us| 계수가 음이므로, 예측 D 는 |g_us| 가 약 5bp 보다 작으면 양(10선), 크면 음(3선)이 된다(2026 년 계수로 1.05 / 0.20 ≈ 5.2bp). 커브 기울기는 결정에 거의 기여하지 않았다. 학습된 모델은 사실상 «충격 크기 문턱» 하나다. 2021 ~ 2022 년 계수는 |g_us| 효과가 사라져 상수만 남았고, 그래서 그 두 해에는 카드 날의 93 ~ 99% 를 10선으로 보냈다. R² 는 0.001 ~ 0.016 이다.
결과
확증 결과
| 항목 | 발견 2013 ~ 2022 | 확인 2023 ~ 2026-10 |
|---|---|---|
| 카드 날 | 907 | 419 |
| 기준선(3선 카드 + R1) 일평균 | 1.491 | 0.789 |
| 학습 배분 일평균 | 1.736 | 0.849 |
| 일별 차이 평균 | +0.245 | +0.060 |
| 블록 부트스트랩 한쪽 p, 90% 구간 | 0.053, [−0.014, +0.496] | 0.263, [−0.100, +0.223] |
| 차이가 양인 연도 | 6 / 10 | 2 / 4 |
| 10선을 고른 날 비율 | 86%(2016 ~ 2022) | 51% |
| Holm 보정 p(63개) | 1.00 |
발견 구간 907일 가운데 2013 ~ 2015 년 268일은 예측이 없어 차이가 0 이다. 확인 구간 차이 +0.06틱/일은 기준선 일평균 0.79틱의 8% 정도이고 우연과 구별되지 않는다. 학습 배분은 3선 카드보다 뚜렷이 낫지 않았다.
연도로 보면
아래는 판정에 쓰지 않는 기술 통계다(results/20261030T164300_detail/, 확증 수치를 먼저 다시 만들어 일치를 확인한 뒤 계산).
| 연도 | 카드 날 | 기준선 | 학습 배분 | 늘 10선 | 10선 비율 | 적중률 |
|---|---|---|---|---|---|---|
| 2016 | 93 | +51.5 | +129.4 | +139.4 | 84% | 55% |
| 2017 | 78 | +52.0 | +108.5 | +128.0 | 81% | 46% |
| 2018 | 64 | +10.5 | +65.6 | +86.7 | 86% | 52% |
| 2019 | 86 | +126.0 | +140.8 | +166.5 | 79% | 51% |
| 2020 | 86 | −24.5 | +42.0 | +88.2 | 78% | 41% |
| 2021 | 97 | +56.5 | +95.6 | +94.0 | 99% | 49% |
| 2022 | 135 | +784.0 | +696.2 | +639.0 | 93% | 47% |
| 2023 | 126 | +258.0 | +242.0 | +178.8 | 37% | 46% |
| 2024 | 106 | −38.5 | −31.7 | −28.3 | 52% | 47% |
| 2025 | 105 | +99.0 | +136.4 | +125.8 | 59% | 53% |
| 2026(10월까지) | 82 | +12.0 | +9.1 | −34.2 | 61% | 54% |
발견 구간의 이익은 «예측이 맞아서» 가 아니라 «거의 늘 10선을 골랐고, 그 시기 10선이 비용까지 감안하면 유리했기 때문» 이다. 10선 1/k 계약은 비용이 0.30틱으로 3선(1틱)보다 싸게 계산된다. 확인 구간에서는 모델이 큰 충격 날에 3선을 고르기 시작했지만 적중률이 오르지 않았다.
탐색 결과
| 항목 | 발견 | 확인 |
|---|---|---|
| E1 늘 10선 − 기준선(틱/일) | +0.540, p 0.003, 양인 연도 9/10 | −0.211, p 0.87, 양인 연도 2/4 |
| E2 예측 부호 적중률 | 48.7% | 49.6% |
| 예측이 10선일 때 실제 D 평균 / 3선일 때 | −0.05 / +0.03 | −0.53 / −1.27 |
늘 10선은 발견 구간에서 강했고 확인 구간에서 졌다. 학습 배분은 그 중간이다. 확인 구간에서 모델이 3선을 고른 날(큰 충격 날) 실제로 3선이 더 유리했던 것(D −1.27)은 맞지만, 10선을 고른 날에도 3선이 더 유리했다(D −0.53). 확인 구간 전체에서 3선이 우세했던 것이지 모델이 날을 잘 가른 것이 아니다.
해석
미국 커브 기울기의 하루 변화는 한국 3선과 10선 중 어느 쪽 되돌림이 클지에 대해 정보가 거의 없었다(상관 −0.02 ~ −0.07). 충격 크기는 약하게 정보가 있었으나(큰 충격 날 3선 유리), 그 신호의 크기는 D 의 하루 흔들림(표준편차 4.5 ~ 6.2틱)에 비해 매우 작다. 만기를 고르는 결정이 날마다 거의 동전 던지기라서, 두 만기 사이 평균 우위가 시기마다 바뀌는 것을 따라가지 못한다.
한계
- 10선 비용을 계약당 1틱으로 두어 위험 환산 1/k 계약이면 0.30틱이 된다. 10선 실제 호가 간격과 충격 비용이 3선보다 크면 10선을 고르는 쪽의 이익이 과대평가된다.
- k 는 발견 구간 전체 표준편차로 한 번 정했다. 2022 년 이후 10선 변동성 비율이 바뀌면 위험이 정확히 맞지 않는다.
- 회귀 표준오차는 일반 최소제곱 값이라 표의 t 는 참고용이다. 결정은 예측 부호만 썼다.
- 발견 구간 차이에는 예측이 없는 2013 ~ 2015 년 268일(차이 0)이 섞여 평균을 희석한다.
산출물
- 계획
protocol.md(사전등록 88b2c97) - 코드
code/s1_alloc.py(확증),code/s_detail.py(계수, 연도표),code/render_figures.py(그림) - 런
results/20261029T160608_main/,results/20261030T164300_detail/(card_days.csv, metrics.json)
Appendix
A. 데이터셋 실물
card_days.csv 의 실제 행(일부 열, 2026 년 10월 카드 날). 열은 s, g_us, g_us2(bp), dir, w, 3선과 10선 장중(틱), gross, g10, D, 예측 D, 고른 만기, 기준선과 학습 배분 손익(3선 틱, 비용 뒤).
| s | g_us | g_us2 | dir | w | 3선 | 10선 | g10 | D | 예측 | 고름 | 기준선 | 배분 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-13 | −3 | −1 | −1 | 1 | −4 | −21 | +6.39 | +2.39 | +0.51 | 10선 | +3.00 | +6.08 |
| 2026-10-15 | −9 | −5 | −1 | 1 | +15 | +44 | −13.38 | +1.62 | −0.65 | 3선 | −16.00 | −16.00 |
| 2026-10-19 | +6 | +3 | +1 | 1 | +19 | +52 | +15.82 | −3.19 | −0.25 | 3선 | +18.00 | +18.00 |
| 2026-10-20 | −3 | +2 | −1 | 1 | +11 | +26 | −7.91 | +3.09 | +0.60 | 10선 | −12.00 | −8.21 |
| 2026-10-22 | −17 | −16 | −1 | 1 | −17 | −55 | +16.73 | −0.27 | −2.35 | 3선 | +16.00 | +16.00 |
B. 모델 입출력 실물
- Request meta
- 카드 날 s = 2026-10-22, 거래 세션 e = 2026-10-23. 2026 년 예측용 회귀(2013-01 ~ 2025-12 카드 날 1,244일로 학습)
- Input
- g_us = −17bp, g_us2 = −16bp → Δ기울기 = −1bp, |g_us| = 17bp. dir = −1(채권 매도), w = 1
- Model response
- 예측 D = 1.053 + (−0.0298) × (−1) + (−0.2019) × 17 = −2.35. 음이므로 3선 1계약 매도
- Ground truth check
- 3선 장중 −17틱 → 매도 손익 +17, 비용 뒤 +16. 10선이었다면 −55틱 / 3.288 = +16.73(3선 틱), 비용 뒤 +16.42. 실제 D = −0.27 로 3선이 근소하게 나았다. 결정이 맞았다
C. 실험 설정
- 카드|g_us| ≥ 3bp, 다음 달력일 세션, 3선 롤 날 제외, dir = sign(g_us), R1 가중(불일치 1, 일치 0.5)
- 위험 환산k = 3.288(발견 구간 10선 / 3선 장중 표준편차), 10선 1/k 계약
- 모델D ~ 상수 + (g_us − g_us2) + |g_us|, 최소제곱, 확장 창, 매년 1월 다시 학습, 첫 예측 2016
- 결정예측 D > 0 이면 10선, 아니면 3선
- 비용3선 왕복 1틱, 10선 1/k 계약 왕복 0.304틱(3선 틱 환산)
- 분할발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10
- 문턱확인 구간 일별 차이 평균 > 0, 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05, 63개 Holm, 확인 연도 다수 양수
- 탐색E1 늘 10선, E2 예측 부호 적중률