레슨 3 / 5 · 약 7분
적정가 밴드와 상승여력
적정가를 업종 PER 쪽으로 일부만 당겨 범위로 내는 방법, +60% 상한, 산출 보류 사유.
종목 화면의 '적정가 추정'은 그 종목의 PER을 같은 업종 상장사의 PER 쪽으로 일부만 당겨 만든 값입니다. 한 숫자로 내지 않고 보수~낙관 범위로 냅니다. 비교 대상과 가정에 따라 값이 크게 달라지는데, 한 숫자로 쓰면 그 불확실성이 숨어 버리기 때문입니다.
적정가를 만드는 방법
- 목표 PER(부분 회귀)
- 목표 PER = 이 종목 PER + λ × (비교군 PER − 이 종목 PER). 비교군 PER은 같은 업종 상장사 PER의 25번째·50번째·75번째 백분위를 써서 각각 보수·기준·낙관 값을 만듭니다. λ는 같은 업종 표본(자기 제외)이 5개 이상이면 0.3, 2~4개면 0.15이고, 그보다 적으면 시장 전체 상장사를 비교군으로 쓰면서 0.15를 씁니다. 말로 풀면 "업종 수준과의 차이 중 30%만 메운다"는 뜻입니다. 적정가 = 현재가 × 목표 PER ÷ 이 종목 PER.
현재가 50,000원, PER 8배. 같은 업종(자기 제외) PER 25·50·75번째 백분위 = 9배 · 12배 · 16배, 표본 5개 이상 → λ 0.3
보수: 8 + 0.3 × (9 − 8) = 8.3배 → 50,000 × 8.3 ÷ 8 = 51,875원
기준: 8 + 0.3 × (12 − 8) = 9.2배 → 57,500원
낙관: 8 + 0.3 × (16 − 8) = 10.4배 → 65,000원
상승여력 = (57,500 − 50,000) ÷ 50,000 = +15.0%
계산 예시. 업종 중앙 PER은 이 종목의 1.5배지만 기준값은 현재가보다 15%만 높다. 차이의 30%만 반영하기 때문이다
λ를 0.3으로 둔 것은 보수적인 선택입니다. 업종보다 PER이 낮은 데에는 대개 시장이 아는 이유가 있다고 보고, 업종 수준까지 다 올라간다고 가정하지 않습니다. 비교군을 만들 때 자기 자신의 PER은 뺍니다. 표본이 작을 때 자기 PER이 섞이면 적정가가 현재가로 끌려가기 때문입니다. 종목 카드에는 만 원 단위로 반올림해 '5만~7만원'처럼 나오고, 상승여력에 마우스를 올리면 '51,875원 ~ 65,000원'처럼 원 단위 범위와 계산식이 나옵니다.
숫자를 읽는 순서
- 범위의 폭을 봅니다. 폭이 넓으면 업종 안에서 평가가 크게 갈린다는 뜻입니다.
- 현재가가 범위의 어디에 있는지 봅니다. 범위 아래, 안쪽, 위 중 어디인지가 상승여력보다 먼저입니다.
- 숫자에 마우스를 올려 근거를 봅니다. 비교 대상과 표본 수, 비교군 중앙 PER, 이 종목의 PER·ROE가 나옵니다.
- 상승여력은 기준값(중앙값으로 만든 값) 대비 거리입니다. 범위 전체를 대표하지 않습니다.
현재가 50,000원, 적정가 기준값 60,000원 → (60,000 − 50,000) ÷ 50,000 = +20.0%
현재가 50,000원, 기준값 90,000원이면 +80.0% → +60%를 넘으므로 숫자 대신 '시장이 구조적 할인을 적용 중인 구간'
현재가 50,000원, 기준값 28,000원이면 −44.0% → −40%보다 낮으므로 '시장가가 산출 적정가를 크게 상회'
λ 0.3에서 +60%가 나오려면 업종 중앙 PER이 이 종목 PER의 3배여야 한다: 1 + 0.3 × (3 − 1) = 1.6
왜 +60%에서 자르나
증권사 목표주가도 현재가 대비 대체로 ±40% 안에 있습니다. 계산상 +80%가 나왔다면 회사가 그만큼 저평가됐을 수도 있지만, 시장이 업종 비교로는 잡히지 않는 이유(지배구조, 일회성 이익, 업황 악화 전망)로 꾸준히 할인하고 있을 가능성이 더 큽니다. 그런 숫자를 그대로 보여 주면 오해를 부르기 때문에 라벨로 바꿉니다. 아래쪽도 −40%에서 같은 방식으로 라벨 처리합니다.
적정가를 내지 않는 경우
- 1은행·보험·증권인가
그렇다면 '금융업은 별도 모델 필요'
- 2PER이 있는가
정규화 순이익이 0 이하면 '적자로 적정가 산출 불가'
- 3PER 300배 이하인가
넘으면 '추정 편차가 커 표시하지 않음'
- 4비교 표본이 있는가
자기 제외 업종 2개 미만이고 시장 전체도 10개 미만이면 '데이터 부족'
- 5밴드가 정상 범위인가
낙관값이 현재가의 2배 초과 또는 밴드 폭이 현재가 초과면 '추정 편차'
- 6업종 분류가 있는가
없으면 '업종 미분류로 산출 보류'
- 7기준값이 현재가와 다른가
같으면 '데이터 부족', 다르면 밴드와 상승여력 표시
scripts/update_data.py 의 compute_fair_value_band 기준
| 화면 표시 | 이유 | 2026-10-12 종목 수 |
|---|---|---|
| 밴드 표시 | 위 판정을 모두 통과 | 248 |
| 적자로 적정가 산출 불가 | 이익이 0 이하라 PER 비교가 성립하지 않습니다. | 145 |
| 추정 편차가 커 표시하지 않음 | PER이 300배를 넘거나 밴드가 지나치게 넓습니다. | 94 |
| 업종 미분류로 산출 보류 | 비교할 업종이 정해지지 않았습니다. | 7 |
| 금융업은 별도 모델 필요 | 은행·보험·증권은 부채가 영업 재료라 일반 PER 비교가 맞지 않습니다. | 6 |
| 적정가 산출 데이터 부족 | 비교 표본이 부족하거나 기준값이 현재가와 같습니다. | 0 |
지주사는 산출하되 보수·기준·낙관 세 값 모두에 30% 할인을 반영합니다. 지주사는 자회사 가치의 합보다 낮게 거래되는 경향이 오래 이어져 왔고, 업계에서 흔히 말하는 할인 폭 30~50% 중 낮은 쪽을 택했습니다. 위 D부품이 지주사였다면 기준값은 57,500 × 0.7 = 40,250원, 상승여력은 −19.5%가 됩니다. 종목 화면에는 '지주사 할인 30% 반영'이라고 따로 적습니다.
마우스를 올리면 나오는 근거
| 항목 | 읽는 법 |
|---|---|
| 비교 대상 | 어느 업종의 몇 개 회사와 비교했는지. '표본이 적어 보수적으로 보정'이나 '시장 전체 상장사(업종 표본 부족)'로 적혀 있으면 λ 0.15가 쓰인 것입니다. |
| 비교군 중앙 PER | 비교 대상의 PER을 줄 세운 가운데 값. 평균 대신 중앙값을 써서 극단값의 영향을 줄입니다. |
| 이 종목 | PER·ROE. 계산에는 PER만 쓰이고, ROE는 업종보다 높은 PER을 받을 근거가 있는지 스스로 판단하라고 함께 보여 줍니다. |
| 추가 보정 | 지주사 할인처럼 업종 비교 뒤에 따로 적용한 조정. |
D소재: 적정가 9만~11만 원, 현재가 8만 원 → 범위 전체가 현재가보다 위에 있고 폭은 현재가의 25%입니다.
E소프트: 적정가 7만~14만 원, 현재가 8만 원 → 범위 안에 있고 폭이 현재가의 88%입니다.
두 종목의 상승여력 숫자가 비슷하게 나와도, E소프트의 숫자는 비교군 가정 하나에 크게 흔들리는 값입니다.
같은 계산에서 폭이 현재가를 넘었다면(예: 5만~16만 원) 숫자 대신 '추정 편차가 커 표시하지 않음'이 나옵니다.
핵심 정리
- 목표 PER은 업종 PER 백분위(25·50·75번째) 쪽으로 차이의 30%(표본이 적으면 15%)만 당겨 만듭니다.
- 상승여력이 +60%를 넘으면 '구조적 할인 구간', −40%보다 낮으면 '시장가가 크게 상회' 라벨로 표시합니다.
- 금융업·적자·PER 300배 초과·밴드 과대·업종 미분류는 적정가를 내지 않고 사유를 적습니다.
- 지주사는 30% 할인을 반영하고, 적정가는 목표주가가 아닙니다.