세 줄 요약
- 카드 날 카드 방향을 네 자산에 HRP 비중으로 나눠 실은 바스켓은 같은 날 3선 단독보다 단위 위험 손익이 확인 구간 평균 −0.067/일(288일), 블록 부트스트랩 한쪽 p 0.94, 발견 구간 −0.245/일(72일)로 두 구간 모두 낮았다.
- HRP 는 서로 닮은 3선과 10선을 한 묶음으로 보고 그 묶음 비중을 줄였다. 그래서 3선 비중은 평균 0.19 에 그쳤다. 그런데 카드 방향으로 가장 잘 벌리는 자산이 바로 3선(확인 +0.12/일)이고 코스피200 은 0 근처(−0.01)다. 4개 연도 모두 차이가 음이다.
- 미국 금리 되돌림은 3선 고유의 성질이라 다른 자산에 나누면 이익이 묽어진다. 판정은 폐기다.
가설과 결론
이 프로그램의 기준 전략(이하 카드)은 미국 10년 금리가 밤사이 3bp 이상 움직인 다음 날, 한국 3년 국채선물을 그 반대 방향으로 시가에 사거나 팔아 종가에 청산하는 되돌림 매매다. 미국 금리가 크게 오르면 한국 국채선물은 시가에서 크게 빠지는데, 장중에 그 일부를 되돌린다는 관찰에 기대고 있다.
한 자산에만 실으면 그 자산의 잡음을 그대로 진다. 서로 덜 닮은 여러 자산에 위험을 나누면 같은 기대 손익에 흔들림이 줄어 위험당 손익이 좋아질 수 있다. 이 실험은 카드 방향을 3선, 10선, 코스피200 선물, 달러선물에 계층적 리스크 패리티(HRP) 비중으로 나눠 실으면 3선 단독보다 나은지 물었다. 코스피와 달러선물은 채권부서 거래 범위 밖이라 결과는 연구용이다.
| 가설 | 내용 | 결과 | 한쪽 p | 판정 |
|---|---|---|---|---|
| H282 | 확인 구간 카드 날 (HRP 바스켓 − 3선 단독) 단위 위험 손익 평균 > 0 | −0.067(288일) | 0.942 | 반대 방향, 폐기 |
확인 구간 차이의 90% 구간은 [−0.137, +0.001] 로 거의 전부 음 쪽이다. 2차와 3차 다자산 프로그램의 주가설 63개(H259 ~ H321)에 Holm 보정을 걸면 1.00 이다. 판정은 폐기다. 바스켓은 3선 단독보다 나쁘다.
용어와 기호
- 3선, 10선
- 한국거래소 3년, 10년 국채선물(최근월 연결). 가격으로 거래하며 금리가 오르면 가격이 내린다
- 틱
- 국채선물 가격의 최소 단위 0.01. 계약당 1만원
- 코스피200 선물, 달러선물
- 코스피200 지수 선물과 미국달러 원화 선물. 장중 손익은 로그 변화(%)로 잰다
- 세션 s, e
- s 는 정보가 쌓이는 한국 거래일, e 는 다음 한국 거래일. 매매는 e 에서만 한다
- g_us
- 미국 10년 국채금리의 하루 변화(bp, 뉴욕 날짜 s). 1bp 는 0.01%p
- 카드 날
- |g_us| ≥ 3bp, e 가 s 의 다음 달력일(주말이나 휴일을 끼지 않음), 3선 롤 날이 아닌 날
- dir
- 카드 방향 = sign(g_us). 채권 매수가 + 다. 미국 금리가 오른 밤(g_us > 0) 다음 날 3선 매수
- 장중 ri
- 자산 i 의 e 시가 → 종가(3선, 10선은 틱, 정규장 종가) 또는 시가 → 15:30(코스피, 달러선물은 %, 1분봉)
- sdi
- 직전 250 세션 장중 ri 의 표준편차(그날 제외, 최소 150 세션)
- sgni
- 직전 250 세션 장중 ri 와 3선 장중의 상관 부호. 달러선물은 늘 −(채권이 오를 때 원화가 강해짐), 코스피는 대체로 +
- 단위 위험 손익
- dir × sgni × ri / sdi. 1 은 «평소 하루 흔들림 1개만큼 벌었다»
- HRP
- 계층적 리스크 패리티(Hierarchical Risk Parity, López de Prado 2016). 상관으로 자산을 나무 모양으로 묶은 뒤, 위에서부터 둘씩 나누며 각 묶음 분산의 역수 비율로 비중을 준다
- 상관 거리
- √((1 − ρ)/2). ρ 가 1 이면 0, −1 이면 1. 단일 연결 군집이 이 거리로 가까운 것부터 묶는다
- wi
- HRP 비중. 네 자산 합 1
- 차이 d
- 그날 바스켓 Σ wi × 단위 위험 손익i − 3선 단독 단위 위험 손익
- 월 블록 부트스트랩
- 같은 달 날짜를 한 덩어리로 다시 뽑기를 5,000번 해 평균의 분포를 만든다. 한쪽 p 는 평균 > 0 쪽
- 발견 구간, 확인 구간
- 분봉 자료가 2022 년부터라 발견 2022-01 ~ 2023-12, 확인 2024-01 ~ 2026-10. 판정은 확인 구간에서만
- Holm 보정
- 여러 가설을 함께 시험할 때 우연한 통과를 막도록 p 를 가설 수에 맞춰 단계적으로 키우는 방법
자료
데이터셋
| 자료 | 원천 | 기간 | 해상도 | 쓰임 |
|---|---|---|---|---|
| 3선, 10선 시가와 종가 | 인포맥스 단말 일봉(연결) | 2019-06 ~ 2026-10 | 일 | 장중 r, sd, 상관 |
| 코스피200 선물 시가, 15:30 가격 | 인포맥스 단말 1분봉 | 2022-01 ~ 2026-10 | 1분 | 장중 r, sd, 상관 |
| 달러선물 시가, 15:30 가격 | 인포맥스 단말 1분봉 | 2019-01 ~ 2026-10 | 1분 | 장중 r, sd, 상관 |
| 미국 10년 금리 | FRED DGS10 | 2022 ~ 2026 | 일 | 카드 날, dir |
| 항목 | 발견 2022 ~ 2023 | 확인 2024 ~ 2026-10 |
|---|---|---|
| 쓴 카드 날 | 72(2023 년만) | 288 |
| 3선 단독 단위 위험 손익 평균, 표준편차 | +0.169, 0.635 | +0.121, 1.014 |
비중을 정하려면 네 자산이 모두 있는 직전 세션이 150개 이상 필요하다. 코스피200 분봉이 2022 년에 시작하고 빈 날이 많아, 첫 사용 카드 날은 2023 년 2월이다. 그래서 발견 구간은 사실상 2023 년 한 해다.
언제 무엇을 아는가
| 시각 | 일어나는 일 |
|---|---|
| s 일 15:45 | 3선, 10선 마감. 비중, 부호, sd 는 s 까지의 250 세션으로 계산 |
| e 일 새벽 5 ~ 6시 | 뉴욕 날짜 s 미국 10년 금리 확정. |g_us| ≥ 3bp 면 카드 날 |
| e 일 개장 | 네 자산을 각자 시가에 dir × sgn 방향으로 진입(국채선물은 2025-11 까지 09:00, 그 뒤 08:45 개장) |
| e 일 15:30 | 코스피200, 달러선물 다리 청산 가격 |
| e 일 15:45 | 3선, 10선 종가 청산 |
방법
- 카드 날 고르기. |g_us| ≥ 3bp, 다음 달력일 세션, 롤 날 제외.
- 비중 정하기. 카드 날마다 직전 250 세션 네 자산 장중 수익률을 각자 sd 로 나누고 sgn 을 곱한다. 그 공분산으로 HRP 비중을 구한다.
- 손익. 바스켓 = Σ wi × dir × sgni × ri / sdi. 3선 단독 = dir × r3선 / sd3선. 둘 다 비용 전(프로토콜이 비용은 보고만 하기로 정했다).
- 비교. 확인 구간 카드 날 차이 d 의 평균, 월 블록 부트스트랩 5,000회 한쪽 p 와 90% 구간.
- 다중검정. 2차와 3차 프로그램 주가설 63개에 Holm 보정.
- 판정에 쓰지 않는 탐색. 평균 비중(E2).
모델
학습하는 모델은 HRP 하나다. 손익을 예측하지 않고, 직전 250 세션의 상관 구조만 보고 매 카드 날 비중을 다시 정한다. 결과(그날 손익)는 비중에 들어가지 않는다.
HRP 가 비중을 정하는 순서
- 네 자산 단위 위험 수익률의 상관 ρ 로 상관 거리 √((1 − ρ)/2) 를 만든다.
- 단일 연결 군집으로 가까운 것부터 묶어 나무를 만들고, 나무의 잎 순서로 자산을 줄 세운다.
- 줄을 반으로 나눠 두 묶음을 만들고, 각 묶음 안을 분산 역수로 섞었을 때의 묶음 분산 Va, Vb 를 구한다. 왼쪽 묶음에 1 − Va / (Va + Vb), 오른쪽에 나머지를 준다.
- 묶음 안에서 다시 반으로 나누는 것을 자산 하나가 남을 때까지 되풀이한다.
| 항목 | 값 |
|---|---|
| 자산 | 3선, 10선, 코스피200 선물, 달러선물 |
| 추정 창 | 직전 250 세션(그날 제외), 네 자산 모두 있는 세션 최소 150 |
| 입력 | 장중 수익률 / 자기 표준편차 × 3선과의 상관 부호 |
| 거리 | √((1 − ρ)/2) |
| 군집 | 단일 연결(single linkage) |
| 분할 | 잎 순서로 반씩 재귀 분할, 묶음 분산 역수 비례 |
| 다시 계산 | 카드 날마다 |
학습된 비중의 모양
입력이 이미 각 자산의 표준편차로 나뉘어 있어 모든 자산의 분산이 1 이다. 그래서 두 자산이 한 묶음 안에서 나뉠 때는 늘 반반이 된다(360 카드 날 모두 3선 비중 = 10선 비중, 코스피 비중 = 달러선물 비중, 차이 10−15 이하). 비중을 가르는 것은 두 묶음의 분산뿐이다. 채권 묶음은 상관 0.92 라 분산이 약 (1 + 0.92)/2 = 0.96, 나머지 묶음은 상관 약 0.16 이라 0.58 이다. 그러면 채권 묶음 몫은 1 − 0.96/(0.96 + 0.58) ≈ 0.38, 3선 하나는 약 0.19 가 된다.
| 항목 | 3선 | 10선 | 코스피200 | 달러선물 |
|---|---|---|---|---|
| 평균 비중, 전체(확증 런 E2) | 0.197 | 0.197 | 0.303 | 0.303 |
| 평균 비중, 발견 | 0.209 | 0.209 | 0.291 | 0.291 |
| 평균 비중, 확인 | 0.194 | 0.194 | 0.306 | 0.306 |
| sgn = + 인 카드 날 비율, 확인 | 100% | 100% | 86% | 0% |
결과
확증 결과
| 항목 | 발견 2023 | 확인 2024 ~ 2026-10 |
|---|---|---|
| 카드 날 | 72 | 288 |
| 차이(바스켓 − 3선 단독) | −0.245 | −0.067 |
| 블록 부트스트랩 한쪽 p | 0.942 | |
| 90% 구간 | [−0.137, +0.001] | |
| Holm 보정 p(63개) | 1.00 |
자산별로 나눠 보면
아래는 판정에 쓰지 않는 기술 통계다(results/20261030T163642_detail/, 확증 수치를 먼저 다시 만들어 일치를 확인한 뒤 계산).
| 항목 | 발견(72일) | 확인(288일) |
|---|---|---|
| 3선 단독 평균, 표준편차 | +0.169, 0.635 | +0.121, 1.014 |
| HRP 바스켓 평균, 표준편차 | −0.076, 0.621 | +0.054, 0.674 |
| 평균 / 표준편차, 3선 단독 | 0.266 | 0.119 |
| 평균 / 표준편차, 바스켓 | −0.123 | 0.080 |
| 카드 방향 단위 위험 손익, 3선 | +0.169 | +0.121 |
| 같은 값, 10선 | +0.146 | +0.038 |
| 같은 값, 코스피200 | −0.420 | −0.011 |
| 같은 값, 달러선물 | −0.067 | +0.102 |
| 연도 | 카드 날 | 3선 단독 | 바스켓 | 차이 |
|---|---|---|---|---|
| 2023(발견) | 72 | +0.169 | −0.076 | −0.245 |
| 2024 | 102 | +0.068 | +0.008 | −0.060 |
| 2025 | 105 | +0.239 | +0.123 | −0.116 |
| 2026(10월까지) | 81 | +0.035 | +0.021 | −0.014 |
바스켓은 의도대로 흔들림이 줄었다(확인 표준편차 1.01 → 0.67). 그러나 평균은 그보다 더 많이 줄었다(0.121 → 0.054). 평균을 표준편차로 나눈 위험당 손익도 3선 단독(0.119)이 바스켓(0.080)보다 높다. 분산 효과보다 이익이 묽어지는 효과가 더 컸다.
해석
위험 분산이 위험당 손익을 올리려면 나눠 싣는 자산들이 같은 크기의 기대 이익을 가져야 한다. 이 카드에서는 그렇지 않았다. 미국 금리 밤사이 충격을 장중에 되돌리는 성질은 3선이 가장 강하고, 10선은 약하며, 코스피는 거의 없다. 달러선물은 확인 구간에 +0.10 으로 괜찮았지만 발견 구간에는 음이었다. HRP 는 손익을 보지 않고 상관만 보므로, 3선과 10선이 닮았다는 이유로 가장 좋은 자산의 비중을 0.19 로 줄였다. 되돌림은 3선 고유의 성질이고, 나눠 실을수록 이익이 묽어진다.
한계
- 손익은 비용 전 단위 위험이다. 네 자산을 모두 사고팔면 거래 비용이 3선 하나보다 커지므로, 비용을 넣으면 바스켓이 더 불리해진다.
- 발견 구간은 코스피 분봉 공백으로 2023 년 72일뿐이다.
- 국채선물은 종가(15:45), 코스피와 달러선물은 15:30 에 청산한다고 계산했다. 15분 차이다.
- HRP 는 직전 250 세션 상관만 쓴다. 카드 날(미국 금리 큰 충격 날)의 상관은 평소와 다를 수 있는데, 이를 따로 반영하지 않았다.
- 프로토콜의 탐색 E1(채권 둘만의 HRP)은 확증 런에 들어가지 않았다. 입력이 단위 위험이라 채권 둘만이면 반반이 되므로, 그 결과는 위 표의 3선과 10선 평균의 반반과 같다.
- 코스피200 과 달러선물은 사용자 거래 범위(금리 수단) 밖이다. 결과는 연구용이다.
산출물
- 계획
protocol.md(사전등록 88b2c97) - 코드
code/s1_hrp.py(확증),code/s_detail.py(기술 통계, 한 날의 나무),code/render_figures.py(그림) - 런
results/20261029T160608_main/,results/20261030T163642_detail/(card_days.csv, metrics.json)
Appendix
A. 데이터셋 실물
card_days.csv 의 실제 행(일부 열). 열은 카드 날 s, g_us(bp), dir, 네 자산 비중, 바스켓과 3선 단독 단위 위험 손익.
| s | g_us | dir | w 3선 | w 10선 | w 코스피 | w 달러 | 바스켓 | 3선 단독 |
|---|---|---|---|---|---|---|---|---|
| 2026-10-22 | −17 | −1 | 0.189 | 0.189 | 0.311 | 0.311 | +0.070 | +1.356 |
같은 날의 나머지 열: 장중 r 은 3선 −17틱, 10선 −55틱, 코스피200 +3.73%, 달러선물 0.00%. sd 는 12.54틱, 37.26틱, 2.50%, 0.453%. sgn 은 +, +, +, −.
B. 모델 입출력 실물
- Request meta
- 카드 날 s = 2026-10-22, 뉴욕 날짜 s 의 미국 10년 금리 −17bp. 거래 세션 e = 2026-10-23. 비중은 s 까지 250 세션
- Input
- 부호 맞춘 단위 위험 장중 수익률 250 세션의 상관: 3선과 10선 0.92, 3선과 코스피 0.09, 3선과 달러선물 0.28, 10선과 코스피 0.05, 10선과 달러선물 0.19, 코스피와 달러선물 0.16
- Model response
- HRP 비중 3선 0.189, 10선 0.189, 코스피200 0.311, 달러선물 0.311. dir = −1(미국 금리 하락 뒤 되돌림이므로 채권 매도), 따라서 3선 매도, 10선 매도, 코스피200 매도(sgn +), 달러선물 매수(sgn −)
- Ground truth check
- 3선 −17틱 → 단위 +1.356, 기여 +0.256. 10선 −55틱 → 기여 +0.279. 코스피 +3.73% → 기여 −0.464. 달러선물 0% → 0. 바스켓 +0.070, 3선 단독 +1.356. 코스피 다리가 채권 다리의 이익을 거의 지웠다
C. 실험 설정
- 카드 날|g_us| ≥ 3bp, 다음 달력일 세션, 3선 롤 날 제외, dir = sign(g_us)
- 자산3선, 10선(시가 → 종가), 코스피200 선물, 달러선물(시가 → 15:30)
- HRP직전 250 세션(최소 150), 단위 위험과 3선 상관 부호로 맞춘 입력, 거리 √((1 − ρ)/2), 단일 연결, 반씩 재귀 분할
- 손익단위 위험, 비용 전
- 분할발견 2022-01 ~ 2023-12(실제 2023-02 부터), 확인 2024-01 ~ 2026-10
- 문턱확인 구간 차이 평균 > 0, 월 블록 부트스트랩 5,000회(seed 66) 한쪽 p < 0.05, 63개 Holm 함께 보고