세 줄 요약
- 복제는 잘 된다. 국고 5년(가중 2.31), IRS 1년(0.63), 통안 1년(0.42), IRS 5년(0.18) 네 자산의 합이 3선 하루 변화의 94%(발견), 96%(확인)를 설명한다.
- 하지만 괴리를 되돌리는 매매는 서지 않는다. |z| ≥ 2 규칙은 발견 구간 46건 −0.52틱/건(승률 43%), 확인 구간 24건 +8.04틱/건(승률 54%), 월 블록 부트스트랩 한쪽 p 0.125 다. 두 구간 부호가 다르다.
- 괴리는 한번 벌어지면 몇 달씩 같은 쪽에 머물렀고(2022 년, 2026 년), 거래도 그 두 시기에 몰렸다. 되돌림이라는 전제가 서지 않아 판정은 폐기다.
가설과 결론
3선 가격은 3년 근처 국고채 금리로 정해지고, 그 금리는 국고 5년, 통안채, IRS 같은 이웃 금리와 거의 함께 움직인다. 그렇다면 3선의 하루 변화를 이웃 자산들의 가중 합(«합성 3선»)으로 복제할 수 있다. 복제가 정확하다면, 실제 3선이 합성 3선보다 며칠에 걸쳐 크게 앞서거나 뒤처진 상태는 일시적인 수급 쏠림일 수 있고, 그 괴리는 되돌아갈 것이다.
이것이 «합성 통제(synthetic control)» 의 발상이다. 원래 정책 효과를 재는 통계 기법으로, 처치를 받지 않은 비교 대상들의 가중 합으로 «처치가 없었다면» 의 경로를 만든다. 여기서는 그 경로를 3선의 «공정 가격 변화» 로 쓴다.
| 가설 | 내용 | 결과 | 한쪽 p | 판정 |
|---|---|---|---|---|
| H312 | 20일 누적 괴리 |z| ≥ 2 일 때 괴리 반대 방향으로 3선을 e 시가 → s+5 종가 보유하면, 확인 구간 거래당 비용 1틱 뒤 평균 > 0 | +8.04틱/건(24건) | 0.125 | 미지지, 폐기 |
2차와 3차 다자산 프로그램 주가설 63개의 Holm 보정 p 는 1.00 이다. 확인 구간 평균은 양이지만 문턱에 못 미치고, 발견 구간에서는 같은 규칙이 졌다. 부호가 서지 않아 폐기한다.
용어와 기호
- 3선, 10선
- 한국거래소 3년, 10년 국채선물. 가격으로 거래하며 금리가 오르면 가격이 내린다
- 틱
- 국채선물 가격의 최소 단위 0.01. 계약(액면 1억원)당 1만원
- bp
- 금리 0.01%p
- 세션 s, e
- s 는 신호를 계산하는 한국 거래일(그날 종가까지 반영), e 는 그 다음 거래일
- ys
- 3선의 s 일 종가 변화(틱)
- xk,s
- 자산 k 의 s 일 변화. 10선은 가격 변화(틱), 국고, 통안, IRS 금리와 미국 2년은 금리 변화(bp)에 −1 을 곱해 «가격 방향» 으로 맞췄다(금리 하락 = 양수)
- ŷ (합성 3선)
- ŷs = Σ wk · xk,s. 결측 자산은 0 으로 둔다
- w (가중)
- 음 아닌 최소제곱(NNLS)으로 정한 자산별 가중. 모든 w ≥ 0 이라 «3선 = 이웃 자산의 포트폴리오» 로 읽힌다
- G (누적 괴리)
- Gs = 직전 20 거래일(s 포함)의 Σ(y − ŷ). 양이면 3선이 합성 3선보다 강했다
- z
- z = G / (발견 구간 G 표준편차 15.19틱)
- fwd5
- 3선 e 시가에서 s+5 거래일 종가까지 손익(틱). 만기 교체가 걸치면 이어 붙인 가격으로 잰다
- R²
- 복제가 3선 하루 변화 분산의 몇 %를 설명하는가
- 발견 구간, 확인 구간
- 발견 2013-01 ~ 2022-12 에서 가중과 G 의 표준편차를 정해 잠그고, 확인 2023-01 ~ 2026-10 에서 판정한다
- 비용 1틱
- 왕복 비용 1틱. 보고용으로 2틱도 낸다
- 월 블록 부트스트랩, 한쪽 p
- 거래 손익을 달 단위로 묶어 복원추출해 평균 분포를 5,000번 만들고, «진짜 평균이 0 인데 이만큼 양으로 나올 확률» 을 잰다
- Holm 보정
- 여러 가설을 함께 시험할 때 p 를 가설 수에 맞춰 키우는 방법
자료
데이터셋
| 자료 | 원천 | 기간 | 해상도 | 쓰임 |
|---|---|---|---|---|
| 3선 종가 변화, 시가와 종가 | 인포맥스 단말 일봉(만기 이어 붙임) | 2013-01 ~ 2026-10 | 일 | y, 손익 fwd5 |
| 10선 종가 변화 | 인포맥스 단말 일봉 | 2013 ~ 2026 | 일 | 복제 후보 |
| 국고 5년, 10년, 통안 1년, IRS 1년, 5년 금리 | 인포맥스 단말 일별 풀(종가) | 2013 ~ 2026 | 일 | 복제 후보 |
| 미국 2년 금리 | FRED DGS2 | 2013 ~ 2026 | 일(뉴욕 날짜 s) | 복제 후보 |
| 항목 | 발견 2013 ~ 2022 | 확인 2023-01 ~ 2026-10 |
|---|---|---|
| z 가 있는 날 | 2,461 | 928 |
| 가중 적합 표본(결측 없는 날) | 2,372 | (쓰지 않음) |
| |z| ≥ 2 인 날 | 174 | 74 |
| 거래(5일에 한 번, 롤 아님) | 46 | 24 |
| 3선 하루 변화 표준편차 | 11.8틱 | 14.4틱 |
| 복제 잔차(y − ŷ) 표준편차 | 2.94틱 | 2.90틱 |
언제 무엇을 아는가
| 시각 | 일어나는 일 |
|---|---|
| s 일 15:45 | 3선, 10선 종가 확정 |
| s 일 장 마감 뒤 | 국고, 통안, IRS 종가 금리 확정 |
| e 일 새벽 | 뉴욕 날짜 s 의 미국 2년 금리 확정 |
| e 일 개장 전 | ŷs, Gs, zs 계산 |
| e 일 개장 | 3선 시가에 진입(2025-11 까지 09:00, 2025-12 부터 08:45) |
| s+5 거래일 종가 | 청산 |
방법
- 복제 가중. 발견 구간에서 y 를 자산 7개 x 에 상수 없이 음 아닌 최소제곱으로 적합하고 가중을 잠근다.
- 괴리. 매일 ŷ 를 계산하고 20일 누적 괴리 G 를 만든 뒤 발견 구간 표준편차로 나눠 z 를 얻는다.
- 규칙. |z| ≥ 2 이고 롤 날이 아니면 −sign(z) 방향(3선이 강했으면 매도, 약했으면 매수)으로 3선 1계약을 e 시가에 들어가 s+5 종가에 청산한다. 진입 뒤 5 거래일 동안은 새로 들어가지 않는다.
- 판정(T3 단독 규칙). 확인 구간 비용 1틱 뒤 평균 > 0, 월 블록 부트스트랩 5,000회 한쪽 p < 0.05. 같은 프로그램 Holm 도 함께 적는다.
- 탐색(판정에 쓰지 않음). E1 문턱 1.5.
모델
모델은 상수 없는 선형회귀에 «가중은 0 이상» 이라는 제약을 건 음 아닌 최소제곱(NNLS, scipy.optimize.nnls)이다. 제약이 있으면 서로 닮은 자산끼리 큰 양수와 큰 음수로 상쇄하는 과적합이 막히고, 결과가 실제로 들고 있을 수 있는 포트폴리오처럼 읽힌다. 학습하는 값은 가중 7개와 G 표준편차 하나다.
| 항목 | 값 |
|---|---|
| 목표 | 3선 하루 종가 변화(틱) |
| 후보 자산 | 10선, IRS 1년, IRS 5년, 통안 1년, 국고 5년, 국고 10년, 미국 2년(금리는 부호를 뒤집은 bp 변화) |
| 추정 | NNLS, 상수 없음, 발견 구간 결측 없는 2,372일, 한 번 |
| 학습된 가중(틱/단위) | 국고 5년 2.306, IRS 1년 0.631, 통안 1년 0.424, IRS 5년 0.180, 10선 0, 국고 10년 0, 미국 2년 0 |
| 괴리 창 | 20 거래일 누적 |
| 표준화 | 발견 구간 G 표준편차 15.19틱 |
| 문턱 | |z| ≥ 2(탐색 1.5) |
| 보유 | e 시가 → s+5 종가, 5일에 한 번 |
금리 가중을 모두 더하면 1bp 당 약 3.5틱이다. 즉 «3년 근처 금리가 1bp 내리면 3선은 약 3.5틱 오른다» 는 관계를 국고 5년이 3분의 2, 단기 금리(IRS 1년, 통안 1년)가 3분의 1 정도로 나눠 맡는다. 3선의 기초자산인 국고 3년 금리가 국고 5년과 단기 금리 사이에 있다는 점과 맞는다.
결과
확증 결과
| 항목 | 발견 2013 ~ 2022 | 확인 2023 ~ 2026 |
|---|---|---|
| 거래 수 | 46 | 24 |
| 비용 전 평균(틱/건) | +0.48 | +9.04 |
| 비용 1틱 뒤 평균 | −0.52 | +8.04 |
| 비용 2틱 뒤 평균 | −1.52 | +7.04 |
| 비용 1틱 뒤 승률 | 43.5% | 54.2% |
| 건별 손익 표준편차(기술 통계) | 47.7 | 33.1 |
| 월 블록 부트스트랩 한쪽 p, 90% 구간 | 0.125, [−1.94, +20.55] | |
| Holm 보정 p(63개) | 1.00 |
확인 구간 24건 가운데 가장 큰 한 건(2026-09-07, +71틱)을 빼면 평균은 약 +5.3틱이다. 건별 표준편차가 33 ~ 48틱이라 수십 건으로는 평균의 부호도 확신하기 어렵다. 발견 구간 10년 동안 졌던 규칙이 확인 구간 24건에서 이긴 것은 증거라기보다 표본이 작은 탓으로 본다.
괴리와 거래가 언제 났나
| 연도 | |z| ≥ 2 거래 | 합(틱) | 평균 | |z| ≥ 1.5 거래 | 합(틱) |
|---|---|---|---|---|---|
| 2013 | 6 | −41 | −6.83 | 11 | −19 |
| 2015 ~ 2019 | 0 | 0 | 6 | −66 | |
| 2020 | 2 | +46 | +23.00 | 2 | −44 |
| 2021 | 8 | +66 | +8.25 | 16 | +122 |
| 2022 | 30 | −95 | −3.17 | 36 | +241 |
| 2023 | 3 | +89 | +29.67 | 5 | +77 |
| 2024 | 4 | −29 | −7.25 | 11 | −13 |
| 2025 | 1 | −17 | −17.00 | 5 | −19 |
| 2026(10월까지) | 16 | +150 | +9.38 | 22 | +99 |
거래의 대부분이 2022 년(30건)과 2026 년(16건) 두 시기에서 나왔다. 두 시기 모두 z 가 양으로 오래 머문 국면이고, 한 번은 졌고(2022) 한 번은 이겼다(2026). 사실상 독립 표본이 두세 개뿐이라는 뜻이다.
탐색 결과
| 항목 | 발견 | 확인 |
|---|---|---|
| 거래 | 71 | 43 |
| 비용 1틱 뒤 평균(틱/건) | +3.30 | +3.35 |
| 승률 | 50.7% | 53.5% |
| 월 블록 부트스트랩 한쪽 p | 0.185 |
문턱 1.5 에서는 두 구간이 같은 부호(+3.3)이지만 역시 우연과 구별되지 않는다. 문턱에 따라 발견 구간 부호가 바뀐다는 점 자체가 신호가 약하다는 표시다.
하루를 따라가 보기
2026-09-07(s)은 확인 구간에서 가장 크게 이긴 거래다. 직전 20 거래일(2026-08-10 ~ 09-07) 동안 3선은 −27틱 내렸는데 합성 3선은 −70틱 내렸다. 이웃 금리가 크게 오르는 동안 3선이 덜 빠진 것이다.
- 괴리: G = −27 − (−70.4) = +43.4틱, z = 43.4 / 15.19 = +2.86.
- 규칙: z ≥ 2 이므로 2026-09-08 시가에 3선 1계약 매도, 5 거래일 뒤(2026-09-15) 종가 청산.
- 실제: 그 사이 3선 −72틱(만기 교체를 이어 붙인 값). 매도라 +72틱, 비용 뒤 +71틱. 3선이 뒤늦게 이웃 금리를 따라간 모양이다.
해석
복제가 정확하다는 것(R² 0.94)과 괴리가 되돌아간다는 것은 다른 이야기다. 하루 잔차의 표준편차는 2.9틱에 불과하지만, 그것이 20일 쌓인 G 는 몇 달씩 한쪽으로 기운다. 2021 ~ 2022 년 금리 인상기와 2026 년에는 3선이 국고 5년과 단기 금리 조합보다 꾸준히 강했다. 이는 커브 모양(3년과 5년 사이 기울기)이 바뀐 결과일 수 있고, 그렇다면 괴리는 «틀린 가격» 이 아니라 커브 기울기라는 다른 요인이다. 가중을 한 번 잠근 정적 복제는 커브가 움직이는 국면에서 같은 쪽 괴리를 반복해서 만들 뿐, 되돌림 신호를 주지 못했다.
한계
- 확인 한쪽 p 0.125, 63개 Holm 1.00 이다. 발견 구간 평균은 음이다.
- 거래가 2022 년과 2026 년에 몰려 사실상 독립 국면이 두세 개뿐이다.
- 국고, 통안, IRS 금리는 일별 풀의 종가로, 3선 종가(15:45)와 시각이 정확히 같지 않을 수 있다. 하루 잔차의 일부는 이 시각 차이다.
- 5일 보유 중 만기 교체가 걸치면 이어 붙인 가격으로 잰다. 실제로는 월물을 바꾸는 비용이 더 든다.
- 미국 2년은 뉴욕 날짜 s 의 값이라 한국 종가보다 늦게 확정되지만, 가중이 0 이라 결과에 영향이 없다.
산출물
- 계획
protocol.md(사전등록 88b2c97) - 분석, 판정
analysis.md - 코드
code/s1_synth.py(확증),code/s_detail.py(복제 적합도, z 계열, 거래 목록),code/render_figures.py(그림) - 런
results/20261029T160608_main/,results/20261030T163532_detail/(daily.csv, trades_thr2.csv, trades_thr15.csv)
Appendix
A. 데이터셋 실물
daily.csv 의 실제 행. 열은 s, 3선 하루 변화 y(틱), 합성 3선 ŷ(틱), 20일 누적 괴리 G(틱), z.
| s | y | ŷ | G | z |
|---|---|---|---|---|
| 2013-01-02 | +1 | −2.13 | +18.19 | +1.20 |
| 2013-01-03 | +21 | +22.16 | +18.18 | +1.20 |
| 2026-09-01 | −10 | −14.65 | +37.54 | +2.47 |
| 2026-09-03 | +19 | +16.80 | +40.84 | +2.69 |
| 2026-09-07 | −5 | −9.68 | +43.42 | +2.86 |
| 2026-09-09 | −7 | −3.60 | +34.98 | +2.30 |
trades_thr2.csv 의 마지막 행들: s, z, 방향, 비용 전, 비용 뒤(틱).
| s | z | 방향 | 비용 전 | 비용 뒤 |
|---|---|---|---|---|
| 2026-06-25 | +2.97 | −1 | +12 | +11 |
| 2026-07-02 | +2.36 | −1 | −1 | −2 |
| 2026-07-09 | +2.41 | −1 | +23 | +22 |
| 2026-08-24 | +2.06 | −1 | −5 | −6 |
| 2026-09-07 | +2.86 | −1 | +72 | +71 |
| 2026-10-06 | −2.16 | +1 | +25 | +24 |
B. 모델 입출력 실물
- Request meta
- s = 2026-09-07 종가 뒤, e = 2026-09-08 개장 전 계산. 가중은 발견 구간에서 잠근 값
- Input
- 2026-09-07 하루: 3선 −5틱, 10선 −27틱, IRS 1년 3.535 → 3.5675%(+3.25bp), IRS 5년 3.990 → 4.020%(+3.0bp), 통안 1년 3.281 → 3.285%(+0.4bp), 국고 5년 4.095 → 4.125%(+3.0bp), 국고 10년 4.35 → 4.39%(+4.0bp), 미국 2년 결측(0). 직전 19일의 누적 y −22틱, 누적 ŷ −60.7틱
- Model response
- ŷ = 0.631 × (−3.25) + 0.180 × (−3.0) + 0.424 × (−0.4) + 2.306 × (−3.0) = −9.68틱. 20일 G = (−27) − (−70.42) = +43.42틱, z = +2.86. 3선 1계약 매도, s+5 종가 청산
- Ground truth check
- 3선 2026-09-08 시가 → 2026-09-15 종가 −72틱. 매도 방향 일치, 비용 1틱 뒤 +71틱
C. 실험 설정
- 복제NNLS(scipy), 상수 없음, 후보 7개, 발견 구간 한 번 적합
- 괴리20일 누적 y − ŷ, 발견 구간 표준편차로 나눔
- 규칙|z| ≥ 2, −sign(z) 방향 1계약, e 시가 → s+5 종가, 5일에 한 번, 롤 날 진입 없음
- 탐색E1 |z| ≥ 1.5
- 분할발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10
- 판정확인 비용 1틱 뒤 평균 > 0, 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05, 2차와 3차 주가설 63개 Holm 함께 보고