국채선물 상대가격 연구

조달금리로 조정한 선물 괴리를 수렴까지 보유하면 남는가

장중 현물 추정과 익일물 금리로 만든 신호를 다음 날 거래하고 수렴까지 기다린 결과.

폐기확인 151건2024~2026년 10월

세 줄 요약

  1. 선물 단독 확인 -2.10틱 상당, Holm p 1.000, 연 53.4회다.
  2. 현물 헤지는 흔들림을 줄였지만 비용 뒤 -3.80틱 상당이었다.
  3. 빈도는 충분했지만 양의 기대 손익은 확인하지 못해 폐기한다.

가설과 결론

선물과 현물을 함께 거래하면 언젠가 같아지는 가격에 기대어 이익을 낼 수 있다는 생각은 매력적이다. 다만 가격 차이가 있어도 현물을 보유하는 조달 비용, 현물을 빌리는 비용과 두 시장의 체결 비용을 내고 남아야 거래할 이유가 생긴다. 이 실험은 화면에 보이는 괴리를 바로 수익 기회로 부르지 않고, 그 괴리가 암묵적으로 요구하는 조달금리를 계산한 다음 실제 익일물 금리와 비교했다. 특히 하루만 보유할 때 놓치는 수렴을 잡기 위해 여러 거래일까지 기다리는 규칙을 시험했다.

가설
H690: 3선과 10선의 조달 조정 괴리가 직전 60유효일 대비 크게 벌어지면 반대 방향의 선물을 다음 거래일 시가에 잡는다. 발견 구간에서 고른 문턱과 보유일을 고정한 확인 손익이 양수이고, Holm p < 0.05와 연 24회를 충족해야 한다. H691: 같은 신호에 현물 바스켓을 반대로 붙여도 비용 뒤 양수이며 손익 표준편차는 선물 단독의 절반 이하여야 한다.
결론
H690은 확인 151건에서 건당 -2.10틱 상당, H691은 -3.80틱 상당이었다. 두 Holm p는 모두 1.000이다. 수렴을 기다리는 규칙과 현물 헤지 규칙 모두 폐기한다.

두 상품을 합쳐 연 53.4회라는 빈도를 확보했다는 점만 보면 처음의 약점 하나는 해결했다. 그러나 횟수가 늘어도 평균이 음수면 개선이 아니다. 비용을 전혀 빼지 않은 선물 단독 평균도 -1.43틱 상당이므로, 더 싼 주문 방식만 찾으면 되는 상황도 아니다. 현물 헤지는 흔들림을 크게 줄였지만 이익까지 만들어 주지 않았고, 현물 왕복 비용이 대부분의 손실을 설명했다.

이 결과는 한국 국채선물 베이시스 전체에 수익 기회가 없다는 보편적인 결론은 아니다. 15:30의 추정 현물 금리, 익일 시가 진입, 등록된 정상화 청산과 최대 보유라는 구체적인 설계에서 기대 이익을 확인하지 못했다는 뜻이다. 아이디어의 원문은 미국 레포 중개 비용이 유동성과 통화정책에 따라 변한다고 설명한다. 그 통찰을 한국의 선물 진입 규칙으로 옮기는 단계에는 별도의 검증이 필요하며, 이번 수치는 그 단계가 통과하지 못했음을 보여 준다.

용어와 기호

AR(1)과 마르코프 전환
AR(1)은 직전 관측 한 개로 현재 값을 설명하는 자기회귀다. 마르코프 전환은 다음 상태 확률이 직전 상태에 의존하도록 상태를 나누는 방법이다.
고평과 저평
선물과 현물 이론가의 차이에서 조달 및 대차 항을 반영한 계산기 값이다. 고평이 양수면 선물이 비싸고 저평이 양수면 선물이 싸다는 뜻이다.
3선과 10선
각각 3년 및 10년 국채선물이다. 두 상품의 틱 가치는 같지만 금리 민감도는 다르다.
틱
선물 가격의 최소 변화 0.01이다. 이 보고서의 상품별 손익은 해당 선물의 틱으로 표시한다.
3선 틱 상당
10선 손익에 신호일 DV01 비중을 곱해 3선 한 계약과 비슷한 금리 위험으로 줄인 합산 단위다.
내재 레포 r*
현물 바스켓과 선물 가격을 계산기에 넣었을 때 고평이 0이 되게 하는 연율 조달금리다. 실제 거래된 레포 금리는 아니다.
CALL 또는 콜
금융기관 간 익일물 무담보 거래금리다. 15:30 신호에는 직전 영업일 금리를 쓴다.
KOFR
국채와 통안증권 담보 익일물 RP 거래를 바탕으로 한 지표금리다. 이번에는 콜 대체 정의로 비교한다.
괴리 X
15:30 내재 레포에서 직전 영업일 콜을 뺀 금리 차다. 단위는 %p다.
표준화 z
현재 X에서 직전 W 유효일 평균을 뺀 뒤 그 기간 표준편차로 나눈 값이다. 현재일은 추정 창에서 제외한다.
W와 k
W는 표준화에 쓰는 과거 유효일 수이고 k는 진입에 필요한 |z| 문턱이다.
H와 D
H는 진입일을 포함한 최대 보유 거래일 수다. D는 매수 +1, 매도 −1인 선물 방향이다.
유효일
내재 레포와 콜이 있고 근월 만기까지 달력 15일 이상 남았으며 만기일이 아닌 날이다.
DV01
금리가 1bp 움직일 때 가격이 얼마나 바뀌는지를 나타낸다. 여기서는 현물 금리를 1bp 올려 계산기 가격 변화를 잰 틱 민감도다.
bp와 %p
1bp는 금리 0.01%p다. 현물 1bp 비용은 수익률 기준이므로 장기채에서 가격 비용이 더 크다.
net1과 net2
왕복 선물 비용 각각 1틱과 2틱을 뺀 손익이다. 헤지 다리에는 현물 왕복 1bp도 추가한다.
승률
비용 뒤 거래 손익이 양수인 거래의 비율이다. 평균 손익의 유의성과 별개의 기술 통계다.
월 블록 부트스트랩
같은 달의 거래를 함께 뽑아 평균을 반복 계산하는 재표집이다. 월 안의 동시 움직임을 부분적으로 보존한다.
한쪽 p와 Holm
평균이 0보다 크다는 가설의 p와, 두 확증 가설의 다중 검정 오류를 조정한 p다. 5%보다 작아야 지지한다.
칼만 필터
관측 체결 금리에 공통 금리 변화와 종목별 변화를 나누어 현재 상태를 추정하는 재귀 계산이다.
필터 확률과 평활
필터는 현재까지의 관측만 쓰고 평활은 미래 관측도 쓴다. 청산 모형에는 필터만 사용한다.
시가와 종가 단일가
정해진 시간에 주문을 모아 한 가격으로 체결하는 개장 및 마감 경매 가격이다.
바스켓과 민평
바스켓은 선물의 표준 가격 산정에 쓰는 현물 채권 묶음이다. 민평은 장 마감 후 정해지는 평가 금리이므로 실시간 체결 호가는 아니다.
정상화
현재 유효일의 |z|가 0.5 아래로 내려온 사건이다. 실제 만기 정산까지 완전히 수렴한 사건과는 다르다.

자료

자료는 2022년 1월부터 2026년 10월까지의 국내 국채선물과 현물 장중 체결을 결합했다. 초기 아이디어는 더 긴 발견 구간을 생각했으나, 15:30을 복원하는 데 필요한 현물 체결 보고가 2021년 말부터 있어 사전등록 단계에서 기간을 줄였다. 따라서 2022~2023년은 규칙 선택에만 쓰고 2024년부터 2026년 10월까지를 확인에 썼다. 확인이라는 이름이 붙어도 앞선 연구에서 일부 결과를 이미 관찰한 기간이라는 한계는 그대로 남는다.

자료의 기간, 해상도와 사용 범위. 내재 레포 결측은 전체 거래 달력에 맞춘 숫자다.
자료기간행수 또는 결측해상도쓰임
3선 가격과 계산기2022-01-03~2026-10-30달력 1,177 / 유효 921일일봉과 15:30진입, 청산, 내재 레포
10선 가격과 계산기같은 기간달력 1,177 / 유효 923일일봉과 15:30진입, 청산, 내재 레포
장중 내재 레포 결측같은 기간3선 82일 / 10선 75일일별거래 신호 제외
콜과 KOFR신호 전 영업일 값콜은 한은 계열 우선, 끝 구간 거래 계열 보충일별조달 기준과 대체 정의
연결 선물 분봉같은 기간확인 진입 151건 중 지연가 150건1분1분, 5분 지연 및 지정가 모의
현물 민평과 종목 메타거래 진입일 및 청산일헤지 거래 확인 151건일별마감 헤지와 고정 수량 복제
발견 / 확인2022~2023 / 2024~2026-10선물 단독 102 / 151건거래별선택과 검정 분리

현물 장중 값은 민평의 마감 슬롯을 당일 15:30 관측으로 읽은 것이 아니다. 전일 민평을 출발점으로 삼고 15:30까지 보고된 장내 및 장외 국고채 체결의 변화만 칼만 필터에 넣었다. 바스켓 종목이 직접 거래되지 않은 경우에는 같은 만기대 종목의 공통 금리 변화가 추정에 영향을 준다. 이런 값은 호가나 매매 가능한 가격과 다르다. 데이터가 있는 날의 추정치만으로 충분한 유동성을 확보했다고 해석하면 안 된다.

계산기 표가 비어도 선물 일봉이 있으면 거래 달력은 보존했다. 두 상품 모두 계산기 누락일이 네 거래일씩 있었고, 반대로 계산기만 있고 일봉이 없는 2026년 9월 14일도 있었다. 그 날을 보유한 확증 거래는 없었다. 장중 봉이 없는 진입은 지연 실행 비교에서 제외했으며, 늦게 시작하는 특수 거래일에는 고정된 09:01 대신 실제 첫 봉을 찾았다. 2025년 12월 이후 표본에는 첫 봉이 08:46인 날이 179일 있었고, 09:46인 날도 한 번 있었다.

방법

먼저 선물 가격, 바스켓 금리와 전일 정보로 계산된 헤지오차를 기존 고저평 계산기에 넣는다. 운용금리를 3%와 4%로 바꾸어 고평의 기울기를 계산하고, 고평이 0이 되는 조달금리를 역산한다. 3선은 금리가 선도 듀레이션에도 들어가므로 할선 보정을 한 번 더 한다. 이 금리가 r*이며, 이를 실제 조달 계약을 체결할 수 있는 레포 호가라고 부르지 않는다. 검산 표본 18개에서 10선의 잔여 오차는 수치 정밀도 수준이고 3선도 0.001틱보다 작았다.

괴리는 r*에서 직전 영업일 콜을 빼 정의한다. 과거 60유효일의 평균과 표준편차는 현재일을 제외하고 계산하며 최소 30개 관측이 쌓여야 신호를 낸다. 만기까지 달력 15일 이상 남은 날만 진입 신호를 허용하는 이유는 짧은 잔존일에서 작은 가격 오차가 큰 연율 금리 괴리로 증폭되기 때문이다. 월물이 바뀌어도 유효일 시계열은 이어서 표준화한다. 따라서 월물 고유의 계절 효과를 완전히 제거한 것은 아니다.

진입 방향은 z의 반대다. 내재 레포가 평소보다 높아 선물이 상대적으로 비싸면 선물을 매도하고, 반대로 낮으면 매수한다. 신호일에 거래하지 않고 다음 거래일 시가 단일가에 들어간다. 그 뒤 15:30의 |z|가 0.5 미만이 되는 날, 최대 보유일에 도달하는 날, 만기 2영업일 전 가운데 먼저 오는 종가에 청산한다. 같은 상품에서는 포지션이 겹치지 않으며 청산일의 15:30 신호는 다음 날 새 거래를 만들 수 있다. 표본 말일에 아직 청산되지 않은 거래는 제외한다.

발견 구간에서는 문턱 1과 1.5, 최대 보유일 5와 10을 곱한 네 조합 중 비용 1틱 뒤 합산 건당 평균이 가장 큰 조합을 고른다. 동률이면 거래가 더 많은 쪽을 고른다. 이번 선택은 k=1과 H=5였다. 이 조합을 확인 구간에서 다시 고르지 않는다. 선택 편향 귀무에서는 두 상품의 시가부터 종가 및 전일 종가부터 종가 수익을 같은 간격으로 순환이동하고 네 조합을 다시 비교한다. 신호와 청산 일정은 고정하되 가짜 수익에서도 선택 단계가 반복된다.

합산은 두 상품의 금리 위험을 맞추기 위한 것이다. 3선 거래 비중은 1이고 10선 거래 비중은 신호일 3선 DV01을 10선 DV01로 나눈 값이다. 개별 10선의 틱을 임의의 상수로 3선 틱으로 환산하지 않으며, 비용도 같은 비중으로 줄인다. 양쪽 민감도 중 하나가 없으면 당시까지 관측된 최근 비중을 이월한다. 발견 두 건과 확인 한 건에 이 대체가 적용됐다. 합산 건당 평균의 분모는 두 상품 거래 수의 합계다. 이 값은 한 번에 두 상품을 반드시 묶어 매매하는 페어 거래 수익률이나 자본 대비 수익률을 뜻하지 않는다.

헤지 다리는 신호가 같아도 실행 시각이 다르다. 다음 날 마감의 선물 종가와 현물 민평으로 들어가고 같은 청산일 마감에 나온다. 선물 단독이 진입일에 끝난 경우 헤지는 하루 더 보유한다. 등록된 주검정은 콜을 진입 시점에 고정한 계산기 고평 또는 저평의 변화로 헤지 손익을 근사한다. 여기에 선물 1틱과 현물 수익률 왕복 1bp 비용을 뺀다. 이 근사가 고정 수량 거래 장부와 같은지 확인하기 위해 별도의 탐색 복제를 수행했다.

확증 검정은 같은 달의 거래를 함께 재표집하는 월 블록 부트스트랩 5,000회다. 평균을 중심화한 분포로 양의 평균에 대한 한쪽 p를 만들고 H690과 H691 두 가설만 Holm 보정한다. 평균, 유의성과 빈도를 함께 요구한다. 추가로 채택에는 선물 비용 2틱에서도 양수이고 선택 귀무 p가 0.10 미만이어야 한다. 주검정의 월 묶음은 거래가 있는 달만 포함하므로 빈 달까지 넣은 재계산도 진단으로 남겼다. 월 사이 의존과 보유 중첩을 완벽히 보존하는 검정은 아니다.

모델

주규칙은 가격 예측 모델이 아니라 사전에 정한 문턱 규칙이다. 비교용 H694에서만 발견 구간 괴리 X에 2상태 마르코프 전환 AR(1)을 적합했다. 두 상태는 각각 자기회귀 계수와 절편 및 잡음 분산을 가지며, 상태가 바뀌는 확률도 학습한다. AR 계수가 더 작은 상태를 상대적으로 되돌림이 강한 상태로 이름 붙였다. 두 계수가 모두 1보다 작다고 해서 그 상태에서 선물 거래가 이익이라는 뜻은 아니다.

2상태 필터의 학습 설정과 실제 계수. 전체 전이확률과 분산은 아래 적합 객체 구조도에 표시한다.
설정고정한 값실현값
학습 / 확인2022~2023 / 2024~2026-10확인에서는 계수 고정
상태 수 / 차수2 / 1상품마다 별도 적합
상태별 변동절편, AR, 분산 전환두 상품 모두 최적화 수렴
초기 탐색 / 시드20회 / NumPy seed 219평활 대신 filter만 호출
최적화BFGS, maxiter 100statsmodels 0.15.0 기본값
초기화 반복em_iter 5, search_iter 5search_scale 1.0, rng None
모형 부가 설정trend c, switching_trend True외생변수 없음, cov_type approx
청산 조건작은 AR 상태 확률 < 0.5등록 최대 보유 및 만기 회피 유지
3선 AR 계수자료에서 추정0.8362, 0.8702
10선 AR 계수자료에서 추정0.3685, 0.4226

확인 구간의 상태는 발견 구간에서 학습한 파라미터로 순서대로 갱신했다. 현재 관측까지 반영한 확률을 쓰므로 당일 15:30 청산 판단에 미래 값이 들어가지 않는다. 적합 객체를 저장하고 그 객체를 읽어 전체 필터 확률을 다시 만든 뒤 저장된 값과 대조했다. 3선 921개와 10선 923개 확률에서 차이는 1e-10보다 작았다. 아래 구조도는 이 확인을 통과한 실제 객체의 계수로 그렸으며 별도의 손그림 모형이 아니다.

3선 학습된 필터 구조 입력 3선 괴리 X (%) 학습 397 유효일 과거 정보 직전 유효일 X 이전 상태 확률 현재 관측까지 반영 2상태 마르코프 전환 AR(1) 1. 상태 예측 이전 확률과 전이행렬로 다음 상태 계산 2. 관측 반영 현재 X의 상태별 정규 우도로 갱신 3. 청산 신호 AR이 작은 상태 0의 확률 < 0.5 출력 되돌림 확률 0.5 미만 청산 세팅과 학습 결과 상태 수 / 차수 2 / 1 수렴 True 학습 기간 2022~2023년 396개 전이 관측 초기 탐색 반복 20회 시드 219 AR[0] / AR[1] 0.8362 / 0.8702 작은 계수 상태가 되돌림 분산[0] / 분산[1] 0.01436 / 0.12307 단위 %p 제곱 p00 / p10 0.9062 / 0.0901 행 합은 1 절편[0] / 절편[1] 0.2314 / -0.0769 상태별 절편 상태별 절편, AR 계수, 분산과 전이확률을 발견 구간에서 고정 확인 구간에는 filter만 호출한다. smoothed 확률은 사용하지 않는다.
3선 적합 객체의 실제 계수와 전이확률. 저장된 확률 921개를 허용오차 1e-10 이내로 재현한 뒤 그렸다.
10선 학습된 필터 구조 입력 10선 괴리 X (%) 학습 398 유효일 과거 정보 직전 유효일 X 이전 상태 확률 현재 관측까지 반영 2상태 마르코프 전환 AR(1) 1. 상태 예측 이전 확률과 전이행렬로 다음 상태 계산 2. 관측 반영 현재 X의 상태별 정규 우도로 갱신 3. 청산 신호 AR이 작은 상태 0의 확률 < 0.5 출력 되돌림 확률 0.5 미만 청산 세팅과 학습 결과 상태 수 / 차수 2 / 1 수렴 True 학습 기간 2022~2023년 397개 전이 관측 초기 탐색 반복 20회 시드 219 AR[0] / AR[1] 0.3685 / 0.4226 작은 계수 상태가 되돌림 분산[0] / 분산[1] 0.15896 / 1.44268 단위 %p 제곱 p00 / p10 0.9396 / 0.0862 행 합은 1 절편[0] / 절편[1] 0.3175 / 0.4284 상태별 절편 상태별 절편, AR 계수, 분산과 전이확률을 발견 구간에서 고정 확인 구간에는 filter만 호출한다. smoothed 확률은 사용하지 않는다.
10선 적합 객체의 실제 계수와 전이확률. 저장된 확률 923개를 허용오차 1e-10 이내로 재현한 뒤 그렸다.
두 상품의 시점별 실시간 필터 확률
발견 구간 파라미터를 고정한 상태 확률. 점선은 확인 구간 시작, 가로선은 청산 문턱 0.5다. 현재까지의 관측만 사용했다.

이 비교를 비용 최적정지의 완성판으로 부르면 과장이다. 실제로 푼 것은 등록된 상태 확률 문턱 청산이며, 미래 수렴의 가치와 현재 거래비용을 비교하는 동적계획은 풀지 않았다. 또한 상태는 거래일이 아니라 유효 관측일마다 전이하므로 긴 휴장과 결측 사이에서 같은 한 번의 전이로 처리되는 한계가 있다. 결과는 탐색으로만 쓰며 확증 가설을 지지하는 대체 근거로 삼지 않는다.

결과

확증 주결과. 합산 단위는 건당 3선 틱 상당이며 헤지 다리는 현물 1bp 비용을 포함한다.
가설건수 / 연빈도건당 net190% 구간한쪽 p / Holmnet2
H690 선물 단독151 / 53.4-2.10[-5.84, +1.65]0.817 / 1.000-2.76
H691 헤지 근사151 / 53.4-3.80[-4.09, -3.50]1.000 / 1.000-4.46

선물 단독은 확인 151건 중 비용 뒤 이익이 난 비율이 52.3%였다. 승률이 절반보다 높지만 평균은 -2.10틱 상당으로 음수다. 이기는 거래가 조금 더 많아도 지는 거래의 평균 크기가 더 크면 이런 결과가 나온다. 90% 구간 [-5.84, +1.65]는 0을 포함하고 한쪽 p는 0.817다. 확인 자료가 양의 평균을 뒷받침한다고 읽을 수 없다. 비용 2틱으로 늘리면 평균은 -2.76틱 상당으로 더 내려간다.

현물 헤지 근사는 건당 표준편차를 22.50에서 2.30로 줄여 표준편차 비 0.102를 만들었다. 그러나 평균은 -3.80틱 상당이고 90% 구간 전체가 음수다. 표준편차 관문 하나만 통과한 것을 가설 지지라고 부르면 안 된다. H691은 이익과 위험 감소를 동시에 요구했다. 같은 마감 시각으로 선물 단독을 맞춘 비교에서도 표준편차 비가 0.114여서 위험 감소 자체는 타이밍 차이만으로 설명되지 않는다.

발견 구간과 확인 구간의 누적 손익 비교
발견 구간부터 순서대로 합친 비용 후 누적 손익. 확인 구간 경계 이후에도 선물 단독과 현물 헤지 근사 모두 손실이다. 자본 수익률을 뜻하지 않는다.
상품별 손익은 각 상품 자체 틱이다. 이 표의 두 평균을 그대로 더하지 않는다.
상품확인 건수자체 틱 net1자체 틱 p헤지 자체 틱 net1
3선75-4.280.953-4.13
10선76+0.390.471-10.40

3선은 확인 75건에서 자체 틱으로 -4.28이고 10선은 76건에서 +0.39다. 10선의 작은 양수는 p 0.471로 불확실하고, 비용 2틱을 적용하면 자체 틱 평균도 음수가 된다. 두 시장을 합친다고 독립된 이익 기회가 생긴 것은 아니었다. 10선은 같은 금리 변화에 더 크게 움직이므로 합산에서는 그 계약 비중을 줄여야 하고, 그 결과 3선 손실을 메우는 기여도 작아진다.

두 선물의 연도별 자체 틱 평균과 거래 건수
상품별 연도 평균은 각자 틱 단위다. 회색은 발견, 파랑은 확인이다. 2026년은 10월까지여서 완전한 한 해가 아니다.

연도별로 보면 3선은 발견과 확인의 다섯 연도 모두 평균이 음수다. 10선은 2023년과 2024년이 양수지만 2025년과 2026년에는 다시 음수다. 이런 불균형은 일정한 수렴 이익을 여러 해 반복해서 얻었다는 설명과 맞지 않는다. 반대로 특정 연도가 나쁘므로 그 연도를 빼면 된다는 결론도 성립하지 않는다. 연도는 미리 알 수 있는 진입 신호가 아니며, 이 보고서는 유리한 연도만 고른 성과를 확인 성과로 제시하지 않는다.

기준선과 귀무. 마지막 행은 확인 손익이 아니라 발견에서 선택을 반복했을 때 최고값의 분포다.
비교확인 건수건당 net1한쪽 또는 귀무 p
매 기회 하루 보유398-0.940.934
같은 주규칙 진입만 하루 보유151-0.110.540
같은 진입과 청산에 항상 매수151-2.70기술 통계
같은 건수 무작위 날짜와 방향151-0.650.791
발견 4칸 재선택 귀무1000+3.020.791

하루 보유 기준선이 주규칙보다 덜 나쁘다고 해서 둘의 차이를 그대로 장기 보유의 인과 효과로 볼 수는 없다. 하루 보유는 더 자주 재진입하여 398건을 만들기 때문이다. 그래서 주규칙과 같은 진입 151건에 대해서도 하루만 보유해 보았고 평균은 -0.11틱 상당이었다. 이것도 유의한 양수가 아니지만, 오래 보유하면서 수렴 이익이 쌓이기보다 방향 위험이 커졌다는 해석과는 일치한다.

발견에서 고른 네 조합의 최고 평균도 -2.06틱 상당이었다. 순환이동을 1,000번 하며 네 조합을 다시 선택하면 귀무 최고값 평균은 +3.02틱 상당까지 올라간다. 단순히 후보 중 가장 좋은 설정을 찾는 것 자체가 양의 숫자를 만들 수 있다는 뜻이다. 관측이 귀무를 넘는 p 0.791는 이번 발견 최고가 유난한 값이 아님을 보여 준다. 음수 중 최선을 고른 설정을 발견된 우위라고 부를 수 없다.

선택 편향 귀무와 무작위 진입 귀무 분포
왼쪽은 발견 네 조합의 선택을 반복한 1,000회 귀무, 오른쪽은 상품별 같은 건수로 만든 2,000회 무작위 귀무다. 빨간 선이 관측 평균이다.

강건성 격자는 결과를 본 뒤 유리한 조합을 찾아 결론을 바꾸는 용도가 아니다. 창 길이 세 개, 문턱 세 개와 최대 보유일 다섯 개의 45개 조합을 미리 정해 민감한 축을 확인했다. 아래 세 그림은 같은 비용과 같은 색 범위를 사용한다. 가장 좋은 확인 칸은 W=60, k=2, H=1에서 +0.80틱 상당이지만 p는 약 0.264다. 확인에서 최고인 이 칸을 새 규칙으로 고르면 선택 편향을 다시 만든다.

40일 창의 문턱과 최대 보유일 강건성 격자
과거 40유효일 표준화, 선물 비용 1틱, 청산 문턱 0.5의 확인 평균. 모든 셀은 3선 틱 상당이며 확인 최고는 재선택하지 않는다.
60일 창의 문턱과 최대 보유일 강건성 격자
과거 60유효일 표준화, 선물 비용 1틱, 청산 문턱 0.5의 확인 평균. 모든 셀은 3선 틱 상당이며 확인 최고는 재선택하지 않는다.
120일 창의 문턱과 최대 보유일 강건성 격자
과거 120유효일 표준화, 선물 비용 1틱, 청산 문턱 0.5의 확인 평균. 모든 셀은 3선 틱 상당이며 확인 최고는 재선택하지 않는다.

선택된 주규칙의 비용을 0틱, 0.5틱, 1틱, 2틱으로 바꾸면 평균은 차례로 -1.43, -1.77, -2.10, -2.76틱 상당이다. 합산에서 비용 1틱이 평균을 정확히 1틱 내리지 않는 것은 10선에 1보다 작은 비중을 곱하기 때문이다. 비용 전부터 음수이므로 스프레드를 조금 줄인다고 평균이 0 위로 올라가지는 않는다. 현물 헤지 비용은 그보다 더 직접적으로 크기를 지배한다.

선물 비용별 단독과 헤지 다리의 손익 민감도
가로축은 각 상품 선물의 왕복 비용이다. 현물 헤지 다리는 현물 왕복 1bp를 유지한다. 합산 비중 때문에 기울기는 −1과 다르다.
실행 가격 민감도. 지연 또는 지정가 체결 여부에 따라 이후 재진입 기회도 달라진다.
진입 방식확인 건수건당 net1한쪽 p
시가 단일가151-2.100.817
첫 1분 봉 종가150-2.180.825
개장 5분 봉 종가150-2.280.837
한 틱 유리한 지정가122-4.110.952

개장 1분과 5분으로 늦춘 진입은 각각 -2.18와 -2.28틱 상당이었다. 한 틱 더 좋은 가격에 기다린 지정가 모의는 122건에서 -4.11틱 상당으로 더 나빴다. 주문 가격이 유리해져도 체결된 날의 구성이 불리해질 수 있다. 단, 지정가 건수를 151로 나눈 비율은 같은 주문 집합의 체결 확률이 아니다. 미체결 뒤 다음 신호에 다시 주문할 수 있어 두 집합이 달라지기 때문이다.

원래 주규칙의 주문 151개를 고정한 별도 모의에서는 분봉을 확인할 수 있는 주문이 150개였고, 그중 101개가 한 틱 유리한 지정가를 엄격히 넘어섰다. 관측 가능한 주문의 체결 대용확률은 67.3%였다. 체결된 주문만의 평균은 -5.85틱 상당, 미체결과 자료가 없는 주문을 0으로 둔 주문 기회당 평균은 -3.91틱 상당이다. 실제 큐 순서를 모르므로 이것은 관측 봉의 통과율이지 실거래 체결 확률 추정치가 아니다.

시가와 지연 및 지정가 진입의 손익 비교
지정가는 첫 30분 봉 종가가 주문가를 엄격히 넘어간 경우만 체결했다. 큐 순서와 실제 주문 잔량을 모르는 모의이며 확증을 대체하지 않는다.

미수렴을 기다리는 비용을 보면 실패가 더 분명하다. 확인에서 |z|가 0.5 아래로 내려와 정상화 청산한 65건은 +3.67틱 상당이었다. 그러나 최대 5일까지 도달한 86건은 -6.46틱 상당이었다. 정상화 성공에서 얻는 평균 이익보다 실패에서 잃는 크기가 더 크고 실패 횟수도 더 많았다. 정상화 여부는 거래 뒤에 결정되므로 성공한 사건만 미리 고를 수 있는 특징이라고 취급하면 미래 정보가 된다.

정상화 청산과 최대 보유 도달의 손익 분해
청산 사유별 확인 손익. 정상화 성공 여부는 사후 정보이므로 정상화 거래만 골라 진입하는 변형을 만들 수 없다.
사전등록한 탐색 정의 비교. 비용과 발견 선택 파라미터는 같고 확증 판정에는 사용하지 않는다.
탐색 정의확인 건수건당 net1한쪽 p
H692 장중 틱 괴리145-1.740.815
H693 KOFR146-1.150.721
H694 필터 청산239-1.480.905
H695 마감 내재 레포143-2.280.844

콜을 KOFR로 바꾸면 평균은 -1.15틱 상당이고, 장중 틱 괴리는 -1.74틱 상당이다. 내재 레포 정의가 틱 정의보다 좋은지 직접 비교한 건당 차이는 -0.36틱 상당, 공통 월 재표집 p는 0.587였다. 금리 기준으로 다시 표현한 것이 이 표본에서 순이익을 추가했다고 볼 증거는 없다. 마감 값을 다음 날에 쓴 정의도 같은 방향의 실패였다.

2상태 필터는 평균 보유를 3.79일에서 2.29일로 줄여 거래 수를 239건으로 늘렸지만 평균은 -1.48틱 상당으로 남았다. 위험 상태를 나누는 모델이 통계적으로 적합되었다는 사실과 경제적인 이익을 내는 청산법을 찾았다는 사실은 다르다. 청산을 빨리 하여 손실 크기는 줄여도 미래 수렴 이익이 비용보다 크다는 결론은 얻지 못했다.

계산기 차이의 헤지 근사를 실제 현물 수량 고정 장부와 비교한 탐색에서는 비용 뒤 -3.80틱 상당, 비용 전 -0.03틱 상당이었다. 현물 종목마다 진입 민평으로 듀레이션을 구해 수량을 고정하고, 청산 민평 가격 변화와 보유 중 이표 및 일별 콜 조달을 더했다. 대차는 선물 매수에 대응하는 현물 매도에만 부과했다. 주검정과 비슷한 결과여서 계산기 근사의 작은 차이가 큰 양의 수익을 숨겼다고 볼 근거는 약하다.

등록 헤지 근사와 현물 수량 고정 복제 비교
고정 수량 복제는 결과를 확인한 뒤 만든 탐색이다. 동일 151건을 대상으로 선물 비용 1틱과 현물 1bp를 적용했다.

휴장 전 청산과 변동성 손절을 붙인 탐색에서는 선물 비용 2틱 뒤 -3.57틱 상당이었다. 4일 이상 휴장 전 청산은 13건, 장중 손절 21건, 시가가 이미 손절선을 넘은 거래는 5건이었다. 갭을 손절선 가격으로 유리하게 처리하지 않고 시가로 받아들였다. 이 가드는 원래 진입만 유지하고 청산을 앞당긴 비교이므로 완성된 새로운 전략 검정은 아니지만, 보유 위험을 넣으면 오히려 더 좋은 결론이 나올 것이라는 기대는 지지하지 않았다.

해석

이번 실패의 핵심은 거래 횟수가 아니라 수렴 신호와 거래 손익의 연결이 약하다는 점이다. 상대가격 괴리가 줄어도 선물 단독 손익은 시장 금리의 방향 움직임에 크게 노출된다. 괴리 정상화가 선물 가격의 유리한 변화로 일어날 수도 있지만 현물 가격이 움직여 일어날 수도 있다. 선물만 잡는 다리는 그 둘을 분리하지 못한다. 반대로 현물을 헤지하면 방향 위험이 줄어드는 대신 남는 순수 괴리 이익이 너무 작아 비용을 내기 어렵다.

헤지 근사의 비용 전 평균은 -0.03틱 상당이다. 여기서 평균 현물 비용 3.10틱 상당과 비중 조정 선물 비용 약 0.66틱 상당을 빼면 최종 손실 크기가 거의 설명된다. 현물 비용을 1bp에서 낮추는 것만으로 충분하다고 단정할 수 없는 이유는 비용 전 평균 자체도 0 근처이기 때문이다. 비용 절감 효과와 원래 신호의 기대 이익을 같은 것으로 읽지 않아야 한다.

신호가 더 극단적이면 더 잘 될 것이라는 기대도 단순하지 않았다. |z|가 1.5~2인 거래 묶음에서는 양의 평균이 보이지만 2~3인 묶음에서는 더 큰 음수였다. 이런 사후 구간은 표본 수가 작고 경계가 여러 개이므로 유리한 한 구간만 진입 조건으로 선택하면 또 다른 탐색이 된다. 극단적 연율 괴리에는 만기 잔존과 현물 추정 오차가 함께 섞일 수 있어 큰 z를 곧바로 큰 거래 기회로 볼 수 없다.

외국인 수급과 금리 수준으로 나눈 기술 통계에서도 3선 손실은 한 조건에만 몰리지 않았다. 전일 기준 외국인 5일 수급 상하 절반 모두 평균이 음수였고 국고금리 수준의 상하 절반도 음수였다. 10선은 일부 층에서 양수였으나 방향이 안정적이지 않았다. 진입 전 미국 금리와 가중 손익의 상관도 상품별로 달랐다. 이 분석은 인과적인 요인 제거 검정이 아니라 실패가 특정 조건에만 갇혀 있는지 확인하는 탐색이며, 다중 비교 보정된 새 효과를 주장하지 않는다.

충격 신호일을 제외한 등록 비교는 -2.26틱 상당이었다. 보유일 전체가 충격 창과 겹친 거래까지 빼는 더 보수적인 진단도 -2.14틱 상당으로 음수다. 최악 다섯 거래를 제거해도 -0.23틱 상당이므로 몇 번의 유난한 충격만이 원인이라고 보기는 어렵다. 다만 극단값을 뺀 숫자는 실제 전략 성과가 아니며 손실 회피 능력을 뜻하지 않는다.

비용을 포함한 일별 손익은 미국 야간 되돌림과 상관 0.059, 금통위 전날 10선 규칙과 상관 0.030였다. 전자와 149일, 후자와 18회 보유가 겹쳤다. 손익 상관이 낮으면 좋은 분산 후보처럼 보일 수 있으나 평균이 음수인 상태에서는 그 자체로 전략을 더할 이유가 되지 않는다. 금통위 상관은 사건 목록이 있는 2026년 8월 27일까지로 제한했고 10월 회의는 포함하지 않았다. 기존 전략과 다른 행동을 한다는 것과 양의 기대 수익을 준다는 것은 별개다.

한계

첫째, 확인 구간의 정보가 완전히 새롭지 않다. 아이디어를 발굴할 때 이미 2024~2026년 장중 베이시스 연구 결과를 보았고, 이번 질문도 그 관찰에서 나왔다. 발견과 확인을 코드에서 나누었더라도 연구 방향을 고른 상위 단계의 선택 편향은 남는다. 발견 2년, 확인 약 34개월이라는 짧은 기간과 거래가 없는 달까지 고려하면 독립적인 정보량은 거래 건수 151보다 훨씬 작다. p가 크다는 사실은 가설의 보편적인 거짓을 증명하지 않지만 운용 근거가 부족하다는 결론에는 충분하다.

둘째, 현물 15:30은 체결 가능한 호가가 아니라 추정 상태다. 보고된 체결 시각과 실제 화면에 도착한 시각 사이의 지연은 복원하지 못했다. 10선에서는 바스켓 첫 종목의 직접 체결이 없는 잔존 15일 이상 계산기 행이 16일, 둘째 종목은 2일 있었다. 이런 날은 같은 만기대 공통 변화가 추정에 반영된다. 칼만 추정의 작은 금리 오차도 10선에서 여러 틱으로 커질 수 있다. 전일 민평은 마감 뒤 확정되므로 시점을 늦췄지만 평가 자료가 과거에 수정되었는지는 별도로 확인하지 못했다.

셋째, 현물 헤지 주검정은 마감 민평과 계산기 차이를 이용한 근사다. 진입 시각도 선물 단독의 익일 시가와 다르다. 고정 수량 복제로 그 근사를 점검했지만 민평으로 원하는 수량을 거래할 수 있다는 보장은 없다. 현물 공매도 물량, 대차 조건, 증거금, 세금과 주문 충격도 충분히 반영하지 못했다. 특히 10선의 실측 스프레드가 가정한 1틱이나 2틱보다 넓을 수 있다. 콜과 KOFR 역시 해당 바스켓을 실제로 조달할 수 있는 종목별 레포 금리를 대신한다.

넷째, 등록된 다일 보유 규칙에 긴 휴장 전 청산과 점프 손절이 빠져 있어 추가 위험 가드로 점검했다. 이 비교는 결과를 확인한 뒤 수행한 탐색이며, 원래 진입만 유지하여 조기 청산 뒤 추가 거래를 생성하지 않았다. 주검정의 충격 제외도 신호일 기준이어서 보유 중 충격 노출을 모두 제거하지 않는다. 그래서 보유일 전체의 충격 중첩을 별도로 계산했고 그 경우에도 손실이었다. 부정적인 결과라고 해서 보유 위험 점검이 불필요한 것은 아니다.

다섯째, 결과를 본 뒤 누락 거래일을 보존하는 달력 처리, 미국 금리 진단 열의 한국 세션 정렬과 누락 DV01 비중의 대체 처리를 고쳤다. 지정가 창은 개장 뒤 첫 30개 분봉으로 맞췄다. 앞선 계산은 별도 무효 런으로 보존했다. 신호 시점에 양쪽 DV01이 함께 없는 날은 당시까지 관측된 최근 비중만 이월한다. 전체 표본 중앙값을 쓰던 초안의 대체 처리를 고쳤으며 확인 한 건이 영향을 받았다. 이월 비중이 필요한 확인 한 건을 제외해도 150건 평균은 -1.94틱 상당이다. 선택 파라미터와 판정은 같고 가설, 비용과 격자는 고치지 않았다. 추가 복제, 위험 가드, 요인 층화와 비교 검정의 보강은 탐색이다. 일봉 원천이 없는 날의 실제 거래소 거래일 여부와 체결 보고의 실시간 도착 원장은 외부 원천으로 전수 대조하지 못했다. 이런 한계를 숨긴 채 확인 표본을 깨끗한 최종 검증으로 부르지 않는다.

다음에 해 볼 것

다음 설계는 이론가의 표준편차 문턱보다 체결 가능한 순수익의 크기에서 출발해야 한다. 첫 후보는 현물 종목별 매수 및 매도 호가와 선물 양방향 호가를 같은 시각에 잠가 두는 방식이다. 15:29에 관측된 호가만 사용하고 마지막 현물 관측 경과 시간 5분 이하, 현물 비용 0.25bp 이하 같은 실행 조건을 미리 정한다. 계산한 수렴 이익이 선물 2틱과 실제 조달 비용의 두 배를 넘을 때만 진입하도록 새로 등록하면 추정 오차와 매매 비용을 신호 크기와 직접 대조할 수 있다.

둘째 후보는 이번 격자에서 보인 하루 보유를 즉시 채택하는 대신 이후 자료를 별도로 봉인하는 것이다. W=60, k=2, H=1 한 조합을 먼저 고정하고 추가 확인 자료에서만 평가한다. 장중 현물 추정 오차와 신호 이후 선물 방향 움직임을 각각 분해하며 연 24회와 선물 2틱 뒤 양의 평균을 동시에 요구한다. 기존 확인 격자를 다시 찾아 얻은 최고 성과는 다음 실험의 확증 자료로 재사용하지 않는다. 조달 조정이 가격 괴리보다 무엇을 더 알려 주는지도 공통 진입 집합에서 비교해야 한다.

산출물

정본은 results/20261106T001748_main/의 metrics.json과 거래표다. 추가 진단은 depth_metrics.json, 시간 및 회계 검산은 validation.json에 남겼다. 표준화 이전 일별 입력 스냅샷은 panel_full.parquet, 격자와 실행 비교는 grid.csv 및 execution.csv다. 아래 명령은 이 실험 폴더에서 실행한다. 결과 계산은 새 타임스탬프 폴더를 만들며 그림과 문서는 최신 정본을 읽는다.

uv run --with statsmodels==0.15.0 python code/s1.py
uv run --with statsmodels==0.15.0 python code/depth.py
uv run --with statsmodels==0.15.0 python code/validate_results.py
uv run --with statsmodels==0.15.0 python code/render_model.py
uv run --with statsmodels==0.15.0 python code/render_figures.py
uv run python code/write_report.py

주 실행은 원천 자료가 접근 가능한 같은 저장소 환경에서 재현한다. 페이지 자체는 외부 요청 없이 열리지만 입력 자료 전체를 페이지에 포함하지는 않는다. 저장된 입력 스냅샷으로 거래와 시점 검산을 다시 할 수 있고, 그림은 정본 거래표만 읽어 만든다. 현물 고정 수량 장부의 종목별 가격, 이표, 조달액과 수량은 복제 다리 표에 남겨 계산기 차이와 대조할 수 있게 했다.

Appendix

A. 데이터셋 실물

다음 행은 정본 패널에서 표준화 값이 처음 존재하는 3선 행 세 개를 그대로 가져왔다. 금리는 %이고 괴리는 %p다. 값은 소수 넷째 자리로 줄여 표시했다. 시계열에 첫 관측이 있다는 사실은 즉시 매매를 시작했다는 뜻이 아니다. 유효일의 최소 과거 관측 수를 채워야 하며 문턱을 넘지 않으면 거래하지 않는다. 원본 행 전체는 정본 입력 스냅샷에 남아 있다.

패널 실물 세 행. 소수 넷째 자리까지 표시했다.
일자상품월물내재 레포전일 콜괴리z
2022-02-173선165S30000.55871.1980-0.6393-0.2343
2022-02-183선165S3000-0.03721.2290-1.2662-2.0512
2022-02-213선165S3000-0.19001.2390-1.4290-2.3463

행의 식별자는 거래일, 상품과 월물 코드다. 내재 레포와 콜은 원시 선물 수익이 아니라 진입 신호를 만드는 입력이고 z는 과거 관측으로부터 계산한 출력 특징이다. 가격 필드 O와 C는 각각 그 날의 시가와 종가이며 진입 및 청산 회계에만 사용한다. 미래 수익을 표준화 입력에 넣지 않았고, 검산에서는 미래 X를 매우 큰 값으로 바꾸어도 그 이전 모든 z가 변하지 않는 것을 확인했다.

B. 모델 입출력 실물

아래는 확인 구간의 첫 실제 규칙 거래다. 입력 신호일, 방향과 z가 주문을 정하고 다음 영업일 시가 진입 뒤 청산 조건이 순서대로 적용된다. 학습 예측값이 필요한 규칙은 아니므로 실제 거래 레코드를 입력과 출력의 예로 싣는다. 별도의 2상태 모형 입력과 출력은 다음 표에 표시한다. 확률은 적합 객체로 재현한 필터 값이며 미래 평활 값이 아니다.

{
  "day": "2024-01-02",
  "tenor": "10선",
  "code": "167V3000",
  "z": -1.5114502507691676,
  "D": 1,
  "entry": "2024-01-03",
  "exit": "2024-01-03",
  "hold": 1,
  "reason": "z",
  "gross": -18.000000000000682,
  "w": 0.3393762503709943,
  "wnet": -6.448148757049123
}
확인 구간 첫 관측의 2상태 모형 실제 입출력. 포지션이 있을 때만 청산 행동이 실행된다.
상품유효일입력 X출력 필터 확률확률에 따른 행동
3선2024-01-02-0.028050.000000청산
10선2024-01-02-0.779780.083602청산

C. 실험 설정

주규칙과 비교의 전체 설정. 발견 선택과 확인 격자를 구분한다.
항목설정
발견 / 확인2022-01~2023-12 / 2024-01~2026-10
발견 선택k 1, 1.5 × H 5, 10
표준화60유효일, 최소 30개, 현재일 제외
유효 잔존달력 15일 이상, 만기일 제외
강제 청산만기 2영업일 전 종가
기본 정상화|z| < 0.5
강건성W 40,60,120 / k 1,1.5,2 / H 1,3,5,10,20
청산 변형|z| < 0, 0.5, 1
비용선물 0.5,1,2틱 / 현물 왕복 1bp
재표집월 5,000회 / 선택 귀무 1,000회 / 무작위 2,000회
난수 시드219
확증 / 탐색H690,H691 / H692~H695와 추가 보강
실행 버전python 3.13.14, numpy 2.5.2, pandas 3.0.5, statsmodels 0.15.0, matplotlib 3.11.1, scipy 1.18.0

아이디어 출처는 Adam Copeland와 Owen Engbretson의 뉴욕 연은 Staff Report 1189, Repo and the Liquidity Risk Premium, 2026년 3월이다. 원문은 딜러의 단기 조달 중개 비용에 유동성 보유 비용이 들어가고 그 비용이 통화정책과 준비금에 영향을 받는다는 설명을 제공한다. 본 실험의 한국 국채선물 신호와 거래 비용 수치는 그 논문의 추정치를 옮긴 것이 아니라 이 보고서의 국내 자료에서 계산한 값이다. 참고 문헌의 경험적 결론이 이번 거래 규칙의 채택 근거를 대신하지 않는다.