3년 국채선물 · 국토부 실거래 106만 건 · 2013 ~ 2026 · 월간 증분 회귀

서울 아파트 거래가 늘면 다음 한 달 3년 국채선물이 움직이는가

국토부 실거래가 공개시스템의 서울 아파트 매매 계약으로 «신고 기한이 끝난 마지막 달» 의 계약 건수 전년 대비를 매월 만들고, 그것이 다음 20거래일 3년 국채선물 손익을 미국 금리와 원화 충격 위에 설명하는지 쟀다.

폐기 · 두 구간 같은 부호지만 작다, p 0.35 발견 +6.8틱(t 1.20) 확인 +8.0틱(t 0.38)

세 줄 요약

  1. 서울 아파트 매매 계약 106만 건(2012 ~ 2026-10)으로, 매월 첫 거래일에 «신고 기한이 끝난 마지막 달» 의 계약 건수가 1년 전 같은 달보다 얼마나 늘었는지(로그)를 만들었다. 그 값이 다음 20거래일 3년 국채선물(3선)을 설명하는지 월간 회귀로 쟀다.
  2. 계수는 발견 구간(111개월) +6.8틱(t 1.20), 확인 구간(41개월) +8.0틱(t 0.38)이다. 부호는 같지만(거래가 늘면 3선이 오른다) 확인 한쪽 p 는 0.35, 2차 주가설 17개 Holm 보정 p 는 1.00 이다.
  3. 판정은 폐기다. 신고 기한 때문에 쓸 수 있는 정보가 1 ~ 3개월 늦고, 그 사이 시장은 다른 경로로 이미 알고 있었을 것이다.

가설과 결론

주택 거래량은 집값보다 먼저 움직이는 경기 지표로 자주 쓰인다. 한국은행은 금리를 정할 때 서울 집값과 가계부채를 함께 본다. 그래서 서울 아파트 거래가 갑자기 늘면 «한은이 금리를 덜 내리거나 올릴 수 있다» 는 기대가 생기고 3년 금리가 오를(3선 가격이 내릴) 수 있다. 반대로 거래 증가가 금리 하락의 결과라면 관계는 반대 부호가 된다. 이 실험은 방향을 미리 정하지 않고 발견 구간에서 부호를 정한 뒤, 확인 구간에서 같은 방향이 유지되는지 물었다.

주가설
가설내용결과한쪽 p판정
H272fwd20 = a + bus·g_us + bε·ε + bx·x(월간, HAC 2)에서 확인 구간 bx 가 발견 구간 부호(+) 방향bx = +7.97 (t 0.38)0.351폐기

발견 구간 부호는 양(+)이었다. 거래가 늘면 다음 달 3선이 오른다(금리 하락)는 쪽으로, «한은이 집값을 보고 금리를 덜 내린다» 는 직관과는 반대다. 확인 구간도 같은 부호지만 t 0.38 로 우연과 구별되지 않아 폐기다.

용어와 기호

3선
한국거래소 3년 국채선물. 가격으로 거래하며 금리가 오르면 가격이 내린다
틱
3선 가격의 최소 단위 0.01. 계약(액면 1억원)당 1만원
신고 기한
부동산 거래 신고법상 계약 뒤 신고해야 하는 기간. 2020-02-21 이후 계약은 30일, 그 전 계약은 60일
m*
날짜 s 에 계약 신고가 모두 끝났다고 볼 수 있는 마지막 달력월. s 에서 기한 일수를 뺀 날이 속한 달의 바로 전달
x
x = log(m* 계약 건수) − log(m* 의 12개월 전 같은 달 계약 건수). 전년 같은 달과 비교해 계절성을 지운다. 0.69 면 약 두 배
s, e
s 는 매월 첫 한국 거래일(정보를 쓰는 날), e 는 그 다음 거래일(매매를 시작하는 날). 표본은 월마다 한 행
fwd20(y)
3선 e 시가에 사서 s 로부터 20번째 거래일 종가에 판다고 할 때의 손익(틱). 만기 교체 점프는 이어 붙여 없앴다. 한 달 간격이라 거의 겹치지 않는다
g_us
미국 10년 국채금리의 하루 변화(bp, 뉴욕 날짜 s). 1bp 는 0.01%p
ε
원화 고유 충격. 밤사이 원화 변화(%) 가운데 달러 전반의 움직임과 미국 금리로 설명되지 않는 나머지. 계수는 그날 이전 250거래일로만 추정한다
bx
회귀에서 x 의 계수. x 가 1(로그) 오를 때 3선 20일 손익이 몇 틱 바뀌는가
HAC 표준오차
표본끼리 닮는 정도(자기상관)를 감안해 표준오차를 키우는 방식(Newey-West). 월간 표본이라 지연 2
t, 한쪽 p
t 는 계수를 표준오차로 나눈 값. 한쪽 p 는 «효과가 0 인데 우연히 미리 정한 방향으로 이만큼 나올 확률»
발견 구간, 확인 구간
발견 2013-01 ~ 2022-12 에서 부호를 정하고, 손대지 않은 확인 2023-01 ~ 2026-10 에서만 판정한다
Holm 보정
여러 가설을 한꺼번에 시험할 때 우연한 통과를 막으려고 p 값을 작은 것부터 남은 가설 수만큼 곱해 키우는 방법
분위
x 를 작은 값부터 다섯 묶음으로 같은 개수씩 나눈 것. 각 구간 안에서 따로 나눴다

자료

데이터셋

쓴 자료
자료원천기간해상도쓰임
서울 아파트 매매 계약(해제 포함)국토교통부 실거래가 공개시스템 CSV, 2026-10-29 수집2012-01-01 ~ 2026-10-28거래 1,060,050건을 계약일별 5,415행으로 집계x
3선 시가, 종가(연결)인포맥스 단말 일봉2013 ~ 2026일fwd20
미국 10년 금리FRED DGS102013 ~ 2026일g_us(통제)
원화 NDF, 스왑포인트, 달러인덱스인포맥스 단말2013 ~ 2026일ε(통제)
표본
항목발견확인
첫 행 ~ 마지막 행(s)2013-05-02 ~ 2022-12-012023-02-01 ~ 2026-09-01
회귀 표본(월)11141
x 표준편차0.810.58
fwd20 표준편차49.7틱69.4틱

연도별 전체 계약은 2015 년 12만 건이 가장 많고 2022 년 1.3만 건이 가장 적다. 2022 년의 급감과 2023 ~ 2024 년의 회복 때문에 확인 구간의 x 는 대부분 양수다.

서울 아파트 월별 계약 건수와 x
위: 서울 아파트 매매 계약 건수(계약일 기준, 해제 포함). 2022 년에 월 1,000건 아래로 떨어졌다. 아래: 매월 첫 거래일 s 에 쓸 수 있던 x(신고 기한이 끝난 달의 전년 대비). 점 하나가 회귀 표본 한 행이다.

언제 무엇을 아는가

자료는 2026-10-29 에 받은 스냅샷이라 «신고일» 열이 없다. 과거 어느 날 공개돼 있던 건수를 그대로 다시 만들 수 없으므로, 신고 기한이 끝난 계약만 쓴다. 기한이 지난 계약은 그날까지 신고가 끝났어야 하기 때문이다. 또 기한 뒤의 계약 해제는 나중에 알게 된 정보이므로 해제를 뺀 건수가 아니라 해제를 포함한 전체 건수를 쓴다.

m* 를 정하는 예
s기한s − 기한그 달m*(전달)정보 지연
2020-03-0260일2020-01-022020-012019-12약 2 ~ 3개월
2024-01-0230일2023-12-032023-122023-11약 1 ~ 2개월

코드는 s 가 2020-04-21 이전이면 60일, 이후면 30일을 쓴다(2020-02-21 이전 계약에 60일 기한이 걸려 있던 시기를 덮는다). 매매는 e 개장(2025-11 까지 09:00, 2025-12 부터 08:45)에 시작하므로 x 는 그보다 한참 전에 알려진 값이다.

방법

이 실험은 2026-10-29 에 사전등록한 다자산 2차 프로그램의 하나다. 이 실험에 해당하는 공통 규칙은 아래와 같다.

  1. 주가설 하나. 판정은 H272 하나로 한다. 3개월 합, 다른 목표 변수는 탐색이다.
  2. 증분 회귀(T1 꼴). 이미 알려진 밤사이 충격(미국 10년 금리 변화, 원화 고유 충격)을 통제 변수로 넣고 그 위에 x 의 계수를 본다. 발견 구간에서 부호를 정하고, 확인 구간에서 그 방향 한쪽 p < 0.05 면 지지.
  3. 분할. 발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10.
  4. 다중검정. 2차 프로그램 주가설 전체(이 실험을 마친 시점 H259 ~ H275, 17개)에 Holm 보정을 건다.
  5. 채택 문턱. 계수만 의미가 있으면 «보류(설명력만)». 매매 후보가 되려면 비용 뒤 이익과 기존 전략과의 독립성까지 보여야 한다. 이 실험은 계수 단계에서 멈췄다.

모델

모델은 설명 변수 세 개의 선형회귀다. 월마다 한 행, fwd20 을 상수, g_us, ε, x 에 회귀한다. g_us 와 ε 은 s 하루의 해외 충격을 빼는 통제 변수다. 학습할 값이 네 개뿐이라 과적합 위험은 작지만, 표본이 월간이라 확인 구간이 41개뿐인 점이 정밀도를 크게 제한한다.

회귀 설정
항목값
목표fwd20: 3선 e 시가 → s 로부터 20번째 거래일 종가(틱)
설명 변수상수, g_us(bp), ε(%), x(로그 전년 대비)
표본매월 첫 한국 거래일, 빈 값이 있는 달 제외
추정최소제곱, 구간별 한 번
표준오차Newey-West HAC, 지연 2
학습된 계수(틱, 괄호는 t)
변수발견확인
상수+6.02 (1.57)−13.41 (−1.10)
g_us, 1bp 당+0.38 (0.45)+0.82 (0.39)
ε, 1% 당−8.17 (−0.48)−17.29 (−0.96)
x, 1 당+6.78 (1.20)+7.97 (0.38)
R²0.0170.025
H272 회귀 계수와 x 분위별 3선 20일
왼쪽: 학습된 H272 회귀 계수와 95% 구간(커밋된 확증 런의 x 계수와 t 를 다시 계산해 소수 아홉째 자리까지 같은 것을 확인했다). 세 계수 모두 두 구간에서 구간이 0 을 걸친다. 오른쪽: x 5분위별 3선 다음 20거래일 평균(서술). 어느 구간에서도 분위를 따라 한 방향으로 늘거나 줄지 않는다.

결과

확증 결과

주가설 H272(런 20261029T145147_main)
항목발견 2013 ~ 2022확인 2023 ~ 2026
표본(월)11141
x 계수(틱/1)+6.78 (t 1.20)+7.97 (t 0.38)
정한 부호양(+)
한쪽 p0.351
Holm 보정 p(2차 주가설 17개)1.00

x 가 1 표준편차(약 0.6 ~ 0.8) 움직일 때 3선 20일 기대는 약 4 ~ 6틱 바뀐다. 같은 20일 손익의 표준편차가 50 ~ 70틱이므로 효과는 하루하루의 흔들림에 비해 열 배 이상 작고, 확인 구간 41개월로는 구별할 수 없다.

분위와 산점도로 보면

아래는 확증 런과 같은 표본을 다시 만들어(계수를 대조해 확인) 나눠 본 서술 통계다.

x 5분위별 3선 다음 20거래일 평균(틱, 서술)
분위발견 x 평균발견 y확인 x 평균확인 y
1(거래 감소)−1.36+3.48−0.28−20.11
2−0.47+4.36+0.29+15.13
3−0.03+5.64+0.51−17.38
4+0.28−5.46+0.74−12.50
5(거래 증가)+0.89+17.41+1.34−6.25
분위당 표본22 ~ 238 ~ 9

발견 구간의 양의 계수는 대부분 5분위(+17.4틱) 한 칸에서 나온다. 확인 구간은 분위당 8 ~ 9개월이라 한두 달의 큰 움직임이 평균을 좌우한다(3선 20일이 ±200틱 가까이 움직인 달이 있다).

x 와 3선 20일 산점도
월별 점(x, 3선 다음 20거래일)과 학습된 기울기(통제 변수는 각 구간 평균에 고정). 두 직선 모두 약하게 오른쪽 위로 기울지만 점들의 흩어짐이 기울기보다 훨씬 크다. 확인 구간 직선이 아래로 내려앉은 것은 2023 ~ 2026 년 3선 평균 손익(상수)이 음이었기 때문이다.

탐색 결과

사전등록 탐색(판정에 쓰지 않음, 계수와 t)
항목발견확인
E1 x 를 3개월 합 전년 대비로+6.65 (0.97), 110개월+13.21 (0.53), 한쪽 p 0.30
E2 y = 3선 다음 5거래일+2.16 (0.68)+2.22 (0.41), 42개월, 한쪽 p 0.34
E2 y = 10선 다음 20거래일+22.46 (1.06)+26.73 (0.39), 한쪽 p 0.35

어느 변형도 두 구간 모두 같은 양의 부호지만 t 가 1 근처에 머문다. 사전등록한 E3(단말의 주택 전체 거래, 신고월 기준 2019-04 ~)은 돌리지 않았다.

해석

부호는 «서울 거래가 늘면 다음 달 3선이 오른다(금리가 내린다)» 쪽으로 두 구간과 모든 변형에서 같았다. 거래 증가가 금리 하락 기대의 결과이고, 그 금리 하락이 조금 더 이어지는 모양일 수 있다. 그러나 이 정보는 신고 기한 때문에 1 ~ 3개월 늦게 쓸 수 있고, 그동안 시장은 부동산원 주간 통계와 기사로 같은 흐름을 이미 봤을 것이다. 늦게 확정되는 공식 건수만으로는 금리에 더할 정보가 남지 않았다. 매일의 신고 건수 스냅샷을 쌓으면 기한 전 정보로 다시 볼 수 있다.

한계

  • 확인 구간이 41개월뿐이라 계수의 표준오차가 크다(95% 구간 약 −33 ~ +49틱).
  • 스냅샷 자료라 과거 시점에 실제로 공개돼 있던 건수를 재현하지 못한다. 기한이 지난 계약만 써서 미래 정보는 피했지만, 그 대가로 정보가 늦다.
  • 신고 기한 전환(60일 → 30일)은 계약일 기준인데 코드는 s 날짜 2020-04-21 로 나눴다. 전환 직후 두어 달의 m* 가 한 달 이르거나 늦을 수 있다.
  • 사전등록 탐색 E3 은 실행하지 않았다.
  • 분위 표와 산점도는 결과를 본 뒤 만든 서술 통계다.

산출물

  • 계획protocol.md(사전등록 f131303)
  • 분석, 판정analysis.md
  • 코드code/s1_apt.py(확증), code/s_detail.py(서술 표), code/render_figures.py(그림)
  • 런results/20261029T145147_main/, results/20261030T163058_detail/(monthly.csv, contracts_by_month.csv, detail.json)

Appendix

A. 데이터셋 실물

원자료 seoul_apt_trades_by_contract_day.csv 의 첫 행(계약일 하루 한 행).

계약일별 집계 원자료 일부
계약일전체해제해제 제외직거래중개등기 완료신고 기한일
2012-01-018080002012-03-01
2012-01-02650650002012-03-02

회귀 표본 monthly.csv 의 실제 행. 열은 s, m*, m* 계약 건수, 12개월 전 같은 달 건수, x, 3선 다음 20거래일(틱), g_us(bp), ε(%).

monthly.csv 일부(반올림)
sm*건수12개월 전xfwd20g_usε
2020-03-022019-129,6391,590+1.80−2−3−0.18
2020-04-012020-016,5001,723+1.33+49−8+0.33
2020-05-042020-034,6342,281+0.71+400−0.35
2024-01-022023-111,933768+0.92−7+7−0.06
2024-02-012023-121,875910+0.72−44−12+0.34
2024-03-042024-012,6941,497+0.59+11+3+0.21

2020-05-04 행은 m* 가 2020-04 가 아니라 2020-03 이다. s − 60일이 2020-03-05 라 그 전달을 쓴다.

B. 모델 입출력 실물

발견 구간에서 학습한 계수(상수 +6.02, g_us +0.38, ε −8.17, x +6.78)로 계산한 예다.

Request meta
s = 2020-04-01(발견 구간), 신고 기한 60일 적용, e 개장 전 계산
Input
m* = 2020-01, 계약 6,500건, 1년 전 같은 달 1,723건 → x = log(6,500 / 1,723) = 1.33. g_us = −8bp, ε = +0.33%
Model response
fwd20 기대 = 6.02 + 0.38 × (−8) − 8.17 × 0.33 + 6.78 × 1.33 ≈ +9.3틱(3선 강세 방향)
Ground truth check
실제 +49틱. 방향 일치
Request meta
s = 2024-01-02(확인 구간), 신고 기한 30일 적용
Input
m* = 2023-11, 1,933건 대 768건 → x = 0.92. g_us = +7bp, ε = −0.06%
Model response
fwd20 기대 = 6.02 + 0.38 × 7 − 8.17 × (−0.06) + 6.78 × 0.92 ≈ +15.4틱
Ground truth check
실제 −7틱. 방향 불일치

C. 실험 설정

  • 건수해제 포함 전체 계약, 계약일 기준 달력월 합
  • 정보 시점s 가 2020-04-21 이전이면 60일, 이후 30일. m* = (s − 기한)이 속한 달의 전달
  • xlog(m*) − log(m* − 12개월)
  • 목표3선 e 시가 → s + 20거래일 종가
  • 회귀통제 g_us, ε, HAC 지연 2, 구간별 최소제곱
  • 분할발견 2013-01 ~ 2022-12, 확인 2023-01 ~ 2026-10
  • 문턱확인 한쪽 p < 0.05, 2차 주가설 Holm 함께 보고
  • 탐색E1 3개월 합, E2 3선 5일과 10선 20일(E3 미실행)