| name | stock-valuation |
| description | DCF (Global Scouter 3년 추정치 + TWO_STAGE Fade + 섹터평균 Beta + 시나리오 범위), PER, Scenario, SBC, Lynch 자동분류, Piotroski, Short Squeeze, Beta 검증+웹교차검증, ADR CRP 자동감지, 대가 패널 비교 분석, v7.0.0 ValuationOrchestrator (통합 분석), Reason Code 시스템 (UX 혁신) - All-in-one stock valuation toolkit (v7.0.0-dev). Use for stock valuation, intrinsic value calculation, peer comparison, risk analysis, and investment master perspectives. |
FenokValue
시장 친화적 DCF 밸류에이션 엔진 (v7.0.0-dev) 🆕 analyze (v7.0.0 통합) + 핵심 3개 + 보조 9개 + 래퍼 6개
Version: 7.0.0-dev | Author: El Fenomeno
Dependencies: yfinance>=0.2.40, pandas>=2.0.0, numpy>=1.24.0
설치 (필수 - 먼저 실행)
cd docs/products/skills/stock-valuation
pip install -r requirements.txt
python -c "import yfinance, pandas, numpy; print('✅ 의존성 설치 완료')"
트리거 키워드
적정주가, 밸류에이션, DCF, PER 밴드, 내재가치, fair value, Lynch 분류, Rule of 40, WACC 분해, Reverse DCF, 확신 점수, 크로스체크, 공매도 분석, 스트레스 테스트, SBC 희석, Piotroski, 대가 패널, 13F 확인, 비교 분석
🆕 v7.0.0 통합 분석 (NEW)
analyze 명령어: ValuationOrchestrator로 모든 분석을 한 번에 실행
# v7.0.0 통합 분석 (권장)
python fenok_value.py analyze NVDA
# JSON 출력
python fenok_value.py analyze NVDA --format json
# 대가 패널 포함
python fenok_value.py analyze NVDA --include-masters
v7.0.0 핵심 기능
| 기능 | 설명 | 상태 |
|---|---|---|
| Valuation Router | 종목 유형별 최적 모델 자동 선택 | ✅ |
| DDM Engine | 배당주용 Gordon Growth Model | ✅ |
| Reason Code | 결과에 이유 코드 자동 생성 (UX 혁신) | ✅ |
| ANALYSIS_RULES | StockType별 자동 보조 분석 호출 | ✅ |
StockType별 자동 분석
| StockType | 기본 분석 | 자동 추가 분석 |
|---|---|---|
| STORY (TSLA 등) | DCF | + Reverse DCF + Scenario + Risk |
| DIVIDEND (KO 등) | DDM/Hybrid | + PER Band + Scenario + Risk |
| GROWTH (NVDA 등) | DCF | + Scenario + Risk |
스크립트 구조 (v6.9.0 호환)
v7.0.0: analyze 명령어 추가 (통합 분석) v6.9.0: 시장 친화적 DCF (TWO_STAGE Fade + 섹터평균 Beta + 시나리오 범위) v6.8.0: 18개 → 12개 통합 (핵심 3 + 보조 9) + 래퍼 6개 (하위 호환)
v6.9.0 DCF 개선사항
| 항목 | 이전 (v6.8.x) | 현재 (v6.9.0) |
|---|---|---|
| Fade 방식 | LINEAR (점진 감소) | TWO_STAGE (고정 7년 + Fade 3년) |
| Beta 소스 | yfinance (변동성 큼) | 섹터평균 (Damodaran 2024) |
| 결과 형식 | 단일 내재가치 | 시나리오 범위 (보수/중립/낙관) |
| NVDA 예시 | $96 (-49%) | $152 (-19%) |
🔥 핵심 엔진 (3개) - 항상 실행
| 스크립트 | 기능 | 모드 | 사용 예시 |
|---|---|---|---|
| fetch_data.py | 데이터 + WACC + 컨센서스 | - | python fetch_data.py NVDA --wacc-breakdown |
| valuation_engine.py | DCF 계열 통합 | dcf, reverse, stress, full | python valuation_engine.py NVDA --mode full |
| quality_score.py | 품질 계열 통합 | lynch, piotroski, conviction, risk, full | python quality_score.py NVDA --mode full |
✅ 보조 도구 (9개) - 필요시 실행
| 스크립트 | 기능 | 사용 예시 |
|---|---|---|
| relative_valuation.py | 상대가치 (PE, EV/EBITDA) | python relative_valuation.py NVDA AMD --compare |
| scenario_analysis.py | Bull/Base/Bear 시나리오 | python scenario_analysis.py NVDA AMD --compare |
| valuation_crosscheck.py | 적정가 일관성 검증 | python valuation_crosscheck.py NVDA --detailed |
| risk_radar.py | SBC + 공매도 분석 | python risk_radar.py GME --mode full |
| rule_of_40.py | SaaS/Tech 효율성 | python rule_of_40.py PLTR CRM --compare |
| ev_sales.py | 적자 기업 (EV/Sales) | python ev_sales.py SNOW AMD --compare |
| valuation_analysis.py | SBC Impact + 기대수익률 | python valuation_analysis.py PLTR |
| masters_panel.py | 대가 패널 (13명) | python masters_panel.py NVDA --mode debate |
| sec_13f.py | SEC 13F 보유 조회 | python sec_13f.py --master buffett --latest |
🔄 래퍼 (하위 호환) - 기존 CLI 유지
| 기존 스크립트 | 신규 통합 스크립트 | 매핑 |
|---|---|---|
| dcf_model.py | valuation_engine.py | --mode dcf |
| reverse_dcf.py | valuation_engine.py | --mode reverse |
| rate_stress.py | valuation_engine.py | --mode stress |
| lynch_classifier.py | quality_score.py | --mode lynch |
| piotroski_score.py | quality_score.py | --mode piotroski |
| conviction_score.py | quality_score.py | --mode conviction |
| risk_checker.py | quality_score.py | --mode risk |
| sbc_dilution.py | risk_radar.py | --mode sbc |
| short_squeeze.py | risk_radar.py | --mode short |
래퍼 사용 예시 (기존 CLI 100% 동작):
python dcf_model.py NVDA # → valuation_engine.py --mode dcf
python lynch_classifier.py NVDA # → quality_score.py --mode lynch
시나리오별 권장 플로우 (v6.8.0)
"NVDA 분석해줘" (단일 종목 - 기본)
1. fetch_data NVDA → 데이터, WACC, 컨센서스
2. valuation_engine NVDA --mode full → DCF + Reverse + Stress
3. quality_score NVDA --mode full → Lynch + Piotroski + Conviction
→ 투자 의견 제시
"NVDA 전체 분석해줘" (단일 종목 - 상세)
1. fetch_data NVDA → 데이터, WACC
2. valuation_engine NVDA --mode full → DCF 계열
3. quality_score NVDA --mode full → 품질 계열
4. relative_valuation NVDA → 섹터 대비
5. scenario_analysis NVDA → Bull/Base/Bear
6. masters_panel NVDA --mode debate → 대가 관점
→ 종합 분석 + 투자 의견
"NVDA vs AMD 비교해줘" (비교 분석)
1. valuation_engine NVDA AMD --compare --mode full → DCF 비교
2. quality_score NVDA AMD --compare --mode full → 품질 비교
3. relative_valuation NVDA AMD --compare → 멀티플 비교
4. masters_panel NVDA AMD --compare --mode debate → 대가 관점 비교
→ 비교 테이블 + 종합 의견
"SNOW 분석해줘" (적자 기업)
1. fetch_data SNOW
2. ev_sales SNOW → EV/Sales (적자 → 이 지표 사용)
3. rule_of_40 SNOW → SaaS 효율성
4. scenario_analysis SNOW → Growth Mode
5. quality_score SNOW --mode risk → 리스크 체크
→ 성장 기업 관점 분석
"버핏 관점에서 NVDA 어때?" (대가 중심)
1. quality_score NVDA --mode piotroski → 버핏 스타일: 재무 건전성
2. valuation_crosscheck NVDA → 적정가 검증
3. masters_panel NVDA --masters buffett --mode discussion
→ 버핏 관점 심층 분석
"GME 공매도 위험 체크" (특수 리스크)
1. fetch_data GME
2. risk_radar GME --mode full → SBC + Short Squeeze
3. quality_score GME --mode risk → 일반 리스크
→ 특수 리스크 분석
대가 패널 (13명)
대가 그룹
| 그룹 | 대가 | 특징 |
|---|---|---|
| Value | Buffett, Lynch, Marks, Munger | 내재가치, 안전마진 |
| Macro | Dalio, Druckenmiller, Soros | 거시경제, 통화정책 |
| Hedge | Cohen, Griffin, Hohn, Laffont | 롱숏, 이벤트드리븐 |
| Quant | Asness, Fisher | 팩터투자, 계량분석 |
분석 모드 (v6.6.0 --compare 지원)
| 모드 | 단일 분석 | 비교 분석 (--compare) |
|---|---|---|
| screening | 규칙 기반 자동 평가 | 대가별 두 종목 Pass/Fail 비교 테이블 |
| discussion | 대가별 관점 프레임워크 | 각 대가 관점에서 종목 비교 |
| debate | Bull vs Bear 토론 | Team NVDA vs Team AMD 토론 |
| socratic | 소크라테스식 질문 | 비교 질문 프레임워크 |
# 단일 종목
python masters_panel.py NVDA --mode debate
# 비교 분석 (v6.6.0)
python masters_panel.py NVDA AMD --compare --mode screening
python masters_panel.py NVDA AMD --compare --mode debate
CLI 옵션
# Positional 티커 (권장)
python dcf_model.py NVDA # 단일
python dcf_model.py NVDA AMD --compare # 비교
# 하위 호환
python dcf_model.py --ticker NVDA
# FCF Normalizer (v6.3.0)
python dcf_model.py NVDA --normalize-fcf
# 출력 형식
--format text # 기본 텍스트
--format md # 마크다운
--format json # JSON
# 상세 수준
--view summary # 핵심 5개 이하
--view full # 표준 출력 (기본값)
--view debug # 원시 데이터 포함
분석 품질 가이드 (v6.6.0)
분석 결과 제시 시 반드시:
1. 📊 핵심 수치 → 2. 🔍 의미 해석 → 3. ⚠️ 주의점 → 4. 🎯 다음 단계
핵심 지표별 해석 기준
| 지표 | 양호 | 주의 | 위험 |
|---|---|---|---|
| DCF 괴리율 | -20% ~ +20% | ±20-50% | ±50% 이상 |
| Piotroski | 7-9점 | 5-6점 | 0-4점 |
| Conviction | 71-100 | 51-70 | 0-50 |
| Short Interest | <5% | 5-10% | >10% |
| Rule of 40 | >40% | 20-40% | <20% |
상세 해석 가이드: references/analysis-interpretation-guide.md
데이터 소스
| 데이터 | 소스 | 방식 |
|---|---|---|
| 주가/재무제표 | yfinance | 실시간 |
| 무위험이자율 (Rf) | yfinance ^TNX | 실시간 |
| ERP/CRP/Tax | 100xFenok erp.json | 동적 (178개국) |
| EPS/FCF 추정치 | 100xFenok Global Scouter | 동적 (1,243종목) |
| 섹터 PE/PB/ROE | 100xFenok benchmarks | API |
| EV/EBITDA | Siblis | 스크래핑 |
리스크 플래그
| Severity | 조건 |
|---|---|
| 🔴 High | Forward PE > 섹터 평균 2배, 부채비율 > 300%, 순이익 적자+현금 소진 |
| 🟡 Medium | EV/EBITDA > 섹터 평균 1.5배, 영업이익률 하락, FCF 마이너스 |
| 🟢 Low | 멀티플 섹터 평균 ±20%, 안정적 현금흐름, 적정 부채 |
제한사항
- 데이터 지연: yfinance 15분+ 지연 (중장기 투자용)
- 추정 불확실성: DCF 가정 민감도 높음 → 민감도 분석 필수
- 13F 지연: SEC 13F는 분기 종료 후 45일 내 제출
참조 문서
- PROMPT_GUIDE.md - 프롬프트 가이드 (시나리오별 예시)
- CLAUDE.md - 폴더 구조 및 버전 이력
- references/analysis-interpretation-guide.md - 분석 해석 가이드 (v6.6.0)
- references/valuation-methods.md - 가치평가 방법론
- references/sector-multiples.md - 섹터별 멀티플
- references/red-flags-checklist.md - 회계 경고 신호
- references/data-sources.md - 데이터 소스 가이드
테스트 운영표준
Network 테스트 정책
| 마커 | 테스트 유형 | CI 포함 | 로컬 실행 |
|---|---|---|---|
| (없음) | 단위 테스트 | ✅ 기본 | pytest tests/ |
@pytest.mark.network |
yfinance/SEC 호출 | ❌ 제외 | pytest -m network |
v6.8.0 변경사항 (2026-01-03)
- NEW: DCF 현실성 개선 (DEC-073)
- Global Scouter 3년 추정치 기반 성장률 (FY1→FY2→FY3 Fade 패턴)
- CAP 자동 계산: 추정치 외삽 기반 (Lynch 고정값 대체)
- DCF vs 컨센서스 ±30% 괴리율 경고
core/estimate_growth.py: EstimateGrowthLoader (yfinance fallback)core/cap_calculator.py: 지수적 감소 외삽 알고리즘- DCFResult.consensus_comparison + has_divergence_warning()
- TEST: 982개 테스트 통과 (+56 new tests)
v6.7.0 변경사항 (2026-01-02)
NEW: 통합 엔진 아키텍처 (DEC-072)
valuation_engine.py: DCF + Reverse DCF + Rate Stress 통합quality_score.py: Lynch + Piotroski + Conviction + Risk 통합risk_radar.py: SBC Dilution + Short Squeeze 통합- 기존 CLI 100% 하위 호환 (래퍼 패턴)
NEW: 해석 템플릿 시스템 (Phase 6)
core/interpretation.py: 분석 결과 → 투자 인사이트 전환core/output_formatter.py: 일관된 출력 포맷- 숫자 나열 → 의미 해석 + 주의점 + 다음 단계
CHANGE: 스크립트 구조 개선
- 18개 → 12개 통합 (핵심 3 + 보조 9)
- 래퍼 6개로 기존 CLI 유지
TEST: 926개 테스트 통과
v6.6.3 변경사항 (2026-01-02)
- FIX: masters_panel 텍스트 출력 시 "UNKNOWN" 레이블 + 메타데이터 노출 버그 (#034)
- 근본 원인:
render_with_view()가 masters_panel의 dict 구조를 인식 못함 render_with_view블록 제거 (masters_panel은 이미 포맷된 텍스트 반환)- masters_panel.py v2.0.3
- 테스트: 780개 통과
- 근본 원인:
v6.6.2 변경사항 (2026-01-02)
FIX: masters_panel --compare --format json 비교 모드 JSON 지원 (#033)
run_compare_analysis()JSON 시 dict 반환_run_compare_screening()dict 반환으로 변경- 모든 비교 모드 (screening, discussion, debate, socratic) JSON 지원
- 진행 메시지 stderr 이동 (JSON 순수성)
- masters_panel.py v2.0.2
FIX: 문서에서 "기본/확장/심화" 용어 제거
- PROMPT_GUIDE.md, fenok_value.py, CLI_SPEC.md 수정
- 새 분류: 🔥 필수 / ✅ 권장 / 🎯 선택 / 🧙 대가 관점
TEST: 780개 테스트 통과
v6.6.1 변경사항 (2026-01-02)
FIX: masters_panel --format json 빈 출력 버그 (#032)
analyze()메서드에output_format파라미터 추가 (옵션 B - 근본 해결)- OutputFormat enum
.value비교 수정 - 진행 메시지 stderr 이동 (JSON 순수성 확보)
- masters_panel.py v2.0.1
TEST: 780개 테스트 통과
v6.6.0 변경사항 (2026-01-02)
NEW: Phase 4 분석 품질 가이드
references/analysis-interpretation-guide.md: 18개 스크립트별 해석 가이드- 인사이트 도출 템플릿: 핵심 수치 → 의미 해석 → 주의점 → 다음 단계
- PROMPT_GUIDE.md 분석 품질 가이드 섹션 추가
NEW: Phase 2 masters_panel --compare 비교 분석
- 4개 모드 모두 비교 지원 (screening, debate, discussion, socratic)
- Team NVDA vs Team AMD 토론 구조
- CLI:
python masters_panel.py NVDA AMD --compare --mode debate
NEW: Phase 1 CLI 일관성 --compare 전체 적용
- 15/18 스크립트 --compare 지원 (sec_13f 제외)
core/compare_utils.py공통 유틸
CHANGE: SKILL.md 구조 개선
- "기본/확장/심화" 분류 폐기
- 새 분류: 🔥 필수 / ✅ 권장 / 🎯 선택 / 🧙 대가 관점
TEST: 780개 테스트 통과
v6.4.6 변경사항 (2026-01-01)
- FIX: --country 명시적 입력 우선 (DEC-066)
- TEST: 780개 테스트 통과
v6.4.5 변경사항 (2026-01-01)
- FIX: Lynch Unclassified 문제 해결 (DEC-064)
- FIX: CRP 자동 감지 - ADR 지원 (DEC-065)
- TEST: 780개 테스트 통과
Version: 6.9.0 | Last Updated: 2026-01-03