단지 검색
백테스트 보고서 v3 · 서울 아파트

서울 공포탐욕지수백테스트

    지수와 실제 거래 가격

    연도별 값 표로 보기

    엔진 점검과 수정 (v3.1 · v3.2)

    v3를 자동 갱신에 올리기 전에 구조를 다시 점검했어요. 고쳐야 할 오류 3개, 설계상 약점 5개, 경미한 문제 4개를 찾아 모두 반영했어요. 그 결과 성적은 실제 수준으로 내려왔고, 이 보고서의 숫자는 모두 고친 뒤의 값이에요. v3.2에서는 금리와 가계신용을 한국은행 원자료로 바꿨어요.

    5년 구간별 성적

    세 구간만으로는 구간을 어떻게 자르느냐에 따라 결과가 크게 달라져서, 5년 창을 1년씩 옮겨가며 13번 평가했어요. 숫자는 지수와 이후 12개월 실거래 가격의 순위상관이에요. '이후 12개월'은 점수가 발표되는 달(기준월 다음 달 20일)부터 재요. 기준월부터 재면 발표 전 1개월이 섞여 성적이 부풀어요(2026-10-22 점검에서 고침). 단순한 기준 세 가지와 나란히 놓았어요.

    실제 가중치

    표를 선행·동행·후행 세 그룹으로 나눠 같은 비중으로 평균 내기 때문에, 그룹마다 표 수가 다르면 한 표의 무게도 달라져요. 최신 달 기준 주제별 실제 비중이에요. 비중을 억지로 맞추는 두 방식(그룹 안 주제 균등, 소득연계 통계 합치기)은 최악 구간 성적을 나쁘게 만들어서 채택하지 않고, 대신 숫자를 공개해요.

    주제별 비중

    표 구성

    실시간 검증

    시점 의존성 점검 (v3를 정할 때 · 공개 시차 반영 전)

    2006년과 지금은 데이터가 만들어지는 방식, 정책, 시장 구조가 많이 달라요. 지표마다 추세와 단절이 있는지, 점수가 0이나 100에 오래 붙어 있는지 진단하고, 해결책 후보를 실거래 정답으로 시험했어요.

    확인한 위험 요소

      추세가 크거나 점수가 오래 고착된 지표

      추세: 시간과의 순위상관. 평균 이동: 2016년 전후 평균 차이(표준편차 단위). 고착: 점수가 10 이하나 90 이상에 연속으로 머문 최장 개월.

      해결책 비교 (실거래 정답, 세 구간 순위상관)

      지표마다 최근 10년 안에서 순위를 매기는 방식이 이미 대부분의 장기 변화를 흡수하고 있었어요. 추세를 지우면 과열 신호까지 같이 지워졌고, 과거 성적으로 가중치를 정하는 방법은 사이클이 두 번뿐인 데이터에서 잡음에 맞춰졌어요. 그래서 성능은 지키면서 시기마다 구성이 같아지는 고정 구성을 택했어요.

      눈금 펴기

      여러 지표를 평균하면 점수가 가운데로 몰려요. v2는 20년 동안 26~84만 써서 극단적 공포가 한 번도 나오지 않았어요. 그래서 마지막에 50을 중심으로 눈금을 넓혔어요.

      두 가지 펴는 방법

      결과

        묶는 방식 비교 (v2 분석, 45개 기준)

        같은 45개 지표를 서로 다른 기준으로 묶었어요. 숫자는 지수 점수와 이후 12개월 실거래 가격 변화의 순위상관이에요(1이면 완벽, 0이면 무관). 이 v2 분석 표는 그때 방식대로 기준월부터 잰 값이라, 발표 기준으로 재면 조금 낮아요. 7년씩 세 구간으로 나눠 가장 나쁜 구간의 값으로 순위를 매겼어요. 오른쪽 끝 열은 정답을 KB 지수로 바꿨을 때의 최저값이에요.

        막대는 세 구간 중 최저값, 가는 선은 전체 기간의 90% 신뢰구간(12개월 블록 부트스트랩)이에요. 1·2위는 신뢰구간이 겹쳐서 사실상 같은 수준이에요.

        가격부담을 빼면 2006–2019년에 안 맞아요 (v2 분석)

        v1은 KB 지수를 정답으로 두 구간만 비교해서 가격부담을 뺐어요. 실거래 정답과 세 구간으로 다시 보니, 빼는 쪽은 최근 구간에서만 좋고 앞의 14년 동안은 약했어요. 그래서 v2는 실시간으로 계산할 수 없는 KB 분양·입주 일정 두 개만 빼고 나머지를 모두 넣었어요.

        주제 그룹은 구간마다 크게 흔들려요 (v2 분석)

        그룹 하나만으로는 어느 구간에서든 꾸준한 게 없었어요. 관심(검색량)과 자금(금리)은 2020년 이후에만 맞았고, 가격부담은 그때만 반대로 움직였어요. 서로 다른 구간에 강한 그룹을 섞었기 때문에 종합지수가 꾸준해진 거예요.

        새로 넣은 지표 (v2 분석)

        API 키로 받은 국토부 실거래, 한국부동산원, 청약홈 자료로 만든 지표예요. 청약 지표는 청약홈 자료가 2020년부터라 마지막 구간만 평가할 수 있어요.

        데이터에서 찾은 함정 두 가지

        정답과 지표를 바꾸면서 기존 공개 지수의 문제가 드러났어요.

        KB 분양물량의 최근 값은 계획치예요

        서울 분양 세대수. KB 수치에는 조합원 몫이 포함돼 평소에도 청약홈보다 2~3배 크지만, 2025년부터 차이가 9~13배로 벌어졌어요. 아직 실행되지 않은 일정이 섞인 거예요.

        부동산원 지수는 2017–2021년 상승을 덜 잡았어요

        서울 아파트 연간 상승률(%). 실거래 반복매매지수와 비교하면 부동산원 지수가 크게 낮았어요. 그래서 이 지수는 정답으로 쓰지 않았어요.

        점수 구간별 이후 12개월 실거래 가격 (2011년 2월 이후)

        과거에 잘 맞은 조합을 고르면 생기는 일 (v2 분석)

        지표 2~4개 조합 19만여 개를 모두 시험했어요. 학습기간 성적이 좋은 조합을 골라도 검증기간에서는 아무 조합이나 고른 것과 차이가 없었어요. 의미 단위로 묶는 게 맞다는 v1의 결론은 그대로예요.

        지금 서울은

        v3 지수를 구성하는 세 그룹과, 설명용으로 본 주제별 점수예요. 그룹·주제는 표가 적어 이미 넓게 퍼져 있어 넓히지 않은 원점수예요(지수는 세 그룹 평균을 1.5배로 넓힌 값). 50보다 오른쪽이면 탐욕, 왼쪽이면 공포예요.

        지수 구성 (속도별)

        주제별 (참고)

        주요 국면에서 지수가 가리킨 값

        방법과 한계

        어떻게 했나

        • 정답: 국토부 실거래 141만 건으로 만든 서울 아파트 반복매매지수예요. 같은 단지·같은 면적이 연속으로 거래된 쌍을 썼고, 해제 신고 거래와 직거래는 뺐어요. KB 지수는 비교용으로만 썼어요.
        • 지표: 2009년 이전부터 자료가 있는 지표를 쓰되 같은 원자료에서 나온 것은 한 표로 묶어 25표로 계산해요(구글 검색어 6개도 한 표, 매수우위에서 파생된 지표는 제외). 이력이 짧은 11개(청약 경쟁률, 20·30대 매수 비중, 소비심리, 전망지수, 부동산원 수급, 한국은행 주택가격전망 CSI)는 보조 지표로만 보여줘요. 출처는 KB부동산 데이터허브, 한국은행 ECOS(기준금리, 국고채 10년, 주담대 금리, 가계신용, 명목 GDP, 소비자동향조사), 네이버 금융, 구글 트렌드, 한국부동산원 R-ONE(거래량, 매입자 거주지·연령·주체, 미분양, 매매·전세수급, 소비심리), 청약홈(1순위·무순위 경쟁률, 실제 공급), 국토부 실거래(신고가·급락거래 비중)에서 만들었어요.
        • 점수화: 과거 120개월 안에서의 백분위로 바꿨어요. 그 시점까지의 정보만 써요.
        • 시점: 기준월 점수는 다음 달 20일에 발표해요(KB 월간 자료가 그달 말에 나와서). 그날 나와 있는 가장 새 달을 써요(v3.5): 금리·주가·검색량·CSI·청약·부동산원 수급은 그달, 부동산원 거래 통계·미분양·주담대 금리·국토연 소비심리·실거래 신고가·급락은 한 달 전(실거래는 신고 기한이 60일이던 2020년 2월 전엔 두 달 전), 가계신용은 분기가 끝나고 2개월 뒤, PIR·구매력은 KB가 분기마다 공개한 달부터 써요. 과거 점수도 같은 규칙이라 한 번 발표한 점수가 나중에 바뀌지 않아요.
        • 평가: 5년 창을 1년씩 옮기며 13번 잰 순위상관의 중앙값과 최저값을 봐요. 구조를 바꿀 때는 이 기준을 결과를 보기 전에 정해두고 골랐어요.
        • 눈금: 점수 = 50 + 1.5 × (원점수 − 50), 0~100으로 잘라요. 모든 시점에 같은 배율이라 순서와 정확도가 그대로예요.

        조심해서 읽을 점

        • 엔진의 선택(지표 구성, 검색량 기준, 눈금 1.5배, 표 묶기)은 모두 2006–2026년 자료를 본 뒤에 정했어요. 그래서 이 보고서의 성적에는 낙관적 편향이 남아 있어요. 진짜 검증은 2026년 9월부터 쌓는 실시간 기록으로 해요.
        • 권역 점수 차이가 5점 미만이면 의미 있는 차이로 보기 어려워요. 25표 중 14표만 권역 값이고, 서남권은 서울 지수가 더 잘 맞았어요.
        • 뉴스 언급량(빅카인즈)은 넣지 않았어요. 백테스트에서 개선이 없었어요.
        • 서울의 큰 하락은 표본에 두 번뿐이고, 2025년 10월 이후의 토지거래허가구역 국면은 거의 없어요.
        • 청약홈의 청약 신청·당첨자 통계 API는 아직 승인 대기 중이에요.

        재현: update_pipeline.py (자료 갱신 → v3.2 계산 → 지도·보고서·사이트). 점검 코드는 audit.py, audit2.py, 구조 비교는 eval_structure.py, 실시간 기록은 live_track.py예요.