2025년 ‘다우의 개’ 전략이 실제로 2026년 초 시장에서 어떤 성과를 냈는지 데이터 기반으로 검증해본다. 결론부터 말하면 수익률이 S&P 500을 “압도“했다. 1~4월 4개월간 60% 넘게 오른 종목도 있다.
2025년 다우의 개 전략은 2026년에도 통할까?
다우의 개(Dogs of the Dow) 전략은 다우존스 산업평균지수(DJIA) 30개 종목 중에서 배당수익률(Dividend Yield)이 가장 높은 고배당 10개 종목에 투자하는 전략이다. 연 1회 리밸런싱 규칙이 있다. 배당수익률(Dividend Yield)이란 현재 주가 대비 연간 배당금의 비율을 의미한다. 즉, 주가가 하락하면 배당수익률은 상승하는 구조다.

이 전략의 핵심은 단순하다. 이미 우량주를 모아 놓은 다우존스지수 30개 종목 라인업 중에서 소외된 우량주를 매수하고 1년간 보유한 뒤 다시 교체하는 것이다. 이는 역발상 투자 개념에 기반한다. 역발상 투자란 시장 참여자들이 외면한 자산을 선제적으로 매수하는 전략을 의미한다. 또한 이 전략은 평균회귀(Mean Reversion) 이론을 따른다. 평균회귀란 자산 가격이 장기적으로 평균으로 회귀하는 성질을 의미한다. 즉, 많이 하락한 종목은 반등 가능성이 높고 많이 상승한 종목은 조정 가능성이 높다고 보는 것. 다우의 개 전략은 1991년에 소개된 이후 지금까지 이어져 온 역발상 배당주 투자 전략으로 알려져 있다. (출처: Wikipedia)
2025년 다우의 개 종목
Step 1. 데이터 추출 방법 설계
파이썬(Python)을 활용해 데이터를 자동 수집하는 방식을 채택했다. 그리고 데이터가 맞는지 교차 검증도 했다. 또한 단순 배당수익률뿐 아니라, 2024년 대비 2025년 주가 수익률(Price Return)을 함께 분석하여 배당 상승 원인을 구분했다. 정말 가격이 하락해서 역발상 전략의 다우의 개가 되었을 수도 있고, 주가도 올랐지만 원래 배당률 자체가 높아서 합류된 것일 수도 있기 때문이다. 다우존스 30개 전체 종목에 대한 엑셀 데이터도 첨부 드리니, 활용하시길 바란다.
- 라이브러리: yfinance
- 대상: 2025년 기준 다우존스 30개 종목
- 주가 기준일: 2025년 연말 마지막 거래일
- 배당금 기준일: 2025년 TTM 배당 (Trailing Twelve Months, 최근 1년 실제 지급 배당. TTM 배당이란 최근 12개월 동안 실제 지급된 배당의 합계를 의미하며, 예상(Foward) 배당보다 보수적인 지표다.)
2025년 다우의 개 종목 추출 코드 스니펫 (펼치기)
import yfinance as yf
import pandas as pd
# ✅ 다우 30 종목 (정확)
dow30 = [
"AAPL","MSFT","JPM","V","UNH","HD","PG","KO","MRK","JNJ",
"CRM","CVX","XOM","IBM","CSCO","INTC","VZ","WMT","DIS","NKE",
"MCD","AMGN","HON","BA","GS","CAT","TRV","AXP","DOW","MMM"
]
data = []
# =========================
# 1️⃣ 2025 배당 + 주가 분석
# =========================
for ticker in dow30:
stock = yf.Ticker(ticker)
hist = stock.history(start="2024-01-01", end="2026-01-05")
if hist.empty:
continue
# ✅ 연도 기준 필터 (KeyError 방지)
hist_2024 = hist[hist.index.year == 2024]
hist_2025 = hist[hist.index.year == 2025]
if hist_2024.empty or hist_2025.empty:
continue
price_2024 = hist_2024.iloc[-1]["Close"]
price_2025 = hist_2025.iloc[-1]["Close"]
# 📌 2025년 주가 변화율
price_change_pct = (price_2025 - price_2024) / price_2024 * 100
# ✅ 배당 (안전 처리)
dividends = stock.dividends
if not dividends.empty:
div_2025 = dividends[
(dividends.index >= "2025-01-01") &
(dividends.index <= "2025-12-31")
].sum()
else:
div_2025 = 0
# 📌 배당수익률
yield_pct = (div_2025 / price_2025 * 100) if price_2025 > 0 else 0
# 📌 섹터
try:
sector = stock.info.get("sector", "N/A")
except:
sector = "N/A"
data.append([
ticker,
sector,
round(price_2024, 2),
round(price_2025, 2),
round(price_change_pct, 2),
round(div_2025, 2),
round(yield_pct, 2)
])
df_all = pd.DataFrame(data, columns=[
"Ticker",
"Sector",
"2024 Price",
"2025 Price",
"2025 Price Change (%)",
"TTM Dividend (2025)",
"Dividend Yield (%)"
])
# =========================
# 2️⃣ 다우의 개 TOP10
# =========================
df_sorted = df_all.sort_values(by="Dividend Yield (%)", ascending=False)
dogs = df_sorted.head(10)
# =========================
# 3️⃣ 2026년 성과 (전체 30개)
# =========================
results = []
for ticker in dow30:
stock = yf.Ticker(ticker)
hist = stock.history(start="2026-01-01", end="2026-04-25")
if hist.empty:
continue
start_price = hist.iloc[0]["Close"]
end_price = hist.iloc[-1]["Close"]
price_return = (end_price - start_price) / start_price * 100
dividends = stock.dividends
if not dividends.empty:
div_2026 = dividends[
(dividends.index >= "2026-01-01") &
(dividends.index <= "2026-04-24")
].sum()
else:
div_2026 = 0
dividend_yield = (div_2026 / start_price * 100) if start_price > 0 else 0
total_return = price_return + dividend_yield
results.append([
ticker,
round(start_price, 2),
round(end_price, 2),
round(price_return, 2),
round(dividend_yield, 2),
round(total_return, 2)
])
df_2026 = pd.DataFrame(results, columns=[
"Ticker",
"2026 Start Price",
"2026 End Price",
"Price Return (%)",
"Dividend Yield (%)",
"Total Return (%)"
])
# =========================
# 4️⃣ 병합 (전체 30개)
# =========================
df_final = pd.merge(df_all, df_2026, on="Ticker", how="left")
# =========================
# 5️⃣ 다우의 개 성과만
# =========================
dogs_performance = df_final[df_final["Ticker"].isin(dogs["Ticker"])]
# =========================
# 6️⃣ 엑셀 저장
# =========================
file_name = "dow_dogs_2025_2026_analysis.xlsx"
with pd.ExcelWriter(file_name) as writer:
df_final.to_excel(writer, sheet_name="Dow30_All", index=False)
dogs.to_excel(writer, sheet_name="Dogs_of_Dow_2025", index=False)
dogs_performance.to_excel(writer, sheet_name="Dogs_Performance_2026", index=False)
print(f"\n✅ 엑셀 파일 저장 완료: {file_name}")
Step 2. 2025년 다우의 개 종목 분석

2025년 다우의 개 종목 10개에 선발된 종목은 배당수익률 순으로, 다우케미컬, 버라이즌, 셰브론, 엑손모빌, 머크, 프록터 앤 갬벌, 코카콜라, 암젠, 홈디포, 유나이티드헬스룹이다. 이 데이터를 통해 세 가지 유형으로 구분할 수 있다.
1. 진짜 역발상 기회: DOW, UNH, PG → 주가 급락 + 고배당로 바뀐 우량주
2. 안정적 고배당: VZ, CVX → 꾸준한 배당 + 안정적 흐름 우량주
3. 방어형 배당주: KO, PG → 경기 방어 성격의 우량주
특히 다우 케미컬(DOW), 유나이티드헬스그룹(UNH)은 2025년에는 주가가 폭락하여 배당수익률이 올라간 케이스이므로, 전형적인 “다우의 개 핵심 종목”이다. 필자가 다우의 개 전략을 실제 트레이딩에 옮긴다면, 위 종목에 동일 비중을 투자하는 것 보다는 역발상을 위해 2025년 주가수익률이 저조했던 다우 케미컬(DOW), 유나이티드헬스룹(UNH), 프록터앤갬블(PG)에 투자 비중을 좀 더 싣는 방법을 택할 것 같다. 저평가 배당주를 선별할 때, 다우의 개 전략을 활용하는 방법 좋아 보인다.
2025년 다우의 개, 수익률 충격 분석

전략은 명확히 통했다. 마이너스인 종목은 홈디포(HD) 하나 뿐이며, 나머지 9개 종목은 SPY를 모두 아웃퍼폼했다. 다우의 개 10개 종목에 동일 비중으로 투자했다면 15.5%의 수익률이 산출된다. S&P500 4.50%의 3배 넘는 수익률을 기록했다.
지정학 이슈로 인해 XOM, CVX 에너지주도 큰 폭의 상승을 했고, 전통적 고배당 통신주인 VZ도 회복했다. 하지만 2026년 4월 현재까지 보인 다우의 개 전략의 성과는 “2025년 폭락주 반등 성공”이라고 본다. 특히 DOW는 전년도 -37% 폭락 이후 +62%이나 폭등하며 손실을 만회했다. 평균회귀 이론이 그대로 작동했다. P&G와 유나이티드헬스그룹은 2025년 폭락 이후 더디게 회복하고 있으나, 장기 투자 관점에서 접근한다면 지금이 주식 수량을 모을 수 있는 적기이지 않을까.
주의사항
- 저평가 배당주를 스크리닝할 때 다우의 개 전략을 활용해도 좋다.
- 하지만 배당수익률이 높다고 무조건 좋은 것은 아니다.
- 다우의 개 전략을 실행하더라도 배당 함정(Dividend Trap)이 없는지 반드시 체크한다. 성장률 지표(매출액, 영업이익, EPS)도 확인한다.
- 다우의 개 전략을 할 때 반드시 10개 종목 분산 투자로 접근한다. (본인의 투자 판단에 따라 비중 조정은 있을지라도)
- 저평가 배당주 종목 재발굴을 위해 연 1회 리밸런싱 규칙을 지킨다.
