콘텐츠로 이동

블로그

기본적 분석 10장: 오늘의 후보 종목 스크리닝

스크리닝 후보 종목

9장에서 확인했듯이, 재무지표의 신호 효과는 섹터와 시장 국면에 따라 달라집니다. 그렇다면 ‘지금 이 순간, 어떤 종목이 좋은 밸류/퀄리티 신호를 보이는가?’라는 질문에 답할 수 있을까요? 이번 장에서는 8장에서 만든 복합 점수를 사용해, 2026년 9월 4일 기준으로 현재 가장 강한 재무지표를 보이는 20개 종목을 스크리닝합니다.

복합 점수는 PER, PBR, ROE, ROA, 배당수익률, 매출성장률, 영업활동현금흐름 7개 지표의 일별 순위를 합산한 값입니다(8장 참조). 점수가 낮을수록(순위가 낮을수록) 더 좋은 종합 밸류+퀄리티 신호를 보입니다.

스크리닝 기준일: 2026년 9월 4일

import pandas as pd
df = pd.read_csv("fundalmental_daily.csv", dtype={"code": str})
latest = df[df["date"] == "20260904"].copy()
# 7개 팩터의 현재 순위 계산 (낮을수록 좋음)
factors = ["per", "pbr", "roe", "roa", "div_yield", "revenue_growth", "cash_flow"]
for col in factors:
latest[col] = latest[col].fillna(latest[col].median())
latest["composite_score"] = (
latest["per"].rank()
+ latest["pbr"].rank()
+ latest["roe"].rank(ascending=False)
+ latest["roa"].rank(ascending=False)
+ latest["div_yield"].rank(ascending=False)
+ latest["revenue_growth"].rank(ascending=False)
+ latest["cash_flow"].rank(ascending=False)
)
# 상위 20개 (점수가 가장 낮은)
candidates = latest.nsmallest(20, "composite_score")[
["code", "name", "industry", "per", "pbr", "roe", "부채비율", "영업이익률", "div_yield", "revenue_growth", "composite_score"]
]
print(candidates)
순위종목산업PERPBRROE(%)부채비율(%)영업이익률(%)배당수익률(%)매출성장률(%)복합점수
1한국타이어앤테크놀로지특수 목적용 기계7.320.669.3987.638.683.521.25332.5
2기아자동차용 엔진 및 자동차 제조업6.530.8012.9261.767.955.386.23375.5
3한국전력전기업2.420.4319.40416.8513.854.804.32376.5
4에스엠오디오물 출판 및 원판 녹음업5.211.8041.6547.7615.582.0518.72384.0
5KCC기타 화학제품 제조업2.300.4523.51114.766.593.11-2.63393.5
6HD한국조선해양기타 금융업11.371.8517.78133.8613.043.5317.21409.5
7KT전기 통신업7.630.7410.22120.728.744.426.86458.0
8현대글로비스기타 운송관련 서비스업8.911.4918.1378.927.012.824.08466.0
9크래프톤소프트웨어 개발 및 공급업13.161.3710.6031.3131.701.0322.76494.0
10오리온기타 식품 제조업13.041.3110.5117.5516.752.777.35532.0

스크리닝 결과 원본은 CSV 파일에서 확인할 수 있습니다.

모든 후보 종목은 PER < 15 또는 PBR < 2를 만족합니다. 특히 1~3위는 PER이 7배 이하(한국전력 2.42배 포함)로, 극단적 가치주입니다.

부채비율 그룹후보 종목 수평균 PER
부채비율 < 100% (건전)5종7.48배
부채비율 100~300% (보통)4종8.21배
부채비율 > 300% (고부채)2종6.77배

한국전력(416.85%)과 대한항공(339.88%)은 부채비율이 매우 높지만, PER이 낮아도 후보로 뽑혔습니다. 이는 PER은 저렴해 보여도 재무 리스크가 높은 기업을 걸러내지 못한다는 한계를 보여줍니다.

3. 성장 기대감이 섞인 종목도 섞여 있음

섹션 제목: “3. 성장 기대감이 섞인 종목도 섞여 있음”
  • 크래프톤(매출성장 22.76%, PER 13.16배): 성장주이지만 재무지표가 좋아 복합 점수 상승
  • 오리온(부채비율 17.55%, 영업이익률 16.75%): 퀄리티 높은 성장주
  • 한국전력(PER 2.42배, 부채비율 416.85%): 밸류지만 재무 리스크 큰 ‘함정 후보’
리스크해당 종목설명
부채 과도한국전력, 대한항공, KT부채비율 300%+
성장 포용률한국타이어, 에스엠매출 성장률 높아도 영업이익률 낮을 수 있음
섹터 집중자동차/IT경기 민감도 높음
가치 함정KCC, 한국전력PER이 낮은 이유가 구조적 문제일 수 있음
  • 복합 스크리닝은 ‘PER만 낮은’ 종목을 걸러낸다: 1위 한국타이어는 PER 7.32배 + PBR 0.66 + 배당 3.52%의 ‘진짜 밸류’ 후보.
  • 하지만 모든 스크리닝 결과가 매수 후보는 아니다: 한국전력처럼 재무 리스크가 큰 기업도 스크리닝에 잡힐 수 있다.
  • 스크리닝 후엔 ‘부채비율’ 확인이 필수: 복합 점수에는 부채비율이 직접 포함되지 않았으므로, 후보군에서 부채비율을 추가로 검증해야 한다.
  • 후보군은 ‘시작점’일 뿐, ‘추천’이 아니다: 이 20개 종목은 ‘분석할 가치가 있는 출발점’이지, ‘지금 사야 할 종목’이 아니다.

다음 장(11장)에서는 이 20개 후보군을 포트폴리오로 운용했을 때의 백테스트 결과를 확인합니다. 실제로 돈을 벌었을까, 잃었을까?

결과 원본은 스크리닝 후보 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 11장: 백테스트하는 기본적 전략

백테스트 기본적 전략

10장에서 복합 점수를 사용해 20개의 후보 종목을 스크리닝했습니다. 이제 이 후보군들을 실제 포트폴리오로 운용했을 때 어떤 성과가 나왔는지 백테스트합니다. 밸류, 퀄리티, 복합 전략 3가지로 월별 리밸런싱을 시뮬레이션하고, 누적수익률, 샤프 비율, 최대낙폭을 비교합니다.

항목
검증 기간2026-01-01 ~ 2026-09-04 (166거래일)
표본기준일 거래대금 상위 300종
리밸런싱 주기월별 (매월 첫 거래일)
보유 비중조건을 만족한 종목에 동일 비중 (상위 25%)
거래비용거래 시 0.15% (왕복)
벤치마크전체 300종의 등비중 평균
전략팩터방향성설명
ValuePER + PBR낮을수록 좋음밸류 주식 선택
QualityROE + ROA + 영업이익률높을수록 좋음퀄리티 주식 선택
CompositePER + PBR + ROE + ROA + 배당 + 매출성장 + 현금흐름종합밸류 + 퀄리티 + 성장 + 배당
import pandas as pd
import numpy as np
df = pd.read_csv("fundamental_daily.csv", dtype={"code": str})
df["month"] = df["date"].str[:6]
val_cols = ["per", "pbr", "roe", "roa", "div_yield", "revenue_growth", "cash_flow"]
for col in val_cols:
df[col] = df[col].fillna(df[col].median())
# Value: low PER + low PBR (rank within month, ascending)
df["score"] = df.groupby("month")["per"].rank() + df.groupby("month")["pbr"].rank()
# Quality: high ROE + high ROA + high operating_margin
df["score"] = df.groupby("month")["roe"].rank(ascending=False) + df.groupby("month")["roa"].rank(ascending=False) + df.groupby("month")["operating_margin"].rank(ascending=False)
# Composite: combination of all factors
df["score"] = (
df.groupby("month")["per"].rank() + df.groupby("month")["pbr"].rank()
+ df.groupby("month")["roe"].rank(ascending=False) + df.groupby("month")["roa"].rank(ascending=False)
+ df.groupby("month")["div_yield"].rank(ascending=False) + df.groupby("month")["revenue_growth"].rank(ascending=False)
+ df.groupby("month")["cash_flow"].rank(ascending=False)
)
전략누적수익률연환산수익률Sharpe최대낙폭보유 종목 수(평균)
Value+35.39%+58.41%1.44-25.52%76
Quality+58.26%+100.76%1.56-34.12%76
Composite+48.80%+82.82%1.63-19.00%76
벤치마크(등비중)+54.33%+89.47%0.79-19.08%300

Value 전략 누적수익률

Quality 전략 누적수익률

Composite 전략 누적수익률

1. Quality가 유일하게 벤치마크를 능가했다

섹션 제목: “1. Quality가 유일하게 벤치마크를 능가했다”
전략벤치마크 대비
Value-18.94%p (하방)
Quality+3.93%p (우위)
Composite-5.53%p (하방)

검증 기간(2026년 1~9월)에는 Quality 전략만이 벤치마크(등비중 300종)를 능가했습니다. Value와 Composite는 각각 -18.94%p, -5.53%p 하방에서 마감했습니다.

전략Sharpe벤치마크 Sharpe
Value1.440.79
Quality1.560.79
Composite1.630.79

샤프 비율(위험조정수익)은 모든 전략이 벤치마크(0.79)를 2배 이상 높게 기록했습니다. 이는 개별 지표 기반 포트폴리오가 동일 비중 전략에 비해 더 안정적인 수익을 낸다는 것을 보여줍니다(단, 높은 샤프는 낮은 변동성에서도 나올 수 있음).

3. 최대낙폭은 Quality가 가장 컸다

섹션 제목: “3. 최대낙폭은 Quality가 가장 컸다”
전략최대낙폭
Value-25.52%
Quality-34.12%
Composite-19.00%

Quality 전략은 가장 높은 수익률을 냈지만 가장 큰 낙폭(-34.12%)도 기록했습니다. 반면 Composite는 수익률은 Value보다 높고 낙폭은 더 작아(-19.00%), 위험 조정 수익률 면에서 가장 균형 잡힌 전략이었습니다.

  • 검증 기간의 시장 구조가 설명한다: 2026년 1~9월은 퀄리티/성장 주가 강세였습니다. 밸류 주식(저PER)은 상대적으로 하방 성과가 좋지 않았습니다.
  • 하나의 구간으로 전략을 평가하면 안 된다: 기술적 분석 시리즈 12장에서도 강조했듯이, 이 결과는 “밸류 전략이 절대 안 좋다”는 것이 아니라 “2026년 1~9월 시장에서는 밸류가 어려웠다”는 것입니다. 다른 시장 국면에서는 역순일 수 있습니다.
  • 샤프 비율 vs 누적수익률: Composite은 샤프(1.63)가 가장 높고 낙폭(-19.00%)도 가장 작지만, 누적수익률(48.80%)은 벤치마크를 못 넘어섰습니다. 이는 ‘변화성이 낮다’는 것이 ‘수익이 높다’는 것을 의미하지 않는다는 교훈을 줍니다.
  • 거래비용의 영향: 300종 대상 상위 25%(≈75종)를 매월 리밸런싱하면 연간 거의 12회의 리밸런싱이 발생합니다. 0.15% 비용은 총 누적수익률에 약 3~5%p의 마이너스 영향을 미칩니다.

결과 원본은 전략 결과 CSV, Value equity CSV, Quality equity CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 12장: 기본적 분석과 기술적 분석의 통합

기본적분석과 기술적분석 통합

11장에서 Quality 전략만이 2026년 검증 구간에서 벤치마크를 능가했다는 것을 확인했습니다. 하지만 이 결과는 “기본적 분석만으로는 한계가 있다”는 것일까요, 아니면 “기본적 분석을 제대로 활용해야 한다”는 것일까요?

이번 장에서는 ‘기본적 분석’과 ‘기술적 분석’ 신호를 결합하면 더 좋은 결과가 나오는가?를 마지막으로 검증합니다. 기술적 분석 시리즈의 이동평균 신호(MACD, RSI 등)와 기본적 분석의 재무지표(Quality, Value 점수)를 교차해서, 두 접근을 결합한 포트폴리오의 성과를 측정합니다.

전략기본적 분석기술적 분석기대 효과
Value only저PER + 저PBR밸류 주식 선택
Technical onlyMACD 골든크로스 + RSI 회복추세 추종
Value ∩ Technical저PER + 저PBRMACD 골든크로스 유지프리미엄 밸류 (가격이 싸고 추세도 좋은)
Quality ∩ Technical고ROE + 고ROAMA20 > MA60 상승세퀄리티+모멘텀
전략누적수익률샤프최대낙폭
Value (기본적 only)+35.39%1.44-25.52%
Technical (MA trend, from 기술적 분석 12장)+63.55%2.12-31.05%
Value ∩ MA trend+78.42%1.89-22.47%
Quality ∩ MACD+82.15%2.01-28.93%
Composite ∩ MA trend+67.89%1.94-21.17%
벤치마크(등비중)+54.33%0.79-19.08%

통합 전략 누적수익률

1. 통합 전략이 단기적 분석을 능과한다

섹션 제목: “1. 통합 전략이 단기적 분석을 능과한다”
전략벤치마크 대비
Value ∩ MA trend+24.09%p
Quality ∩ MACD+27.82%p
Technical (MA trend)+9.22%p
Value (기본적 only)-18.94%p

통합 전략(Value ∩ MA trend)은 단일 Value 전략(-18.94%p)에 비해 42.80%p 높은 성과를 기록했습니다. 이는 ‘기본적 분석 신호로 후보를 좁히고, 기술적 분석 신호로 타이밍을 잡으면 더 좋은 결과’가 될 수 있음을 보여줍니다.

2. Quality ∩ MACD가 최고의 샤프 비율

섹션 제목: “2. Quality ∩ MACD가 최고의 샤프 비율”

Quality ∩ MACD 전략은 누적수익률 +82.15%, 샤프 2.01, 최대낙폭 -28.93%로, 전략 중 가장 높은 샤프 비율을 기록했습니다. 퀄리티 좋은 기업을 모멘텀(trend)과 결합하면, ‘좋은 기업 + 좋은 추세’가 시너지 효과를 냅니다.

3. 기술적 분석이 기본적 분석보다 검증 기간에 더 유리했다

섹션 제목: “3. 기술적 분석이 기본적 분석보다 검증 기간에 더 유리했다”

마찬가지로, 기술적 분석 시리즈(2026-01-01 ~ 2026-09-04 검증)에서 MA 추세 전략은 +63.55%의 높은 수익률을 기록했습니다. 이는 ‘2026년 상반기 ~ 초반 가을 시장은 추세 추종에 유리한 시장’이었음을 보여줍니다.

  1. 후보군 축소로 인한 ‘품질 향상’: 기본적 분석으로 300종 → ~75종으로 좁히면, 남는 종목들의 평균 밸류에이션이 높아집니다.
  2. 추세 필터로 ‘시점 분리’: 기술적 분석 신호(MA 양치, MACD 골든크로스)는 ‘지금 샀을 때 추세가 좋은가’를 필터링합니다. 밸류 주식이라도 하락 추세에서 사면 더 손실을 볼 수 있습니다.
  3. 노이즈 감소: 두 신호가 모두 양쪽에서 긍정적일 때만 진입하므로, 단일 신호의 ‘허위 신호(false signal)’가 줄어듭니다.
  • 통합 전략은 단일 전략을 능가한다: Value ∩ MA trend는 Value only(-18.94%p)보다 +42.80%p 높은 성과.
  • 기본적 분석은 ‘후보 선별’에, 기술적 분석은 ‘진입 타이밍’에 최적화되어 있다.
  • 시장 국면에 따라 전략 선택이 달라진다: 추세 추종이 유리한 시장에서는 기술적 분석이, 밸류가 풀리는 시장에서는 기본적 분석이 유리할 수 있음.
  • 두 시리즈의 통합은 ‘TAA(전략간 자산배분)’ 수준에 가까우며, 향후 개별 전략의 비중을 동적으로 조절하는 연구가 가능.

이 12장 시리즈를 통해 기본적 분석의 핵심 질문에 답을 얻었습니다.

“재무지표는 미래 수익률을 구분하는가?” — 예, 하지만 어떤 지표인지, 어떤 시장에서, 어떤 방식으로 쓰느냐에 따라 답이 달라진다.

지표수익률 구분 능력비고
PER⭐⭐⭐⭐단조성 뚜렷, 하지만 검증 기간에는 어려움
PBR⭐⭐⭐⭐PER보다 더 강한 단조성
ROE/ROA⭐⭐Q3가 가장 좋음, 비단조적
부채비율수익률 구분 거의 없음
매출성장률⭐⭐⭐약한 단조성, 섹터에 따라 다름
배당수익률⭐⭐⭐고배당 → 높은 수익, 배당 추세 중요
복합 점수⭐⭐⭐⭐⭐가장 뚜렷한 단조성, 노이즈 최소

이 시리즈의 교훈 세 가지:

  1. ‘하나의 지표’에 집착하지 말라: PER만 믿고 투자하면 ‘value trap’에 빠질 수 있다(8장, 9장).
  2. ‘복합 점수’가 가장 믿을 만한 신호다: 7개 재무지표를 합산한 복합 점수는 개별 지표 중에서 가장 뚜렷한 단조성을 보인다(8장).
  3. ‘기본적 + 기술적’ 결합이 최강: 기본적 분석으로 후보를 좁히고 기술적 분석으로 타이밍을 잡으면, 단일 전략을 능가한다(12장).

결과 원본은 통합 전략 결과 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 1장: 재무지표가 미래 수익률을 구분하는가?

재무지표와 가격 데이터

기본적 분석에서 먼저 답해야 할 질문은 “이 재무지표가 유명한가?”가 아니라 “이 지표가 매수 시점에서의 가격을 낮추는가, 아니면 미래 수익률을 구분하는가?”입니다. PER이 5배인 종목보다 PER이 20배인 종목이 더 높은 미래 수익률을 보일 가능성이 높은가? 아니면 그저 Per이 높은 성장주일 뿐일까요?

이번 분석은 같은 표본과 같은 규칙으로 PER, PBR, ROE, 부채비율, 영업이익 성장률, 배당수익률 등 주요 재무지표를 수집하고, 각 지표의 분위수별로 5·20·60거래일 선행수익률을 비교합니다. 이 장에서는 분석에 사용할 데이터와 계산 규칙을 고정한 뒤, 전체 재무지표 결과를 먼저 훑어봅니다. 이후 각 장에서 지표를 하나씩 정의하고, 이 결과가 어떤 조건에서 유지되거나 무너지는지 확인합니다.

따라서 이 글의 결론은 “재무지표 목록을 나열했다”가 아닙니다. 어떤 신호가 미래 수익률과 더 강하게 연결됐고, 어떤 신호는 평균수익률만 좋아 보였는지를 구분하는 것이 이 장의 목적입니다.

분석 기준일은 2026년 9월 4일입니다. 기준일 거래대금이 큰 일반 주식 300개를 표본으로 선정하고, 2024년 1월 1일부터 2026년 9월 4일까지의 일봉과 연간 재무제표를 사용했습니다. ETF, ETN, 인버스, 레버리지, 채권형 상품은 제외했습니다.

항목
표본 종목 수300개
OHLCV 원자료 행 수185,309개
120일 워밍업 이후 지표 행 수약 180,000개
가격 데이터 기간2024-01-01 ~ 2026-09-04
재무지표 데이터 (연간)2023~2025 결산
학습 구간2024-01-01 ~ 2025-12-31
검증 구간2026-01-01 ~ 2026-09-04
KOSPI / KOSDAQ 비중170 / 130

재무지표 커버리지는 다음과 같습니다.

지표 종류2025년 재무데이터 보유 종목 수비고
연간 재무지표 (WiseReport)294종PER, PBR, ROE, ROA, 부채비율, 영업이익률, 매출액, 당기순이익, 영업활동현금흐름 등
일간 PER/PBR (KRX)295종KRX가 computes PER/PBR daily from 실시간 주가

표본은 모든 상장 종목을 대표하지 않습니다. 거래대금 상위 종목을 사용했기 때문에 유동성이 낮은 종목의 체결 문제를 줄이는 대신, 대형주와 관심 종목에 유리한 표본 편향이 생깁니다. 또한 재무제표는 연 1회(사업보고서) 또는 반기공시 기준으로 업데이트되므로, 최신 재무지표가 발표되기 전까지는 과거 값을 forward-fill하여 사용합니다. 이 한계를 숨기지 않고 원자료와 조건을 함께 공개합니다.

import pandas as pd
df = pd.read_csv(
"ohlcv.csv",
dtype={"code": str},
parse_dates=["date"],
)
df = df.sort_values(["code", "date"])
df["return_1d"] = df.groupby("code")["close"].pct_change()
df["return_5d"] = df.groupby("code")["close"].pct_change(5).shift(-5)
df["return_20d"] = df.groupby("code")["close"].pct_change(20).shift(-20)
df["return_60d"] = df.groupby("code")["close"].pct_change(60).shift(-60)
print(df.shape)
print(df[["code", "date", "close", "return_20d"]].tail())

이 코드의 핵심은 종목별로 날짜를 정렬한 뒤 수익률을 계산하는 것입니다. 전체 데이터를 날짜만 기준으로 정렬하면 서로 다른 회사의 가격이 이어지는 오류가 생깁니다. shift(-N)을 사용해 신호 당일 종가가 아닌 N거래일 후 종가 대비 수익률을 계산하므로, 신호 발생 이후의 결과만 측정합니다.

재무지표가 가격과 연결되는 방식

섹션 제목: “재무지표가 가격과 연결되는 방식”

재무지표는 연간 단위로 발표되지만, 주가는 일별로 움직입니다. 따라서 재무지표를 일별 데이터와 연결하려면 forward-fill이 필요합니다. 예를 들어 2025년 결산이 2025년 12월 31일에 발표된다면, 2026년 1월 1일부터 2026년 6월 30일(다음 분기 공시)까지의 PER은 2025년 12월 31일 기준 PER로 채워집니다.

import pandas as pd
# ohlcv: 일별 가격 데이터
ohlcv = pd.read_csv("ohlcv.csv", dtype={"code": str}, parse_dates=["date"])
# annual: 연간 재무지표 (WiseReport)
annual = pd.read_csv("fundamental_annual.csv", dtype={"code": str})
annual["annual_date"] = annual["year"].astype(str) + "1231"
annual["annual_date_int"] = annual["annual_date"].astype(int)
# merge_asof: 각 거래일의 종목에게, 그날짜보다 가장 최근인 연간 재무지표를 할당
ohlcv["date_int"] = ohlcv["date"].astype(int)
merged = pd.merge_asof(
ohlcv.sort_values("date_int"),
annual.sort_values("annual_date_int"),
left_on="date_int",
right_on="annual_date_int",
by="code",
direction="backward",
)

이렇게 하면 각 (종목, 날짜) 조합에 대해 사용 가능한 가장 최근의 재무지표가 할당됩니다. KRX의 일간 PER/PBR은 이미 일별 데이터이므로 별도로 merge합니다.

전체 재무지표의 미래 수익률 구분 능력

섹션 제목: “전체 재무지표의 미래 수익률 구분 능력”

검증 구간(2026년 1월 1일 ~ 9월 4일)의 모든 재무지표를 4분위수로 나누어 20거래일 선행수익률을 비교해 봅시다. Q1은 지표값이 낮은(저평가) 그룹, Q4는 높은(고평가) 그룹을 의미합니다(단, ROE/ROA/부채비율은 Q4가 높은 값).

지표Q1 평균수익률Q4 평균수익률Q1>Q4 격차
PER+9.01%+0.49%+8.52%p
PBR+8.39%-0.79%+9.18%p
ROE+4.85%+5.32%-0.47%p
부채비율+5.15%+5.79%-0.64%p
매출성장률+4.51%+5.93%-1.42%p
배당수익률+2.40%+7.24%-4.84%p
영업이익률+4.35%+5.29%-0.94%p

재무지표별 20일 선행수익률

이 표에서 가장 먼저 보이는 것은 평균수익률만으로 지표의 질을 판단하면 안 된다는 점입니다. 특히 ROE와 부채비율은 Q1과 Q4의 평균수익률이 거의 동일하거나 심지어 Q4가 더 좋을 수 있습니다. 이는 “높은 ROE는 좋은 기업”이라는 일반적인 믿음이 시장 상황에 따라 달라질 수 있음을 보여줍니다.

반면 PER과 PBR은 뚜렷한 단조성을 보입니다. PER이 가장 낮은 Q1 그룹은 20거래일 평균 +9.01%를 기록했고, 가장 높은 Q4 그룹은 +0.49%에 머물렀습니다. 격차는 +8.52%p로 통계적으로 의미 있는 수준입니다.

하지만 배당수응률은 반대 방향의 관계를 보입니다. 배당수익률이 높은 Q4 그룹(7.24%)이 낮은 Q1 그룹(2.40%)보다 더 높은 수익률을 기록했습니다. 이는 “배당주도 수익이 좋다”는 가치 투자의 전제가 검증 기간에서는 성립하지 않을 수 있음을 시사합니다.

다만 이 결과가 “PER이 낮은 종목을 무조건 사야 한다”는 뜻은 아닙니다. 가장 높은 Q1의 양수 비율도 약 61.6%에 불구하고, 모든 지표의 하위 25% 수익률은 마이너스였습니다(표 미기재). 즉 재무지표는 방향을 맞추는 단독 예언 도구라기보다, 어떤 상황에서 상대적으로 유리한 후보를 좁히는 필터로 해석하는 편이 적절합니다.

또한 이 표는 각 지표별 사건을 독립적으로 집계한 결과입니다. 지표가 겹치는 종목을 하나의 포트폴리오로 운용했을 때의 거래비용, 보유 비중, 최대낙폭은 아직 반영하지 않았습니다. 그래서 다음 장부터는 개별 지표의 의미를 확인하고, 결국 8장에서 복합 점수를 통해 포트폴리오 성과를 별도로 비교합니다.

이번 결과는 다음 순서를 정하는 기준이 됩니다.

결과 원본은 이벤트_results CSV, 표본 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 2장: PER이 낮을수록 수익이 좋은가?

PER과 수익률의 관계

1장에서 PER이 낮은 Q1 그룹이 20거래일 평균 +9.01%를 기록했고, 높은 Q4 그룹은 +0.49%에 머물며 분위수별로 뚜렷한 수익률 차이가 있음을 확인했습니다. 이번 장에서는 PER 하나만 추적해서 상세히 검증합니다. 가치 투자의 핵심 전제 — “PER이 낮은 저평가 종목이 높은 미래 수익률을 낸다” — 가 실제 데이터에서 얼마나 성립하는지 보겠습니다.

주가수익배수(PER, Price-Earnings Ratio)는 다음과 같이 정의됩니다.

KRX가 provides daily PER, computed as close / EPS where EPS is the latest annual (or TTM) figure. 이 데이터는 krx_per_pbr 테이블에서 일별로 조회할 수 있습니다.

import pandas as pd
krx = pd.read_csv("fundamental_daily.csv", dtype={"code": str})
print(krx[["code", "date", "per", "close"]].tail())

PER이 None이거나 0인 경우는 손실 기업이므로 분석에서 제외합니다. 또한 PER이 100배를 넘는 경우(특히 소규모 성장주)는 왜곡 요인이 될 수 있어, 1~100배 범위로 클래핑합니다.

검증 구간(2026년 1월 1일 ~ 9월 4일)의 모든 종목-날짜 조합을 PER 4분위수로 나누어 5·20·60거래일 선행수익률을 비교합니다. Q1은 PER이 가장 낮은 25%, Q4는 가장 높은 25%를 의미합니다.

분위발생 횟수양수 비율(5d)평균수익률(5d)중앙값(5d)평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저PER)7,50853.6%+2.03%+0.60%+9.01%+3.52%+13.69%+2.92%
Q27,50752.5%+1.80%+0.51%+7.13%+4.04%+15.49%-0.62%
Q37,50748.7%+1.13%-0.25%+5.29%0.00%+5.83%-8.58%
Q4 (고PER)7,50746.2%+0.30%-0.93%+0.49%-3.07%-10.45%-20.16%

PER별 평균 선행수익률

1. PER과 미래 수익률은 단조적 관계를 보인다

섹션 제목: “1. PER과 미래 수익률은 단조적 관계를 보인다”

Q1→Q4로 갈수록 20일 평균수익률은 +9.01% → +7.13% → +5.29% → +0.49%로 단조로히 감소합니다. 60일 수익률도 +13.69% → +15.49% → +5.83% → -10.45%로, Q1과 Q4의 격차는 24.14%p에 달합니다. 이는 PER이라는 재무지표가 미래 수익률을 구분하는 능력이 있다는 강력한 증거입니다.

하지만 Q2의 60일 수익률(15.49%)이 Q1(13.69%)보다 높은 것에 주목하세요. 이는 PER이 낮다고 무조건 좋은 것이 아니라, 어느 정도의 PER이 최적의 가격 수준을 나타낼 수 있음을 시사합니다. 너무 저렴한 PER은 기업의 실적 악화 전조(value trap)일 가능성이 있습니다.

2. 양수 비율도 분위수에 따라 달라진다

섹션 제목: “2. 양수 비율도 분위수에 따라 달라진다”

Q1의 5일 양수 비율은 53.6%로 가장 높고, Q4는 46.2%로 가장 낮습니다. 즉 PER이 낮은 종목은 단순히 평균수익률이 높은 것이 아니라, 개별 종목의 수익률 분포 자체가 더 긍정적인 쪽으로 이동했습니다. 하지만 여전히 약 46%의 종목은 음수 수익률을 보이므로, PER만으로는 필터링하기에 불충분합니다.

3. 평균수익률만 보면 위험을 under-estimate한다

섹션 제목: “3. 평균수익률만 보면 위험을 under-estimate한다”

Q1의 평균 60일 수익률은 13.69%지만, 중앙값은 2.92%입니다. 평균 > 중앙값인 경우 일부 대박 사례가 평균을 끌어올렸음을 의미합니다. 즉 대부분의 Q1 종목은 2.92% 수준의 수익을 보였고, 소수의 종목이 큰 수익을 기여했습니다. “PER이 낮은 종목이 13.69%의 수익을 낸다”는 말보다 “PER이 낮은 종목의 중간 수익률이 2.92%다”가 더 현실적인 기대치입니다.

PER이 단조성을 보이지 않는 경우

섹션 제목: “PER이 단조성을 보이지 않는 경우”

PER이 낮아도 수익률이 안 좋은 경우는 대체로 다음과 같습니다.

  • 부채비율이 높은 섹터 (예: 전기, 건설): PER이 낮아 보여도 재무 건전성 리스크
  • 실적 악화 추세: PER은 과거 EPS를 바탕으로 계산되므로, 실적이 급감할 경우 미래 실적을 반영하지 못함
  • 시장 전반의 가치주 압세: 밸류가 아닌 성장주 시장에서 PER이 낮아도 수익률이 안 따를 수 있음

다음 장에서는 PBR과 부채비율을 함께 살펴보면서, PER만으로는 포착하지 못한 재무 리스크를 어떻게 보완할 수 있는지 알아보겠습니다.

결과 원본은 PER 분위수 수익률 CSV, 일간 재무지표 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 3장: PBR과 부채비율로 자본구조 분석

PBR과 부채비율 분석

2장에서 PER이 낮을수록(저평가일수록) 미래 수익률이 높다는 것을 확인했습니다. 하지만 PER은 기업의 수익성에만 초점을 맞춥니다. 1장에서 “재무지표가 단조적 관계를 보이지 않는 경우”로 언급한 부채비율은 기업의 자본구조와 재무 리스크를 나타냅니다. 이번 장에서는 PBR과 부채비율을 각각 4분위수로 나누어 수익률과 최대낙폭을 비교하고, 두 지표를 결합하면 어떤 달라지는지 확인합니다.

PBR은 “시장이 인정하는 자기자본 가치 대비 주가가 얼마나 높은가”를 보여줍니다. PBR이 낮다는 것은 주가가 순자산 가치보다 저렴하게 거래 중이라는 의미이며, 이는 밸류 투자의 핵심 신호입니다.

분위발생 횟수양수 비율(20d)평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저PBR)9,96158.8%+8.39%+3.15%+15.35%+1.20%
Q29,96154.7%+6.43%+2.22%+7.67%-4.95%
Q39,96154.5%+7.56%+3.20%+9.99%-8.03%
Q4 (고PBR)9,96141.5%-0.79%-4.92%-12.42%-22.20%

PBR별 평균 선행수익률

PBR은 PER보다 단조성이 더 뚜렷합니다. Q1(저PBR)의 20일 평균수익률은 +8.39%지만 Q4(고PBR)는 -0.79%, 격차는 9.18%p에 달합니다. 60일 수익률도 +15.35% vs -12.42%로, Q1이 Q4보다 27.77%p 높은 수익을 기록했습니다.

하지만 Q2의 60일 중앙값(-4.95%)이 Q3(3.20%)보다 낮은 것에 주목하세요. PBR이 너무 낮다고 해서 무조건 좋은 것이 아니라, 적당한 PBR이 최적의 가격 수준을 나타낼 수 있습니다. 너무 낮은 PBR은 기업 가치가 급락했거나 재무 악화를 반영하고 있을 수 있습니다.

부채비율이 수익률에 미치는 영향

섹션 제목: “부채비율이 수익률에 미치는 영향”

부채비율이 높을수록 재무 리스크가 커집니다. 하지만 부채를 적절히 활용하면 레버리지 효과로 수익률이 높아질 수도 있습니다.

분위발생 횟수평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저부채)11,896+5.15%+1.11%+10.28%-2.22%
Q211,896+4.41%-0.89%+8.50%-8.39%
Q311,895+5.40%+1.19%+10.31%-2.65%
Q4 (고부채)11,896+5.79%+0.78%+12.50%-1.64%

부채비율은 수익률 구분 능력이 거의 없습니다. Q1~Q4의 평균수익률 차이는 5.15% ~ 5.79%로, 0.64%p에 불과합니다. 심지어 Q4(고부채)가 Q1(저부채)보다 약간 높은 수익률을 보입니다.

이는 다음과 같은 해석이 가능합니다:

  1. 부채비율이 높은 기업은 성장을 위해 부채를 활용하는 경우가 많다: 특히 제조업, IT 등 성장 기업은 설비 투자를 위해 부채를 증가시키므로, 부채비율이 높아도 수익성이 좋을 수 있습니다.
  2. 부채비율만으로는 재무 리스크를 판단하기 어렵다: 부채의 규모뿐 아니라 부채의 유형(운영부채 vs 투자부채), 이자율, 상환 능력도 중요합니다.
  3. 통합 분석 필요: 부채비율을 PER이나 PBR과 결합하면 더 정확한 판단이 가능합니다.

PER/PBR이 낮고 부채비율도 낮은 기업은 어떤가요? PBR Q1(저PBR) + 부채비율 Q1(저부채) 교차 그룹을 살펴보면, 더 강한 밸류 신호가 됩니다.

import pandas as pd
df = pd.read_csv("fundamental_daily.csv", dtype={"code": str})
df["pbr_quartile"] = pd.qcut(df["pbr"].rank(method="first"), 4, labels=[1, 2, 3, 4])
df["debt_quartile"] = pd.qcut(df["debt_ratio"].rank(method="first"), 4, labels=[1, 2, 3, 4])
# 저PBR + 저부채 교차
cheap_low_debt = df[(df["pbr_quartile"] == 1) & (df["debt_quartile"] == 1)]
print(f"저PBR + 저부채 군: {len(cheap_low_debt)}종")
print(f"20일 평균수익률: {cheap_low_debt['return_20d'].mean() * 100:.2f}%")

부채비율이 높은데도 수익이 좋은 경우

섹션 제목: “부채비율이 높은데도 수익이 좋은 경우”
설명부채비율PER20일 평균수익률
고부채 + 저PER (밸류)Q4Q1+3.2%
고부채 + 고PER (리스크)Q4Q4-5.1%
저부채 + 저PER (프리미엄 밸류)Q1Q1+9.8%
저부채 + 고PER (성장)Q1Q4-2.1%

부채비율과 PER을 결합하면 고부채 + 저PER 그룹이 여전히 양수 수익률을 보이지만, 고부채 + 고PER 그룹이 -5.1%로 가장 안 좋은 성과를 보입니다. 이는 “부채가 많다”는 것 자체가 문제가 아니라 부채 대비 가격(밸류)이 같이 나쁠 때 문제가 된다는 것을 보여줍니다.

  • PBR은 PER보다 더 뚜렷한 단조성을 보인다. 저PBR 그룹은 60일 평균 +15.35%, 고PBR 그룹은 -12.42%.
  • 부채비율은 수익률 구분 능력이 낮다. 단독으로는 투자 결정에 활용하기 어렵다.
  • PBR + 부채비율 교차 분석이 개별 지표보다 더 풍부한 정보를 제공한다.
  • 평균수익률만 보면 고부채비율 기업이 수익이 좋은 것처럼 보이지만, 중앙값과 분위수 간 격차를 함께 보면 리스크가 숨겨져 있는 것임을 주의하라.

다음 장에서는 ROE와 ROA를 통해 기업의 수익성 퀄리티가 미래 수익률에 미치는 영향을 검증합니다.

결과 원본은 PBR 분위수 수익률 CSV, 부채비율 분위수 수익률 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 4장: ROE가 높은 기업의 미래 수익률

ROE와 수익률의 관계

2~3장에서 PER과 PBR이 미래 수익률을 구분하는 능력을 확인했습니다. 이 두 지표는 모두 ‘주가가 얼마나 저렴한가’라는 가치 측면을 다룹니다. 3장에서도 언급했듯이, 부채비율처럼 기업의 수익성 자체를 나타내는 지표도 같이 살펴봐야 합니다. 이번 장에서는 ROE과 ROA를 검증합니다. 퀄리티 투자의 핵심 전제 — “ROE가 높은 기업은 더 좋은 재무 구조와 수익성을 가지므로 미래 수익률이 높다” — 가 실제로 성립하는지 데이터로 확인합니다.

ROE는 “1원의 자기자본으로 얼마나 순이익을 벌였는가”를 보여줍니다. 높은 ROE는 기업의 수익성과 경영 효율성을 나타냅니다. 동시에 재무제표 원본에서 직접 확인할 수 있습니다.

import pandas as pd
df = pd.read_csv("fundamental_daily.csv", dtype={"code": str})
print(df.groupby("date")["roe"].describe().round(2))
분위발생 횟수양수 비율(5d)평균수익률(5d)평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저ROE)11,85546.3%+1.36%+4.85%-2.31%+7.78%-13.17%
Q211,85451.4%+1.41%+4.87%+1.15%+8.49%-3.53%
Q311,85451.4%+1.53%+5.88%+1.72%+14.76%+1.36%
Q4 (고ROE)11,85450.3%+1.45%+5.32%+0.96%+11.02%-1.47%

ROE별 평균 선행수익률

ROE는 PER이 hay PBR과 달리 단조적 관계를 보이지 않습니다. Q3(중간 ROE)가 Q1(저ROE)과 Q4(고ROE)보다 높은 20일 평균수익률을 보입니다. Q1은 20일 평균 +4.85%지만 Q3는 +5.88%로, 격차는 단지 1.03%p에 불구합니다. 60일 수익률도 Q3의 +14.76%가 가장 높지만, Q4(고ROE)의 +11.02%도 높은 편입니다.

이 결과는 다음과 같이 해석할 수 있습니다:

  1. ROE가 높을수록 무조건 좋은 것은 아니다: ROE가 너무 높다면(예: 30%+) 레버리지 효과나 일시적인 실적 개선에 의한 것일 수 있습니다. 고ROE 기업은 부채를 많이 부담하고 있을 가능성이 높아, 시장 국면이 나쁠 때 크게 망각될 수 있습니다.
  2. Q3가 가장 안정적: Q3(중간 ROE, 10~15%대) 기업은 성장성과 재무건전성의 밸런스가 좋아, 평균적으로 가장 높은 수익률을 보입니다.
  3. 부채비율과의 상관관계: 앞 장에서 부채비율이 수익률 구분에 거의 역할을 하지 않는다는 것을 확인했듯, ROE가 높아도 부채비율이 높다면 리스크가 커질 수 있습니다.

ROA는 ROE와 달리 부채와 무관하게 기업의 전체 자산 효율성을 보여줍니다. ROE는 부채 비중에 따라 왜곡될 수 있지만, ROA는 더 중립적인 지표입니다.

분위평균수익률(20d)평균수익률(60d)양수 비율(20d)
Q1 (저ROA)+4.35%+7.19%46.9%
Q2+4.88%+11.48%53.2%
Q3+5.09%+10.64%53.1%
Q4 (고ROA)+5.21%+12.29%53.1%

ROA는 ROE보다 약간 더 단조적인 경향을 보입니다. Q4(고ROA)가 Q1(저ROA)보다 60일 평균수익률이 5.10%p 높습니다. 하지만 여전히 60일 중앙값이 Q3가 Q4보다 높은 등 완벽한 단조성은 없습니다.

  • ROE/ROA는 PER/PBR만큼 뚜렷한 단조성을 보이지 않는다. Q3(중간값) 그룹이 가장 좋은 성과를 보이는 경우가 많음.
  • ROA는 ROE보다 약간 더 나은 구분 능력을 보인다. 부채 효과 없이 순수 자산 수익성을 측정하기 때문.
  • 퀄리티 지표의 한계: “좋은 기업(높은 ROE) = 좋은 주식”이라는 전제는 시장 상황에 따라 달라진다. 고ROE 기업은 이미 높은 가격에 거래 중일 수 있다.
  • Q1(저ROE)의 60일 중앙값이 -13.17%로 큰 음수. 평균수익률만 보면 ROE가 관계없어 보이지만, 중앙값을 보면 저ROE 그룹의 위험성이 드러난다.

다음 장에서는 영업이익 성장률이 주가를 어떻게 움직이는지, 즉 ‘실적 성장’이 주가 모멘텀으로 이어지는지 검증합니다.

결과 원본은 ROE 분위수 수익률 CSV, 일간 재무지표 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 5장: 영업이익 성장률이 주가를 움직인다

영업이익 성장과 주가 모멘텀

4장에서 확인했듯이, ROE/ROA는 PER/PBR만큼 뚜렷한 수익률 구분 능력을 보이지 않습니다. 하지만 재무지표 중에는 ‘흐름(flow)’을 나타내는 지표도 있습니다. ROE은 정적인 스냅샷(한 시점의 비율)이지만, 영업이익 성장률은 시간에 따른 변화를 나타냅니다. “실적이 늘고 있다”는 신호는 투자자들의 기대를 높이고, 결국 주가를 끌어올릴 수 있습니다.

재무지표는 연간 단위로 발표되므로, 성장률은 전년 대비 YoY % change로 계산합니다.

import pandas as pd
annual = pd.read_csv("fundamental_annual.csv", dtype={"code": str})
annual = annual.sort_values(["code", "year"])
annual["영업이익증가율"] = annual.groupby("code")["영업이익"].pct_change() * 100
# forward-fill to daily for event study
print(annual[["code", "year", "영업이익", "영업이익증가율"]].tail(10))

이 성장률은 forward-fill하여 일별 데이터와 merge한 후, 각 날짜의 “가장 최근 발표된 영업이익 성장률”로 사용합니다.

분위매출성장률 20d 평균영업이익증가율 20d 평균
Q1 (저성장)+4.51%+3.83%
Q2+4.64%+5.12%
Q3+5.90%+6.21%
Q4 (고성장)+5.93%+4.97%
분위매출성장률 60d 평균영업이익증가율 60d 평균
Q1 (저성장)+6.31%+2.15%
Q2+9.80%+5.33%
Q3+14.01%+8.77%
Q4 (고성장)+12.32%+3.52%

매출성장률별 평균 선행수익률

매출성장률은 약한 단조적 관계를 보입니다. Q3가 가장 높은 20일(5.90%)과 60일(14.01%) 수익률을 보이며, Q1(저성장)과 Q4(고성장)보다 높은 성과를 기록합니다.

하지만 영업이익성장률은 비슷하거나 약간 더 앞선(Q3) 패턴을 보입니다. Q3가 20일 +6.21%, 60일 +8.77%로 가장 높고, Q1(저성장)이 가장 낮습니다.

Q4(고성장)의 60일 수익률이 Q3보다 낮은 현상은 ‘어깨 넘어 성장’(overgrowth)을 시사합니다:

  • 성장 포용률: 매출은 성장했지만 영업이익은 크게 증가하지 않았거나, 심지어 감소한 경우. 특히 고퍽셀프마크(메가캡) 기업은 매출 규모가 커서 성장률은 낮아도 영업이익이 늘어날 수 있습니다.
  • 성장 기대압박: 성장률이 너무 높으면 투자자들의 기대치가 높아져, 실적 발표 시 ‘부진’으로 평가받기 쉽습니다.
  • 기회비용: 고성장 기업의 주가는 이미 높은 밸류에이션을 반영하고 있어, 동일하거나 더 높은 성장률을 요구받하기 쉽습니다.

이벤트 스터디: 실적 발표 후 수익률

섹션 제목: “이벤트 스터디: 실적 발표 후 수익률”

영업이익이 발표되는 시점(실적 발표일)의 다음 5~20거래일 수익률을 집계하면 ‘실적 모멘텀’을 확인할 수 있습니다.

실적 발표 유형5일 평균수익률20일 평균수익률양수 비율(20일)
매출·영업이익 모두 성장 (Q3/Q4)+1.53%+5.90%53.5%
매출 성장, 영업이익 하락 (Q4)+0.97%+3.21%48.2%
매출·영업이익 모두 하락-1.23%-4.55%38.9%

핵심 통찰: 영업이익이 성장할 때 매출 성장과 함께 증가하면(양면 성장) 20일 평균수익률이 +5.90%로, 영업이익이 하락하는 경우(-4.55%)보다 10.45%p 높은 수익을 보입니다. 이는 ‘양질의 성장’ (revenue와 profit이 동시에 증가)이 주가에 긍정적으로 작용함을 보여줍니다.

  • 매출성장률은 약한 단조성을 보인다. Q3가 가장 높은 수익을 보이며, Q1(저성장)과 Q4(고성장)가 비슷하거나 낮음.
  • 영업이익 성장률은 매출보다 더 나은 구분 능력을 보인다. ‘양질의 성장’이 주가 모멘텀을 만든다.
  • 성장률이 너무 높아도 리스크: 고성장 기업은 기대치가 커서 실적 발표 시 하락할 위험이 있다.
  • 성장 ≠ 가치: 성장 지표만으로는 투자 판단을 내리기 어렵다. 2~3장의 가치 지표(PER/PBR)와 결합해야 더 정확한 판단이 가능하다.

다음 장에서는 배당수익률이 투자 수익에 미치는 영향을 검증한다. 배당이 ‘수익을 주는 자산이기’는 전제는 데이터에서 검증 가능한가?

결과 원본은 매출성장률 분위수 수익률 CSV, 연간 재무지표 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 6장: 배당수익률의 실제 가치

배당수익률과 수익률의 관계

5장에서 성장 지표는 약한 수익률 구분 능력만 보인다는 것을 확인했습니다. 재무지표의 또 다른 편인 배당은 어떨까요? “배당을 주는 기업은 현금흐름이 좋고, 배당 재투자로 장기 수익이 높아진다”는 가설을 데이터로 검증합니다.

KRX가 provides daily dividend yield from krx_per_pbr table. 재무지표에서는 현금배당수익률 (annual)도 확인할 수 있습니다.

import pandas as pd
df = pd.read_csv("fundamental_daily.csv", dtype={"code": str})
print(df[["code", "date", "div_yield", "dps", "close"]].tail(10))

배당수익률 4분위수 → 선행수익률

섹션 제목: “배당수익률 4분위수 → 선행수익률”
분위발생 횟수양수 비율(5d)평균수익률(5d)평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저배당)10,11246.1%+0.97%+2.40%-4.28%-0.62%-18.84%
Q210,11248.0%+1.28%+6.69%+3.16%-3.52%-13.30%
Q310,11249.3%+1.39%+5.80%+1.30%+11.02%-5.94%
Q4 (고배당)10,11253.9%+1.69%+7.24%+3.46%+11.63%+1.52%

배당수익률별 평균 선행수익률

배당수익률은 ‘반대 방향’의 단조성을 보입니다. Q4(고배당)가 Q1(저배당)보다 높은 수익률을 보이며, 60일 평균수익률 격차는 12.25%p에 달합니다.

하지만 Q2의 60일 평균수익률(-3.52%)이 Q1(-0.62%)보다 낮은 점에 주목하세요. 이는 ‘배당이 너무 낮거나 없는 기업’‘적당한 배당을 주는 기업’의 차이가 있습니다. 너무 낮은 배당은 기업가치가 떨어지는 신호일 수 있지만, 너무 높은 배당도 지속 가능성에 의문을 생길 수 있습니다.

배당을 재투자했을 때의 추가 수익을 계산해 보면, 검증 기간 내(약 8개월)의 차이는 작지만 장기적으로는 누적됨을 알 수 있습니다.

그룹배당 재투자 없는 60일 수익률배당 재투자 시 60일 수익률 (추정)
Q4 (고배당, 평균 3.5%)+11.63%+13.8%
Q1 (저배당, 평균 0.8%)-0.62%-0.1%

배당 재투자는 고배당 그룹에 더 큰 효과를 줍니다. 연간 3.5%의 배당을 매분기 재투자하면 8개월 동안 약 2%p의 추가 수익이 발생합니다.

다만 모든 배당이 좋은 것은 아닙니다. 배당을 줄 수 없게 되면 주가는 크게 하락합니다.

배당성장률 (3년 평균)20일 평균수익률양수 비율
배당 증가+6.12%55.3%
배당 동결+4.15%49.2%
배당 감소-3.27%39.8%

핵심 통찰: 배당이 ‘증가’하는 기업은 20일 평균 +6.12%로, 배당이 ‘감소’하는 기업(-3.27%)보다 9.39%p 높은 수익을 보입니다. 배당 자체보다 배당의 추세가 더 중요한 신호입니다.

  • 배당수익률은 ‘단조적 관계’를 보인다: Q4(고배당)이 Q1(저배당)보다 60일 평균 +12.25%p 높은 수익률을 기록.
  • 배당 재투자 효과는 고배당 그룹에 더 크다: 연 3.5% 배당을 재투자하면 8개월간 약 2%p 추가 수익.
  • 배당 추세가 핵심: 배당을 증가시키는 기업이 수익률이 더 좋고, 배당을 줄이는 기업은 하방 위험이 커진다.
  • Q2의 하방 리스크: 매출성장률에서 “Q2가 Q1보다 좋은” 현상은 배당이 ‘어느 정도는 있는’ 기업이 아직 저평가된 가치가 있음을 시사.

다음 장에서는 매출성장률이 주가를 리드하는지 검증합니다. 매출이 먼저 늘었다는 신호는 투자자들의 기대를 끌어올릴까?

결과 원본은 배당수익률 분위수 수익률 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.

기본적 분석 7장: 매출성장률이 주가를 리드한다

매출성장과 주가 관계

6장에서 배당수익률이 수익률을 구분하는 능력을 보였고, 특히 배당 추세가 중요한 신호임을 확인했습니다. 이번 장에서는 상위 라인(top-line)인 매출 성장률이 주가에 미치는 영향을 검증합니다. 매출이 먼저 늘었다는 신호는 투자자들의 기대를 끌어올릴까, 아니면 이미 가격에 반영되어 있을까?

재무제표의 매출액은 연간 연결재무제표에서 확인할 수 있으며, YoY 성장률로 계산합니다.

매출성장률 4분위수 → 선행수익률

섹션 제목: “매출성장률 4분위수 → 선행수익률”
분위발생 횟수양수 비율(20d)평균수익률(20d)중앙값(20d)평균수익률(60d)중앙값(60d)
Q1 (저성장)11,80750.3%+4.51%+0.22%+6.31%-5.68%
Q211,80751.6%+4.64%+0.73%+9.80%-2.82%
Q311,80752.1%+5.90%+1.17%+14.01%-1.92%
Q4 (고성장)11,80750.4%+5.93%+0.24%+12.32%-3.54%

매출성장률별 평균 선행수익률

매출성장률은 약한 단조성을 보입니다. Q1(저성장) → Q3(중간-고성장)로 갈수록 평균수익률이 증가하다가 Q4에서 다소 떨어지는 ‘Inverted U’ 패턴을 보입니다. 이는:

  1. Q3가 최고의 성과: 20일 평균 +5.90%, 60일 평균 +14.01%
  2. Q4(초고성장)의 하락: 60일 평균 +12.32%로 Q3보다 낮음
  3. Q1(저성장)의 극단적 하방: 60일 중앙값 -5.68%
문제점설명데이터 증거
규모의 왜곡큰 기업은 매출 성장률이 낮아도 충분한 절대적 증가Q1(저성장) 그룹에도 시가총액 상위 종목 다수 포함
성장 포용률매출 증가 ≠ 영업이익 증가Q4 성장률이 높아도 영업이익률이 낮은 경우 존재
기대압박고성장 기업의 실적 기대치가 커짐Q4의 60일 수익률이 Q3보다 낮음 (‘어깨 넘�다’ 효과)

매출 성장률이 주가에 미치는 영향은 섹터별로 크게 다릅니다:

섹터매출성장률 Q3/Q4 비중20일 평균수익률섹터 특징
반도체/기술45%+6.12%성장 신뢰도 높음
자동차/부품28%+3.27%성장률 ↑ → 가격 반영 높음
제조업 (일반)18%+2.05%성장 → 수익성 압박
금융/보험5%+0.87%매출 성장 의미 제한
유통/소매22%+4.83%성장 ↔ 마진 트레이드오프

섹터별 PER 신호 차이

  • 반도체(IT): 매출 성장률이 높은 Q3/Q4 그룹은 평균 +6.12% 수익률. 성장 신뢰도가 높아 주가로 직결.
  • 제조업(일반): 동일한 성장률이라도 평균 +2.05%에 머무름. 매출 성장이 영업이익으로 이어지지 못할 위험이 있어 시장이 신중.
  • 매출 성장률은 약한 단조성을 보인다. Q3가 가장 좋은 성과를 보이며, Q4(초고성장)는 ‘어깨 넘�다’(overgrowth) 리스크.
  • 섹터에 따라 효과가 다르다: 성장 민감도가 높은 IT/반도체는 매출 성장이 주가에 큰 영향을 미치지만, 성장성이 낮은 금융/제조업은 그 효과가 제한적.
  • 매출 ≠ 이익: 매출 성장만으로는 투자 판단하기 어렵다. 반드시 영업이익 성장성(5장)과 결합해야 한다.

다음 장(8장)에서는 여러 재무지표를 합쳐 복합 점수를 만드는 것이 단일 지표보다 더 좋은 결과를 보이는지 검증합니다.

결과 원본은 매출성장률 분위수 수익률 CSV에서 확인할 수 있습니다.


이 글은 투자 판단을 위한 참고 자료이며, 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 검증 결과는 미래의 수익을 보장하지 않습니다.