buildrisk-radar

ADR-015 아파트 매매 실거래 — 가격지수보다 먼저 움직이는 ‘거래량’

왜 기존 지역 신호는 미분양(KOSIS, 월)과 가격지수(R-ONE, 월)였다. 시장이 식을 때는 가격보다 거래량과 계약 해제가 먼저 움직인다. 국토부 실거래가는 계약 한 건 단위라 거래 건수 · 해제율 · ㎡당 가격을 직접 계산할 수 있다.

수집 aptTradeJob — (시군구 × 계약월) 하나 = 항목 하나. 요청 코드 LAWD_CD 는 법정동 시군구 5자리로 V-World 경계 코드와 같다(실응답으로 확인, 2026 신설 코드 포함). 일반구가 있는 시는 일반구 단위로 받아 화면 단위(시)로 합친다. 한 (시군구, 달)은 통째로 교체하고, 최근 3개월은 매번 다시 받는다(늦은 신고·해제 반영). 수집 원장(mkt.apt_trade_fetch)이 ‘받았는데 0건’과 ‘안 받음’을 구분하고 재시작 지점이 된다(ADR-008).

저장 mkt.apt_trade 는 계약월 연 단위 RANGE 파티션. 지표 계산·재수집은 월 범위로만 읽고 지우므로 파티션 하나만 건드린다. 파티션은 마이그레이션에서 미리 만든다(ADR-014).

지표 TRADE_COUNT · TRADE_YOY · CANCEL_RATE · PRICE_M2_MEDIAN(해제 제외, 전용면적당 중앙값) · PRICE_M2_YOY.

규칙 R-R03 거래 절벽 + 미분양 증가 거래량 전년 동월 대비 ≤ −40% 이고 미분양 3개월 증감률 ≥ +10% (같은 달), 전년 같은 달 거래 30건 이상일 때만 (거래가 적은 군 지역의 우연한 변동 제외).

호출량 첫 적재 약 6,400건(256 시군구 × 25개월), 이후 주 1회 약 770건(최근 3개월). data.go.kr 트래픽은 API 별로 따로라 ops.api_quota(provider=RTMS) 로 자체 상한(기본 9,000)을 두고, 넘으면 STOPPED → 다음 실행에서 최근 달부터 이어받는다. 게이트웨이 오류 22 · HTTP 429 는 한도 초과로 해석.