Stock Valuation

by etloveaui

codedata

FenokValue v9.6.4 - Korea Discount Reason Code fix. Critical bug fixes. Data contract validation. Global Scouter v2.2.0 integration.

Skill Details


name: stock-valuation description: FenokValue v9.6.4 - Korea Discount Reason Code fix. Critical bug fixes. Data contract validation. Global Scouter v2.2.0 integration.

FenokValue Skill Guide (v9.6.4)

  • 엔진: yfinance + Global Scouter v2.2.0 + Damodaran 4-JSON + ValuationOrchestrator
  • 핵심 기능: TWO_STAGE DCF, Reverse/Stress, Reason Codes(134개), 8 L1 Pillars, Masters Panel (4 modes), Data Contract Validation
  • 버전: 9.6.4 (2026-01-29) · Author: El Fenomeno

🔴 CRITICAL: Quick Start First

MANDATORY: Before any analysis task, complete these steps:

  1. Read Reference: Review CLAUDE.md for detailed agent reference
  2. Install Dependencies: pip install -r requirements.txt
  3. Verify Installation: python -c "import yfinance, pandas, numpy; print('OK')"
  4. Test Run: python fenok_value.py report NVDA --format md

⚠️ DO NOT skip these steps. Data fetching requires proper environment setup.


Resources & Folder Structure

stock-valuation/
├── SKILL.md              # This guide (user-facing)
├── CLAUDE.md             # Agent reference (detailed)
├── PROMPT_GUIDE.md       # Prompt examples
├── scripts/
│   ├── fenok_value.py    # CLI entry point (22 subcommands)
│   ├── report_generator.py   # v9.1.0 UnifiedReportGenerator
│   ├── masters_panel.py  # 13 investors, 4 modes
│   ├── valuation_engine.py   # DCF/Reverse/Stress
│   ├── quality_score.py  # Lynch/Piotroski/Altman
│   ├── core/             # 50+ core modules
│   │   ├── valuation_orchestrator.py   # Main orchestrator
│   │   ├── valuation_router.py         # Stock type routing
│   │   ├── stock_data_fetcher.py       # Data fetching
│   │   └── wacc_calculator.py          # WACC engine
│   ├── adapters/         # Data adapters
│   ├── providers/        # DataPack, SEC13F providers
│   └── tests/            # (dev only, excluded from ZIP)
├── masters/              # 13 investor profiles (JSON)
└── references/           # Technical specifications

Dependencies

Package Version Purpose
yfinance 0.2.30+ Stock data fetching
pandas 1.5.0+ Data processing
numpy 1.23.0+ Numerical computations
requests 2.28.0+ API calls

1. Installation

cd scripts
pip install -r requirements.txt
python -c "import yfinance, pandas, numpy; print('OK')"

2. 핵심 명령어

목적 명령
Quick 스크리닝 python fenok_value.py report NVDA --level quick
Standard 분석 python fenok_value.py report NVDA --level standard
Full 보고서 (권장) python fenok_value.py report NVDA --level full
Deep 분석 python fenok_value.py report NVDA --level deep
데이터/WACC python fetch_data.py NVDA --wacc-breakdown --estimates
밸류에이션 python valuation_engine.py NVDA --mode full --format md
품질 점수 python quality_score.py NVDA --mode full --view summary
비교 분석 python valuation_engine.py NVDA AMD --mode full --compare
적자 성장주 python ev_sales.py SNOW --debug
대가 패널 python masters_panel.py NVDA --mode debate
리스크 python risk_radar.py GME --mode full

Report Levels (v9.5.0 Hierarchy)

Level Analyzers 시간 Masters 용도 Mode
quick 5개 ~10s Screening (standalone) orchestrator
standard 14개 ~2min Base analysis orchestrator
full 20개 ~2min STANDARD + 6 advanced (기본값) orchestrator
deep 21개 ~5min FULL + Masters orchestrator

Hierarchy: STANDARD (14) ⊂ FULL (20) ⊂ DEEP (21) | QUICK (5) = standalone

🔥 v9.6.0 Changes:

  • BUG-009: dividends 섹션 매핑 추가 → DDM 분석 정상화
  • BUG-010: 성장률 30% Cap 추가 → 고성장주 과대평가 방지
  • BUG-011: masters_all_modes 임시 제거 (DEEP 22→21)
  • NEW: Data Contract 검증 (data_validator.py)

🔥 Breaking Change v9.5.0: 계층 구조 재설계

  • STANDARD: subprocess → orchestrator 모드 변경
  • Analyzer Names: dcf → conviction_score, relative → relative_valuation, etc.
  • New Adapters: altman_z, lynch_classifier, relative_valuation (3개 신규)
  • Hierarchy Enforced: validate_hierarchy() 런타임 검증

⚠️ Deprecated: fullanalyze 명령은 deprecated 됨.

  • fullreport --level standard 사용
  • analyzereport --level full 사용

CLI 옵션:

  • --level: 분석 깊이 (quick/standard/full/deep) - v9.3.0 신규
  • --view: 출력 레벨 (summary/full/debug)
  • --mode: 분석 유형 (dcf/reverse/stress/full/debate)
  • --format: 출력 형식 (text/md/json/html)
  • --compare: 비교 모드 활성화
  • --no-masters: Masters Panel 제외 (report 명령)
  • --no-risk: Risk Radar 제외 (report 명령)

3. v9.5.0 Migration Guide

Breaking Change: Hierarchy Restructure

What Changed:

# Before v9.5.0 (subprocess mode for STANDARD)
STANDARD_ANALYZERS = {fetch, dcf, relative, scenario, risk, ...}  # subprocess names
FULL_ANALYZERS = {conviction_score, reverse_dcf, ...}  # orchestrator names
# STANDARD ⊄ FULL (different naming, different mode)

# After v9.5.0 (all orchestrator mode)
STANDARD_ANALYZERS = {conviction_score, reverse_dcf, relative_valuation, ...}  # 14 analyzers
FULL_ANALYZERS = STANDARD_ANALYZERS | {monte_carlo, sp500_context, ...}  # 20 analyzers
DEEP_ANALYZERS = FULL_ANALYZERS | {masters_panel, masters_all_modes}  # 22 analyzers
# STANDARD ⊂ FULL ⊂ DEEP (strict superset hierarchy)

Why the Change?

  • 계층 무결성: STANDARD가 FULL의 부분집합이 아니었음 → 수정됨
  • 일관성: 모든 레벨이 orchestrator 사용 → parallel 실행 이점
  • 확장성: 새 분석기(altman_z, lynch_classifier, relative_valuation) 추가 용이

Deprecated Analyzer Names (v9.5.0)

Old Name (subprocess) New Name (orchestrator)
dcf conviction_score
relative relative_valuation
scenario scenario_analysis
risk risk_checker
reverse reverse_dcf
stress rate_stress
sbc, dilution sbc_dilution
lynch lynch_classifier
masters masters_panel

Migration Paths

Before v9.5.0 After v9.5.0 Notes
report --level standard No change CLI 동일, 내부 실행 모드만 변경
report --level full No change Analyzer count: 18 → 20
report --level deep No change Analyzer count: 20 → 22

New Analyzers (v9.5.0)

Analyzer Purpose Level
altman_z Bankruptcy risk (Z-Score) QUICK, STANDARD+
lynch_classifier Peter Lynch 6-type classification STANDARD+
relative_valuation Sector comparison + PER band STANDARD+

4. 워크플로우 예시

단일 종목 기본 분석

python fenok_value.py analyze NVDA --format md

또는 단계별:

python fetch_data.py NVDA --wacc-breakdown --estimates
python valuation_engine.py NVDA --mode full
python quality_score.py NVDA --mode full

비교 분석

python valuation_engine.py NVDA AMD --mode full --compare
python quality_score.py NVDA AMD --compare

적자 성장주

python ev_sales.py SNOW --debug
python rule_of_40.py SNOW --view summary

4. 데이터 소스 (v9.0.0 Policy)

우선순위 데이터 출처
1순위 EPS/FCF 추정치, PER 밴드 Global Scouter datapack
2순위 주가/재무 (폴백) yfinance (Lazy init)
3순위 ERP/CRP, 산업 베타 Damodaran JSON (178개국, 96산업)

v9.0.0 핵심: DataPack → yfinance → Damodaran 우선순위. Evidence 추적.


5. 성능 최적화 (v9.2.0)

병렬 처리 설정

구성요소 설정 개선율 근거
데이터 Fetching ThreadPoolExecutor(max_workers=5) 68% yfinance API rate limit 고려, 5 threads가 안전 마진 확보
Analyzer 실행 ThreadPoolExecutor(max_workers=6) 75% 21개 분석기 중 독립적 분석기만 병렬화, 6 threads 최적

벤치마크 결과 (v9.2.0)

구성요소 순차 실행 병렬 실행 개선율
데이터 Fetching 2.20s 0.70s 68%
Analyzer 실행 2.00s 0.50s 75%

벤치마크 스크립트: scripts/benchmark_parallel.py (실행: python benchmark_parallel.py --ticker NVDA)


6. 테스트 (개발 환경 전용)

Note: 테스트는 개발 환경 전용입니다. ZIP 배포본에는 포함되지 않습니다.


7. 버전 히스토리

버전 주요 변경
v9.6.4 Korea Discount Reason Code fix, _generate_market_context_codes() 추가
v9.6.3 Critical fixes: BUG-012 FCF list, BUG-013 Revenue unit, DDM floor
v9.6.0 Root cause fixes: BUG-009 dividends mapping, BUG-010 growth 30% cap, BUG-011 masters removal, Data Contract validation
v9.5.5 Data structure bug fixes: Beta path, EPS estimates, duplicate warnings
v9.5.3 Documentation quality fixes: test stats, ZIP/dev separation
v9.5.2 Claude Desktop bug fixes: P0 info cache, P1 price key resolution
v9.5.1 Bug fixes: P0 race condition, P1 growth fallbacks, P2 logging
v9.5.0 BREAKING: 계층 구조 재설계 (DEC-122), STANDARD ⊂ FULL ⊂ DEEP, 3 new adapters, subprocess 제거
v9.4.0 QUICK 레벨 재설계 (DEC-120), Industry-aligned screening, 3x faster
v9.3.0 report --level 통합 (DEC-117), quick/standard/full/deep 레벨
v9.2.1 CLI screening mode added (4 modes complete), 6 masters quantitative fix
v9.2.0 Phase 4 Complete - insufficient_data verdict, SKILL.md sections
v9.1.0 Unified Report Generator, Evidence Trail 개선
v9.0.0 Major: Masters Panel 4 modes, DataPack Priority, Global Scouter Full

Last Updated: 2026-01-29

Related Skills

Xlsx

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

data

Clickhouse Io

ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.

datacli

Clickhouse Io

ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.

datacli

Analyzing Financial Statements

This skill calculates key financial ratios and metrics from financial statement data for investment analysis

data

Data Storytelling

Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.

data

Kpi Dashboard Design

Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.

designdata

Dbt Transformation Patterns

Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.

testingdocumenttool

Sql Optimization Patterns

Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.

designdata

Anndata

This skill should be used when working with annotated data matrices in Python, particularly for single-cell genomics analysis, managing experimental measurements with metadata, or handling large-scale biological datasets. Use when tasks involve AnnData objects, h5ad files, single-cell RNA-seq data, or integration with scanpy/scverse tools.

arttooldata

Xlsx

Spreadsheet toolkit (.xlsx/.csv). Create/edit with formulas/formatting, analyze data, visualization, recalculate formulas, for spreadsheet processing and analysis.

tooldata

Skill Information

Category:Technical
Last Updated:1/28/2026