세 줄 요약
- 확인 구간 2022-01-03 ~ 2026-10-29(각 1,176세션)에서 블록 가법 보정(BAM)의 QLIKE 손실은 카드 예측기보다 10선 6.1%, 3선 13.7% 낮았다. 디볼드-마리아노 한쪽 p 는 10선 0.0003, 3선 0.0001 미만이고 특징을 원형 이동한 귀무 200회 가운데 실제보다 좋은 경우는 없었다(순열 p 0.005).
- 이득의 74 ~ 77% 가 확인 구간 금통위 39일에서 나왔다. 금통위 날 실제 고저폭은 카드 중심의 3선 2.0배, 10선 1.5배였다. 이벤트 블록을 빼면 BAM 은 카드와 같았고(비 1.000, 1.003), 미국 금리, 수급, 위험 심리 블록은 아무것도 더하지 않았다.
- 판정은 사전등록 규칙대로 채택이지만, 데스크로 옮길 것은 블록 모형이 아니라 카드 회귀에 금통위 날 표시 한 열을 더하는 일이다. 그 한 열이 BAM 이득의 92% 를 재현했고, 앞뒤 날로 옮긴 위약과 무작위 날짜 귀무 200회에서는 이득이 사라졌다(탐색, p 0.005).
가설과 결론
매일 아침 데스크 카드에는 그날 3선 고저폭의 예상 중심과 80% 대역이 찍힌다. 이 예측기는 직전 1일, 5일 평균, 20일 평균 고저폭의 로그와 전날 밤 미국 10년 금리 변화의 절댓값만 보는 로그 회귀이고, 최근 750세션으로 매일 다시 적합한다. 앞선 실험에서 이 예측기는 거친 변동성 모형과 국면 모형을 모두 이겼다. 다만 그 비교는 모형의 형태만 바꾸었고, 고저폭의 역사 밖에 있는 정보는 넣지 않았다.
이 실험은 영란은행 연구에서 쓰인 «경제 블록으로 제한한 머신러닝» 의 생각을 빌렸다. 변수를 경제적 의미가 같은 블록으로 묶고, 블록 안에서만 비선형을 허용하며, 블록 사이는 더하기만 한다. 그러면 무제약 머신러닝의 유연함을 일부 얻으면서도 각 블록이 예측에 얼마를 보탰는지 읽을 수 있다. 블록은 미국 금리, 이벤트 달력, 외국인 수급, 위험 심리 넷으로 미리 정해 사전등록에 잠갔다.
- 가설
- 확인 구간(2022-01-03 ~ 2026-10-29)에서 카드 위에 블록 보정을 얹은 BAM 의 평균 QLIKE 가 10선에서 카드보다 3% 이상 낮고(H1092, 디볼드-마리아노와 달 블록 부트스트랩 한쪽 p < 0.05, 선택 편향 순열 p < 0.05), 3선에서도 낮다(H1093, Holm p < 0.10). 블록 기여 순위는 해마다 켄달 τ 평균 0.5 넘게 안정적이다(H1094). 10선 BAM 의 90% 대역 적중률은 명목에 맞는다(H1095). 채택은 H1092 와 H1095 를 함께 통과할 때다.
- 결론
- H1092, H1093, H1095 는 통과했고 H1094 는 통과하지 못했다(10선 τ 0.40, 3선 0.53). 10선 QLIKE 비 0.939(p 0.0003, 순열 p 0.005), 3선 0.863(p 0.0001 미만), 10선 90% 대역 적중률 89.1%(Kupiec p 0.32). 그러나 이득은 거의 전부 금통위 날 표시 하나에서 왔고, 블록 구조와 블록 안 비선형은 기여하지 않았다.
| 가설 | 비교 | 값 | DM p | 부트 p | 순열 p | 통과 |
|---|---|---|---|---|---|---|
| H1092 10선 | QLIKE BAM 대 카드 | 0.2710 대 0.2886 (0.939) | 0.0003 | 0.0002 | 0.005 | 예 |
| H1093 3선 | QLIKE BAM 대 카드 | 0.3041 대 0.3523 (0.863) | <0.0001 | <0.0002 | 0.005 | 예 |
| H1094 | 블록 기여 순위 τ 평균 | 10선 0.40, 3선 0.53 | 아니오 | |||
| H1095 10선 | BAM 90% 대역 적중 | 89.1% (카드 90.1%) | Kupiec 0.32 | 예 |
카드 예측기의 가장 큰 빈틈은 금통위 날을 평소와 똑같이 예측한다는 점이었다. 블록 모형은 그 빈틈을 찾아냈을 뿐이고, 같은 일을 카드 회귀에 한 열을 더해 거의 그대로 할 수 있다.
용어와 기호
- 고저폭 yt
- 세션 t 근월 국채선물 일봉의 (고가 − 저가) × 100, 단위는 틱(0.01 포인트). 카드의 예측 대상과 같다.
- 카드 예측기(카드)
- log yt 를 l1, m5, m20, a 로 OLS 회귀하는 모형. 최근 750세션으로 매일 다시 적합한다. l1 은 직전 세션 고저폭의 로그, m5 와 m20 은 직전 5, 20세션 평균 고저폭의 로그다.
- at
- 세션 t 직전 한국 영업일 뉴욕 종가 기준 미국 10년 금리 하루 변화의 절댓값(bp, 20 상한)을 10 으로 나눈 값. 카드가 이미 쓰는 특징이다.
- 카드 잔차 rt
- log yt 에서 카드의 걷기 전진 로그 예측(적합값) ot 를 뺀 값. 블록 보정은 이 rt 를 맞힌다.
- 블록
- 경제적 의미가 같은 특징의 묶음. 이 실험의 블록은 US(미국 금리 7개), EVENT(이벤트 달력 5개), FLOW(외국인 수급 3개), RISK(위험 심리 9개)다.
- BAM
- Block Additive Model. rt = c + gUS + gEVENT + gFLOW + gRISK 로 두고 블록 항 gb 를 경첩 기저의 선형 결합으로 적합한 두 단계 보정이다. 이 실험의 확증 도전자다.
- 경첩 기저
- 표준화한 특징 z 에 대해 [z, max(z − q50, 0), max(z − q80, 0)] 세 열. q50, q80 은 학습 창에서의 50%, 80% 분위다. 블록 안에서 꺾인 직선 모양의 비선형을 허용한다.
- 그룹 라쏘
- 블록 하나를 한 그룹으로 보고 벌점 λ Σb √pb ‖βb‖ 를 주는 축소 회귀. 쓸모없는 블록의 계수를 통째로 0 으로 만든다. pb 는 블록 b 의 기저 열 수다.
- QLIKE
- 분산 예측의 손실. QLIKEt = yt² / ht − log(yt² / ht) − 1. 0 이 가장 좋고, 분산을 작게 예측한 날을 더 크게 벌한다. 비(도전자 ÷ 카드)가 1 보다 작으면 카드보다 낫다.
- ht
- yt² 의 기댓값 예측. exp(2μt) × 평균 exp(2e), μt 는 로그 예측, e 는 직전 750세션의 로그 잔차다(스미어링 보정).
- 디볼드-마리아노 검정(DM)
- 두 예측의 날별 손실 차 평균이 0 인지 보는 검정. 손실 차의 자기상관은 뉴이웨스트 지연 20 으로 보정했다. 한쪽 p 는 도전자가 낮다는 방향이다.
- 달 블록 부트스트랩
- 손실 차를 달 단위로 묶어 5,000회 복원 추출한 평균의 분포로 한쪽 p 를 낸다. 같은 달 안의 상관을 그대로 둔다.
- 원형 이동 귀무
- 외생 특징 행렬 전체를 250세션 넘게 무작위로 밀어 목표와의 시점 대응을 끊은 뒤, λ 선택과 해마다 재적합을 포함한 BAM 절차 전체를 다시 돌린 것. 200회의 QLIKE 비 분포가 선택 편향의 귀무다.
- Kupiec 검정
- 대역 적중률이 명목(80%, 90%)과 같은지 보는 우도비 검정. p 가 크면 명목과 구별되지 않는다.
- 켄달 τ
- 두 순위가 얼마나 같은지의 순위 상관. 블록 네 개의 기여 순위를 해마다 매겨 다섯 해의 열 쌍에서 평균했다.
- CARD_MPC
- 카드 회귀의 설명 변수에 금통위 당일이면 1 인 표시 한 열을 더한 모형. 결과를 본 뒤 만든 탐색 모형이다.
자료
데이터셋
목표는 카드와 같은 근월 일봉 고저폭이다. 기간은 2012-01-02 부터 2026-10-29 까지 3,639세션이고, 끝은 미국 일별 자료의 마지막 뉴욕 날짜(2026-10-28)에 맞췄다. 일봉 표에 없는 2026-09-14 하루는 메우지 않고 뺐다. 외생 특징은 뉴욕 날짜 종가(미국 10년, 2년 금리, MOVE, VIX, 하이일드 채권 ETF 와 중기 국채 ETF, 달러원 NDF)와 한국 날짜 자료(국채선물 외국인 순매수, VKOSPI), 그리고 달력(금통위, FOMC, 미국 고용, 선물 만기, 연휴)이다. 보조 목표로 연결 1분봉을 다섯 개씩 묶은 5분 실현 분산도 만들었다. 3선 1분 수익률은 절반 넘게 0 이라 1분 실현 분산은 잡음이 크기 때문이다.
| 항목 | 기간 | 행 | 해상도 | 결측과 처리 |
|---|---|---|---|---|
| 3선, 10선 근월 일봉 | 2012-01-02 ~ 2026-10-29 | 3,639 | 일 | 2026-09-14 없음(제외), 중복 0 |
| 5분 실현 분산 | 2012-01-02 ~ 2026-10-29 | 3,639 | 5분 → 일 | 분봉 없는 8세션은 y² × 직전 60세션 비율 |
| 미국 금리, MOVE, VIX, 신용 ETF | 2012-01 ~ 2026-10-28 | 뉴욕 영업일 | 일 | 휴일은 변화 0 |
| 외국인 순매수(월물별) | 2013-05-31 ~ 2026-10-29 | 3,240 + 53 | 일 | 만기일 비움, 2026-08-14 ~ 08-21 6세션 없음 |
| VKOSPI, 달러원 NDF | 2012-01 ~ 2026-10 | 영업일 | 일 | 직전 값 |
| 달력 표시 | 2012 ~ 2026 | FOMC 119, 고용 176, 금통위 140, 만기 59, 연휴 92 | 일 | 미리 알려진 날짜 |
블록 정의와 시각 정렬
모든 특징은 세션 t 의 한국 개장(08:45 또는 09:00) 전에 알려진 값이다. 뉴욕 날짜 자료는 세션 t 보다 엄격히 앞선 마지막 뉴욕 날짜의 종가를 쓴다. 이 종가는 한국 시각 새벽 6시 무렵 찍히므로 개장 전에 알 수 있다. 점검에서 모든 세션의 기준 뉴욕 날짜가 세션보다 하루에서 나흘 앞섰고 같은 날은 한 번도 없었다. 변화량은 직전 한국 세션의 같은 기준점 대비라 미국 휴일 뒤 세션은 변화가 0 이다. 수급과 VKOSPI 는 세션 t 보다 앞선 세션 값만 쓴다.
외국인 순매수 원표는 하루 순매수가 아니라 누적 수준이었다. 값이 만기마다 크게 표류하고, 하루 차분의 중앙 절댓값이 다른 날의 다섯 배인 날이 정확히 만기일이었다. 그래서 하루 순매수는 1차 차분으로 만들고 만기일 차분은 비웠다. 일별 원표가 2026-08-13 에서 끝나 그 뒤는 장중 수급 표의 하루 마지막 값으로 이었다. 두 원천의 크기(3선 하루 중앙 절댓값 5,311 대 6,887계약)는 같은 범위였다. 미국 금리 블록에서 카드가 이미 쓰는 10년 변화 절댓값은 뺐다. 블록 구성은 결과를 보기 전에 사전등록으로 잠갔다.
방법
걷기 전진 설정

카드는 원래 방식 그대로 세션마다 직전 750세션으로 다시 적합해 걷기 전진 로그 예측 ot 를 만든다. 블록 보정은 그 예측의 표본 밖 잔차 rt 를 목표로 삼는다. 학습은 수급 자료가 시작하는 2013-06-03 부터 확장창이고, 해마다 1월 첫 세션에 그 전까지의 행으로 다시 적합해 그해 세션을 예측한다. 확인 구간에서는 2022, 2023, 2024, 2025, 2026 다섯 번 재적합했다. 그룹 라쏘의 벌점 λ 는 학습 창 안에서만 고른다. 학습 창의 마지막 500세션을 검증으로 떼고, λ 최대값에서 그 천분의 일까지 로그 간격 12개 가운데 검증 로그 제곱 오차가 가장 작은 값을 골라 학습 창 전체로 다시 적합한다.
예측의 세 형태는 모든 로그 모형에 같은 방식으로 만든다. 중심은 exp(μt + 잔차 중앙값), 80% 대역은 직전 750세션 로그 잔차의 10 ~ 90% 분위, 90% 대역은 5 ~ 95% 분위다. 블록 보정 모형의 잔차 풀은 그 시점의 보정식으로 다시 계산한 표본 밖 잔차다. 카드는 원래대로 표본 안 잔차를 쓰는데, 이 차이만으로 카드가 3선 1.6%, 10선 0.5% 나빠지므로(표본 밖 잔차 풀을 쓴 카드) BAM 쪽 비교는 오히려 불리하게 잡혔다. 예측은 모두 개장 전에 끝나므로 진입 지연이나 지정가 시나리오는 해당하지 않는다.
손실과 검정
판정 지표는 확인 구간 평균 QLIKE 의 비다. 고저폭 제곱을 그날 분산의 대리 변수로 쓰고, ht 는 yt² 의 기댓값 예측이다. 유의성은 세 가지로 본다. 첫째는 날별 손실 차의 디볼드-마리아노 한쪽 검정, 둘째는 달 블록 부트스트랩 한쪽 p 이고, 두 값 중 큰 쪽을 그 가설의 p 로 써서 H1092 와 H1093 을 Holm 으로 보정한다. 셋째는 선택 편향 귀무다. 그룹 라쏘가 블록과 λ 를 고르는 절차 자체가 귀무에서도 그럴듯한 이득을 만들 수 있으므로, 외생 특징 행렬 전체를 시간축으로 원형 이동해 목표와의 대응을 끊고 절차 전체를 200회 다시 돌렸다. 대역은 적중률과 Kupiec 검정으로 본다. 매매 규칙이 아니므로 비용은 쓰지 않았다.
모델
비교한 모형
기준선은 넷이다. 카드, 직전 20세션 중앙값, 5분 실현 분산으로 만든 HAR, 그리고 앞선 실험이 탐색에서 찾은 카드와 거친 HAR 의 같은 무게 기하 결합이다. 도전자는 확증 하나와 비교 셋이다. 확증 도전자 BAM 은 경첩 기저와 그룹 라쏘를 쓰고, BAM 선형은 경첩을 빼 블록 안 비선형을 없앤 판이다. BAM 단조 트리는 블록마다 깊이 2 LightGBM 을 두고 역적합으로 더한 판이며, 무제약 LightGBM 은 블록 구분 없이 모든 특징과 카드 입력을 한 모형에 넣은 판이다. 비교 모형들은 블록 구조와 블록 안 비선형이 각각 얼마를 보태는지 가르려고 넣었다.
| 이름 | 계열 | 입력 | 재적합 |
|---|---|---|---|
| 카드 | 로그 OLS | l1, m5, m20, a | 매일, 750세션 창 |
| 20일 중앙값 | 규칙 | 직전 20세션 고저폭 | 매일 |
| HAR(5분 RV) | 로그 OLS | log RV5 직전 1, 5, 22세션 평균, a | 매일, 750세션 창 |
| 카드 + 거친 HAR 결합 | 기하 평균 | 앞선 실험의 두 예측 | 매일 |
| BAM | 카드 + 그룹 라쏘(경첩 2개) | 블록 4개, 특징 24개, 기저 62열 | 해마다 1월, 확장창 |
| BAM 선형 | 카드 + 그룹 라쏘(경첩 없음) | 같은 특징, 24열 | 해마다 |
| BAM 단조 트리 | 카드 + 블록별 LightGBM | 깊이 2, 잎 3, 나무 150, 학습률 0.03, 잎 최소 80, 단조 제약 | 해마다, 역적합 3회 |
| 무제약 LightGBM | 카드 + LightGBM 하나 | 특징 24개와 l1, m5, m20, a, o, 깊이 4, 잎 15, 나무 300 | 해마다 |
두 단계 블록 보정
BAM 은 카드를 버리지 않고 그 위에 얹는다. 첫 단계는 카드 그대로의 로그 예측 ot 이고, 둘째 단계가 그 표본 밖 잔차 rt 를 블록 네 개의 합으로 맞힌다. 각 특징은 학습 창 중앙값으로 결측을 메우고 1 ~ 99% 분위에서 자른 뒤 표준화하며, 이진 표시는 그대로 둔다. 연속 특징마다 경첩 기저 세 열을 만들어 같은 블록의 열을 한 그룹으로 묶는다. 그룹 라쏘는 쓸모없는 블록의 계수를 통째로 0 으로 보내므로, 블록이 살아남았는지가 곧 그 블록이 쓸모 있는지의 답이 된다. 실제로는 다섯 번의 재적합 모두 네 블록이 다 살아남았고, 고른 λ 는 최대값의 0.04 ~ 0.28 배였다.

그림 2 는 학습된 보정식의 모양이다. 연속 특징의 효과는 z 점수 3 에서도 고저폭 배율로 ±6% 를 넘지 않는다. MOVE 변화와 VIX 변화가 크면 고저폭이 조금 넓어지는 방향은 상식과 맞지만 크기가 작다. 이벤트 블록에서는 금통위 표시가 +24%, 만기일 +6%, FOMC 다음 날 +4% 다. 그룹 라쏘는 블록 전체를 함께 줄이므로 금통위 계수도 줄어든다. 같은 표시를 카드 회귀에 직접 넣으면 계수가 10선 0.42(배율 1.5배)로 BAM 의 0.22 보다 크다.
학습된 모형의 구조도
아래 그림은 확인 구간 마지막 예측일(2026-10-29) 10선의 BAM 보정식과 단조 트리 판의 이벤트 블록을 정본 런과 같은 학습 행으로 다시 적합해 그렸다. 다시 적합한 보정식이 정본 런에 기록된 로그 예측을 소수 여섯째 자리까지 재현할 때만 그림을 넣는다.
| 분기 위치 \ 피처 | ev_mpc | ev_fomc | ev_nfp | ev_expiry | ev_gap | 합 |
|---|---|---|---|---|---|---|
| 깊이 0 (뿌리) | 136 | 0 | 14 | 0 | 0 | 150 |
| 깊이 1 | 2 | 106 | 42 | 0 | 0 | 150 |
| 분기 합 | 138 | 106 | 56 | 0 | 0 | 300 |
| 손실 감소(gain) 몫 | 95.2% | 4.3% | 0.4% | 0.0% | 0.0% | 100% |
나무 150그루에서 각 특징이 분기에 쓰인 횟수다.
결과
확증 결과

확인 구간에서 BAM 의 평균 QLIKE 는 10선 0.2710, 카드 0.2886 으로 비가 0.939 였다. 손실 차의 디볼드-마리아노 한쪽 p 는 0.0003, 달 블록 부트스트랩은 0.0002 다. 3선은 0.3041 대 0.3523 으로 비 0.863 이고 두 p 모두 0.0001 수준이다. Holm 보정 뒤에도 H1092 는 0.0003, H1093 은 0.0001 미만이다. 미리 정한 실용 문턱(10선 3% 이상 감소)도 넘었다. 사전등록 기준으로 BAM 은 두 월물 모두에서 카드를 이겼다.
기준선들을 함께 보면 이 결과가 얼마나 드문지 알 수 있다. 20일 중앙값은 카드보다 3선 11.6%, 10선 7.5% 나쁘고, 5분 실현 분산 HAR 은 3.8%, 1.4% 나쁘다. 앞선 실험의 카드와 거친 HAR 결합은 10선에서 1.8%(p 0.018) 나았을 뿐이다. 블록 모형의 세 판은 모두 비슷한 크기의 이득을 냈다. 경첩을 뺀 선형 판이 3선 0.862, 10선 0.948, 단조 트리 판이 0.849, 0.925, 무제약 LightGBM 이 0.857, 0.924 다. 무제약 LightGBM 은 손실은 비슷하지만 90% 대역 적중률이 85.5%, 85.8% 로 대역이 너무 좁았다(Kupiec p 0.000).
| 모형 | 3선 비 | 10선 비 | 10선 p(부트) | 90% 적중 3선 | 90% 적중 10선 |
|---|---|---|---|---|---|
| 카드 | 1.000 | 1.000 | 91.6% | 90.1% | |
| 20일 중앙값 | 1.116 | 1.075 | 0.996 | 91.2% | 91.2% |
| HAR(5분 RV) | 1.038 | 1.014 | 0.823 | 90.3% | 89.7% |
| 카드 + 거친 HAR 결합 | 1.020 | 0.982 | 0.018 | 92.3% | 91.0% |
| 카드(표본 밖 잔차 풀) | 1.016 | 1.005 | 0.905 | 91.4% | 90.5% |
| BAM | 0.863 | 0.939 | 0.0002 | 90.9% | 89.1% |
| BAM 선형 | 0.862 | 0.948 | 0.003 | 91.2% | 89.8% |
| BAM 단조 트리 | 0.849 | 0.925 | 0.0002 | 90.0% | 89.4% |
| 무제약 LightGBM | 0.857 | 0.924 | 0.004 | 85.5% | 85.8% |
선택 편향 귀무

귀무 200회의 QLIKE 비 중앙값은 3선 1.016, 10선 1.006 이고 5% 분위도 1.007, 1.002 였다. 시점이 어긋난 특징을 넣으면 그룹 라쏘가 일부 블록을 살려 두면서 잔차 풀이 조금 넓어지고 손실이 오히려 늘어난다. 실제 값(0.863, 0.939)보다 작은 귀무는 한 번도 없어 순열 p 는 가능한 가장 작은 값인 0.005 다. 고르는 절차가 만든 착시가 아니라 특징과 목표의 시점 대응에서 나온 이득이다.
이득은 어디서 왔나

이벤트가 하나라도 있는 178세션에서 BAM 의 손실은 카드의 3선 0.568배, 10선 0.734배였고, 이벤트가 없는 998세션에서는 0.984배, 0.999배로 사실상 같았다. 그림 5 에서 보듯 차이는 금통위 날에 몰린다. 3선 금통위 날 카드의 평균 QLIKE 는 1.485 로 이벤트 없는 날(0.29)의 다섯 배이고, BAM 은 그것을 0.404 로 낮췄다. 손실 차 합으로 따지면 이득의 74%(3선), 77%(10선)가 금통위 39일에서 나왔다. 카드 중심의 금통위 날 로그 오차 평균은 +0.71, +0.44 로 실제 고저폭이 카드 중심의 2.0배, 1.5배였다.
블록을 하나씩만 넣은 모형으로 확인했다. 이벤트 블록만 넣으면 3선 0.877, 10선 0.937 로 전체 BAM 과 거의 같다. 미국 금리 블록만 넣으면 1.017, 1.007, 수급만 1.013, 1.006, 위험 심리만 1.010, 1.005 로 셋 모두 카드보다 조금 나쁘다. 탐색으로 BAM 에서 금통위 표시 하나만 빼자 1.004, 1.008 로 이득이 사라졌다. 반대로 카드 회귀에 금통위 표시 한 열만 더한 CARD_MPC 는 3선 0.874(p 0.0002), 10선 0.944(p 0.004)로 BAM 이득의 92% 를 재현했다. 블록 구조가 아니라 달력 한 칸이 이 실험의 결과다.
| 변형 | 3선 비 | 10선 비 | 지위 |
|---|---|---|---|
| US 블록만 | 1.017 | 1.007 | 사전등록 비교 |
| EVENT 블록만 | 0.877 | 0.937 | 사전등록 비교 |
| FLOW 블록만 | 1.013 | 1.006 | 사전등록 비교 |
| RISK 블록만 | 1.010 | 1.005 | 사전등록 비교 |
| US 블록 빼기 | 0.865 | 0.931 | 사전등록 비교 |
| EVENT 블록 빼기 | 1.000 | 1.003 | 탐색 |
| 금통위 표시만 빼기 | 1.004 | 1.008 | 탐색 |
| CARD_MPC(카드 + 금통위 한 열) | 0.874 | 0.944 | 탐색 |
| CARD_EV(카드 + 이벤트 다섯 열) | 0.868 | 0.945 | 탐색 |
블록 기여의 안정성

블록 기여는 그 블록의 항을 학습 평균으로 고정했을 때 그해 QLIKE 가 얼마나 늘어나는지로 쟀다. 이벤트 블록은 다섯 해 모두 1위였다(3선 0.025 ~ 0.073, 10선 0.009 ~ 0.027). 나머지 세 블록의 기여는 −0.005 ~ +0.010 사이에서 해마다 순서가 바뀌었다. 이 때문에 네 블록 순위의 연도 쌍 켄달 τ 평균은 10선 0.40, 3선 0.53 으로, 둘 다 0.5 를 넘어야 하는 H1094 는 통과하지 못했다. 1위가 늘 같고 나머지가 잡음 수준이라는 뜻이지, 블록 기여가 흔들려 결론이 불안하다는 뜻은 아니다.
강건성 격자와 연도

사전등록한 격자에서 검증 최소 규칙과 벌점 없음(λ = 0)의 12칸은 3선 0.856 ~ 0.874, 10선 0.930 ~ 0.971 로 모두 카드보다 낫다. 경첩 수와 학습 창은 결과를 거의 바꾸지 않았다. 1 표준오차 규칙만 다르다. 이 규칙은 벌점을 크게 잡아 10선에서 블록을 거의 지워 0.993 ~ 1.005 가 되고, 3선에서도 0.907 ~ 0.982 로 이득이 줄었다. 이득을 내는 계수는 금통위 표시 하나인데 강한 벌점이 그 계수까지 0 쪽으로 당기기 때문이다.

연도별로 BAM 비는 3선 0.78 ~ 0.95, 10선 0.90 ~ 0.97 로 다섯 해 모두 1 보다 작았다. 2023 이 두 월물 모두 0.95 로 가장 작은 이득이었는데, 그해 금통위 날 움직임이 상대적으로 작았던 것과 맞는다. 하위 구간도 같다. 2024 이후 3선 0.852, 10선 0.953, 충격 창(2022-02-24 등 여덟 사건 뒤 10세션) 제외 0.865, 0.948, 08:45 개장 뒤 245세션 0.820, 0.917 이다. 발견 구간(2017 ~ 2021)도 같은 절차로 0.930, 0.953 이었다. 보조 목표 5분 실현 분산으로 바꿔도 BAM 은 카드 구조 대비 3선 0.776, 10선 0.866 으로 같은 방향이다(H1096, 탐색).
대역과 금통위 날

대역 쪽에서 보면 문제가 더 분명하다. 카드의 90% 대역은 금통위 날 3선 59%, 10선 67% 만 담았고 실제 고저폭이 대역 상단을 넘은 날이 41%, 33% 였다. 다른 날은 92.7%, 90.9% 로 명목에 맞으니 전체 적중률(91.6%, 90.1%)이 이 빈틈을 가린 셈이다. BAM 은 금통위 날 82%, 74% 로 나아졌지만 그룹 라쏘의 축소 탓에 중심이 아직 작다(로그 오차 +0.22, +0.13). CARD_MPC 는 금통위 날 87%, 85% 를 담고 중심의 로그 오차가 +0.04, +0.00 으로 치우침이 없으며, 다른 날 적중률은 91.5%, 90.9% 로 그대로였다. 금통위 날의 관망 판정과 손절 폭이 카드에서 체계적으로 좁게 나왔다는 뜻이다.
깊이 보강: 위약과 독립성
판정 뒤에 금통위 표시의 효과가 진짜 그날의 것인지, 기존 전략과는 어떻게 맞물리는지를 탐색으로 더 보았다. 이 절의 결과는 모두 사전등록 밖이라 판정에 쓰지 않는다. 먼저 위치 위약이다. 금통위 표시를 앞뒤로 k 세션 옮겨 카드 회귀에 넣으면(k = −5 ~ +5) 효과는 k = 0 에서만 나타난다. 옮긴 열 칸의 QLIKE 비는 3선 0.994 ~ 1.004, 10선 0.998 ~ 1.004 로 카드와 같고, 전날 표시는 1.004, 1.001 로 오히려 조금 나쁘다. 금통위 전날이나 다음 날의 변동은 카드가 이미 맞힌다는 뜻이다.

다음은 무작위 날짜 귀무다. 해마다 금통위 횟수만큼 금통위가 아닌 날을 무작위로 골라 가짜 표시로 넣고 카드 회귀를 걷기 전진으로 다시 돌리는 일을 200회 했다. 귀무의 QLIKE 비 중앙값은 3선 1.001, 10선 1.001 이었고 가장 운 좋은 경우도 0.992, 0.982 에 그쳤다. 실제 금통위 표시보다 좋은 무작위 표시는 한 번도 없었다(p 0.005). 연도별로도 CARD_MPC 는 3선 0.80 ~ 0.98, 10선 0.90 ~ 0.99 로 다섯 해 모두 카드보다 나았고 2023 이 가장 약했다.

결정 종류로 나누어 보았다. 확인 구간 39회 가운데 금리를 바꾼 14회의 로그 비(실제 고저폭 ÷ 카드 중심)는 3선 +0.81, 10선 +0.54 였고, 동결한 25회도 +0.65, +0.38 로 고저폭이 카드 중심의 1.9배, 1.5배였다. 실제 고저폭이 카드 중심보다 작았던 금통위 날은 3선 5%, 10선 18% 뿐이다. 결정 내용을 미리 알 필요 없이 날짜만으로 대역을 넓혀야 한다는 뜻이다.
| 점검 | 3선 | 10선 |
|---|---|---|
| CARD_MPC QLIKE 비 | 0.874 | 0.944 |
| 위약 k ≠ 0 범위 | 0.994 ~ 1.004 | 0.998 ~ 1.004 |
| 무작위 날짜 귀무 중앙값(최소), p | 1.001 (0.992), 0.005 | 1.001 (0.982), 0.005 |
| 연도별 CARD_MPC 비 | 0.80 ~ 0.98 | 0.90 ~ 0.99 |
| 금통위 날 로그 비, 변경 14회 / 동결 25회 | +0.81 / +0.65 | +0.54 / +0.38 |
| 실제가 카드 중심보다 작았던 금통위 날 | 5% | 18% |
| 되돌림 3선 확인 구간 거래(금통위 날) | 468 (0) | |
| 되돌림 계약당 순손익, 비용 0.5 / 1 / 2틱 | 3.25 / 2.75 / 1.75틱 |
마지막은 기존 전략과의 독립성이다. 미국 야간 되돌림 3선 카드는 금통위 날을 이미 거래에서 뺀다(확인 구간 39일 모두 필터 이유가 금통위다). 그래서 카드에 금통위 표시를 넣어도 되돌림 거래의 날짜와 계약 수는 그대로이고, 바뀌는 것은 관망한 날의 채점과 손절 폭 참고에 쓰는 대역뿐이다. 확인 구간 되돌림 468건(연 약 97건)의 계약당 순손익은 비용 0.5틱에서 3.25틱, 1틱에서 2.75틱, 2틱에서 1.75틱이었다. 계약당 손익과 log(실제 고저폭 ÷ 카드 중심)의 상관은 0.25 로, 예측보다 넓게 움직인 날 되돌림이 더 벌었다. 변동 예측으로 계약 수를 줄이면 그 날을 덜 싣게 되므로 이 결과를 크기 조절에 쓰지 않는다. 금통위 전날 10선 매수는 전날 종가에 사서 금통위 날 시가에 파는 거래라 금통위 날 장중을 들고 있지 않아 시간상 겹침이 없다.
해석
카드 예측기는 고저폭의 짧은 역사와 미국 밤사이 변화를 본다. 금통위는 일 년 전에 날짜가 공표되는데도 카드는 그날을 평소처럼 예측한다. 금통위 날 고저폭은 평소의 1.5 ~ 2배라 카드의 QLIKE 손실에서 39일이 큰 몫을 차지한다. 블록 가법 모형은 이벤트 블록의 금통위 계수로 이 사실을 찾아냈다. 그러나 블록 구조가 더한 것은 없었다. 경첩을 뺀 선형 판과의 차는 3선 0.001, 10선 0.009 였고 다른 세 블록은 단독으로 카드보다 나빴다.
미국 금리 블록이 비어 있는 까닭은 카드가 이미 미국 10년 변화의 절댓값을 넣고 있어서다. 2년 금리, 커브, MOVE 는 그 위에 더할 것이 없었다. 수급과 위험 심리는 다음 날 고저폭과의 관계가 원래 약하다. 외국인 순매수는 가격과 함께 움직이지만 다음 날 변동을 미리 알려 주지는 않았다. VIX 와 VKOSPI 의 수준은 이미 카드의 20일 평균 고저폭에 반영되어 있다. 실무 결론은 경제 블록 모형을 들여오라는 것이 아니라 카드에 금통위 날 표시를 넣으라는 것이다. 확증 가설은 BAM 에 대해 잠갔으므로 판정은 BAM 의 채택이지만, 같은 이득을 한 열로 얻는 CARD_MPC 가 데스크에는 더 알맞다. 이 비교는 결과를 본 뒤의 탐색이라 다음 회의부터 전진으로 확인해야 한다.
한계
이득의 원천은 확인 구간 금통위 39일이다. 사실상 표본 단위가 회의 39개라 회의 하나하나의 무게가 크다. 연도별로는 다섯 해 모두 1 보다 작았지만 2023 은 0.95 로 작았고, 결정이 예상과 크게 다른 회의 몇 개가 평균을 끌었을 수 있다. 금통위 날짜 목록은 정례 일정표와 결정 표를 합친 것이다. 확인 구간 회의는 모두 정례 회의(해마다 8회)라 미리 알려졌지만, 학습 구간에 임시 회의가 섞였다면 학습 계수가 조금 부풀었을 수 있다.
자료에도 약점이 있다. 수급 원표가 2026-08-13 에 끝나 장중 수급 표로 이었고 두 원천이 겹치는 날이 없어 직접 대조하지 못했다(수급 블록 기여가 0 이라 결론에는 영향이 없다). 만기일 고저폭은 일봉 표 정의(그날 새 월물)를 그대로 썼고, 일봉 표에 없는 2026-09-14 를 빼서 그 뒤 28세션의 카드 특징이 하루씩 다른 이력을 쓴다. 이 두 가지는 모든 모형에 똑같이 적용된다.
결과를 본 뒤의 일도 적어 둔다. 정본 런 전에 같은 코드로 귀무 2회만 돌린 시험 런이 있었고, 거기서 이벤트 블록이 이득을 내는 것을 보고 만기일 고저폭과 금통위 날짜 출처의 누설을 점검했다. 코드와 계획은 바꾸지 않았다. CARD_MPC 는 결과를 보고 만든 변형이라 확증이 아니다. 비용과 손익은 다루지 않았다. 앞선 실험에서 변동 예측으로 계약 수를 줄이는 것은 손해였으므로 이 결과를 크기 조절로 옮겨서는 안 된다. 블록 정의를 바꾸면(예: 국고채 입찰, 미국 소비자물가) 다른 답이 나올 수 있다.
다음에 해 볼 것
첫째, CARD_MPC 를 잠그고 2026-11-26 회의부터 앞으로의 회의 8회와 그 사이 세션으로 전진 검정한다. 판정은 금통위 날 90% 대역 적중률이 카드보다 높고 전체 QLIKE 가 카드보다 낮은 것으로 미리 정한다. 둘째, 금통위 날 고저폭이 결정 발표와 총재 기자간담회 가운데 어디서 생기는지 1분봉으로 나누어, 카드의 장중 남은 고저폭 대역을 그날만 넓히는 규칙을 만든다. FOMC 다음 날과 미국 고용 다음 날은 이번에 증분이 거의 없었으므로 넣지 않는다.
산출물
이 페이지의 수치는 모두 아래 런 산출물에서 옮겼다. 재현은 저장소 뿌리에서 순서대로 실행한다. 정본 런은 약 17분, 탐색 런은 약 3분, 깊이 보강 런은 약 8분 걸린다. 그림은 code/render_figures.py 20261111T083656_main 20261111T085400_explore 20261111T091456_depth 로 다시 그린다.
- 사전등록
protocol.md(커밋 917c5ebd) - 분석과 판정
analysis.md - 데이터 점검
code/s0_datacheck.py,results/datacheck.json - 정본 런
code/s1_main.py --nperm 200,results/20261111T083656_main/ - 탐색 런
code/s2_explore.py 20261111T083656_main,results/20261111T085400_explore/ - 깊이 보강 런
code/s3_depth.py 20261111T083656_main,results/20261111T091456_depth/ - 그림
code/render_figures.py,code/render_model.py - 재현 명령
uv run python experiments/0286_block_additive_vol_forecast/code/s1_main.py --nperm 200
Appendix
A. 데이터셋 실물
10선 패널의 실제 행이다(확인 구간 마지막 여드레, 정본 런이 읽은 캐시 패널). 2026-10-22 는 금통위 날, 2026-10-29 는 FOMC 결정 다음 날이다.
| 일자 | rng | l1 | m20 | a | d_us10 | move_lvl | ev_mpc | ev_fomc | fr1 | vkospi_lvl |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-20 | 61 | 3.892 | 3.967 | 0.66 | 6.6 | 4.618 | 0 | 0 | 3.293 | 3.883 |
| 2026-10-21 | 30 | 4.111 | 3.951 | 0.28 | −2.8 | 4.622 | 0 | 0 | 1.000 | 3.900 |
| 2026-10-22 | 37 | 3.401 | 3.939 | 0.09 | 0.9 | 4.564 | 1 | 0 | 0.019 | 3.877 |
| 2026-10-23 | 64 | 3.611 | 3.906 | 1.67 | −16.7 | 4.671 | 0 | 0 | 1.032 | 3.904 |
| 2026-10-26 | 55 | 4.159 | 3.924 | 0.41 | 4.1 | 4.638 | 0 | 0 | 0.902 | 3.952 |
| 2026-10-27 | 63 | 4.007 | 3.930 | 0.06 | −0.6 | 4.627 | 0 | 0 | 2.263 | 3.960 |
| 2026-10-28 | 67 | 4.143 | 3.944 | 0.09 | 0.9 | 4.584 | 0 | 0 | 0.999 | 3.938 |
| 2026-10-29 | 40 | 4.205 | 3.959 | 0.20 | 2.0 | 4.549 | 0 | 1 | 0.898 | 3.948 |
필드 뜻: rng 는 그날 고저폭(틱), l1 과 m20 은 카드 특징(로그), a 는 미국 10년 변화 절댓값 ÷ 10, d_us10 은 부호 있는 미국 10년 변화(bp), move_lvl 은 log MOVE, fr1 은 직전 세션 외국인 순매수 절댓값을 60세션 중앙값으로 나눈 값, vkospi_lvl 은 log VKOSPI 다. 2026-10-22 금통위 날 카드 중심은 43.8틱, BAM 중심은 52.9틱이었고 실제는 37틱으로 그날은 조용했다.
B. 모델 입출력 실물
확인 구간 마지막 예측일 2026-10-29 10선에서 모형들이 실제로 받은 입력과 낸 출력이다(정본 런 forecasts_10선). 그날 FOMC 표시가 켜져 있어 BAM 의 이벤트 항이 양수였다.
- 입력(카드)
- l1 4.205, m5 4.047, m20 3.959, a 0.20, 적합 창 750세션.
- 입력(블록)
- US: d_us10 +2.0, d_us2 −4.1, abs_curve 6.1, move_lvl 4.549, d_move −3.45, us10_vol20 5.68. EVENT: ev_fomc 1, 나머지 0. FLOW: fr1 0.898, fr5 4.31, frs1 −0.898. RISK: vix_lvl 2.828, d_vix −3.54, vix_ratio 0.99, d_credit +0.26, credit20 −1.22, ndf_vol20 0.372, vkospi_lvl 3.948, d_vkospi +1.01.
- 출력(카드)
- 로그 예측 3.936, 중심 49.8틱, 80% 대역 31.7 ~ 83.0, 90% 대역 29.1 ~ 96.9, h 3,496.
- 출력(BAM)
- 로그 예측 3.974(보정 +0.038), 중심 51.4틱, 80% 대역 33.5 ~ 84.7, 90% 대역 30.4 ~ 96.9, h 3,612.
- 출력(비교)
- BAM 단조 트리 중심 55.8틱, 무제약 LightGBM 55.99틱, HAR(5분 RV) 43.2틱.
- 정답
- 실제 고저폭 40틱. 다섯 모형의 80% 대역이 모두 담았다.
C. 실험 설정
| 항목 | 값 |
|---|---|
| 확인 구간 | 2022-01-03 ~ 2026-10-29, 1,176세션(두 월물) |
| 블록 보정 학습 | 2013-06-03 부터 확장창, 해마다 1월 첫 세션 재적합(5회) |
| 카드 창 | 직전 750세션(최소 250), 매일, 미국 특징 결측은 창 중앙값 |
| 그룹 라쏘 | FISTA, 최대 3,000회, 허용 오차 1e-8, λ 12개(λ_max ~ λ_max/1000), 검증 마지막 500세션 |
| 경첩 | q50, q80(학습 창 z 분위), 1 ~ 99% 자르기 |
| 단조 트리 | LightGBM 깊이 2, 잎 3, 나무 150, 학습률 0.03, 잎 최소 80, 역적합 3회, 스레드 2 |
| 무제약 LightGBM | 깊이 4, 잎 15, 나무 300, 학습률 0.03, 잎 최소 50, 표본 0.8, 열 0.8 |
| 잔차 풀과 대역 | 직전 750세션 로그 잔차, 80% = 10 ~ 90%, 90% = 5 ~ 95% 분위 |
| 검정 | DM 뉴이웨스트 지연 20, 달 블록 부트스트랩 5,000회, 원형 이동 귀무 200회(이동 250세션 이상), Holm |
| 충격 창 | 2022-02-24, 2023-03-10, 2023-10-09, 2024-04-15, 2024-08-05, 2024-12-04, 2025-04-03, 2025-06-13 부터 10세션 |
| 비용 | 해당 없음(예측기 비교) |
| 난수 | 부트스트랩 시드 286, 귀무 시드 286(3선), 287(10선), LightGBM 286 |