3년 국채선물 · 되돌림 카드 사이징 · 2013 ~ 2026-10 · 두 체제 마르코프 전환 모형, 같은 날짜 일별 손익 비교

미국 금리와 주식의 상관 체제로 3년 국채선물 되돌림 카드 크기를 나누면 나아지는가

미국 10년 금리 변화와 나스닥 변화의 60일 상관을 두 체제 마르코프 전환 모형으로 나누고, 발견 구간에서 카드가 잘 된 체제일 때 1.5배, 아닐 때 0.5배를 실었다.

폐기 · 확인 −0.012틱/일, p 0.552 확인 구간 82% 가 «좋은 체제» 발견 +0.329, p 0.078

세 줄 요약

  1. 모형은 상관이 음(평균 −0.10)인 체제 0과 양(평균 +0.38)인 체제 1을 찾았다. 발견 구간 카드는 체제 0 에서 계약당 +2.58틱, 체제 1 에서 +0.56틱이라 체제 0 을 «좋은 체제» 로 잠갔다.
  2. 같은 총 계약의 일별 손익 차이는 발견 +0.329(p 0.078), 확인 −0.012(p 0.552) 다. 확인 구간에서는 날의 82% 가 체제 0 이라 사실상 모든 날에 1.5배를 실었고, 체제 0 카드 손익(+0.63)이 오히려 체제 1(+0.84)보다 작았다.
  3. 금리와 주식의 상관 체제는 카드 손익을 가르지 못한다. 판정은 폐기다.

가설과 결론

미국 금리와 주가의 하루 변화는 시기에 따라 같이 움직이기도 하고 반대로 움직이기도 한다. 성장 기대가 시장을 이끌 때는 금리와 주가가 함께 오르고(양의 상관), 물가와 긴축이 시장을 이끌 때는 금리가 오르면 주가가 내린다(음의 상관). 데스크 카드(미국 금리 밤사이 충격을 다음 날 3선에서 되돌리는 규칙)가 어느 쪽 체제에서 더 잘 되는지 안다면, 체제에 따라 크기를 나눌 수 있다. 체제는 직접 보이지 않으므로 마르코프 전환 모형(은닉 마르코프 모형의 한 종류)으로 추정한다.

가설
H306. 확인 구간(2023-01 ~ 2026-10) 카드 날 일별 손익 차이(체제 사이징 − 카드 + R1, 같은 총 계약, 비용 1틱)의 평균 > 0, 월 블록 부트스트랩 한쪽 p < 0.05.
결론
확인 구간 평균 −0.012틱/일, 90% 구간 −0.189 ~ +0.156, 한쪽 p 0.552. 2차와 3차 묶음 주가설 63개 Holm 보정 p 1.00. 판정은 폐기다.
주가설
가설내용결과(확인)한쪽 p판정
H306상관 체제 0 확률 > 0.5 면 R1 × 1.5, 아니면 × 0.5. R1 대비 일별 손익 차이 > 0−0.012틱/일(419일)0.552폐기

발견 구간에서도 p 0.078 로 문턱 밖이었고, 그 이득은 2022 년 한 해(+328틱)에 몰렸다. 체제를 나누는 기준이 카드의 성패와 무관하다는 쪽이 결과에 맞는 설명이다.

용어와 기호

3선, 틱
한국거래소 3년 국채선물. 1틱은 가격 0.01, 계약당 1만원
bp
금리 0.01%p
g_us, g_nq
미국 10년 금리 하루 변화(bp)와 나스닥100 선물 하루 로그 변화(%). 둘 다 뉴욕 날짜 s 종가
cs
행 s 까지 직전 60행(최소 50) g_us 와 g_nq 의 상관. 양이면 금리와 주가가 같이 움직이는 시기
마르코프 전환 모형
관측값(c)이 보이지 않는 체제 몇 개 중 하나에서 나오고, 체제는 전날 체제에 따라 정해진 확률로 바뀐다고 보는 모형. 체제마다 평균과 분산이 다르다
p[i→j]
오늘 체제 i 일 때 내일 체제 j 일 확률(전이 확률)
필터 확률
그날까지의 관측만으로 계산한 «지금 체제 k 일 확률». 미래 관측을 쓰지 않는다(쓰는 것은 평활 확률)
좋은 체제
발견 구간에서 확률 > 0.5 인 카드 날의 계약당 손익이 더 큰 체제. 여기서는 체제 0
카드
|g_us| ≥ 3bp, 다음 세션이 바로 다음 달력일, 만기 교체 날 아님. 방향 sign(g_us)(미국 금리 상승이면 3선 매수), 시가 진입 종가 청산
ε, R1
ε 는 원화 고유 충격, R1 은 sign(ε) 가 sign(g_us) 와 엇갈리면 1계약, 같으면 0.5계약. 기준선이다
같은 총 계약, k
구간마다 Σ 새 계약이 Σ R1 과 같도록 새 손익에 k 를 곱한다(발견 1.040, 확인 0.752)
일별 손익 차이 d
카드 날마다 새 계약 × (손익 − 1틱) × k − R1 × (손익 − 1틱)
발견, 확인 구간
발견 2013-01 ~ 2022-12(모형 적합, 좋은 체제 선택), 확인 2023-01 ~ 2026-10(계수 고정, 판정)
월 블록 부트스트랩, 한쪽 p
d 를 달 단위로 묶어 복원 추출 5,000번으로 평균의 분포를 만들고 효과 0 일 때 지금 평균 이상이 나올 확률을 센다
Holm 보정
여러 가설을 함께 시험할 때 p 를 가설 수에 맞춰 키우는 방법. 2차와 3차 묶음 주가설 63개

자료

쓴 자료
자료원천기간해상도쓰임
미국 10년 금리 g_usFRED DGS102012 ~ 2026-10일, 뉴욕 날짜카드, 상관 c
나스닥100 선물 g_nq인포맥스 단말2015-01 ~ 2026-10일, 뉴욕 날짜상관 c
3선 시가, 종가(기준가 사슬), 만기 교체 표시인포맥스 단말 일봉2013 ~ 2026-10일카드 손익
원화 고유 충격 ε인포맥스 단말 NDF, 달러인덱스2013 ~ 2026-10일R1
표본
항목발견 2013 ~ 2022확인 2023 ~ 2026-10
상관 c 가 있는 날(모형 적합 표본)1,918(2015-03-19 부터)상관 있는 모든 날(계수 고정)
카드 날907419
그중 체제 확률이 없어 배수 1 인 날183(2013 ~ 2015-03)0
모든 날 중 체제 0 확률 > 0.5 비율43%82%

나스닥 자료가 2015-01 부터라 60일 상관은 2015-03-19 부터 나온다. 시점은 이렇다. cs 는 뉴욕 날짜 s 종가까지의 자료로 계산되어 한국 세션 e 개장 전에 알려지고, 필터 확률도 행 s 까지만 쓴다.

방법

  1. 상관 만들기. cs = 직전 60행 g_us 와 g_nq 의 상관.
  2. 모형 적합. 발견 구간 c 에 두 체제 마르코프 전환 모형(체제별 평균과 분산)을 최대우도로 적합하고 계수를 잠근다.
  3. 필터 확률. 잠근 계수로 전 기간 필터 확률을 계산한다(그날까지의 관측만 씀).
  4. 좋은 체제 고르기. 발견 구간 카드 날 중 확률 > 0.5 인 날의 계약당 손익(비용 1틱 뒤)이 큰 체제를 좋은 체제로 잠근다.
  5. 계약 배분. 좋은 체제 확률 > 0.5 면 R1 × 1.5, 아니면 R1 × 0.5, 확률이 없으면 R1.
  6. 비교. 구간마다 총 계약을 R1 과 같게 맞추고 일별 손익 차이 d 의 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p 를 낸다.
  7. 판정에 쓰지 않는 탐색. E1 체제별 카드 손익.

모델

설정

모형이 배우는 것은 여섯 값이다. 두 체제의 평균과 분산, 그리고 체제가 유지될 확률 둘. 학습된 모형은 매일 «지금 어느 체제일 확률» 을 내고, 사이징은 그 확률이 0.5 를 넘는지만 본다.

하이퍼파라미터 전부(프로토콜에 고정)
항목값
모형statsmodels MarkovRegression, k_regimes = 2, 상수항만(평균 전환), switching_variance = True
적합최대우도(statsmodels 기본 EM 뒤 준뉴턴), 발견 구간 1,918일, 한 번
관측값cs, 60행 상관(최소 50)
확인 구간계수 고정, 필터 확률만 계산
사이징좋은 체제 확률 > 0.5 → ×1.5, 아니면 ×0.5(R1 에 곱함), 구간별 총 계약 맞춤
비용왕복 1틱

학습된 두 체제

학습된 계수(괄호는 표준오차)
값체제 0체제 1
평균 상관−0.096 (0.008)+0.375 (0.005)
분산(표준편차)0.0342 (0.185)0.0141 (0.119)
머무를 확률p[0→0] = 0.9913p[1→1] = 1 − 0.0066 = 0.9934
평균 지속 기간115일150일
발견 카드 날(확률 > 0.5)335일, +2.58틱389일, +0.56틱

로그 우도는 940.4 다. 두 체제는 «금리와 주가가 함께 오르내리는 시기(체제 1, 2015 ~ 2020 년의 대부분)» 와 «금리가 오르면 주가가 내리는 시기(체제 0, 2021 년 이후의 대부분)» 로 깔끔하게 갈린다.

60일 상관과 두 체제, 필터 확률
학습된 모형 그대로 그렸다(같은 데이터로 다시 적합한 계수가 확증 런 계수와 소수 여섯째 자리까지 같은 것을 assert 로 확인했다). 위: 60일 상관 c 와 두 체제의 평균(점선), 평균 ± 표준편차(띠). 아래: 체제 0 필터 확률. 2021 년 이후는 거의 내내 체제 0 이고, 확인 구간(세로 점선 오른쪽)에서 체제 1 로 넘어간 기간은 짧다.

결과

확증 결과

주가설 H306(비용 1틱, 같은 총 계약)
항목발견 2013 ~ 2022확인 2023 ~ 2026-10
카드 날907419
R1 하루 손익(틱)1.4910.789
체제 사이징 하루 손익(틱, 총 계약 맞춤 뒤)1.8200.776
차이(틱/일)+0.329, p 0.078−0.012, p 0.552
90% 구간−0.034 ~ +0.709−0.189 ~ +0.156
차이가 양인 해7/102/4
총 계약 맞춤 계수 k1.0400.752
Holm 보정 p(63개)1.00

확인 구간 k 가 0.752 라는 것은 새 규칙이 확인 구간 대부분의 날에 1.5배를 실어 총 계약이 33% 늘었고, 그것을 다시 줄였다는 뜻이다. 거의 모든 날이 같은 배수를 받으면 배분이 바뀌지 않고, 차이는 0 이 된다.

체제별 카드 손익과 연도별 차이

아래는 확증 런을 다시 만들어(모형 계수와 일별 차이를 assert 로 확인) 낸 기술 통계다. 체제별 손익은 사전등록 탐색 E1 과 같은 값이다.

체제별 카드 계약당 손익(틱, 비용 1틱 뒤)
체제발견 날 수발견 손익발견 평균 c확인 날 수확인 손익확인 평균 c
체제 0(×1.5)335+2.58−0.11345+0.63−0.16
체제 1(×0.5)389+0.56+0.3874+0.84+0.24
확률 없음(×1)1830
체제별 카드 손익, 누적 손익, 연도별 차이
왼쪽: 체제별 카드 계약당 손익. 발견 구간의 큰 차이(2.58 대 0.56)가 확인 구간에서 사라지고 순서가 뒤집혔다. 가운데: 카드 누적 손익(비용 1틱 뒤, 같은 총 계약). 빨강이 앞선 것은 2022 년에 생긴 차이이고 확인 구간에서는 두 선이 나란히 간다. 오른쪽: 연도별 일별 차이 합.
연도별(기술 통계)
연도카드 날체제 0 비율평균 c차이 합(틱)
201510722%+0.25−20.5
20169327%+0.26−11.2
20177855%+0.12+15.6
20186434%+0.22+8.5
2019860%+0.48−60.5
20208617%+0.35+4.5
20219795%−0.17+25.4
202213584%−0.08+327.9
202312687%−0.14+55.8
202410694%−0.03−21.1
202510551%+0.10−41.5
2026(10월까지)82100%−0.32+1.5

2013, 2014 년(161일)은 확률이 없어 배수 1 이었고 차이 합은 +8.6틱(총 계약 맞춤 효과)이다. 발견 구간 체제 0 의 높은 손익은 2021 ~ 2022 년, 특히 카드가 크게 번 2022 년이 만든 것이다. 체제 0 이 «좋은 체제» 가 아니라 «2022 년이 들어 있는 체제» 였던 셈이다.

해석

체제 모형은 상관을 잘 나눴다. 두 체제의 평균이 뚜렷이 다르고 오래 지속된다. 문제는 그 구분이 카드 손익과 관계가 없다는 점이다. 발견 구간의 차이는 2022 년 한 해가 체제 0 에 들어 있어서 생겼고, 2023 년 이후 체제 0 이 대부분인 시기에는 카드가 평범했다. 체제 사이징은 결국 «최근 몇 년이 2022 년과 닮았는가» 를 묻는 규칙이 되었고, 표본 밖에서는 아무것도 가르지 못했다.

한계

  • statsmodels 가 프로젝트 환경에 없어 uv run --with statsmodels 임시 환경에서 돌렸다.
  • 발견 구간의 필터 확률과 좋은 체제 선택은 같은 구간에 적합한 계수로 계산했다. 발견 구간 +0.329 는 표본 안 값이다.
  • 나스닥 자료가 2015-01 부터라 2013 ~ 2015-03 카드 날 183일은 배수 1 이었다.
  • 확인 구간에서 체제 1 인 카드 날이 74일뿐이라 체제별 손익 비교가 거칠다.
  • 사이징을 0.5 문턱의 두 값으로만 했다. 확률을 연속적으로 쓰는 방법은 사전등록 범위 밖이다.

산출물

  • 계획protocol.md(사전등록 88b2c97)
  • 분석, 판정analysis.md
  • 코드code/s1_hmm.py(확증), code/s_detail.py(기술 통계, 모형 계수 재현 assert), code/render_figures.py(그림)
  • 런results/20261029T160608_main/(확증), results/20261030T163152_detail/(corr_regime.csv, card_days.csv, metrics.json)
  • 공용 코드../0100_model_open_error_fade/code/libb2.py(카드 사이징 비교), ../0066_multi_asset_panel/code/lib66.py(카드, 부트스트랩)

Appendix

A. 데이터셋 실물

card_days.csv 의 실제 행(2026-09 ~ 10, 확인 구간). p_good 은 체제 0 필터 확률, base 와 new 는 비용 1틱 뒤 하루 손익(new 는 k = 0.752 를 곱한 값).

card_days.csv 일부
sg_uscp_goodgrossR1배수새 계약basenewd
2026-09-15+3−0.301.00+1411.51.50+13.0+14.66+1.66
2026-09-30+3−0.471.00+60.51.50.75+2.5+2.82+0.32
2026-10-01−5−0.461.00−70.51.50.75−4.0−4.51−0.51
2026-10-15−9−0.371.00−1511.51.50−16.0−18.04−2.04
2026-10-19+6−0.371.00+1911.51.50+18.0+20.29+2.29
2026-10-22−17−0.391.00+1711.51.50+16.0+18.04+2.04

모든 날이 같은 배수 1.5 를 받으므로 d 는 R1 손익의 약 12.8%(1.5 × 0.752 − 1)만큼 같은 방향으로 따라 움직일 뿐이다.

B. 모델 입출력 실물

Request meta
신호일 s = 2026-10-22, 발견 구간에서 잠근 계수(평균 −0.096 / +0.375, 분산 0.0342 / 0.0141, p[0→0] 0.9913, p[1→0] 0.0066)로 필터 확률 계산
Input
직전 60행 g_us 와 g_nq 상관 c = −0.393. 전날 체제 0 필터 확률 1.00. 카드: g_us −17bp → 3선 매도, R1 1계약
Model response
체제 0 필터 확률 1.00(c 가 체제 1 평균에서 6 표준편차 넘게 떨어져 있다). 좋은 체제이므로 배수 ×1.5, 새 계약 1.5
Ground truth check
3선 장중 −17틱, 매도 계약당 +17틱. R1 +16.0, 체제 사이징 +18.04(총 계약 맞춤 뒤), 차이 +2.04. 확인 구간 419일 평균 차이는 −0.012 다

C. 실험 설정

  • 카드, 기준선|g_us| ≥ 3bp, 다음 달력일 세션, 만기 교체 날 제외, R1 계약(엇갈림 1, 일치 0.5)
  • 관측값c = 직전 60행(최소 50) g_us 와 g_nq 상관
  • 모형MarkovRegression 두 체제, 평균과 분산 전환, 발견 구간 적합 뒤 고정, 필터 확률
  • 사이징좋은 체제(0) 확률 > 0.5 → ×1.5, 아니면 ×0.5, 확률 없으면 ×1, 구간별 총 계약 맞춤
  • 비용왕복 1틱
  • 분할발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10
  • 검정일별 손익 차이 월 블록 부트스트랩 5,000회, seed 66, 한쪽 p < 0.05, 63개 Holm