📈 퀀트 투자의 정의
1. 스크리닝 - 수천 개 종목 중 내 기준에 맞는 종목만 걸러내기
2. 백테스트 - 그 기준이 과거에 적용했으면 돈을 벌었을지 검증
3. 실행 - 검증된 전략을 감정 없이 기계적으로 실행
🧠 왜 퀀트가 강력한가?
| 편향 | 설명 | 퀀트의 해결 |
|---|---|---|
| 손실 회피 | 수익은 빨리 확정, 손실은 계속 버팀 | 기계적 손절 규칙 |
| 확증 편향 | 자기 생각에 맞는 뉴스만 봄 | 데이터만 봄 |
| 군중 심리 | 남들이 사니까 나도 삼 | 조건 안 맞으면 안 삼 |
| 앵커링 | "전에 10만원이었는데..." 고점 기억 매달림 | 현재 지표만 판단 |
| 과잉 자신감 | "내 안목은 다르다" | 데이터가 안 되면 안 됨 |
| 후회 회피 | "팔았는데 오르면 어쩌지" | 규칙 따르면 후회 없음 |
🇰🇷 한국 시장 특수성
💰 코리아 디스카운트 = 기회
KOSPI 평균 PER 10~12배 vs S&P500 20~25배. 저평가된 시장에서 더 저평가된 종목을 찾으면 이중 할인 효과. 밸류업 프로그램으로 한국형 밸류 전략의 유효성 상승 중.
🎯 테마주 문화
"방산", "AI", "6G" 같은 테마가 관련 종목 수십 개를 동시에 움직이는 현상. 미국에서는 드물지만 한국의 가장 독특한 특성. 대장→후발 순환 패턴 활용 가능.
💵 외인/기관 수급
개인 60~70%, 외인 시총 30%+. 외인이 사면 오르고 팔면 내리는 단순하지만 강력한 원리. 수급 팩터가 한국에서 특히 유효.
⚠️ 파생상품 영향
코스피200 선옵 시장이 현물보다 크고 활발. 외인이 선물로 방향 잡고 현물이 끌려감. 만기일(둘째 목요일) 수렴 효과. 파생 수급을 모델에 포함하면 방향 예측력 상승.
💻 개인 투자자도 할 수 있는 이유
Python이 무료이고 쉽다: pip install pykrx 한 줄이면 코스피 전 종목 데이터를 무료로 쓸 수 있어요.
# 이 3줄이면 코스피 전 종목의 PER을 가져올 수 있어요 from pykrx import stock df = stock.get_market_fundamental("20260409", market="KOSPI") print(df.sort_values("PER").head(20))
| 데이터 소스 | 시장 | 가격 | 제공 데이터 |
|---|---|---|---|
| pykrx | 한국 | 무료 | OHLCV, PER, PBR, 수급, 시총 |
| OpenDartReader | 한국 | 무료 | 재무제표, 공시, DART 전체 |
| yfinance | 미국+글로벌 | 무료 | OHLCV, 재무제표, 옵션 |
| FinanceDataReader | 한국+미국 | 무료 | 주가, 환율, 원자재 |
| Alpha Vantage | 미국 | 무료(제한) | 주가, 지표, 펀더멘털 |
| FRED | 미국 | 무료 | 거시경제 지표 전체 |
🎯 국장(한국 시장) 스크리닝 방법론
4,000개 종목 중에서 내 기준에 맞는 종목만 남기는 과정. 각 방법론별로 왜 돈이 되는지, 구체적 기준, Python 코드를 정리했어요.
💰 2.1 밸류 스크리닝 - "싸게 사서 기다리기"
저PBR + 고배당 + ROE 밸류
PBR < 0.7 + 배당수익률 > 3% + ROE > 8% + 시총 2000억+
왜 돈이 되는가? 순자산보다 싸면서 배당도 주고 돈도 잘 버는 삼박자 종목. 밸류업 프로그램으로 저PBR 재평가 진행 중.
PBR < 1 = "회사 해산해도 주가보다 더 받는다"
from pykrx import stock fund = stock.get_market_fundamental(today, market="KOSPI") screen = fund[(fund['PBR'] > 0) & (fund['PBR'] < 0.7) & (fund['DIV'] > 3.0) & (fund['ROE'] > 8.0)]
Graham Number 밸류
벤저민 그레이엄(버핏의 스승)이 만든 적정가격 공식.
현재가 < Graham Number x 0.67 = 저평가
한국에서는 코리아 디스카운트 반영하여 계수를 15로 낮추기도 해요.
Greenblatt 마법공식 밸류
좋은 회사를 싼 가격에. Earnings Yield + Return on Capital 순위 합산.
Return on Capital = EBIT / 투하자본 (효율적인가?)
그린블라트는 17년간 연 30.8% 수익 (S&P500 12.4%). 한국에선 PER 역수 + ROE로 프록시.
EV/EBITDA 기반 밸류
PER보다 정확한 밸류 지표. 자본구조와 무관하게 비교 가능.
낮을수록 "현금 창출 능력 대비 싸게 거래되는 회사".
밸류업 편입 후보 정책
PBR < 1 + 시총 5000억+ + ROE > 5% + 배당수익률 > 2%
밸류업 지수 편입 시 연기금/ETF 자금 유입으로 주가 상승. 아직 편입 안 된 후보를 미리 찾는 전략.
🚀 2.2 성장 스크리닝 - "더 비싸질 종목 찾기"
CAN SLIM (한국 버전) 성장
윌리엄 오닐의 성장주 바이블. C=분기EPS 성장 25%+, A=연간EPS 성장, N=신고가, S=거래량 증가, L=업종 리더, I=기관 보유 증가, M=시장 상승세
df['CANSLIM_Score'] = ( df['C_pass'].astype(int) * 25 + df['N_pass'].astype(int) * 20 + df['L_pass'].astype(int) * 25 + (15 if market_up else 0) )
PEG Ratio (Peter Lynch) 성장
PEG < 1 = 성장 대비 저평가
"PER 30인데 매년 50% 성장" vs "PER 10인데 성장 0%". PEG로 보면 전자가 더 싸요.
매출/영업이익 연속 성장 성장
3~5년 연속 매출+영업이익 성장 = 구조적 성장. DART 재무제표 또는 pykrx EPS 추이로 확인.
EPS 서프라이즈 성장
컨센서스 대비 실적 10%+ 초과 = 주가 급등 경향 (PEAD). 연속 서프라이즈 패턴이 특히 강력.
🔥 2.3 모멘텀 스크리닝 - "강한 놈이 더 강해진다"
Minervini Trend Template 모멘텀
8가지 기준으로 Stage 2 상승 단계 종목 탐색. 5년간 연평균 220% 수익 기록.
1. 현재가 > 150MA > 200MA, 2. 200MA 상승 중, 3. 50MA > 150MA > 200MA (완전 정배열), 4. 저점 대비 +30% 위, 5. 고점 대비 25% 이내
52주 신고가 + 거래량 폭발 모멘텀
현재가 >= 52주 고가 * 0.95 + 거래량 2배 이상 = 기관/큰손 진입 시그널.
상대강도(RS) 상위 모멘텀
3개월+6개월 수익률 종합 상위 20%. RS 80+ 종목이 대형 상승의 시작점.
골든크로스 + MACD 전환 모멘텀
5MA가 20MA 상향 돌파 + MACD 히스토그램 음→양 전환 = 단기+중기 동시 상승 전환 신호.
듀얼 모멘텀 모멘텀
절대 모멘텀(12개월 > 무위험 수익률) + 상대 모멘텀(가장 강한 자산 선택). MDD 획기적 감소.
💎 2.4 퀄리티 스크리닝
Piotroski F-Score (9점) 퀄리티
9가지 재무 기준으로 기업 건전성 0~9점 평가. 저PBR + F-Score 8~9 = 연 7.5%p 초과수익.
순이익>0, 영업CF>0, ROA 개선, CF>순이익, 부채 감소, 유동비율 증가, 신주 없음, 마진 개선, 자산회전율 개선.
Altman Z-Score 리스크
Z > 2.99 안전 | 1.81~2.99 회색지대 | Z < 1.81 위험(부도 확률 높음)
배당성장주 퀄리티
배당수익률 2%+ + 배당성향 20~60% + ROE 10%+ = 경영 안정성 + 주주 친화 + 실적 성장.
📉 2.5 수급 스크리닝 - 한국 특화
외인+기관 동반 순매수 전환 수급
최근 5일 외인+기관 순매수 > 0, 이전 5일 순매도. 전환 시점을 잡는 전략. 한국에서 가장 강력한 단기 팩터.
공매도 잔고 급감 수급
공매도 세력 포지션 정리 = 하방 압력 감소 = 반등 기대. KRX 데이터 활용.
테마 대장→후발 순환 수급
BruDash sector_cache.db 활용. 대장이 이미 갔으면 같은 테마의 후발주를 찾는 전략.
🛠 2.6 멀티팩터 조합
BruDash 5팩터 모델
Value(20%) + Quality(20%) + Momentum(20%) + Supply(20%) + Theme(20%)
단일 팩터의 약점을 보완. 여러 팩터를 결합하면 안정적인 초과수익.
🇺🇸 미국 시장 스크리닝
yfinance 라이브러리로 S&P500 전체를 무료 분석. NYSE+NASDAQ 약 6,000개 종목 대상.
Warren Buffett Screen 밸류
ROE > 15% + D/E < 50% + 순이익률 > 15% + PER < 25 + 시총 100억$+
"경제적 해자가 있는 회사를 합리적 가격에 사기"의 수치화.
t = yf.Ticker(ticker) info = t.info if (info['returnOnEquity'] > 0.15 and info['debtToEquity'] < 50 and info['profitMargins'] > 0.15): # Buffett 종목!
Deep Value (Net-Net) 밸류
NCAV = 유동자산 - 총부채 > 시총. 극한 저평가. 소형주/시장 폭락 시 발견.
Dividend Aristocrats 밸류
배당수익률 2%+ + 배당성향 30~70% + PER 5~25. 25년 연속 배당 인상 기업 = S&P500 장기 아웃퍼폼.
GARP 성장
PEG < 1.5 + EPS 성장률 > 15% + PER < 30. "합리적 가격의 성장주".
SaaS Rule of 40 성장
빨리 성장하면서 돈도 버는 SaaS 기업을 찾는 기준.
Fama-French 5팩터 학술
Market + SMB(소형주) + HML(밸류) + RMW(수익성) + CMA(투자). 노벨상 수상 팩터 모델.
Sector Rotation 모멘텀
11개 SPDR 섹터 ETF 모멘텀 비교 → 상위 3개 집중. 하락장 방어력 검증됨.
🔧 백테스트 방법론
과거 데이터로 전략을 시험하는 것. "과거 수능 기출문제로 연습"하는 것과 같아요.
1. 과적합(Overfitting) - 과거에 딱 맞추면 미래에 안 통함. 파라미터 5개 이하, 10년+ 테스트 필수
2. 생존자 편향 - 상폐 종목 제외하면 수익률 과대평가. 과거 상장 종목 포함 필수
3. Look-ahead Bias - 미래 정보 사용 금지. 2025년 EPS로 2025년 1월에 매수? 불가능
4. 거래비용 무시 - 수수료+세금+슬리피지 = 왕복 약 0.5%. 월간 리밸런싱이면 연 7.5% 비용
🔧 프레임워크 비교
| 프레임워크 ▲▼ | 난이도 | 속도 | 유연성 | 한국 시장 | 추천 대상 |
|---|---|---|---|---|---|
| bt | 초급 | 중 | 낮음 | 수동 | 입문자 |
| Backtrader | 중급 | 느림 | 높음 | 수동 | 중급자 |
| VectorBT | 중급 | 매우 빠름 | 중 | 수동 | 연구/최적화 |
| backtesting.py | 초급 | 빠름 | 중 | 수동 | 입문자 |
| Zipline | 중급 | 중 | 중 | 어려움 | 참고만 |
| QuantConnect | 고급 | 빠름 | 매우 높음 | 어려움 | 프로 |
💻 GitHub 인기 레포
| # ▲▼ | 레포 | Stars ▲▼ | 설명 | 한국 적용 |
|---|---|---|---|---|
| 1 | vnpy | 24K+ | 파이썬 퀀트 트레이딩 (중국) | 아시아 참고 |
| 2 | zipline | 17K+ | Quantopian 오픈소스 | 미국 중심 |
| 3 | awesome-quant | 17K+ | 퀀트 금융 큐레이션 | 종합 안내서 |
| 4 | backtrader | 13K+ | 이벤트 기반 백테스트 | 데이터만 넣으면 OK |
| 5 | yfinance | 12K+ | Yahoo Finance 래퍼 | 미국 필수 |
| 6 | QuantConnect/Lean | 9K+ | C#/Python 알고트레이딩 | 글로벌 |
| 7 | backtesting.py | 5K+ | 경량 백테스팅 | 입문 추천 |
| 8 | vectorbt | 4K+ | 벡터화 백테스트 | 연구용 |
| 9 | quant_py | 600+ | 한국 퀀트 투자 포트폴리오 | 한국 특화, 필수 |
📊 핵심 성과 지표
| 지표 | 의미 | 좋은 기준 | 해석 |
|---|---|---|---|
| CAGR | 연환산수익률 | 15%+ | 코스피 평균 8%보다 높아야 |
| MDD | 최대낙폭 | -20% 이내 | -50%면 원금의 반이 증발 |
| Sharpe Ratio | 위험 대비 수익 | 1.0+ | 1 이하면 위험 대비 수익 부족 |
| Win Rate | 승률 | 50%+ | 낮아도 손익비 높으면 OK |
| Alpha | 벤치마크 초과수익 | 양수 | 0이면 ETF 사는 게 나음 |
⭐ 실전 백테스트 결과
Mac mini 서버에서 pykrx + yfinance로 실제 코드를 돌린 결과입니다. 시뮬레이션이 아닌 실제 코드 실행 결과예요.
주의: pykrx 1.2.4의 펀더멘털 데이터 호환 이슈로 원본 전략(저PBR, F-Score, 마법공식)은 가격 기반 대안으로 대체.
🇰🇷 국장 (KOSPI) 백테스트
벤치마크: KOSPI Index | 기간: 2024-01 ~ 2026-03 | KOSPI 수익률: +89.2% | KOSPI MDD: -20.7% | 거래비용: 0.3%
저변동성 전략
모멘텀 전략
평균회귀 전략
신고가 돌파 전략
🇺🇸 미장 (US) 백테스트
벤치마크: SPY Buy&Hold | 기간: 2020-01 ~ 2026-03 (~6.2년) | SPY 수익률: +112.9% | SPY MDD: -33.7%
200일선 타이밍
듀얼 모멘텀
섹터 로테이션
📊 전략 비교 차트
우상단 = 최적 (높은 수익 + 낮은 리스크). K=KOSPI, S=SPY B&H
💡 핵심 교훈
🏆 미장 최고: Sector Rotation
시장 레짐 전환에 강함. 2022년 하락장 +13.3%, 2026년 조정 +5.9%. 간단하고 비용 낮고 ETF로 구현 가능.
🛡 수익 포기 → 안전 확보: 200MA
수익 30% 포기 대신 MDD 50% 감소. 리스크 회피형 투자자에게 최적.
⚠ 국장 결과 주의
81종목 유니버스(거래대금 상위)로 생존자 편향 존재. 전체 900+ 종목이면 수익률 낮아질 가능성.
📈 모멘텀은 양날의 검
2024-2026 한국의 테마 장세(방산/에너지/6G)에 크게 의존. 한 번의 급반전으로 수개월 수익 증발 가능.
🚀 BruDash 통합 방안
🏗 아키텍처
[스크리닝 엔진] - 매일 07:00 cron
├── 밸류 스크린 (저PBR, Graham, Magic Formula)
├── 모멘텀 스크린 (Minervini, RS)
├── 수급 스크린 (외인/기관 전환)
└── 퀄리티 스크린 (F-Score)
│
├── 결과 → stock_analysis.db
│ ├── screener_results
│ └── factor_scores
│
└── 활용
├── 시황 보고서: TOP 10 근거
├── 스윙 리포트: 진입 후보
├── 텔레그램 알림: 조건 충족 시
└── 웹 UI: 커스텀 스크리너
🛠 멀티팩터 Strategy Builder (Demo)
팩터 가중치를 조절해서 나만의 스코어링 모델을 만들어 보세요.
✅ 백테스트 유효성 체크리스트
- 논리적 근거가 있는가? "왜 이 전략이 돈이 되는지" 설명할 수 있어야 합니다. 단순 데이터 마이닝은 과적합 확률이 높아요.
- 단순한가? 파라미터가 5개 이하인가? 규칙이 3개 이내인가?
- 충분한 기간을 테스트했는가? 최소 10년, 상승장+하락장 모두 포함?
- 거래비용을 반영했는가? 수수료, 세금, 슬리피지를 포함? (왕복 약 0.5%)
- 생존자 편향을 제거했는가? 상폐 종목을 포함? pykrx 과거 날짜 조회 사용?
- Look-ahead bias가 없는가? 미래 정보를 사용하지 않았는가?
- 다른 시장에서도 통하는가? 한국에서 만들었으면 미국에서도 테스트
- 워크포워드 테스트를 했는가? 학습 기간과 검증 기간을 분리?
- MDD를 버틸 수 있는가? -60% 낙폭을 실제로 감당 가능?
- 실행 가능한가? 유동성 충분? 매매 빈도 적절?
📚 추천 학습 자료
📖 필수 도서
할 수 있다! 퀀트 투자 - 강환국 (한국 퀀트 입문 필수)
The Little Book That Beats the Market - Greenblatt (마법공식)
Dual Momentum Investing - Antonacci (듀얼 모멘텀)
Trade Like a Stock Market Wizard - Minervini
💻 필수 GitHub
hyunyulhenry/quant_py - 한국 퀀트 코드 (필수)
awesome-quant - 퀀트 큐레이션 (필수)
kernc/backtesting.py - 경량 백테스트 (입문)
ranaroussi/yfinance - 미국 데이터 (필수)
💡 퀀트 투자의 진짜 가치
퀀트 투자의 최종 목표는 "시장을 이기는 것"이 아니에요. "감정에 흔들리지 않고, 체계적으로, 장기간 일관되게 투자하는 것"이에요.
시장을 이기는 건 어렵지만, 자기 자신을 이기는 것은 퀀트로 가능해요. 공포에 팔고, 탐욕에 사고, 뉴스에 흔들리는 모든 실수를 퀀트가 막아줘요.
"돈을 더 벌기 위한 도구"가 아니라 "돈을 덜 잃기 위한 시스템". 장기적으로 덜 잃는 사람이 더 많이 버는 법이에요.
brudash2@gmail.com
면책조항
본 문서는 교육 목적의 참고 자료이며, 투자 권유나 종목 추천이 아닙니다. 제공되는 정보의 정확성/완전성을 보장하지 않으며, 이를 근거로 한 투자 결과에 대해 BruDash 및 운영자는 어떠한 법적 책임도 지지 않습니다. 모든 투자 판단과 그에 따른 손익은 투자자 본인에게 귀속됩니다. 본 자료는 저작권법에 의해 보호되며, 무단 복제/배포를 금합니다.