아파트에는 '오늘의 가격'이 없다

2026-07-15

삼성전자의 지금 가격을 묻는 건 자연스러운 질문입니다. 화면에 실시간으로 떠 있으니까요. 장이 열려 있는 동안은 초 단위로 값이 갱신됩니다.

그런데 특정 아파트 단지의 "지금 가격"을 물으면, 정직한 대답은 이렇습니다. 모릅니다. 최근에 판 사람이 없으면, 있을 수가 없습니다.

주식과 부동산의 이 차이는 사소해 보이지만, 랭킹을 만드는 입장에서는 설계 전체를 뒤집는 문제입니다. 이 글은 왜 FomoBot의 아파트 랭킹이 주식 랭킹과 완전히 다른 방식으로 계산되는지에 대한 이야기입니다.

연속과 이산

주식 가격은 연속입니다. 거래가 없는 순간에도 마지막 체결가가 "현재가"로 남고, 언제든 그 값을 기준으로 어제와 비교할 수 있습니다. 상승률 계산은 뺄셈 한 번이면 끝납니다.

아파트 가격은 이산입니다. 값이 존재하는 시점은 누군가 실제로 사고판 그 순간뿐입니다. 그 사이의 시간에는 가격이라는 게 아예 없습니다. 호가는 있지만 그건 파는 사람의 희망이지 거래가 아닙니다. 실거래가만이 사실입니다.

주식은 "가격이 있는데 가끔 안 변한다"이고, 아파트는 "거래가 있을 때만 가격이 생긴다"입니다. 전자는 빈칸을 마지막 값으로 채우면 되지만, 후자는 채울 값 자체가 없습니다.

그래서 아파트에 대고 "어제 대비 오늘 몇 % 올랐나"를 물으면 대부분의 날에 답이 없습니다. 어제도 오늘도 거래가 없었을 테니까요. 이 질문 자체가 성립하지 않습니다.

점이 아니라 구간으로

답이 없는 질문을 답이 있는 질문으로 바꿔야 합니다. "오늘 가격"을 포기하고, 대신 기간을 봅니다.

특정 시점의 값 하나를 집는 대신, 그 시점 근처의 일정 기간에 실제로 팔린 거래들을 모읍니다. 이 기간을 창(window)이라고 부르겠습니다. 창 안의 거래들로 대표 가격을 하나 정하고 — 평균이 아니라 중위값을 씁니다, 극단적인 한 건에 휘둘리지 않도록 — 과거 창의 대표 가격과 비교해 상승률을 냅니다.

FomoBot의 부동산 랭킹은 이렇게 만들어집니다. 어느 시점을 기준으로 과거 방향으로 몇 달을 소급해 창을 잡고, 그 창의 중위 실거래가를 더 앞선 창의 중위가와 비교합니다.

구체적으로는 소급 폭을 n=3으로 씁니다. 다만 여기에 흔한 함정이 하나 있습니다. 종료월에서 3을 빼면 그 종료월 자체도 창에 포함되므로, 실제 달력상 폭은 3개월이 아니라 4개월이 됩니다. 종료월이 4월이면 창은 1·2·3·4월입니다. "3개월 창"이라고 말하기 쉽지만, 집계되는 실제 기간은 넉 달입니다. 이런 경계 하나가 뒤에서 상승률을 몇 %씩 흔듭니다.

세 건이라는 최소선

창을 잡았다고 끝이 아닙니다. 더 근본적인 문제가 남습니다. 창 안에 거래가 몇 건이나 있느냐.

주식은 이 걱정이 없습니다. 하루에도 수천, 수만 건이 체결됩니다. 하지만 아파트 한 단지의 특정 기간 실거래는 다섯 건일 수도, 두 건일 수도, 영 건일 수도 있습니다. 한 건뿐이라면 그 단지의 "대표 가격"은 그냥 그 한 건입니다. 그 한 명이 유난히 싸게 팔았거나 비싸게 샀다면, 단지 전체가 그렇게 움직인 것처럼 기록됩니다.

그래서 최소선을 둡니다. 창 안에 실거래가 최소 3건 있어야 랭킹에 넣습니다. 시작 창과 종료 창 양쪽 모두 이 조건을 만족해야 합니다. 어느 한쪽이라도 3건 미만이면 그 단지는 "표본 부족"으로 순위에서 빠집니다.

3건이 대단히 안전한 숫자라는 뜻은 아닙니다. 통계적으로는 여전히 위태롭습니다. 다만 이건 타협입니다 — 기준을 10건으로 올리면 대부분의 단지가 랭킹에서 사라져 서비스가 성립하지 않고, 1건을 허용하면 순위가 소음으로 가득 찹니다. 3건은 "그나마 순위라고 부를 수 있는" 최소선입니다.

그럼에도 3건은 이렇게 무너집니다

실제 사례를 보겠습니다. 최근 3개월 부동산 상승률 랭킹에서 1위, +98.4%를 기록한 단지가 있었습니다. 석 달 만에 값이 거의 두 배가 된 것처럼 보입니다.

거래를 열어보면 이야기가 다릅니다.

어느 단지의 시작 창과 종료 창 실거래 (㎡당 가격, 만원)
거래주로 팔린 평형중위 ㎡당가
시작 창5건115~131㎡ (큰 평형)1,260
종료 창3건60㎡ (작은 평형)2,500

이 단지 가격이 두 배가 된 게 아닙니다. 시작 창에서는 큰 평형이 다섯 건 팔렸고, 종료 창에서는 우연히 작은 평형만 세 건 팔렸습니다. 그리고 이 단지는 작은 평형이 ㎡당 더 비싸게 거래되는 구조였습니다.

+98.4%는 "이 단지가 올랐다"가 아니라 "이번 석 달에 마침 비싼 평형만 거래됐다"였습니다. 다음 석 달에 큰 평형이 다시 팔리면, 이 단지는 아무 일도 없었다는 듯 원래 자리로 돌아갈 겁니다.

3건 최소선은 이 단지를 걸러내지 못했습니다. 종료 창에 정확히 3건이 있었으니, 조건은 충족했으니까요. 문제는 건수가 아니라 그 3건이 어떤 평형이었느냐였습니다. 이건 시간 축의 문제(표본이 적다)와 단면 축의 문제(어떤 평형이 팔렸나)가 겹쳐서 나타난 사고입니다.

이 두 번째 축 — 같은 창 안에서도 어떤 평형이 팔렸느냐가 가격을 흔드는 문제 — 는 그 자체로 긴 이야기입니다. 왜 FomoBot이 상승률을 단지 값이 아니라 ㎡당가로 계산하는지는 다음 글에서 다루겠습니다.

정리 — 왜 이렇게까지 하나

주식 랭킹이라면 필요 없었을 장치들입니다. 창을 잡고, 중위값을 쓰고, 최소 거래 건수를 요구하는 일 전부가, 아파트에 "오늘의 가격"이 없다는 단 하나의 사실에서 나옵니다.

이 장치들은 부동산 랭킹을 주식 랭킹보다 덜 정밀하게 만듭니다. 그건 결함이 아니라 정직입니다. 이산적인 거래 기록에서 연속적인 가격을 억지로 짜내면, 없는 정밀도를 있는 척하게 됩니다. 그건 위의 +98.4% 같은 숫자를 진짜인 것처럼 내놓는 일입니다.

FomoBot이 부동산 순위를 보여주되 그 옆에 항상 거래 건수를 함께 두는 것은 그래서입니다. 순위는 참고고, 몇 건으로 만들어진 순위인지가 그 순위를 얼마나 믿을지를 결정합니다. 3건으로 만들어진 1위와 30건으로 만들어진 1위는 같은 1위가 아닙니다.

아파트 단지 랭킹 보기 →

데이터 기준 — 국토교통부 실거래가 공개 데이터 기반. FomoBot의 부동산 랭킹은 기준 시점에서 과거로 소급한 창(n=3, 시작월 포함 시 실제 폭 약 4개월)의 중위 실거래가를, 더 앞선 창의 중위가와 비교해 산출합니다. 시작·종료 창 각각 최소 3건의 실거래가 있어야 랭킹에 포함됩니다. 대표 가격은 평균이 아닌 중위값입니다.

사례에 관하여 — 본문의 단지 사례는 실제 실거래 데이터에서 원본 표기가 유일해 재계산으로 검증 가능한 건을 익명으로 인용한 것입니다. ㎡당 가격은 반올림했습니다.

투자 판단에 대하여 — FomoBot은 이미 지나간 실거래를 정리해 보여주는 도구입니다. 특정 단지의 매수·매도를 권유하지 않으며, 이 글의 어떤 내용도 투자 자문이 아닙니다. 실거래 표본이 적은 단지의 상승률은 특히 신중하게 읽어야 합니다. 투자 손익의 책임은 투자자 본인에게 있습니다.