종목 점수 계산에는 목표주가 대비 현재가 괴리율이 들어갑니다. 애널리스트들이 보는 값보다 지금 값이 싸면 점수가 올라가는 구조입니다. 상식적으로 보입니다.
그런데 이 구조가 급락장에서 이상하게 작동합니다. 실제로 관측된 일을 그대로 적습니다.
마이크론 주가가 하루에 약 10% 빠졌습니다. 그런데 그날 종목 점수는 78.4에서 81.4로 올랐습니다.
버그가 아닙니다. 식대로 계산하면 그렇게 나옵니다. 목표주가는 그대로인데 현재가만 10% 빠졌으니 괴리율이 벌어졌고, 괴리율이 벌어지면 점수가 오릅니다. 코드는 시킨 대로 했습니다.
문제는 목표주가가 정말로 그대로였느냐입니다.
같은 시기 국내 증권사 한 곳이 목표주가를 크게 낮췄습니다.
| 종목 | 기존 목표주가 | 하향 후 |
|---|---|---|
| SK하이닉스 | 4,200,000원 | 2,800,000원 |
| 삼성전자 | 550,000원 | 370,000원 |
3분의 1가량을 잘라낸 조정입니다. 그런데 집계 데이터에는 하루가 지난 뒤에도 반영되지 않았습니다. 컨센서스는 보통 여러 증권사 보고서를 모아 평균을 내는데, 그 수집과 갱신에 시차가 있습니다.
그래서 급락 국면에서는 이런 순서가 생깁니다. 주가가 먼저 빠지고, 목표주가는 며칠 뒤에 따라 내려옵니다. 그 사이 구간에서 괴리율은 실제보다 크게 계산됩니다. 즉 점수는 시장이 이미 반영한 악재를 아직 모르는 상태로 "싸졌다"고 말합니다.
여기서 한 겹 더 들어갑니다. 같은 기간 삼성전자의 평균 목표주가는 이렇게 움직였습니다.
| 시점 | 평균 목표주가 | 집계 건수 | 증권사 수 |
|---|---|---|---|
| 이전 | 460,714원 | 41건 | 14사 |
| 이후 | 465,385원 | 40건 | 13사 |
떨어진 게 아니라 올라갔습니다. 목표주가를 낮춘 보고서가 나온 직후인데도 말입니다.
이유는 건수에 있습니다. 41건 14사에서 40건 13사로 줄었습니다. 한 건이 빠지면서 평균이 다시 계산됐는데, 하필 빠진 것이 낮은 목표주가를 제시하던 곳이었습니다. 낮은 값 하나가 표본에서 사라지면 평균은 자동으로 올라갑니다.
그러니까 이 상승은 누가 목표주가를 올려서 생긴 게 아닙니다. 표본이 바뀌어서 생긴 것입니다. 평균값만 보면 이 둘은 전혀 구별되지 않습니다.
정리하면 급락 국면의 컨센서스 지표에는 최소한 세 가지 문제가 겹칩니다.
하나, 갱신 지연. 주가는 실시간이고 컨센서스는 며칠 늦습니다. 둘의 비율로 만든 값은 그 시차만큼 왜곡됩니다. 급락일수록 크게 왜곡됩니다.
둘, 표본 변동. 집계에 들어오고 나가는 증권사가 매번 바뀝니다. 평균의 변화가 의견의 변화인지 명단의 변화인지 알 수 없습니다. 그래서 평균만 보면 안 되고 건수를 같이 봐야 합니다. 건수가 흔들린 날의 평균 변화는 신호로 세지 않는 게 안전합니다.
셋, 방향의 역설. 위 두 가지가 겹치면 나쁜 소식이 점수를 올리는 구간이 생깁니다. 지표를 만든 사람이 의도한 방향과 정반대입니다.
지금 하고 있는 건 세 가지입니다.
표시. 화면에서 목표주가 관련 값 옆에 집계 건수와 증권사 수를 같이 보여 줍니다. 숨기는 것보다 낫습니다.
비중 제한. 목표주가 괴리율은 밸류·매크로 층에 들어가고, 이 층의 종합 지수 내 비중은 0.20입니다. 그 안에서도 이 지표는 여러 항목 중 하나입니다. 한 지표가 종합 점수를 끌고 다니지 못하게 하는 것이 애초에 층을 나눈 이유이기도 합니다.
그리고 아직 안 한 것. 건수가 급변한 날의 값을 자동으로 제외하는 규칙은 아직 넣지 않았습니다. 넣으려면 "급변"의 기준을 정해야 하는데, 그 기준을 사후에 정하면 그건 결과를 보고 규칙을 만드는 것이라 더 나쁩니다. 기준을 먼저 정하고 사양에 적은 다음 적용할 생각입니다.
하루 만에 크게 움직인 지표는 대개 세상이 바뀐 게 아니라 세는 방법이 바뀐 것입니다. 급락한 날 점수가 올랐다면 먼저 의심해야 할 것은 시장이 아니라 자기 계산식입니다.
지표가 늦게 오는 문제 전반은 지표는 늦게 옵니다에, 성적을 예쁘게 만드는 다른 방법들은 지표를 예쁘게 만드는 다섯 가지 방법에 적었습니다.