야간 자동 연구 · 국고채 현물과 원화 IRS

IRS 와 국고의 곡률 차는 비용을 넘겨 되돌아오는가

국고와 IRS 3, 5, 10년 금리에서 공통 커브를 걷어 낸 시장 간 곡률 차를 칼만 필터로 추정하고, 크게 벌어진 날 되돌림 쪽으로 버터플라이 두 개를 맞잡으면 이익이 남는지 쟀다. 곡률 차는 빨리 돌아오지만 그 폭이 다리 여섯 개의 비용을 넘지 못했다.

폐기 확인 2021-01 ~ 2026-10 · 35건 일별 장 마감 4,143거래일

세 줄 요약

  1. 확인 구간 2021-01 ~ 2026-10 에서 칼만 곡률 차 규칙은 35건, 비용 전 +1.54bp, 다리 여섯 개 비용 2bp 뒤 건당 −0.75bp(p 0.89)였다. 곡률 차 되돌림은 비용을 넘지 못했다.
  2. 곡률 차의 반감기는 7.4일로 국고 단독 버터플라이 잔차 13.1일보다 짧았다(p 0.002). 그러나 되돌림의 거의 전부가 국고 다리에서 났고 IRS 다리는 비용만 더했다.
  3. 연 6건으로 빈도도 데스크 기준의 4분의 1이다. 판정은 폐기이고, 다음은 국고 버터플라이 여러 개에 비용 기반 진입을 거는 쪽이다.

가설과 결론

가설
H834: 국고와 IRS 의 3, 5, 10년 금리 여섯 개로 추정한 시장 간 곡률 차 W 의 250일 표준화 값이 1.5 를 넘으면, 곡률 차가 줄어드는 쪽으로 국고 버터플라이와 반대 방향 IRS 버터플라이를 함께 최대 20거래일 든다. 확인 구간의 건당 손익이 비용 2bp 뒤 0 보다 크고 월 블록 부트스트랩 한쪽 p 가 0.05 보다 작다. H835: 이 곡률 차의 반감기가 국고 단독 버터플라이 잔차보다 짧다. H837: 칼만 필터로 걸러 낸 신호가 원시 버터플라이 신호보다 일별 손익이 낫다. H836 은 금통위 주변을 뺀 탐색이다.
결론
H834 는 지지되지 않았다. 확인 구간 35건의 비용 뒤 평균은 −0.75bp, 한쪽 p 0.885, Holm 1.00 이다. H835 는 지지되었다(반감기 7.4일 대 13.1일, Holm 0.0075). H837 은 반대로 나왔다(필터가 더 나쁨, p 0.98). 판정은 폐기다.

앞선 실험들은 국고 3, 5, 10년 버터플라이의 잔차 되돌림이 부호는 양이지만 문턱에 못 미치고, IRS 2, 5, 10년 버터플라이 되돌림은 비용 뒤 음이라는 것을 보였다. 이 실험의 생각은 간단했다. 두 시장이 같은 금리 충격을 받는다면, 국고 버터플라이의 움직임 가운데 IRS 와 함께 움직이는 공통 부분은 되돌아오지 않는 커브 변화일 가능성이 크다. 그 공통 부분을 걷고 남은 시장 간 곡률 차, 즉 스왑 스프레드 버터플라이에는 국채 수급처럼 일시적인 원인만 남아 있을 것이다. 그렇다면 신호가 깨끗해져 국고 단독보다 되돌림이 빠르고 클 것이라고 예측했다.

예측의 절반은 맞았다. 곡률 차는 실제로 더 빨리 되돌아왔다. 확인 구간에서 하루 지속 계수가 0.911 이라 반감기가 7.4거래일이었고, 국고 단독 잔차는 0.948, 13.1거래일이었다. 그러나 빨리 돌아오는 폭 자체가 작았다. 진입 때 평균 괴리는 4.4bp 이고 평균 보유 11일 동안 기대 되돌림은 2.8bp 남짓인데, 국고 세 다리와 IRS 세 다리를 왕복하는 비용이 2bp 다. 되돌림이 있어도 비용을 빼면 남는 것이 없다는 것이 이 실험의 결론이다. 게다가 신호가 연 6건이라 사용자가 원하는 연 24건 이상과 거리가 멀다.

용어와 기호

K3, K5, K10 과 I3, I5, I10
국고채 3, 5, 10년 만기 고정 금리와 같은 만기의 원화 IRS(CD 91일 금리와 고정 금리를 바꾸는 스왑) 고정 금리. 일별 장 마감 값을 bp 로 쓴다
bp
베이시스 포인트, 금리 0.01%p. 이 페이지의 손익과 비용은 모두 5년 DV01 1 단위당 bp 다
DV01
금리가 1bp 움직일 때 포지션 가치의 변화. 버터플라이는 가운데 다리 DV01 1, 양 날개 DV01 반씩으로 맞춘다
버터플라이 f_K, f_I
f_K = K5 − (K3 + K10)/2, f_I = I5 − (I3 + I10)/2. 가운데 만기가 양 날개 평균보다 얼마나 높은지(곡률)를 bp 로 잰다
스왑 스프레드 버터플라이 b
b = f_I − f_K. 만기별 스왑 스프레드 s_τ = I_τ − K_τ 로 쓰면 b = s_5 − (s_3 + s_10)/2 이다. IRS 의 곡률이 국고보다 얼마나 높은지를 뜻한다
V 와 V 매수
V = −b. V 매수는 국고 버터플라이 매도(국고 5년 매도, 3년과 10년 매수)와 IRS 버터플라이 받기(5년 받고 날개 지급)를 함께 드는 것이다. b 가 줄면 이익이다
L, S, C
두 시장 공통의 수준, 기울기, 곡률 요인. Nelson-Siegel 로딩 1, h(τ), g(τ) 를 곱해 금리에 더해진다
A, B, W
IRS 에만 더해지는 시장 간 수준, 기울기, 곡률 차 요인. W 가 이 실험의 주인공인 곡률 차다
h(τ), g(τ), λ
h(τ) = (1 − e^(−λτ))/(λτ), g(τ) = h(τ) − e^(−λτ). λ = 0.36 이면 곡률 로딩 g 가 5년 근처에서 가장 크다
칼만 필터, W_t|t
관측된 금리 여섯 개로 보이지 않는 요인 여섯 개를 매일 갱신해 추정하는 방법. W_t|t 는 t 일 장 마감까지의 자료만 쓴 W 의 추정값이다
φ 와 반감기
AR(1) 지속 계수. x_{t+1} − μ = φ(x_t − μ) + 잡음. 반감기 = ln 0.5 / ln φ 거래일로, 괴리가 절반으로 줄어드는 데 걸리는 기대 시간이다
z
W_t|t 에서 직전 250거래일 W 의 평균을 빼고 표준편차로 나눈 값. 1.5 이상이면 진입한다
비용 2bp 와 4bp
다리마다 왕복 0.5bp(날개는 반 DV01 이라 0.25bp). 국고 버터플라이 1bp 와 IRS 버터플라이 1bp 를 더해 건당 2bp 가 판정 비용, 그 두 배 4bp 가 보고 비용이다
월 블록 부트스트랩
건별 손익을 달 단위로 묶어 복원 추출해 평균을 5,000번 다시 구한다. 같은 달 거래끼리의 상관을 보존한다. 한쪽 p 는 0 중심 재표본이 관측 평균 이상인 비율이다
Holm 보정
H834, H835, H837 세 p 값을 한 묶음으로 보고 작은 것부터 남은 개수를 곱해 여러 번 시험한 데서 오는 우연 통과를 막는다
발견 구간과 확인 구간
발견 2010 ~ 2020 은 칼만 모수를 최대우도로 추정한 표본 안 구간이다. 확인 2021-01 ~ 2026-10 은 모수를 고정하고 필터만 돌린 표본 밖 구간이고, 판정은 여기서만 한다

자료

쓴 자료. 모든 금리는 한국 거래일 장 마감 값이다.
자료기간해상도행쓰임
일별 금리 풀 국고 3, 5, 10Y2010-01-04 ~ 2026-11-05일, 장 마감4,143관측값 K
일별 금리 풀 IRS 2, 3, 5, 10Y같음일, 장 마감4,143관측값 I (2Y 는 원안 비교)
3년 국채선물 일봉 일자같음일4,143거래일 달력, 휴장 판정
금통위 회의일2010 ~ 2026일165H836 탐색

금리는 사내 일별 금리 풀에서 읽었다. 풀에는 국고와 IRS 의 만기 고정 금리가 한 행에 하루씩 있고, 모든 열이 그날 장 마감 값이라 같은 행끼리 섞어도 미래 정보가 들어오지 않는다. 풀에는 휴일 행이 246개 섞여 있어 국채선물 일봉의 거래일 달력에 맞춰 버렸다. 그 결과 2010-01-04 부터 2026-11-05 까지 4,143거래일이 남았다. 여섯 열 모두 비어 있는 날이 7일(2010-01-04 과 2026년 7월, 8월, 9월의 몇몇 날)이고 중복 날짜는 없다. 비어 있는 날은 칼만 필터가 예측 단계만 돌고 갱신을 건너뛴다.

값이 전날과 같은 날의 비율은 국고 버터플라이가 확인 구간에서 1.6%, IRS 버터플라이가 11.5% 였다. IRS 버터플라이가 덜 움직이는 것은 호가가 만기 사이에서 비슷하게 움직이기 때문이고, 이것이 뒤의 진단에서 중요하게 쓰인다. 종목 단위 민평은 쓰지 않았다. 앞선 버터플라이 실험과 같은 만기 고정 금리로 재야 비교가 깨끗하기 때문이다. 아래 그림은 두 버터플라이와 그 차 b 의 전체 흐름이다.

국고 버터플라이와 IRS 버터플라이, 그 차인 스왑 스프레드 버터플라이의 2010년부터 2026년까지 일별 흐름
그림 1. 위: 국고 버터플라이 f_K 와 IRS 버터플라이 f_I. 아래: 스왑 스프레드 버터플라이 b. 옅은 회색은 모수 추정 구간, 옅은 초록은 확인 구간이다. 2010 ~ 2011 년의 큰 진폭은 국고 쪽에서 왔다.

방법

거래 대상

거래하는 것은 스왑 스프레드 버터플라이 b 다. V = −b 를 사면 국고 5년을 팔고 3년과 10년을 DV01 반씩 사며, IRS 는 5년을 받고 3년과 10년을 반씩 지급한다. 다리가 여섯 개다. 발굴 단계의 아이디어는 IRS 날개를 2년과 10년으로 적었지만, 그렇게 하면 국고(3년 날개)와 IRS(2년 날개)의 날개 만기가 달라 두 버터플라이의 차가 공통 기울기와 곡률에 노출된다. 시장 간 곡률 차를 사려다 커브 방향 베팅을 함께 사는 셈이다. 그래서 사전등록에서 두 시장 모두 3, 5, 10년으로 맞췄고, 원안(IRS 2, 5, 10년)은 비교 정의로 따로 보고했다. 같은 만기로 맞추면 공통 요인 L, S, C 는 b 에서 정확히 지워진다.

신호와 청산

매일 장 마감 뒤 칼만 필터로 W_t|t 를 갱신하고, 직전 250거래일 W 의 평균과 표준편차로 표준화한 z 를 만든다. |z| 가 1.5 이상이면 신호다. z 가 양이면 IRS 곡률이 평소보다 국고보다 높은 상태이므로 b 가 줄어들 것으로 보고 V 를 산다. z 가 음이면 반대다. 신호는 행 s 의 종가로 정하고 진입은 다음 거래일 s+1 의 종가로 한다. 하루를 늦추는 것은 장 마감 값을 본 뒤 실제로 주문을 낼 수 있는 가장 이른 때가 다음 날이기 때문이다.

청산은 앞선 버터플라이 실험들의 공용 엔진을 그대로 썼다. 최대 20거래일을 들고, z 부호가 바뀌면 다음 날 종가에 나오며, 달력으로 4일 이상 쉬는 휴장 앞에는 미리 청산하고 그 직전에는 들어가지 않는다. 진입 뒤 손실이 직전 60일 일변화 표준편차의 2.5배를 넘으면 그날 종가에 손절하고 비용 반 단위를 더 뺀다. 포지션은 한 번에 하나만 든다. 비용은 다리마다 왕복 0.5bp 로 두어 건당 2bp 를 판정에, 4bp 를 보고에 쓰고, 1bp 와 4bp 의 민감도를 함께 냈다. 국채선물 틱 비용 규칙은 현물과 IRS 에 해당하지 않아 이렇게 바꿨다고 사전등록에 적었다.

검정과 비교

H834 는 확인 구간 건별 비용 뒤 손익의 월 블록 부트스트랩 5,000회 한쪽 p 로 판정했다. H835 는 확인 구간 b 와 국고 버터플라이 잔차(국고 5년 수준과 10년 − 3년 기울기에 같은 구간 회귀한 잔차)에 각각 AR(1) 을 적합해 반감기를 비교하고, 같은 달을 함께 뽑는 월 블록 부트스트랩 2,000회로 차이의 p 를 구했다. H837 은 칼만 규칙과 원시 b 규칙의 일별 값매김 손익 차를 부트스트랩했다. 세 p 에 Holm 을 걸었다.

판정에 쓰지 않는 보고로 기준선 넷(무작위 날짜와 방향, 같은 진입일의 무작위 방향, 늘 V 매수, 추세 따라가기), 정의 비교 여섯(원시 z, 고정 모수 z, 원안 2, 5, 10년, 국고 단독, IRS 단독, 비용 기반 진입), 강건성 격자 48칸(z 창 120, 250, 500일과 문턱 1.0 ~ 2.5, 최대 보유 5 ~ 40일), 진입 하루 지연, 위험 조건을 뺀 변형, 손익 분해를 미리 목록으로 정해 두었다. 문턱과 창은 미리 정했고 고르는 절차가 없어 판정에 선택 편향은 없다. 탐색에서 격자를 고를 때는 신호를 통째로 민 귀무 100회에서 같은 선택을 다시 돌렸다.

모델

모델은 선형 가우스 상태공간 모형이다. 관측은 매일의 금리 여섯 개이고 상태는 요인 여섯 개 [L, S, C, A, B, W] 다. 국고 행은 L + h(τ)S + g(τ)C 를, IRS 행은 여기에 A + h(τ)B + g(τ)W 를 더한다. 공통 요인 L, S, C 는 확률보행으로, 시장 간 요인 A, B, W 는 평균 μ 로 돌아가는 AR(1) 로 둔다. 관측 잡음은 시장마다 분산 하나다. 추정할 모수는 혁신 표준편차 6개, 지속 계수 3개, 평균 3개, 잡음 2개로 모두 14개이고, 2010 ~ 2020 자료만으로 최대우도 추정(L-BFGS-B, 28회 반복에서 수렴)한 뒤 고정했다.

그림 2 는 학습된 모형의 실제 로딩 행렬과 추정된 모수다. 시장 간 곡률 차 W 의 지속 계수는 0.9987 로 반감기가 517거래일이었다. 모형은 W 를 거의 확률보행인 느린 요인으로 보았다는 뜻이다. 관측 잡음은 국고가 0.91bp, IRS 가 0.09bp 로, 하루하루의 곡률 흔들림을 국고 쪽 잡음으로 돌렸다. 이 때문에 W_t|t 는 관측 b 보다 매끄럽고 늦게 움직이며, 이 성질이 뒤의 H837 결과로 이어진다. 트리와 선형 회귀를 그리는 공용 구조도 도구는 상태공간 모형을 다루지 않아, 같은 원칙(모식도가 아니라 학습된 객체의 값)으로 로딩과 모수를 직접 그렸다.

적합한 상태공간 모형의 관측 로딩 행렬 열지도와 상태 혁신 표준편차 막대
그림 2. 왼쪽: 관측 로딩 Z(행은 금리, 열은 요인). IRS 행만 A, B, W 에 로딩을 갖는다. 오른쪽: 최대우도로 추정한 상태 혁신 표준편차와 지속 계수, 관측 잡음.
추정된 모수(발견 구간 최대우도, metrics.json 의 kalman.params).
모수LSCABW
혁신 표준편차 q (bp)3.504.068.711.562.615.60
지속 계수 φ1 (보행)1 (보행)1 (보행)0.99730.99750.9987
평균 μ−28.872.8−63.1
관측 잡음 σ국고 0.91bpIRS 0.09bp

결과

확증 결과

H834 주 규칙(칼만 W, z ≥ 1.5, 최대 20일, 비용 2bp). 런 20261108T011503_main.
구간건수연 건수비용 전비용 2bp 뒤승률한쪽 p
확인 2021-01 ~ 2026-10 (판정)356.0+1.54−0.7545.7%0.885
그 안 2024-01 ~186.4+1.42−0.8650.0%
확인, 충격 구간 뺌315.3+1.23−1.0641.9%
발견 2011 ~ 2020 (표본 안)565.6+0.78−1.4428.6%

판정 구간인 확인 구간에서 주 규칙은 35번 들어갔다. 한 해 6번꼴이다. 평균 비용 전 손익은 +1.54bp 로 방향은 맞았지만, 다리 여섯 개 비용 2bp 를 빼면 건당 −0.75bp, 승률 45.7% 다. 월 블록 부트스트랩 한쪽 p 는 0.885 로 0 보다 크다는 증거가 전혀 없다. 사용자 기준의 확인 구간인 2024년 이후만 보아도 18건 −0.86bp 로 같다. 충격 구간(지정학 사건과 시장 급변 15개 창)에 걸친 4건이 합 +6.6bp 를 벌었기 때문에, 그것을 빼면 31건 −1.06bp 로 더 나빠진다. 즉 이 규칙의 얼마 안 되는 이익은 오히려 시장이 크게 흔들린 때에서 왔다. 모수를 추정한 발견 구간에서도 −1.44bp 라 표본 안에서조차 비용을 넘은 적이 없다.

H835 는 반대로 뚜렷했다. 확인 구간에서 b 의 하루 지속 계수는 0.911(반감기 7.4일), 국고 버터플라이 잔차는 0.948(13.1일)이었다. 차이의 90% 구간은 +2.1 ~ +10.2일로 0 을 넘고, 한쪽 p 0.0025, Holm 0.0075 다. 발견 구간에서도 19.1일 대 28.9일로 같은 쪽이었다. 시장 간 곡률 차는 국고 곡률의 잔차보다 빨리 되돌아온다. H837 은 칼만 규칙이 원시 b 규칙보다 일별로 0.028bp 덜 벌어 p 0.98 이었다. 칼만 모형이 W 를 느린 요인으로 추정한 탓에 필터값이 늦게 반응해 원시 신호보다 나빴다.

확인 구간의 칼만 필터 곡률 차와 관측 b, 칼만 z 와 원시 z, 진입 신호 점
그림 3. 위: 확인 구간의 W_t|t(진한 선, 왼쪽 축)와 관측 b(노란 선, 오른쪽 축). 아래: 칼만 z 와 원시 b 의 z, 빨간 점은 실제 진입 신호, 점선은 문턱 ±1.5.

기준선과 정의 비교

확인 구간 정의 비교. 비용은 버터플라이 하나면 1bp, 둘이면 2bp. C 는 판정에 쓰지 않는 비교.
정의비용건수연비용 전비용 뒤p
주 규칙(칼만 W)2356.0+1.54−0.750.89
C1 원시 b 의 z2569.6+2.38+0.250.28
C2 고정 모수 정상분포 z200
C3 원안 IRS 2, 5, 10년26411.0+1.52−0.650.96
C4 국고 버터플라이 단독18113.9+1.38+0.300.18
C5 IRS 버터플라이 단독17913.6+0.75−0.310.94
C6 비용 기반 진입2274.6+3.13+1.060.08

기준선은 주 규칙이 무언가를 잡고 있다는 것을 보여 준다. 같은 건수를 무작위 날짜와 방향으로 11일씩 들면 평균 −2.01bp(1,000회의 95% 분위 −1.33bp)로 비용만큼 잃는다. 주 규칙은 이 분포의 위 0.3% 에 있다. 같은 진입일에 방향만 무작위로 바꾸면 평균 −2.01bp, 주 규칙의 순위 p 는 0.039 다. 늘 V 를 사면 −1.99bp, 추세를 따라 반대로 들면 −3.54bp 다. 방향에는 정보가 있지만 그 크기가 비용을 못 넘는 것이다.

정의 비교에서 가장 나은 것은 논문의 결정 이론 정지 규칙을 선형으로 옮긴 C6 이었다. 직전 250일 AR(1) 로 앞으로 20일의 기대 되돌림을 계산해 비용의 두 배(4bp)를 넘을 때만 들어가면 27건 +1.06bp(p 0.08)다. 다만 연 4.6건이다. 원시 b 의 z(C1)는 +0.25bp 로 칼만보다 나았고, 국고 버터플라이만 쓴 C4 도 비용 1bp 에서 +0.30bp 였다. IRS 버터플라이 단독(C5)은 음이다. 고정 모수 z(C2)는 확인 구간 내내 |z| 가 1.38 아래여서 한 번도 들어가지 않았다. 발견 구간의 W 가 추세를 담아 표준편차가 크게 잡혔기 때문이다.

확인 구간 비용 뒤 누적 손익 계단선, 주 규칙과 네 비교 정의
그림 4. 확인 구간의 비용 뒤 누적 손익(청산일 기준). 주 규칙은 2021년 초에 잃고 회복하지 못한다. C6 비용 기반 진입이 가장 높지만 건수가 적다.
곡률 차와 국고 잔차의 반감기 막대, 기준선과 비교 정의의 건당 손익 막대
그림 5. 왼쪽: 확인 구간 AR(1) 반감기(점선 테는 발견 구간 값). 오른쪽: 주 규칙과 기준선, 비교 정의의 건당 비용 2bp 뒤 손익.

격자, 비용, 연도

강건성 격자 48칸에서 비용 전 손익은 모든 칸이 양이었다. 어떤 창과 문턱, 보유 기간을 골라도 곡률 차는 신호 방향으로 되돌아왔다는 뜻이다. 그러나 비용 2bp 뒤 양인 칸은 8칸뿐이고, 그 8칸은 모두 문턱이 높거나 창이 길어 연 4.6건 이하다. 연 20건 가까이 나오는 칸(문턱 1.0, 보유 5일)은 −1.4 ~ −1.7bp 다. 문턱을 높이면 건당 크기는 커지지만 건수가 빠르게 줄어, 빈도와 크기 둘 다를 만족하는 칸이 없다.

비용 민감도는 결과를 가장 단순하게 요약한다. 다리 비용을 반으로 잡은 1bp 에서는 건당 +0.40bp, 판정 비용 2bp 에서 −0.75bp, 보고 비용 4bp 에서 −3.03bp 다. 연도별로는 2023년(+1.25bp, 3건)과 2025년(+1.21bp, 5건)만 양이고 2021, 2022, 2024, 2026년은 음이다. 진입을 하루 더 늦추면 32건 −0.26bp 로 조금 나아지고, 손절을 빼면 −0.12bp, 모든 위험 조건을 빼도 −0.16bp 로 어느 변형도 0 을 넘지 못했다.

z 창 세 개별 문턱과 최대 보유 격자의 건당 비용 뒤 손익과 연 건수 열지도
그림 6. 강건성 격자. 칸마다 위 숫자는 확인 구간 건당 비용 2bp 뒤 손익(bp), 아래는 연 건수. 초록 칸은 모두 연 5건 이하다.
비용 1, 2, 4bp 별 건당 손익 막대와 확인 구간 연도별 건당 손익 막대
그림 7. 왼쪽: 비용 가정별 건당 손익(점선은 비용 전 +1.54bp). 오른쪽: 연도별 건당 비용 2bp 뒤 손익과 건수.

실패 진단

왜 비용을 못 넘는지 손익을 다리별로 나눴다. 비용 전 +1.54bp 가운데 국고 버터플라이 다리가 +1.51bp, IRS 버터플라이 다리가 +0.03bp 였다. 곡률 차가 벌어졌다가 돌아올 때 움직이는 쪽은 국고였다. IRS 버터플라이는 확인 구간 일변화 표준편차가 0.59bp 로 국고의 1.07bp 의 절반 남짓이고, 변화가 0 인 날도 11.5% 다. IRS 다리는 되돌림을 거의 보태지 않고 비용 1bp 만 더했다. 공통 곡률을 걷으려고 붙인 IRS 다리가 잡음을 줄이기보다 비용을 늘렸다.

신호 크기도 문턱 근처에서는 모자랐다. 진입 |z| 가 1.5 ~ 2.0 인 건은 비용 전 +0.67bp, 2.0 ~ 2.5 인 건은 +5.25bp, 2.5 이상은 +1.14bp 였다. 진입 때 b 의 250일 평균 대비 괴리는 평균 4.4bp 이고, 반감기 7.4일과 평균 보유 11일로 계산한 기대 되돌림은 2.8bp 다. 비용 2bp 와 손절, 휴장 앞 청산이 그 대부분을 먹는다. 하루 어긋남 잡음은 크지 않았다. b 일변화의 1일 자기상관이 0.008 이고, 신호일 종가에서 진입일 종가까지 이미 유리한 쪽으로 평균 +0.44bp 가 움직여 그만큼을 놓쳤다. 공용 카드 손익과의 일별 상관은 0.003 이라 독립적이지만, 독립성만으로는 쓸모가 생기지 않는다.

국고 다리와 IRS 다리의 건당 손익 분해 막대와 진입 z 구간별 비용 전 손익 막대
그림 8. 왼쪽: 확인 구간 건당 비용 전 손익의 다리별 분해. 오른쪽: 진입 |z| 구간별 비용 전 손익과 건수. 빨간 점선은 비용 2bp.

탐색 변형

결과를 본 뒤 돌린 탐색(판정에 쓰지 않음). explore/explore.json.
변형비용건수비용 뒤p비고
H836 금통위 앞뒤 10일 신호 뺌210−1.9135건 중 25건이 금통위 근처
E1 국고 5년 레벨 헤지234−0.760.89일별 베타 0.04, R² 4.8%
E2 칼만 신호, 국고 다리만135+0.460.21발견 −0.53
E2b 원시 신호, 국고 다리만160+0.770.04발견 −0.10, 연 10.3건
E3 발견 구간 최고 격자 칸29+0.10발견에서도 −0.70
E4 연 24건 이상 칸2109 ~ 252−1.4 ~ −1.8문턱 0.5 ~ 1.0

탐색은 살릴 길을 찾으려고 돌렸고 모두 판정 밖이다. 금통위 앞뒤 10거래일 안에서 난 신호가 35건 중 25건이었고, 그것을 빼도 부호는 음으로 같았다(H836). 국고 5년 레벨 노출을 직전 250일 베타로 지워도 −0.76bp 로 그대로다. 손익 분해를 따라 곡률 차 신호로 국고 버터플라이만 거래하면 비용이 1bp 로 줄어 +0.46bp, 원시 신호로는 +0.77bp(p 0.041)까지 오른다. 그러나 원시 신호 판은 발견 구간에서 −0.10bp 라 시기에 기대는 결과이고, 여러 변형을 본 뒤의 숫자라 그대로 믿을 수 없다. 발견 구간에서 격자 칸을 정직하게 고르는 절차도 돌렸다. 고른 칸(250일, 문턱 2.5, 40일)은 발견 구간에서조차 −0.70bp 였고, 신호를 통째로 민 귀무의 발견 최고 평균 −1.70bp 보다 낫지만(p 0.01) 비용을 넘는 칸이 없었다.

깊이 보강: 버터플라이 여럿을 모은 장부

주 규칙이 진 뒤에 남은 물음은 둘이었다. 빈도를 연 24건 넘게 올릴 수 있는가, 그리고 올렸을 때도 비용을 넘는가. 그래서 국고와 IRS 가 같은 만기를 가진 버터플라이 여섯 개(2s3s5s, 3s4s5s, 3s5s7s, 3s5s10s, 2s5s10s, 5s7s10s)에 같은 규칙을 걸어 한 장부로 모았다. 버터플라이마다 포지션은 하나이고, 신호는 원시 b 의 250일 z 또는 비용 기반 진입이며, 두 시장을 모두 거래하는 판과 국고 버터플라이만 거래하는 판을 나눴다. 모두 결과를 본 뒤의 탐색이다.

여섯 버터플라이 장부(탐색). depth1/depth1.json. 비용은 두 시장 2bp, 국고만 1bp.
장부건수연확인 비용 뒤p발견 비용 뒤양인 해
원시 z, 두 시장29049.8−0.440.94−1.252/6
비용 기반, 두 시장9215.8+0.690.094−0.455/6
원시 z, 국고만30151.7+0.430.054−0.364/6
비용 기반, 국고만38666.3+0.360.038−0.313/6

버터플라이를 모으면 빈도 문제는 쉽게 풀린다. 국고만 거래하는 두 장부는 연 50 ~ 66건이다. 확인 구간에서는 비용 기반 두 시장 장부가 +0.69bp(연 15.8건), 국고만 비용 기반 장부가 +0.36bp(p 0.038)로 양이었다. 신호를 통째로 민 귀무 200회의 평균은 −2.54bp 라 비용 기반 두 시장 장부의 시점 정보는 뚜렷하다(순위 p 0.005). 그러나 네 장부 모두 발견 구간 2011 ~ 2020 에서는 음이었다. 그림 9 의 누적 곡선을 보면 이익이 대부분 2022 ~ 2023 년에 쌓였고 그 전 10년은 천천히 잃었다. 같은 날 여러 버터플라이가 함께 들어가 건끼리 상관이 있으므로 월 블록 p 도 낙관적일 수 있다. 5s7s10s 는 모든 장부에서 음이었다.

여섯 버터플라이 장부 네 가지의 2011년부터 누적 손익과 발견 확인 구간별 건당 손익 막대
그림 9. 왼쪽: 여섯 버터플라이 장부의 비용 뒤 누적 손익(점선은 확인 구간 시작). 오른쪽: 장부별 발견 구간과 확인 구간의 건당 비용 뒤 손익. 모두 탐색.

남은 점검 셋도 결론을 바꾸지 않았다. 주 규칙의 건별 비용 전 손익은 보유 중 미국 10년 금리 변화(방향 곱)와 상관이 0.47 이고, 미국 금리 변화를 회귀로 빼면 절편이 +1.23bp 라 비용 전 +1.54bp 가운데 약 0.3bp 는 금리 방향 노출이었다. 확인 구간 금통위 47회 가운데 13회의 전날 밤에 주 규칙 포지션이 열려 있었고 그날 값매김 평균은 +0.03bp 로, 금통위 전날 10선 전략과 부딪치지 않는다. 진입 시점도 원인이 아니다. 신호를 본 그날 종가에 들어가는 실행 불가능한 상한도 −0.52bp 로 음이었다.

해석

이 실험은 «곡률 차는 실재하지만 돈이 되지 않는다» 로 읽는다. 곡률 차가 빨리 돌아온다는 것은 강하게 확인되었고(H835), 무작위 진입보다 뚜렷이 나은 방향 정보도 있었다. 하지만 반감기가 짧다는 것은 동시에 괴리의 크기가 작다는 뜻이기도 하다. 확인 구간에서 b 의 표준편차는 2.5bp 남짓이고 문턱 1.5 에서의 괴리는 4bp 안팎인데, 그 가운데 보유 기간 동안 회수할 수 있는 몫은 3bp 가 안 된다. 다리 여섯 개를 왕복하는 2bp 와 손절이 그것을 먹는다.

더 근본적인 문제는 되돌림이 어디서 일어나느냐다. 국고 버터플라이가 IRS 대비로 벌어졌다가 돌아오는 것이지 IRS 가 국고 쪽으로 오는 것이 아니었다. IRS 곡선은 호가가 만기 사이에서 비슷하게 움직여 곡률이 잘 변하지 않는다. 그렇다면 IRS 는 «공통 곡률의 기준선» 역할만 하면 되고 거래할 필요가 없다. IRS 는 신호를 만드는 데 쓰고 거래는 국고 버터플라이로만 하는 쪽이 이 실험이 가리키는 방향이다. 칼만 필터는 이 경우 도움이 되지 않았다. 모형이 시장 간 곡률을 반감기 517일의 느린 요인으로 잡아 빠른 되돌림을 늦게 보았기 때문이다.

한계

이 결론이 틀릴 수 있는 이유를 구체적으로 적는다.

비용 가정. 다리마다 왕복 0.5bp 는 국고 지표물과 IRS 호가가 좁을 때의 값이다. 비지표물이나 시장이 흔들린 날은 더 넓고, 대차와 레포, IRS 의 캐리와 롤다운은 넣지 않았다. 비용이 실제로 더 크다면 결론(폐기)은 더 단단해진다. 반대로 데스크가 IRS 를 다른 거래의 헤지로 이미 들고 있어 한쪽 다리 비용이 없다면 1bp 민감도(+0.40bp)에 가깝다.

자료. 만기 고정 금리라 지표물 교체 때의 금리 점프와 종목별 민평 괴리를 넣지 못했다. 2010 ~ 2011 년 국고 3년의 큰 점프는 지표물 교체였을 수 있다. 국고 민평 시각과 IRS 마감 고시 시각의 차가 하루 어긋남으로 섞였을 수 있지만, b 일변화의 1일 자기상관이 0 에 가까워 큰 영향은 아니라고 본다.

표본 크기. 확인 35건은 작고 연도마다 3 ~ 8건이다. 건당 손익의 90% 구간 폭이 2bp 를 넘어 −0.75bp 가 참값에서 꽤 떨어져 있을 수 있다. 다만 발견 구간, 2024년 이후, 충격 제외, 위험 조건 변형이 모두 음이라 방향은 일관된다.

설계 변경과 선택. 아이디어의 IRS 2, 5, 10년을 사전등록 단계에서 3, 5, 10년으로 바꿨다(원안은 C3 로 보고, 결과 같은 방향). 탐색 변형(E2b p 0.041 등)은 결과를 본 뒤 여러 개를 돌린 것이라 선택 편향이 있다. 탐색 E2 는 첫 런에서 국고 다리 부호를 거꾸로 넣었고 손익 분해와 맞지 않아 결과를 본 뒤 고쳤다. 확증 런은 고치지 않았다. 원 논문의 체제 전환과 입자 필터는 구현하지 않았고, λ 는 0.36 으로 고정했다.

다음에 해 볼 것

가장 먼저 할 것은 깊이 보강의 «비용 기반, 국고만» 여섯 버터플라이 장부를 그대로 사전등록하고 2026-11 이후를 표본 밖으로 재는 일이다. 발견 구간에서 음이었으므로 2021 년 이후의 양이 국고 커브 변동성이 커진 체제 때문인지 우연인지를 먼저 가려야 한다. 국고 커브 일변화 표준편차 같은 체제 변수로 장부를 켜고 끄는 규칙을 함께 사전등록하면 두 설명을 구분할 수 있다.

첫째, 국고 버터플라이 단독 거래에 IRS 곡률 차를 조건으로 거는 규칙을 사전등록한다. 신호는 시장 간 곡률 차(원시 b), 거래는 국고 3, 5, 10년 버터플라이 하나(비용 1bp)로 한다. 빈도를 연 24건 넘게 올리려면 2, 3, 5년과 5, 10, 20년 버터플라이에 같은 규칙을 걸어 한 장부로 모으고, 지표물 단위 민평과 실제 호가 폭으로 비용을 다시 잰다. 둘째, 비용 기반 진입의 확장이다. 이 실험에서 가장 나은 정의였던 «기대 되돌림이 비용의 두 배를 넘을 때만 진입» 을 버터플라이 여러 개에 걸고, 기대 되돌림 크기에 비례해 크기를 정하는 연속 규칙과 고정 문턱 규칙을 같은 확인 구간에서 비교한다.

산출물

모든 수치는 아래 런에서 옮겼다. 재현은 저장소 뿌리에서 명령 세 줄이면 된다. 첫 줄은 칼만 모수를 다시 추정하고 확증 런 전체를 만든다(약 40초). 둘째 줄은 탐색, 셋째 줄은 이 페이지의 그림이다.

  • 사전등록protocol.md (커밋 a171b12e)
  • 분석과 판정analysis.md
  • 상태공간 모형code/kalman.py
  • 확증 런code/s1_main.py → results/20261108T011503_main/
  • 탐색code/d1_explore.py → results/20261108T011503_main/explore/
  • 깊이 보강code/d2_depth.py → results/20261108T011503_main/depth1/
  • 그림code/render_figures.py → paper/assets/
uv run python experiments/0243_irs_ktb_curvature_wedge/code/s1_main.py experiments/0243_irs_ktb_curvature_wedge/results/<UTC>_main
uv run python experiments/0243_irs_ktb_curvature_wedge/code/d1_explore.py experiments/0243_irs_ktb_curvature_wedge/results/<UTC>_main
uv run python experiments/0243_irs_ktb_curvature_wedge/code/render_figures.py

Appendix

A. 데이터셋 실물

일별 금리 풀의 실제 다섯 행(단위 %)이다. 모델은 이 여섯 열에 100 을 곱해 bp 로 쓴다.

일별 금리 풀 2025-12-01 ~ 12-05, 장 마감 값.
일자국고 3Y국고 5Y국고 10YIRS 3YIRS 5YIRS 10Y
2025-12-013.0433.2323.3903.04503.16253.2850
2025-12-023.0203.2073.3453.01753.13253.2525
2025-12-033.0373.2403.3653.05253.17253.2850
2025-12-043.0253.2253.3753.02753.15253.2725
2025-12-052.9903.1933.3522.99253.11253.2450

예를 들어 2025-12-05 의 국고 버터플라이는 319.3 − (299.0 + 335.2)/2 = 2.2bp, IRS 버터플라이는 311.25 − (299.25 + 324.5)/2 = −0.625bp 이므로 b = −2.825bp 다.

B. 모델 입출력 실물

확인 구간의 실제 한 건(2025-01-02 신호)을 모델 입력부터 거래 결과까지 따라간다. 값은 series.csv, states.csv, trades_main.csv 에서 그대로 옮겼다.

Request meta
상태공간 모형(Nelson-Siegel λ 0.36, 모수 14개 2010 ~ 2020 최대우도 고정), 문턱 1.5, z 창 250일, 최대 보유 20일, 비용 2bp
Input
2025-01-02 장 마감 금리 여섯 개. 그날 b = −7.475bp(국고 버터플라이 5.35bp, IRS 버터플라이 −2.125bp). 전 거래일 2024-12-30 의 b 는 −5.450bp
Model response
필터 상태 L 277.95, S −84.46, C 89.15, A 7.00, B 65.30, W −130.47. W 의 직전 250일 기준 z = −3.319(원시 b 의 z 는 −4.007). |z| ≥ 1.5 이고 z 가 음이므로 V 매도: 국고 버터플라이 매수, IRS 버터플라이 지급
Ground truth check
2025-01-03 종가 진입(b −4.000bp), 2025-01-24 휴장 앞 청산. 보유 15거래일, 비용 전 +3.30bp, 비용 2bp 뒤 +1.30bp, 비용 4bp 뒤 −0.70bp. 신호일에서 진입일 사이에 b 가 이미 3.5bp 돌아와 그만큼을 놓쳤다

C. 실험 설정

사전등록한 설정 전체.
항목값
관측국고 3, 5, 10Y, IRS 3, 5, 10Y 장 마감(bp)
상태L, S, C 확률보행, A, B, W 는 AR(1)
로딩Nelson-Siegel λ = 0.36
모수 추정2010-01-04 ~ 2020-12-30 최대우도, L-BFGS-B, 첫 20일 우도 제외
신호W_t|t 의 직전 250일(최소 200일) z, |z| ≥ 1.5
진입, 청산s+1 종가 진입, 최대 20일, z 부호 전환, 휴장(달력 4일 이상) 앞 청산, 2.5σ 손절(60일 σ)
비용건당 2bp 판정, 4bp 보고, 민감도 1, 2, 4bp, 손절 시 비용 반 단위 추가
확인 구간2021-01-04 ~ 2026-10-30, 그 안의 2024-01 ~ 따로 보고
검정월 블록 부트스트랩 5,000회(seed 243), H835 는 2,000회, Holm(H834, H835, H837)
격자z 창 120, 250, 500 × 문턱 1.0, 1.5, 2.0, 2.5 × 보유 5, 10, 20, 40
판정채택: Holm p < 0.05, 연 24건 이상, 4bp 누적 양, 충격 제외 양, 연도 과반 양. 비용 뒤 평균 ≤ 0 이면 폐기