Skill: demandgap/stock-evaluator (version 1.0.0)

--- name: stock-evaluator-v3 description: Comprehensive evaluation of potential stock investments combining valuation analysis, fundamental research, technical assessment, and clear buy/hold/sell recommendations. Use when the user asks about buying a stock, evaluating investment opportunities, analyzing watchlist candidates, or requests stock recommendations. Provides specific entry prices, position sizing, and conviction ratings. --- # Stock Evaluator (Enhanced) ## ⚠️ CRITICAL: MANDATORY DELIVERABLES CHECKLIST Every analysis MUST include ALL of these: - ☐ **Technical Analysis** (price action, indicators, key levels, Ichimoku Cloud) - ☐ **Fundamental Analysis** (business, financials, competitive position) - ☐ **Advanced Financial Metrics** (F-Score, Z-Score, M-Score, Max Drawdown, Value Trap Score) - ☐ **Investor Persona Scores** (8 legendary investor frameworks) - ☐ **Valuation Assessment** (multiple methods with margin of safety) - ☐ **Bull vs. Bear Case** (both sides with balance assessment) - ☐ **Clear Recommendation** (BUY / HOLD / SELL with conviction rating) - ☐ **Alternative Candidates** (if SELL: provide 3-5 better alternatives) - ☐ **Enhanced Quant-Style Dashboard** (React dashboard with 60+ metrics, Ichimoku, investor personas, TOP NEWS, and key notes) **If you cannot complete any item, STOP and ask for clarification.** --- ## ⚠️ CRITICAL: DATA INTEGRITY RULES ### ZERO FABRICATION POLICY **NEVER fabricate, estimate, or hallucinate ANY numeric data point.** Every metric in the dashboard MUST come from: 1. A web search result with a cited source 2. Company filings (10-K, 10-Q, earnings reports) 3. Official financial data providers **If data cannot be found → Use "N/A" or "--"** ### MANDATORY WEB SEARCHES (minimum per analysis) You MUST perform these searches before populating the dashboard: | Search # | Query Template | Data Retrieved | |----------|---------------|----------------| | 1 | "[TICKER] stock price market cap P/E ratio" | Price, Market Cap, P/E | | 2 | "[TICKER] ROE ROA profit margin 2024 annual report" | Financial ratios | | 3 | "[TICKER] revenue growth earnings growth FY2024" | Growth rates (REPORTED) | | 4 | "[TICKER] Piotroski F-Score" | F-Score (or calculate) | | 5 | "[TICKER] insider trading SEC Form 4 2025" | Insider buys/sells | | 6 | "[TICKER] short interest percentage float" | Short interest | | 7 | "[TICKER] RSI MACD 50-day 200-day moving average beta volatility" | Technical indicators | | 8 | "[TICKER] analyst price target consensus" | Analyst targets | ### DATA SOURCE HIERARCHY Use sources in this priority order: 1. **Official company filings** (SEC EDGAR, company investor relations) 2. **Exchange data** (NYSE, NASDAQ, LSE official) 3. **Verified financial data** (Yahoo Finance, Google Finance, MarketWatch) 4. **SEC Form 4** (for insider trading ONLY) 5. **FINRA/exchange** (for short interest ONLY) ### PROHIBITED - Using training knowledge for ANY specific current numbers - Analyst reports (per user preference) - Estimates without sourcing - "Common knowledge" assumptions ### HANDLING UNAVAILABLE DATA | Situation | Action | Display | |-----------|--------|---------| | Metric not found after searching | Display "N/A" | `value: "N/A"` | | Data is outdated (>1 year old) | Note the date | `value: "15.2% (2023)"` | | Conflicting sources | Use most authoritative | Note in analysis | | Calculated metric (F-Score) | Show calculation | Explain in text | | Insider data unavailable | Show "N/A" | `insBuys: "N/A"` | **CRITICAL: Zero means "zero occurred" - NEVER substitute zeros for missing data.** --- ## STANDARDIZED METRIC LABELS Use these EXACT labels in the dashboard (matches reference screenshots): ### Row 1: PRICE & VALUATION | FINANCIAL PERFORMANCE | Label | Notes | |-------|-------| | Price: | $XX.XX or €XX.XX | | Market Cap: | $XXB or €XXB | | Trailing P/E: | XX.XX | | Forward P/E: | XX.XX | | Subsector P/E: | XX.XX or N/A | | PEG (1Y): | X.XX with benchmark (<1) | | ROE: | XX.XX% with benchmark (>20%) | | ROA: | XX.XX% with benchmark (>10%) | | Profit Margin: | XX.XX% with benchmark (>20%) | | Operative Margin: | XX.XX% with benchmark (>20%) - NOTE: "Operative" not "Operating" | | Gross Margin: | XX.XX% with benchmark (>40%) | | ROIC: | XX.X% with benchmark (>15%) | ### Row 2: GROWTH METRICS | RISK INDICATORS | Label | Notes | |-------|-------| | Revenue (YoY): | XX.XX% with benchmark (>10%) - REPORTED only | | Earning (YoY): | XX.XX% with benchmark (>0%) - REPORTED only | | EPS (TTM): | $X.XX | | Forward EPS: | $X.XX | | Growth Rates: | Capped: X.X% / Uncapped: X.X% | | Analyst Target: | $XX.XX | | CRS (0-1): | X.XX with benchmark (Medium) | | Debt/Equity (mrq): | X.XX with benchmark (0.5-1) | | Piotroski F: | X with benchmark (≥7) | | Altman Z: | X.XX with benchmark (>3) | | Beneish M: | X.XX with benchmark (<-1.78) | | Value Trap: | XX (Label) | ### Row 3: LIQUIDITY & FREE CASH FLOW | INSIDER & SENTIMENT & CLASS | Label | Notes | |-------|-------| | Current Ratio: | X.XX with benchmark (1-2) | | Cash: | $X.XB | | Debt: | $X.XB or N/A | | FCF Growth 5Y: | XX.X% with benchmark (>5%) | | FCF Yield: | X.XX% with benchmark (>4%) | | FCF Margin: | XX.XX% with benchmark (>15%) | | Payout Ratio: | XX.XX% with benchmark (<50%) | | Buys (12M): | X - from SEC Form 4 or N/A | | Sells (12M): | X - from SEC Form 4 or N/A | | Net Shares (12M): | +/-XXK - from SEC Form 4 or N/A | | Short Int (%): | X.X% | | Sentiment / Articles: | +X.XXX / XX (Positive/Negative) | | Stock: [Type] + Div Yield: | Combined: "Stock: Growth" + "Div Yield: X.XX%" | | Sector/Industry: | Combined: "Sector / Industry" | ### Row 4: QUALITY SCORES | MOAT & OTHER | Label | Notes | |-------|-------| | CQVS: | XX.XX with benchmark range | | Label: | Strong/Moderate/Weak | | Valuation: | XX.XX | | Quality: | XX.XX | | Strength: | XX.XX | | Integrity: | XX.XX | | Buffett Moat: | X with benchmark (4-7) | | Greenblatt (MF): | EY: X.X% / ROC: X.X% or N/A | | Beta: + Vol 1Y: | Combined: "Beta: X.XX" + "Vol 1Y: XX.X%" | | Earnings Predict.: | XX.X% with benchmark (>80%) | | Drawdown (5Y): | -XX.X% with label (Low/Mid/High) | | Completeness: + Data Quality: | Combined: "XX.X%" + "High/Medium/Low" | --- ## STANDARDIZED BENCHMARKS (Single Source of Truth) Use these EXACT thresholds for color coding: | Metric | Green (Good) | Yellow (Neutral) | Red (Warning) | |--------|--------------|------------------|---------------| | **ROE** | >20% | 10-20% | <10% | | **ROA** | >10% | 5-10% | <5% | | **Profit Margin** | >20% | 10-20% | <10% | | **Operative Margin** | >20% | 10-20% | <10% | | **Gross Margin** | >40% | 25-40% | <25% | | **ROIC** | >15% | 8-15% | <8% | | **Debt/Equity** | <1 | 1-2 | >2 | | **Current Ratio** | 1-2 | 0.5-1 or 2-3 | <0.5 or >3 | | **Piotroski F** | ≥7 | 4-6 | ≤3 | | **Altman Z** | >2.99 | 1.81-2.99 | <1.81 | | **Beneish M** | <-2.22 | -2.22 to -1.78 | >-1.78 | | **PEG (1Y)** | <1 | 1-2 | >2 | | **RSI (14)** | 30-50 | 50-70 | >70 or <30 | | **Short Interest** | <5% | 5-10% | >10% | | **FCF Yield** | >5% | 2-5% | <2% | | **FCF Margin** | >15% | 10-15% | <10% | | **Dividend Yield** | >2% | 1-2% | <1% or >8% | | **Value Trap** | 0-39 | 40-59 | 60-100 | | **Max Drawdown** | >-30% | -30% to -50% | <-50% | | **Revenue Growth** | >10% | 0-10% | <0% | | **Earnings Growth** | >0% | -10% to 0% | <-10% | --- ## Overview This skill provides institutional-grade evaluation of potential stock investments. Unlike portfolio analysis which reviews existing positions, this skill evaluates stocks you're **considering buying** or **deciding whether to purchase**. The evaluation answers: - **Should I buy this stock?** - **At what price should I enter?** - **How much should I allocate?** - **What's my upside and downside?** - **When should I sell?** ### Default Currency: € (Euro) All monetary values in the dashboard should be displayed in **Euro (€)** as the default currency: - Price: €42.13 - Market Cap: €78.3B - Analyst Target: €56.45 - Entry/Stop/Target prices: €38, €35, €56 - EPS values: €1.39, €1.91 ### IMPORTANT: Use REPORTED Growth Rates For the dashboard metrics **"Rev Growth"** and **"Earn Growth"**: - **USE REPORTED GROWTH** - not underlying, adjusted, or organic figures - Reported figures reflect actual GAAP/IFRS numbers including FX, acquisitions, disposals - This provides a more accurate picture of what investors actually received - Example: If underlying growth is 7% but reported is 2.2%, use **2.2%** - Same for earnings: Use reported EPS growth, not adjusted EPS growth ## Core Purpose **Stock Evaluator** is for: - ✅ Evaluating potential investments BEFORE buying - ✅ Analyzing watchlist candidates - ✅ Getting buy/hold/sell recommendations with specific prices - ✅ Comparing multiple investment opportunities - ✅ Finding better alternatives to current consideration **NOT for:** - ❌ Reviewing existing portfolio positions (use Portfolio Analyst skill) - ❌ General stock market questions - ❌ Stock screening or discovery from scratch - ❌ Options, derivatives, or crypto analysis ## Evaluation Framework ### Five Pillars of Stock Evaluation **1. Valuation Assessment** - Is the stock undervalued, fairly valued, or overvalued? - Multiple valuation methods (DCF, relative, Peter Lynch, asset-based) - Margin of safety requirement (15-30%) - Fair value estimate with confidence range **2. Quality Analysis** - Business model strength and competitive moat - Financial health and trends (5-10 year view) - Management quality and capital allocation - Industry position and competitive advantages **3. Timing Assessment** - Technical setup and entry points - Near-term catalysts and events - Market sentiment and positioning - Optimal entry price range **4. Position Sizing** - Allocation recommendation (% of portfolio) - Based on conviction, risk, and diversification - Maximum allocation limits - Risk-adjusted sizing **5. Conviction Rating** - **Strong Buy**: High conviction, clear undervaluation, low risk - **Buy**: Good opportunity, reasonable valuation, moderate risk - **Hold**: Fairly valued, no compelling reason to buy now - **Avoid**: Overvalued, significant risks, or better alternatives exist --- ## Value Trap Indicator ### What It Is A Value Trap is when a stock appears undervalued (low P/E, low P/B) but is actually cheap for valid fundamental reasons. The stock keeps declining despite appearing "cheap." ### Value Trap Score Calculation (0-100, LOWER = more genuine, HIGHER = more trap) **Components to evaluate (ADD points for trap indicators):** **1. Price Momentum (25 points max)** - 6-month price change vs market: If underperforming by >20%, ADD 15-25 points - 12-month price change: Sustained decline = ADD 10-20 points - If price momentum is POSITIVE: ADD 0 points **2. Earnings Quality (25 points max)** - EPS trend (3 years): Declining = ADD 10-25 points - Revenue trend: Declining = ADD 5-15 points - Margin trend: Compressing = ADD 5-10 points - If earnings quality is STRONG: ADD 0 points **3. Balance Sheet Health (25 points max)** - Debt levels increasing? ADD 5-15 points - Cash flow negative or declining? ADD 10-20 points - Working capital deteriorating? ADD 5-10 points - If balance sheet is HEALTHY: ADD 0 points **4. Valuation Context (25 points max)** - Is low multiple justified by declining fundamentals? ADD 10-25 points - Compare current fundamentals to when multiple was higher - If fundamentals justify valuation: ADD 0 points ### Scoring Formula ``` Value Trap Score = Momentum Penalty + Quality Penalty + Balance Sheet Penalty + Valuation Penalty ``` (Score ranges from 0 to 100, where 0 = definitely genuine value, 100 = definite value trap) ### Score Interpretation - **0-19**: Genuine Value (likely undervalued, fundamentals intact) - GREEN - **20-39**: Probably Genuine (minor concerns, monitor) - LIGHT GREEN - **40-59**: Caution Zone (mixed signals, proceed carefully) - YELLOW - **60-79**: Likely Trap (multiple red flags) - ORANGE - **80-100**: Strong Trap Signal (avoid) - RED ### Display Format ``` Value Trap: 21 (Genuine) ``` Color coding: green <40, yellow 40-60, red >60 --- ## Investor Persona Scores Score each stock against 8 famous investor philosophies (0-10 scale). This helps users understand what type of investor the stock suits. ### 1. Warren Buffett Score Based on "The Warren Buffett Way" - seeks durable competitive advantages **Key metrics weighted:** - ROE (>20%): 2 points - Profit margin (>15%): 2 points - Free cash flow positive & growing: 2 points - Moat strength (brand, pricing power): 2 points - Predictable earnings: 2 points **Buffett likes:** Predictable businesses, pricing power, low capex needs, consistent profitability ### 2. Charlie Munger Score Based on "Poor Charlie's Almanack" - mental latticework, inversion thinking **Focus on:** What could go WRONG (inversion principle) **Scoring:** Start at 10, subtract penalties: - High debt (D/E > 2): -3 points - Volatile earnings: -2 points - Poor management history: -2 points - No competitive moat: -2 points - Accounting red flags: -3 points ### 3. Ray Dalio Score Based on "Principles" - All-Weather portfolio, economic machine understanding **Key metrics:** - D/E ratio < 1: 2 points - Beta < 1: 2 points - Stable margins across cycles: 2 points - Low earnings volatility: 2 points - Recession resistance history: 2 points **Dalio likes:** Deleveraging plays, operational efficiency, cycle resilience ### 4. Peter Lynch Score Based on "One Up on Wall Street" - GARP (Growth at Reasonable Price) **Primary metric: PEG Ratio (P/E ÷ Growth Rate)** - PEG < 0.5: 10 points - PEG 0.5-1.0: 8 points - PEG 1.0-1.5: 6 points - PEG 1.5-2.0: 4 points - PEG > 2.0: 2 points **Adjustment factors:** - +1 if earnings growing consistently - +1 if business easy to understand - -1 if declining industry ### 5. Benjamin Graham Score Based on "The Intelligent Investor" - Margin of Safety **Graham criteria (2 points each, max 10):** - P/E < 15 - P/B < 1.5 - Current ratio > 2 - Positive earnings 10 years - Dividend paid 20+ years ### 6. Joel Greenblatt Score Based on "The Little Book That Beats the Market" - Magic Formula **Combines two rankings:** - Earnings Yield (EBIT/EV): Higher = better - Return on Capital (EBIT/Net Fixed Assets + Working Capital): Higher = better **Scoring:** Combined rank in top 10% = 10 points, scaled down ### 7. John Templeton Score Based on contrarian, global value investing **Key factors:** - Trading at multi-year lows: +3 points - Out of favor with analysts: +2 points - Strong fundamentals despite pessimism: +3 points - Global perspective (non-US opportunity): +2 points ### 8. George Soros Score Based on "The Alchemy of Finance" - Reflexivity **Key factors:** - Momentum and trend strength: 3 points - Macro tailwinds: 3 points - Market perception shifting: 2 points - Inflection point catalyst: 2 points **Soros likes:** Macro plays, reflexive situations, trend participation ### Display Format Show 8 badges around radar chart with scores and color coding: - Green (7-10): Strong fit - Yellow (4-6.9): Moderate fit - Red (0-3.9): Poor fit --- ## Enhanced Technical Analysis ### Ichimoku Cloud Analysis **Components to Calculate:** - **Tenkan-sen (Conversion Line):** (9-period high + 9-period low) / 2 - **Kijun-sen (Base Line):** (26-period high + 26-period low) / 2 - **Senkou Span A:** (Tenkan-sen + Kijun-sen) / 2, plotted 26 periods ahead - **Senkou Span B:** (52-period high + 52-period low) / 2, plotted 26 periods ahead - **Chikou Span (Lagging Span):** Current close plotted 26 periods back **Cloud (Kumo):** Area between Senkou Span A and B **Signals to Identify and Display:** - **TK Bullish Cross:** Tenkan-sen crosses above Kijun-sen (bullish) - mark with ◆ - **TK Bearish Cross:** Tenkan-sen crosses below Kijun-sen (bearish) - mark with ◆ - **Kumo Twist Bullish:** Cloud changes from red to green - mark with ◆ - **Kumo Twist Bearish:** Cloud changes from green to red - mark with ◆ - **Price vs Cloud:** Above cloud (bullish), Below cloud (bearish), In cloud (neutral) ### Dual PEG Ratios - **PEG (1Y):** P/E ÷ 1-Year Forward Growth Estimate - **PEG (5Y):** P/E ÷ 5-Year Historical Growth Rate - Both provide different perspectives on growth valuation ### FCF Margin - **Formula:** Free Cash Flow / Revenue × 100 - **Benchmark:** >15% is excellent, >10% is good - Shows cash generation efficiency relative to sales ### News Sentiment & Short Interest - **News Sentiment:** -1 to +1 scale based on recent article sentiment - **Short Interest:** % of float sold short (>10% = high, <5% = low) - Both indicate market sentiment and potential squeeze/reversal --- ## Fundamental Analysis Process ### 1. Business Understanding (Always First) **What to Analyze:** - What does the company do? (products, services, business model) - Revenue sources and breakdown - Target customers and markets - Competitive advantages (moat sources) - Market position and share - Industry dynamics and trends **Management Evaluation:** - CEO background, tenure, track record - CFO and key executives - Capital allocation decisions (dividends, buybacks, acquisitions, R&D) - Management compensation alignment - Insider trading patterns (buying is bullish signal) - Leadership quality from earnings calls and letters **Competitive Position:** - Market share and trends - Key competitors (identify 3-5 direct peers) - What differentiates this company? - Sustainable competitive advantages? ### 2. Financial Analysis (5-10 Year View) **Research Process Order:** 1. **Latest 10-K first** - Understand current business and recent results 2. **Go back 5-10 years through historical 10-Ks** - Understand evolution 3. **Review last 2-3 years of 10-Qs** - Current trajectory 4. **Examine proxy statements** - Governance and compensation **Key Metrics to Analyze:** **Quality Benchmarks:** - ROE > 15% (return on equity) - Profit Margin > 15% - Gross Margin > 30% - Debt < Annual Revenue - Positive and growing Free Cash Flow - Revenue growth over 5 years (inflation-adjusted) **Trends to Assess:** - Revenue growth trajectory (accelerating/stable/decelerating?) - Margin expansion or contraction (why?) - Cash flow consistency and quality - Balance sheet strength (debt levels, liquidity) - Return on invested capital (ROIC) - Working capital management **Red Flags:** - Declining margins despite revenue growth - Negative or inconsistent free cash flow - Debt growing faster than cash generation - Losing market share - Chronic guidance misses - Accounting irregularities ### 3. Competitive Moat Assessment **Moat Strength: Wide / Narrow / None** **Evaluate Sources:** - **Network effects**: Product improves with more users? - **Brand loyalty**: Pricing power from brand strength? - **Switching costs**: Difficult/expensive to switch? - **Regulatory barriers**: Licenses, patents, regulations? - **Cost advantages**: Scale, technology, location? - **Intangible assets**: Patents, trademarks, proprietary data? **Moat Durability:** - How long can advantages be sustained? - What could erode the moat? - Is moat strengthening or weakening? **Peer Comparison:** Compare this company's moat vs. 3-5 direct competitors: - Market share trends - Profitability metrics (margins, ROE) - Growth rates - Financial strength ### 4. Advanced Financial Health Metrics Beyond basic quality metrics, calculate these advanced scores for deeper insight: **Piotroski F-Score (Financial Strength)** **Purpose**: 9-point score measuring financial strength across profitability, leverage, and operating efficiency. **Scoring (0-9, higher is better):** *Profitability (4 points):* - ROA > 0: +1 - Operating Cash Flow > 0: +1 - ROA improving YoY: +1 - Cash Flow from Operations > Net Income (quality of earnings): +1 *Leverage/Liquidity (3 points):* - Long-term debt decreasing YoY: +1 - Current ratio improving YoY: +1 - No new shares issued in past year: +1 *Operating Efficiency (2 points):* - Gross margin improving YoY: +1 - Asset turnover ratio improving YoY: +1 **Interpretation:** - **8-9**: Excellent financial health - **6-7**: Good financial health - **4-5**: Adequate financial health - **0-3**: Weak financial health **Altman Z-Score (Bankruptcy Risk)** **Purpose**: Predicts probability of bankruptcy within 2 years. **Formula (for public manufacturing companies):** Z = 1.2(A) + 1.4(B) + 3.3(C) + 0.6(D) + 1.0(E) Where: - A = Working Capital / Total Assets - B = Retained Earnings / Total Assets - C = EBIT / Total Assets - D = Market Cap / Total Liabilities - E = Sales / Total Assets **Interpretation:** - **Z > 2.99**: Safe Zone (low bankruptcy risk) - **Z 1.81-2.99**: Grey Zone (moderate risk) - **Z < 1.81**: Distress Zone (high bankruptcy risk) **Note**: Adjust for non-manufacturing companies (different coefficients). **Beneish M-Score (Earnings Manipulation Detection)** **Purpose**: Identifies likelihood of earnings manipulation. **Key Indicators (simplified approach):** - Days Sales Outstanding Index (increasing = warning) - Gross Margin Index (declining = warning) - Asset Quality Index (increasing = warning) - Sales Growth Index (excessive growth = warning) - Depreciation Index (declining = warning) - SG&A Index (disproportionate change = warning) - Leverage Index (increasing = warning) - Total Accruals to Total Assets (high = warning) **Interpretation:** - **M-Score > -1.78**: Likely manipulator (RED FLAG) - **M-Score < -1.78**: Unlikely manipulator (clean) **Practical Check (if full M-Score unavailable):** - Are accruals consistently high relative to cash flow? - Is DSO rising faster than revenue? - Are margins declining with revenue growth? - Any accounting restatements or auditor changes? **Max Drawdown (5-Year)** **Purpose**: Measures largest peak-to-trough price decline. **Calculation:** - Identify highest price in past 5 years - Find lowest subsequent price before recovery - Max Drawdown % = (Low - High) / High × 100 **Interpretation:** - **0-20%**: Low volatility (defensive stock) - **20-40%**: Moderate volatility (typical stock) - **40-60%**: High volatility (cyclical/growth) - **>60%**: Extreme volatility (speculative) **Consolidated Scores** **Strength Score (0-100):** Composite of: - Financial metrics (F-Score contribution) - Profitability (ROE, margins) - Growth rates - Market position **Integrity Score (0-100):** Composite of: - M-Score (earnings quality) - Cash flow vs. earnings alignment - Accounting practices - Management transparency **Predictability Score (0-100):** Composite of: - Revenue consistency (low volatility) - Earnings consistency - Business model stability - Cyclicality assessment **Data Quality Score (0-100):** - Completeness of financial data - Recency of filings - Auditor quality - Disclosure transparency ### 5. Risk Analysis **Company-Specific Risks:** - Execution risk (can management deliver?) - Competition risk (share loss, new entrants) - Product concentration (single product dependency) - Customer concentration (few large customers) - Key person risk (CEO dependency) - Financial distress risk (Z-Score assessment) - Earnings quality risk (M-Score assessment) **Industry Risks:** - Disruption (technology or business model) - Cyclicality (economic sensitivity) - Regulation (policy changes) - Commoditization (pricing power erosion) - Structural decline (secular headwinds) **Macro Risks:** - Economic (recession, inflation, rates) - Geopolitical (trade wars, conflicts) - Currency (FX exposure) - Market (valuation levels, sentiment) **Overall Risk Level: Low / Moderate / High** **Consolidated Risk Score:** (0-1 scale, lower is better) - Incorporates: Z-Score, volatility, leverage, earnings quality - <0.30: Low Risk - 0.30-0.60: Moderate Risk - >0.60: High Risk --- ## Valuation Assessment Use **multiple valuation methods** - synthesize into fair value estimate. ### Required Valuation Methods **1. DCF Analysis (Discounted Cash Flow)** - Project free cash flows (5-10 years) - Apply appropriate discount rate (WACC) - Calculate terminal value - Include margin of safety: 15-30% - Sensitivity analysis with different assumptions **2. Relative Valuation** - Compare to 3-5 direct peer companies - Key multiples: P/E, EV/EBITDA, Price/Sales, Price/Book - Adjust for growth differentials - Consider industry-specific multiples - Use both current and historical peer averages **3. Peter Lynch Fair Value** - Growth-at-reasonable-price framework - Compare P/E to growth rate (PEG ratio) - Fair value when P/E ≈ growth rate - Adjust for quality factors **4. Asset-Based (When Applicable)** - For REITs, financials, asset-heavy companies - Book value or replacement cost - Net asset value calculations ### Valuation Synthesis **Fair Value Estimate: €X.XX** Weight each method appropriately: - DCF: 40% (if reliable cash flows) - Relative: 30% (peer comparison) - Peter Lynch: 30% (growth-adjusted) **Margin of Safety:** - **Current Price vs. Fair Value**: X% discount/premium - **Required**: Minimum 15% margin of safety - **Adequate**: 15-30% margin of safety - **Excellent**: >30% margin of safety **Valuation Conclusion:** - **UNDERVALUED**: >15% below fair value (buy opportunity) - **FAIRLY VALUED**: Within ±15% of fair value (hold) - **OVERVALUED**: >15% above fair value (avoid/sell) --- ## Technical Analysis (Entry Timing) Focus on identifying optimal entry points, not full technical analysis. ### Key Technical Elements **1. Price Action (Last 30-60 Days)** - Current trend: Uptrend / Downtrend / Range-bound - Recent price pattern - Volume trends (increasing on rallies?) - Momentum assessment **2. Key Levels** - **Support levels**: Where buying interest emerges - Primary support: €X.XX - Secondary support: €X.XX - **Resistance levels**: Where selling pressure increases - Primary resistance: €X.XX - Secondary resistance: €X.XX **3. Technical Indicators** - **RSI** (Relative Strength Index): - >70 = Overbought (may pullback) - <30 = Oversold (potential bounce) - 40-60 = Neutral - **MACD** (Moving Average Convergence Divergence): - Bullish crossover / Bearish crossover / Neutral - Momentum accelerating or decelerating? - **Moving Averages**: - 50-day MA: €X.XX (price above/below?) - 200-day MA: €X.XX (trend indicator) **4. Entry Assessment** - **Technical Setup**: Bullish / Neutral / Bearish - **Optimal Entry**: Wait for pullback to support / Buy at market / Wait for breakout - **Entry Price Range**: €X.XX - €X.XX - **Avoid Above**: €X.XX (poor risk/reward) --- ## Bull vs. Bear Case Analysis **MANDATORY**: Every analysis must present both sides fairly. ### Bull Case (Optimistic Scenario) **Potential Upside: +X% to €X.XX** 1. [Key bull argument 1 with specific evidence] 2. [Key bull argument 2 with specific evidence] 3. [Key bull argument 3 with specific evidence] **For this to play out:** - [Required condition 1] - [Required condition 2] ### Bear Case (Pessimistic Scenario) **Potential Downside: -X% to €X.XX** 1. [Key bear argument 1 with specific evidence] 2. [Key bear argument 2 with specific evidence] 3. [Key bear argument 3 with specific evidence] **This happens if:** - [Risk trigger 1] - [Risk trigger 2] ### Balance Assessment **Which case is more probable: [Bull / Bear / Balanced]** [Explanation of why one case is more likely, considering: - Quality of evidence for each side - Historical precedent - Management track record - Industry dynamics - Current valuation] --- ## Investment Recommendation Structure ### BUY Recommendation Criteria - Fair value >15% above current price (adequate margin of safety) - Strong or improving fundamentals - Reasonable or bullish technical setup - Identifiable catalysts - Acceptable risk level - Conviction: Strong Buy or Buy ### HOLD Recommendation Criteria - Fair value within ±15% of current price - Stable fundamentals, no compelling catalyst - Better opportunities may exist elsewhere - Wait for better entry price - Conviction: Hold ### SELL/AVOID Recommendation Criteria - Fair value <-15% below current price (overvalued) - Deteriorating fundamentals - Significant risks - Better alternatives available - Must provide 3-5 alternative candidates - Conviction: Avoid --- ## Position Sizing Framework **Allocation recommendation based on:** **Conviction + Risk = Position Size** **Strong Buy (High Conviction, Low Risk):** - Position size: 5-8% of portfolio - Maximum: 10% **Buy (Moderate Conviction, Moderate Risk):** - Position size: 3-5% of portfolio - Maximum: 7% **Speculative/High Risk:** - Position size: 1-3% of portfolio - Maximum: 5% **Considerations:** - Diversification needs (avoid sector concentration) - Correlation with existing holdings - Overall portfolio risk - Liquidity requirements - User's risk tolerance (from project context) --- ## Entry and Exit Strategy ### Entry Strategy **NO scale-in strategies** - recommend single entry approach: **If BUY:** - **Ideal Entry Price: €X.XX - €X.XX** (optimal range) - **Maximum Buy Price: €X.XX** (above this, risk/reward unfavorable) - **Approach:** - "Buy now at market" (if currently at good price) - "Wait for pullback to €X.XX support" (if extended) - "Buy on break above €X.XX" (if breakout setup) - "Don't buy above €X.XX" (if overvalued) ### Exit Strategy **Price Target (12-month):** €X.XX (+X% upside) - Conservative: €X.XX - Base case: €X.XX - Optimistic: €X.XX **Stop Loss:** €X.XX (-X% maximum loss) - Technical stop: Below key support - Fundamental stop: If thesis breaks **Sell If (Thesis-Breaking Conditions):** 1. [Specific fundamental deterioration] 2. [Specific competitive threat] 3. [Specific valuation threshold] **Hold Duration:** - Expected timeframe: [6-12 months / 1-3 years / 3-5+ years] - Based on investment type (swing trade vs long-term hold) --- ## Catalyst Identification Identify specific events that could drive stock performance. **Near-Term (0-6 months):** - Upcoming earnings: [Date] - Product launches: [Event] - Regulatory decisions: [Expected timing] - Industry events: [Conference, data release] **Medium-Term (6-18 months):** - Market expansion plans - New product cycles - Margin expansion initiatives - Strategic partnerships **Long-Term (18+ months):** - Structural industry trends - Market share gains - Technological leadership - Business model evolution --- ## Key Analytical Constraints **Critical Principles:** 1. **No Press/News for Fundamental Analysis** - Use company filings only (10-K, 10-Q, 8-K, proxy) - Use earnings call transcripts - Do NOT rely on news articles or press releases - Exception: News for recent developments, but verify in filings 2. **Magnitude Over Precision** - Focus on stocks with good margin of safety (>15%) - Don't need perfect forecasts - Better to be approximately right than precisely wrong - Conservative assumptions better than optimistic 3. **Long-Term View** - Analyze 5-10 year trends, not just recent quarters - Temporary setbacks vs. structural problems - Sustainable competitive advantages matter most - Short-term noise vs. long-term signal 4. **Compare Apples to Apples** - Benchmark against 3-5 direct competitors - Not just broad market indices - Industry-specific metrics and norms - Adjust for company size and maturity 5. **Intellectual Honesty** - Acknowledge limitations and unknowns - Present both bull and bear cases fairly - Say "I don't know" when appropriate - Update views when evidence changes --- ## Output Template ```markdown # [SYMBOL] - [Company Name] Evaluation ## ⚠️ DELIVERABLES CHECKLIST ✓ ☑ Technical Analysis Complete ☑ Fundamental Analysis Complete ☑ Valuation Assessment Complete ☑ Bull vs. Bear Case Complete ☑ Clear Recommendation: **[BUY / HOLD / SELL]** ☑ Alternative Candidates: [If SELL, list 3-5 alternatives below] --- ## 📊 Executive Summary [2-3 sentence bottom-line assessment with key reasoning] **Recommendation: [BUY / HOLD / SELL]** **Conviction: [Strong Buy / Buy / Hold / Avoid]** --- ## 💰 Valuation Assessment **Fair Value Estimate: €X.XX** (Current: €X.XX) - **Margin of Safety: X%** [Adequate >15% / Insufficient <15%] - **Valuation: [UNDERVALUED / FAIRLY VALUED / OVERVALUED]** | Valuation Method | Fair Value | vs. Current | Weight | |-----------------|-----------|-------------|--------| | DCF Analysis | €X.XX | +X% | 40% | | Peer Relative | €X.XX | +X% | 30% | | Peter Lynch | €X.XX | +X% | 30% | | **Weighted Average** | **€X.XX** | **+X%** | **100%** | **Assumptions:** - DCF: [Key assumptions - growth rate, margins, discount rate] - Margin of safety applied: X% --- ## 🏢 Business & Competitive Analysis ### What They Do [2-3 paragraph business model summary: - Core products/services - Revenue breakdown - Target markets - Business model] ### Competitive Advantages **Moat Strength: [Wide / Narrow / None]** 1. **[Advantage 1]**: [Detailed explanation with evidence] 2. **[Advantage 2]**: [Detailed explanation with evidence] 3. **[Advantage 3]**: [Detailed explanation with evidence] **Moat Durability:** [How sustainable are these advantages? 3-5 years? 10+ years?] ### Management Quality Assessment **Overall Rating: [Excellent / Good / Adequate / Concerning]** - **CEO**: [Name] - [Background, tenure] - Track record: [Achievements/concerns] - Capital allocation: [Shareholder-friendly? Smart acquisitions?] - **CFO**: [Name] - [Financial stewardship] - **Insider Trading**: [Recent buying/selling activity] - **Key Insight**: [Overall management assessment] ### Competitive Position **Market Position:** - Market share: X% (#X in industry) - Share trend: [Gaining / Stable / Losing] **Key Competitors:** [List 3-5 direct peers] **Peer Comparison:** | Company | Mkt Cap | Revenue Growth | Profit Margin | ROE | P/E | Moat | |---------|---------|---------------|---------------|-----|-----|------| | [Target] | €XB | X% | X% | X% | X.X | [Rating] | | [Peer 1] | €XB | X% | X% | X% | X.X | [Rating] | | [Peer 2] | €XB | X% | X% | X.X | X.X | [Rating] | | [Peer 3] | €XB | X% | X% | X% | X.X | [Rating] | **Competitive Assessment:** [Is this the best company in the sector?] --- ## 📈 Financial Health Analysis ### Quality Metrics vs. Benchmarks | Metric | Current | 1Y Ago | 3Y Ago | 5Y Ago | Target | Status | |--------|---------|--------|--------|--------|--------|--------| | ROE | X% | X% | X% | X% | >15% | [✓/✗] | | Profit Margin | X% | X% | X% | X% | >15% | [✓/✗] | | Gross Margin | X% | X% | X% | X% | >30% | [✓/✗] | | Revenue Growth | X% | X% | X% | X% | >0% | [✓/✗] | | Debt/Revenue | X.X | X.X | X.X | X.X | <1.0 | [✓/✗] | | FCF | €XM | €XM | €XM | €XM | Positive | [✓/✗] | ### Advanced Financial Health Scores **Piotroski F-Score: X/9** [Excellent 8-9 / Good 6-7 / Adequate 4-5 / Weak 0-3] *Profitability:* X/4 - ROA positive: [✓/✗] - Operating CF positive: [✓/✗] - ROA improving: [✓/✗] - CF > Net Income: [✓/✗] *Leverage:* X/3 - Debt decreasing: [✓/✗] - Current ratio improving: [✓/✗] - No dilution: [✓/✗] *Efficiency:* X/2 - Margin improving: [✓/✗] - Turnover improving: [✓/✗] **Assessment:** [Detailed interpretation of F-Score] **Altman Z-Score: X.XX** [Safe >2.99 / Grey 1.81-2.99 / Distress <1.81] - **Bankruptcy Risk:** [Low / Moderate / High] - **Interpretation:** [Explanation of Z-Score and financial stability] **Beneish M-Score: X.XX** [Clean <-1.78 / Warning >-1.78] - **Earnings Quality:** [High / Moderate / Questionable] - **Red Flags:** [List any concerning indicators or state "None"] **Max Drawdown (5Y): -X%** [Low <20% / Moderate 20-40% / High 40-60% / Extreme >60%] - **Volatility Assessment:** [Low/Moderate/High volatility explanation] - **Peak price:** €X.XX ([Date]) - **Trough price:** €X.XX ([Date]) ### Consolidated Scores **Strength Score: X/100** (Financial power and market position) **Integrity Score: X/100** (Earnings quality and transparency) **Predictability Score: X/100** (Business consistency) **Data Quality Score: X/100** (Information completeness) **Overall Quality Rating: [Elite / Strong / Good / Adequate / Weak]** ### Financial Trends (5-10 Year View) **Revenue:** - [Trend description: growth rate, consistency, drivers] - [Any concerning patterns?] **Margins:** - Gross margin: [Expanding / Stable / Declining] - Operating margin: [Trend] - Net margin: [Trend] - Drivers: [Why are margins moving this way?] **Cash Flow:** - Operating cash flow: [Trend and quality] - Free cash flow: [Consistency, conversion] - Capital allocation: [Dividends, buybacks, capex, acquisitions] **Balance Sheet:** - Debt levels: [Conservative / Moderate / High] - Liquidity: [Strong / Adequate / Concerning] - Trend: [Strengthening / Stable / Weakening] ### 🚩 Red Flags [List any concerning trends or issues, or state "None identified"] --- ## 📉 Technical Analysis & Entry Timing ### Price Action (Last 30-60 Days) - **Current Price**: €X.XX - **52-Week Range**: €X.XX - €X.XX - **30-day Change**: [+/-X%] - **Trend**: [Uptrend / Downtrend / Range-bound] - **Volume**: [Increasing / Decreasing / Normal] ### Key Technical Levels **Support Levels:** - **Primary Support: €X.XX** - [Significance/reason] - **Secondary Support: €X.XX** - [Significance/reason] **Resistance Levels:** - **Primary Resistance: €X.XX** - [Significance/reason] - **Secondary Resistance: €X.XX** - [Significance/reason] ### Technical Indicators **RSI**: X.X [Overbought >70 / Neutral 30-70 / Oversold <30] **MACD**: [Bullish crossover / Bearish crossover / Neutral] - Interpretation: [Momentum assessment] **Moving Averages:** - 50-day MA: €X.XX - Price is [above/below] - 200-day MA: €X.XX - Price is [above/below] - Golden/Death Cross: [Any recent crossovers?] ### Entry Assessment **Technical Setup: [Bullish / Neutral / Bearish]** **Optimal Entry Strategy:** - [Buy now at market / Wait for pullback to €X.XX / Buy on breakout above €X.XX] - **Ideal Entry Range: €X.XX - €X.XX** - **Maximum Buy Price: €X.XX** (avoid above this) **Momentum: [Strong Bullish / Bullish / Neutral / Bearish / Strong Bearish]** --- ## ⚖️ Bull vs. Bear Case ### 🐂 Bull Case **Potential Upside: €X.XX (+X%)** 1. **[Bull Argument 1]**: [Specific evidence and reasoning] 2. **[Bull Argument 2]**: [Specific evidence and reasoning] 3. **[Bull Argument 3]**: [Specific evidence and reasoning] **For this to play out:** - [Required condition 1] - [Required condition 2] **Probability: [High / Moderate / Low]** ### 🐻 Bear Case **Potential Downside: €X.XX (-X%)** 1. **[Bear Argument 1]**: [Specific risk and reasoning] 2. **[Bear Argument 2]**: [Specific risk and reasoning] 3. **[Bear Argument 3]**: [Specific risk and reasoning] **This happens if:** - [Risk trigger 1] - [Risk trigger 2] **Probability: [High / Moderate / Low]** ### ⚖️ Balance Assessment **Which case is more probable: [Bull / Bear / Balanced]** [2-3 paragraph explanation of: - Weight of evidence for each side - Historical precedent - Management track record - Industry dynamics - Current valuation - Risk/reward assessment] --- ## ⚠️ Risk Analysis **Overall Risk Level: [Low / Moderate / High]** ### Key Risks **1. [Risk Category - e.g., Competition Risk]**: [Specific risk and potential impact. Probability: High/Medium/Low] **2. [Risk Category - e.g., Execution Risk]**: [Specific risk and potential impact. Probability: High/Medium/Low] **3. [Risk Category - e.g., Valuation Risk]**: [Specific risk and potential impact. Probability: High/Medium/Low] **4. [Risk Category - e.g., Macro Risk]**: [Specific risk and potential impact. Probability: High/Medium/Low] ### Risk Mitigation [How does the company/investment address these risks?] [What reduces the risk in this investment?] --- ## 🎯 Catalysts & Timeline ### Near-Term (0-6 months) - **[Date]**: [Specific catalyst - earnings, product launch, etc.] - **[Date]**: [Specific catalyst] ### Medium-Term (6-18 months) - [Expected development 1] - [Expected development 2] ### Long-Term (18+ months) - [Structural trend 1] - [Structural trend 2] **Expected Timeline to Target**: [6-12 months / 1-3 years / 3-5+ years] --- ## 💡 Investment Recommendation ### **RECOMMENDATION: [BUY / HOLD / SELL]** ### **Conviction: [Strong Buy / Buy / Hold / Avoid]** ### Rationale [2-3 paragraph synthesis of entire analysis: - Why this recommendation? - What makes it compelling (or not)? - How does valuation + fundamentals + technicals + catalysts = this conclusion? - What's the risk/reward?] --- ## 📍 Entry Strategy (if BUY) **Ideal Entry Price: €X.XX - €X.XX** - Reasoning: [Why this range?] **Maximum Acceptable Price: €X.XX** - Above this: Risk/reward unfavorable **Approach:** - [Buy now at market / Wait for pullback to €X.XX / Buy on breakout above €X.XX] - Reasoning: [Current technical setup justification] **DO NOT BUY IF:** - Price exceeds €X.XX without fundamental improvement - [Other specific condition] --- ## 🎯 Exit Strategy ### Price Targets (12-Month Horizon) - **Conservative**: €X.XX (+X%) - **Base Case**: €X.XX (+X%) - **Optimistic**: €X.XX (+X%) ### Stop Loss **Stop Loss: €X.XX (-X% maximum loss)** - Technical: Below €X.XX support - Fundamental: If [thesis-breaking condition] ### Sell Conditions (Thesis-Breaking) Exit position if any of these occur: 1. [Specific fundamental deterioration - e.g., "ROE drops below 10% for 2 consecutive quarters"] 2. [Specific competitive threat - e.g., "Loses >5% market share to competitor"] 3. [Specific valuation threshold - e.g., "Reaches €X.XX (>50% above fair value)"] ### Hold Duration **Expected Timeframe**: [6-12 months / 1-3 years / 3-5+ years] - Based on: [Investment type - swing trade vs. long-term hold] --- ## 📏 Position Sizing ### Recommended Allocation: X-X% of portfolio **Specific Recommendation: X%** **Rationale:** - Conviction level: [Strong Buy / Buy → drives size] - Risk level: [Low / Moderate / High → constrains size] - Diversification: [Sector exposure, correlation with existing holdings] - Liquidity: [Can exit position easily?] **Maximum Allocation: X%** - Risk management limit - Don't exceed even if highly convicted ### Sizing Guidelines Applied: - Strong Buy + Low Risk = 5-8% (max 10%) - Buy + Moderate Risk = 3-5% (max 7%) - Speculative + High Risk = 1-3% (max 5%) --- ## 🔑 Key Takeaways ### Top 3 Reasons to Invest 1. [Most compelling positive factor] 2. [Second most compelling positive factor] 3. [Third most compelling positive factor] ### Top 3 Concerns 1. [Biggest risk or concern] 2. [Second biggest risk or concern] 3. [Third biggest risk or concern] ### One-Sentence Investment Thesis [Single sentence capturing the complete investment case - why buy or avoid] --- ## 📚 Research Documentation **Sources Consulted:** - 10-K filings: [Fiscal years reviewed - e.g., FY2020-2024] - 10-Q filings: [Recent quarters - e.g., Q1-Q3 2025] - Earnings calls: [Dates reviewed] - Proxy statements: [Years reviewed] - Management letters: [Years reviewed] - Competitor analysis: [Companies benchmarked] **Analysis Depth:** - Historical period analyzed: [X years] - Peer companies compared: [Number and names] - Valuation methods used: [DCF, Relative, Peter Lynch, Asset-based] **Confidence Level: [High / Medium / Low]** - **Based on**: [Quality and completeness of available data] - **Gaps**: [Any areas where information is limited or unavailable] - **Limitations**: [Any constraints in the analysis] --- ## 🔄 Alternative Candidates (Required if SELL/AVOID) [If recommending SELL or AVOID, provide 3-5 better investment alternatives with brief rationale for each] ### Alternative 1: [Symbol] - [Company Name] **Why it's better**: [1-2 paragraph comparison] **Quick metrics**: [Valuation, growth, margins] ### Alternative 2: [Symbol] - [Company Name] **Why it's better**: [1-2 paragraph comparison] **Quick metrics**: [Valuation, growth, margins] ### Alternative 3: [Symbol] - [Company Name] **Why it's better**: [1-2 paragraph comparison] **Quick metrics**: [Valuation, growth, margins] [Continue for 4-5 alternatives if SELL recommendation] --- **Analysis Date**: [Current Date] **Next Review**: [Suggested review date based on catalysts or timeline] **Analyst**: Claude Stock Evaluator --- ## 📊 Quant-Style Dashboard **FINAL MANDATORY STEP**: Create a React artifact using the standardized quant-style dashboard template with: **Required Data to Populate:** - ✅ All 48 metrics across 8 sections (calculated above) - ✅ Historical price data (5 years, 6-12 points) - ✅ 1-year price + 6-month forecast (4-6 points) - ✅ MACD data (3-5 recent points) - ✅ RSI data (3-5 recent points) - ✅ Radar chart (12 metrics, normalized 0-100) - ✅ Bull case (target + 5 points) - ✅ Bear case (target + 5 points) - ✅ Entry/exit strategy (5 values) **Use the EXACT template code provided in the skill instructions above.** **DO NOT use placeholder values - populate with actual calculated data from this analysis.** [Create the React artifact here using the quant-style template] ``` --- ## Quant-Style Dashboard Artifact **MANDATORY**: After completing the full text analysis, create a React dashboard artifact using the standardized quant-style template format. ### Dashboard Template Structure The dashboard uses a specific institutional-grade format with: **1. Header Section** (Orange background) - Format: `TICKER - Company Name` **2. Eight Metric Sections** (2-column grid) | Left Column | Right Column | |-------------|--------------| | Price & Valuation (blue) | Financial Performance (green) | | Growth Metrics (emerald) | Risk Indicators (red) | | Liquidity & FCF (cyan) | Insider & Sentiment (purple) | | Quality Scores (orange) | Moat & Other (gray) | Each section: 6 metric boxes with values, labels, benchmarks, color coding **3. Charts Section** (3-column grid) - **Left**: Linear Price Chart + MACD - Price, Intrinsic Value, Market Value lines - 5-year historical data - MACD indicator below - **Center**: Radar Chart + 1-Year Forecast - 12-point radar (normalized 0-100) - Consolidated advice badge - 1-year price + 6-month forecast - **Right**: Log Price Chart + RSI - Log-scale price history - Intrinsic value comparison - RSI (14) indicator below **4. Key Notes Section** (Expandable accordion) - 3-column layout: Bull Case | Bear Case | Entry/Exit Strategy - Click to expand/collapse **5. Footer** - Analysis date, data sources, recommendation ### Required Metrics by Section **Price & Valuation** (6 metrics): - Price, Market Cap, Trailing P/E, Forward P/E, Subsector Typical P/E, PEG Ratio **Financial Performance** (6 metrics): - ROE, ROA, Profit Margin, Operating Margin, Gross Margin, ROIC **Growth Metrics** (6 metrics): - Revenue Growth (5Y), Earnings Growth, EPS (TTM), Forward EPS, Analyst Rec, Target Price **Risk Indicators** (6 metrics): - Debt/Equity, Consolidated Risk, F-Score, Z-Score, M-Score, Max Drawdown (5Y) **Liquidity & FCF** (6 metrics): - Current Ratio, Total Cash, Total Debt, FCF Growth 5Y, FCF Yield, Payout Ratio **Insider & Sentiment** (6 metrics): - Insider Buys (12M), Insider Sells (12M), Net Shares (12M), RSI (14D), Stock Type, Sector **Quality Scores** (6 metrics): - CQVS, Label, Valuation Score, Quality Score, Strength Score, Integrity Score **Moat & Other** (6 metrics): - Moat Score (0-10), Beta, Predictability, Data Quality, Completeness, Dividend Yield ### Radar Chart Metrics (12 points, normalized 0-100) 1. Revenue Growth (normalize: X% growth → scale to 100 for 20%+) 2. Operating Margin (normalize: X% → 100 for 30%+) 3. Gross Margin (normalize: X% → 100 for 60%+) 4. Profit Margin (normalize: X% → 100 for 25%+) 5. ROE (normalize: X% → 100 for 30%+) 6. Risk Score (inverse of consolidated risk: 100 - risk*100) 7. Beta Score (inverse: 100 for beta=0.5, 50 for beta=1.5, 0 for beta=2.5+) 8. P/Market Discount (100 = deeply undervalued, 50 = fair, 0 = overvalued) 9. Moat Score (moat rating * 10) 10. FCF Yield (X% → 100 for 8%+) 11. ROA (X% → 100 for 20%+) 12. Earnings Growth (X% → 100 for 25%+) ### Color Coding Rules ```javascript // Green (isGood: true) - Positive indicators ROE > 20%, ROA > 10%, Margins > 20%, ROIC > 15% Revenue Growth > 10%, Current Ratio 1-2, Z-Score > 3 M-Score < -1.78, FCF Growth > 0%, Payout < 50% F-Score >= 7, Quality >= 70, Strength >= 70 // Red (isGood: false) - Warning indicators Max Drawdown < -50%, Beta > 2, Consolidated Risk > 0.6 Predictability < 50%, F-Score <= 3, Z-Score < 1.81 M-Score > -1.78, Quality < 50 // Yellow (isGood: 'neutral') - Monitor F-Score 4-6, RSI 30-70, Moat 5-7, Quality 50-70 Beta 1.5-2.0, Predictability 50-70% ``` ### Complete Template Code Use this exact template structure: ```jsx import React, { useState } from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar, ReferenceLine, Area, ComposedChart, Scatter } from 'recharts'; const QuantDashboard = () => { const [showKeyNotes, setShowKeyNotes] = useState(false); // ============================================================ // POPULATE WITH STOCK-SPECIFIC DATA FROM ANALYSIS // ============================================================ const ticker = "TICKER"; // Replace const companyName = "Company Name"; // Replace const recommendation = "BUY"; // BUY, HOLD, SELL, SPECULATIVE BUY const analysisDate = "December 6, 2025"; // Current date const metrics = { // Price & Valuation - from analysis price: 100.00, marketCap: '€10B', trailingPE: 20.0, forwardPE: 18.0, subsectorTypicalPE: 25.0, peg1Y: 1.2, // NEW: 1-Year Forward PEG peg5Y: 2.5, // NEW: 5-Year PEG // Financial Performance - from 5-10 year analysis roe: 25.0, roa: 12.0, profitMargin: 20.0, opMargin: 25.0, grossMargin: 50.0, roic: 18.0, // Growth Metrics - from historical trends (USE REPORTED, not underlying) revGrowth: 15.0, // REPORTED revenue growth YoY earnGrowth: 20.0, // REPORTED earnings growth YoY epsTTM: 5.00, forwardEPS: 5.50, growthCapped: 10.0, // NEW: Capped sustainable growth estimate growthUncapped: 22.0, // NEW: Headline analyst growth estimate analystTarget: 120.00, // Risk Indicators - from advanced metrics section crs: 0.40, // Consolidated Risk Score (0-1 scale) debtEquity: 0.50, fScore: 7, // Piotroski F-Score zScore: 4.0, // Altman Z-Score mScore: -2.5, // Beneish M-Score valueTrapScore: 25, // NEW: 0-100, LOWER = genuine, HIGHER = trap valueTrapLabel: 'Genuine', // NEW: Genuine/Caution/Trap maxDrawdown: -30.0, // 5-year max drawdown % // Liquidity & FCF - from cash flow analysis currentRatio: 1.5, totalCash: '€2B', totalDebt: '€1B', fcfGrowth5Y: 12.0, // 5-year smoothed growth fcfYield: 5.0, fcfMargin: 18.5, // NEW: FCF / Revenue % payoutRatio: 30.0, // Insider & Sentiment - from SEC Form 4 or use "N/A" if unavailable insBuys: 0, // From SEC Form 4 - use actual count or "N/A" insSells: 0, // From SEC Form 4 - use actual count or "N/A" netShares: 'N/A', // From SEC Form 4 - use actual or "N/A" shortInterest: 2.5, // From FINRA/exchange - use actual or "N/A" newsSentiment: 0.25, // -1 to +1 scale newsArticleCount: 15, // Recent article count // Beta & Volatility beta: 1.0, // Stock beta vol1Y: 25.0, // 1-Year volatility % // Quality Scores - from consolidated scoring cqvs: 75.0, // Consolidated Quality & Valuation Score label: 'Quality Growth', // Elite/Compounder/Quality Growth/etc valuation: 70.0, // 0-100 quality: 80.0, // 0-100 strength: 75.0, // 0-100 integrity: 85.0, // 0-100 // Moat & Other buffettMoat: 8, // 0-10 scale (renamed from moat) greenblattEY: 6.5, // NEW: Earnings Yield % greenblattROC: 22.0, // NEW: Return on Capital % earningsPredict: 70, // Earnings Predictability 0-100 completeness: 85, // Data completeness 0-100 dataQuality: 'High', // High/Medium/Low divYield: 1.5, stockType: 'Growth', // Growth/Value/Cyclical/Defensive sector: 'Technology', industry: 'Software', // NEW: Investor Persona Scores (0-10 scale each) buffettScore: 7.5, // Durable competitive advantage seeker mungerScore: 6.8, // Inversion thinker, risk avoider dalioScore: 7.2, // All-weather, cycle resilient lynchScore: 8.0, // GARP - Growth at Reasonable Price grahamScore: 5.5, // Deep value, margin of safety greenblattScore: 6.0, // Magic Formula (EY + ROC) templetonScore: 4.5, // Contrarian, global value sorosScore: 3.0, // Reflexivity, macro trends // NEW: Valuation Lines for Charts marketValueCurrent: 95.00, intrinsicValueCurrent: 110.00, marketValueNextYear: 105.00, intrinsicValueNextYear: 120.00, unrestrictedMarketValueCurrent: 125.00, unrestrictedMarketValueNextYear: 140.00, // Valuation Assessment (for indicator below forecast) valuationPercent: 15, // Positive = undervalued, negative = overvalued valuationLabel: 'Undervalued', // Undervalued/Fairly Valued/Overvalued }; // TOP NEWS Headlines - Format: pipe-separated with dates at END in brackets const topNews = [ { headline: 'Company announces Q4 guidance above expectations', date: '05 Dec 2025' }, { headline: 'New product launch receives positive analyst coverage', date: '28 Nov 2025' }, { headline: 'Strategic partnership announced with major cloud provider', date: '15 Nov 2025' }, { headline: 'Q3 earnings beat estimates, revenue up 18% YoY', date: '02 Nov 2025' }, { headline: 'Management presents at investor conference, reaffirms outlook', date: '20 Oct 2025' }, ]; // Format TOP NEWS as pipe-separated string with dates at END const topNewsString = topNews.map(n => `${n.headline} [${n.date}]`).join(' | '); // Historical Price Data (10 years with multiple valuation lines) const priceHistory = [ { date: '2016', price: 25, totalReturn: 28, marketValueCurrent: 27, intrinsicValueCurrent: 30, marketValueNextYear: 29, intrinsicValueNextYear: 32, analystTarget: 30, unrestrictedCurrent: 28, unrestrictedNextYear: 31 }, { date: '2017', price: 35, totalReturn: 40, marketValueCurrent: 38, intrinsicValueCurrent: 42, marketValueNextYear: 40, intrinsicValueNextYear: 45, analystTarget: 42, unrestrictedCurrent: 40, unrestrictedNextYear: 44 }, { date: '2018', price: 45, totalReturn: 52, marketValueCurrent: 48, intrinsicValueCurrent: 55, marketValueNextYear: 52, intrinsicValueNextYear: 60, analystTarget: 55, unrestrictedCurrent: 52, unrestrictedNextYear: 58 }, { date: '2019', price: 55, totalReturn: 65, marketValueCurrent: 58, intrinsicValueCurrent: 68, marketValueNextYear: 62, intrinsicValueNextYear: 72, analystTarget: 65, unrestrictedCurrent: 65, unrestrictedNextYear: 72 }, { date: '2020', price: 50, totalReturn: 62, marketValueCurrent: 55, intrinsicValueCurrent: 65, marketValueNextYear: 60, intrinsicValueNextYear: 70, analystTarget: 62, unrestrictedCurrent: 62, unrestrictedNextYear: 70 }, { date: '2021', price: 75, totalReturn: 95, marketValueCurrent: 80, intrinsicValueCurrent: 90, marketValueNextYear: 85, intrinsicValueNextYear: 98, analystTarget: 90, unrestrictedCurrent: 92, unrestrictedNextYear: 105 }, { date: '2022', price: 65, totalReturn: 85, marketValueCurrent: 72, intrinsicValueCurrent: 85, marketValueNextYear: 78, intrinsicValueNextYear: 92, analystTarget: 82, unrestrictedCurrent: 85, unrestrictedNextYear: 95 }, { date: '2023', price: 80, totalReturn: 105, marketValueCurrent: 85, intrinsicValueCurrent: 100, marketValueNextYear: 92, intrinsicValueNextYear: 108, analystTarget: 98, unrestrictedCurrent: 100, unrestrictedNextYear: 115 }, { date: '2024', price: 95, totalReturn: 125, marketValueCurrent: 100, intrinsicValueCurrent: 115, marketValueNextYear: 108, intrinsicValueNextYear: 125, analystTarget: 115, unrestrictedCurrent: 120, unrestrictedNextYear: 135 }, { date: '2025', price: 100, totalReturn: 135, marketValueCurrent: 105, intrinsicValueCurrent: 120, marketValueNextYear: 115, intrinsicValueNextYear: 132, analystTarget: 125, unrestrictedCurrent: 130, unrestrictedNextYear: 145 }, ]; // 1 Year Price with 6-Month Forecast, MAs, and Bollinger Bands const oneYearData = [ { date: "Jan'25", price: 90, ma50: 88, ma200: 85, upperBand: 98, lowerBand: 82, forecast: null, ci95Upper: null, ci95Lower: null }, { date: "Mar'25", price: 88, ma50: 89, ma200: 86, upperBand: 96, lowerBand: 80, forecast: null, ci95Upper: null, ci95Lower: null }, { date: "May'25", price: 95, ma50: 91, ma200: 87, upperBand: 102, lowerBand: 84, forecast: null, ci95Upper: null, ci95Lower: null }, { date: "Jul'25", price: 92, ma50: 92, ma200: 88, upperBand: 100, lowerBand: 84, forecast: null, ci95Upper: null, ci95Lower: null }, { date: "Sep'25", price: 98, ma50: 94, ma200: 90, upperBand: 106, lowerBand: 86, forecast: null, ci95Upper: null, ci95Lower: null }, { date: "Nov'25", price: 100, ma50: 96, ma200: 92, upperBand: 108, lowerBand: 88, forecast: 100, ci95Upper: 108, ci95Lower: 92 }, { date: "Jan'26", price: null, ma50: null, ma200: null, upperBand: null, lowerBand: null, forecast: 108, ci95Upper: 120, ci95Lower: 96 }, { date: "Mar'26", price: null, ma50: null, ma200: null, upperBand: null, lowerBand: null, forecast: 115, ci95Upper: 130, ci95Lower: 100 }, ]; // NEW: Ichimoku Cloud Data (6-month view with signal markers) const ichimokuData = [ { date: 'Jun', price: 88, tenkan: 87, kijun: 85, senkouA: 84, senkouB: 82, chikou: 85, tkCrossMarker: null, kumoTwistMarker: null }, { date: 'Jul', price: 92, tenkan: 90, kijun: 87, senkouA: 86, senkouB: 84, chikou: 90, tkCrossMarker: 92, kumoTwistMarker: null }, // TK Bullish Cross { date: 'Aug', price: 95, tenkan: 93, kijun: 90, senkouA: 89, senkouB: 86, chikou: 93, tkCrossMarker: null, kumoTwistMarker: null }, { date: 'Sep', price: 98, tenkan: 96, kijun: 93, senkouA: 92, senkouB: 88, chikou: 96, tkCrossMarker: null, kumoTwistMarker: 92 }, // Kumo Twist Bullish { date: 'Oct', price: 96, tenkan: 97, kijun: 95, senkouA: 94, senkouB: 90, chikou: 94, tkCrossMarker: null, kumoTwistMarker: null }, { date: 'Nov', price: 100, tenkan: 98, kijun: 96, senkouA: 95, senkouB: 92, chikou: 98, tkCrossMarker: null, kumoTwistMarker: null }, ]; // NEW: Ichimoku Signals Summary const ichimokuSignals = { tkCross: 'TK Bullish Cross', kumoTwist: 'Kumo Twist Bullish', priceVsCloud: 'Above Cloud (Bullish)', }; // MACD Data (recent 6 months) const macdData = [ { date: 'Jun', macd: 0.5, signal: 0.3, histogram: 0.2 }, { date: 'Jul', macd: 1.2, signal: 0.6, histogram: 0.6 }, { date: 'Aug', macd: 1.5, signal: 1.0, histogram: 0.5 }, { date: 'Sep', macd: 1.8, signal: 1.3, histogram: 0.5 }, { date: 'Oct', macd: 1.2, signal: 1.4, histogram: -0.2 }, { date: 'Nov', macd: 0.8, signal: 1.2, histogram: -0.4 }, ]; // RSI Data (recent 6 months) const rsiData = [ { date: 'Jun', rsi: 45 }, { date: 'Jul', rsi: 55 }, { date: 'Aug', rsi: 62 }, { date: 'Sep', rsi: 68 }, { date: 'Oct', rsi: 58 }, { date: 'Nov', rsi: 55 }, ]; // Radar Chart Data (normalize all to 0-100 scale) const radarData = [ { metric: 'Rev Growth', value: 70, fullMark: 100 }, { metric: 'Op Margin', value: 75, fullMark: 100 }, { metric: 'Gross Margin', value: 65, fullMark: 100 }, { metric: 'Profit Margin', value: 60, fullMark: 100 }, { metric: 'ROE', value: 70, fullMark: 100 }, { metric: 'Risk (CRS)', value: 60, fullMark: 100 }, { metric: 'Beta Score', value: 70, fullMark: 100 }, { metric: 'P/Market Disc', value: 50, fullMark: 100 }, { metric: 'Moat', value: 80, fullMark: 100 }, { metric: 'FCF Growth', value: 55, fullMark: 100 }, { metric: 'ROA', value: 65, fullMark: 100 }, { metric: 'Earn Growth', value: 75, fullMark: 100 }, ]; // Key Notes Content - from Bull/Bear case analysis const bullCase = { target: "€130-150", // Bull case price target points: [ "Strong revenue growth momentum", "Expanding margins", "Market leadership position", "Favorable industry tailwinds", "Strong balance sheet" ] }; const bearCase = { target: "€70-80", // Bear case price target points: [ "Valuation compression risk", "Competitive pressures", "Macro sensitivity", "Execution risks", "Key person dependency" ] }; const entryStrategy = { idealEntry: "€90-95", // From Entry Strategy section currentEntry: "€100 acceptable", target: "€120 (+20%)", // 12-month target stopLoss: "€85 (-15%)", // Stop loss positionSize: "2-3%" // Recommended allocation }; // ============================================================ // COMPONENT CODE (Standard - use as-is) // ============================================================ // Helper: Value Trap color (LOWER = genuine = green, HIGHER = trap = red) const getValueTrapColor = (score) => { if (score < 40) return 'bg-green-100 border-green-400 text-green-800'; if (score < 60) return 'bg-yellow-100 border-yellow-400 text-yellow-800'; return 'bg-red-100 border-red-400 text-red-800'; }; // Helper: Get label for Value Trap score const getValueTrapLabel = (score) => { if (score < 20) return 'Genuine'; if (score < 40) return 'Probably Genuine'; if (score < 60) return 'Caution'; if (score < 80) return 'Likely Trap'; return 'Strong Trap'; }; // Helper: Persona score color const getPersonaColor = (score) => { if (score >= 7) return 'bg-green-500'; if (score >= 4) return 'bg-yellow-500'; return 'bg-red-500'; }; // Helper: News sentiment color const getSentimentColor = (sentiment) => { if (sentiment > 0.3) return 'text-green-600'; if (sentiment > 0) return 'text-green-500'; if (sentiment > -0.3) return 'text-yellow-600'; return 'text-red-600'; }; // Persona Badge Component const PersonaBadge = ({ name, score, position }) => ( <div className={`absolute ${position} flex flex-col items-center`}> <div className={`w-6 h-6 rounded-full ${getPersonaColor(score)} flex items-center justify-center text-white text-[8px] font-bold`}> {score.toFixed(1)} </div> <div className="text-[7px] text-gray-600 mt-0.5">{name}</div> </div> ); const MetricBox = ({ label, value, benchmark, isGood, size = 'normal' }) => { let bgColor = 'bg-gray-50'; if (isGood === true) bgColor = 'bg-green-50 border-green-200'; if (isGood === false) bgColor = 'bg-red-50 border-red-200'; if (isGood === 'neutral') bgColor = 'bg-yellow-50 border-yellow-200'; return ( <div className={`${bgColor} border p-1.5 flex flex-col justify-center items-center`}> <div className="text-base font-bold text-gray-900">{value}</div> <div className="text-[9px] text-gray-600 text-center leading-tight">{label}</div> {benchmark && <div className="text-[8px] text-gray-400">{benchmark}</div>} </div> ); }; const SectionHeader = ({ title, bgColor }) => ( <div className={`${bgColor} px-2 py-1 text-[10px] font-bold text-gray-700`}> {title} </div> ); return ( <div className="w-full max-w-7xl mx-auto p-3 bg-white text-xs"> {/* Header */} <div className="bg-orange-500 text-white px-3 py-2 mb-1 text-lg font-bold text-center"> {ticker} - {companyName} </div> {/* TOP NEWS - Pipe separated with dates at END */} <div className="border border-gray-300 rounded p-2 mb-3 bg-gray-50"> <span className="font-bold text-[10px]">TOP NEWS:</span> <div className="text-[9px] mt-1">{topNewsString}</div> </div> {/* Top 4 sections */} <div className="grid grid-cols-2 gap-2 mb-3"> {/* Price & Valuation - Updated with dual PEG */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="PRICE & VALUATION" bgColor="bg-blue-100" /> <div className="grid grid-cols-7 gap-px bg-gray-200"> <MetricBox label="Price:" value={`€${metrics.price}`} /> <MetricBox label="Market Cap:" value={metrics.marketCap} /> <MetricBox label="Trailing P/E:" value={metrics.trailingPE} /> <MetricBox label="Forward P/E:" value={metrics.forwardPE} benchmark={`(${metrics.subsectorTypicalPE})`} isGood={metrics.forwardPE < metrics.subsectorTypicalPE} /> <MetricBox label="Subsector P/E:" value={metrics.subsectorTypicalPE} /> <MetricBox label="PEG (1Y):" value={metrics.peg1Y} benchmark="(<1.5)" isGood={metrics.peg1Y < 1.5 ? true : metrics.peg1Y < 2 ? 'neutral' : false} /> <MetricBox label="PEG (5Y):" value={metrics.peg5Y} benchmark="(<2)" isGood={metrics.peg5Y < 2 ? true : metrics.peg5Y < 3 ? 'neutral' : false} /> </div> </div> {/* Financial Performance */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="FINANCIAL PERFORMANCE" bgColor="bg-green-100" /> <div className="grid grid-cols-6 gap-px bg-gray-200"> <MetricBox label="ROE:" value={`${metrics.roe}%`} benchmark="(>20%)" isGood={metrics.roe >= 20 ? true : metrics.roe >= 10 ? 'neutral' : false} /> <MetricBox label="ROA:" value={`${metrics.roa}%`} benchmark="(>10%)" isGood={metrics.roa >= 10} /> <MetricBox label="Profit Margin:" value={`${metrics.profitMargin}%`} benchmark="(>20%)" isGood={metrics.profitMargin >= 20 ? true : metrics.profitMargin >= 10 ? 'neutral' : false} /> <MetricBox label="Operative Margin:" value={`${metrics.opMargin}%`} benchmark="(>20%)" isGood={metrics.opMargin >= 20} /> <MetricBox label="Gross Margin:" value={`${metrics.grossMargin}%`} benchmark="(>40%)" isGood={metrics.grossMargin >= 40} /> <MetricBox label="ROIC:" value={`${metrics.roic}%`} benchmark="(>15%)" isGood={metrics.roic >= 15} /> </div> </div> </div> {/* Next 4 sections */} <div className="grid grid-cols-2 gap-2 mb-3"> {/* Growth Metrics */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="GROWTH METRICS" bgColor="bg-emerald-100" /> <div className="grid grid-cols-7 gap-px bg-gray-200"> <MetricBox label="Revenue (YoY):" value={`${metrics.revGrowth}%`} benchmark="(>10%)" isGood={metrics.revGrowth >= 10} /> <MetricBox label="Earning (YoY):" value={`${metrics.earnGrowth}%`} benchmark="(>0%)" isGood={metrics.earnGrowth >= 0} /> <MetricBox label="EPS (TTM):" value={`€${metrics.epsTTM}`} /> <MetricBox label="Forward EPS:" value={`€${metrics.forwardEPS}`} isGood={metrics.forwardEPS > metrics.epsTTM} /> <MetricBox label="Growth Rates:" value={`Capped: ${metrics.growthCapped}%`} benchmark={`Uncapped: ${metrics.growthUncapped}%`} /> <MetricBox label="Analyst Target:" value={`€${metrics.analystTarget}`} /> </div> </div> {/* Risk Indicators */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="RISK INDICATORS" bgColor="bg-red-100" /> <div className="grid grid-cols-6 gap-px bg-gray-200"> <MetricBox label="CRS (0-1):" value={metrics.crs.toFixed(2)} benchmark="(Medium)" isGood={metrics.crs < 0.4 ? true : metrics.crs < 0.6 ? 'neutral' : false} /> <MetricBox label="Debt/Equity (mrq):" value={metrics.debtEquity} benchmark="(0.5-1)" isGood={metrics.debtEquity < 1 ? true : metrics.debtEquity < 2 ? 'neutral' : false} /> <MetricBox label="Piotroski F:" value={metrics.fScore} benchmark="(≥7)" isGood={metrics.fScore >= 7 ? true : metrics.fScore >= 4 ? 'neutral' : false} /> <MetricBox label="Altman Z:" value={metrics.zScore.toFixed(2)} benchmark="(>3)" isGood={metrics.zScore >= 2.99 ? true : metrics.zScore >= 1.81 ? 'neutral' : false} /> <MetricBox label="Beneish M:" value={metrics.mScore.toFixed(2)} benchmark="(<-1.78)" isGood={metrics.mScore < -1.78} /> <MetricBox label="Value Trap:" value={`${metrics.valueTrapScore} (${metrics.valueTrapLabel})`} isGood={metrics.valueTrapScore < 40 ? true : metrics.valueTrapScore < 60 ? 'neutral' : false} /> </div> </div> </div> {/* Next 4 sections */} <div className="grid grid-cols-2 gap-2 mb-3"> {/* Liquidity & Free Cash Flow */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="LIQUIDITY & FREE CASH FLOW" bgColor="bg-cyan-100" /> <div className="grid grid-cols-7 gap-px bg-gray-200"> <MetricBox label="Current Ratio:" value={metrics.currentRatio.toFixed(2)} benchmark="(1-2)" isGood={metrics.currentRatio >= 1 && metrics.currentRatio <= 2 ? true : 'neutral'} /> <MetricBox label="Cash:" value={metrics.totalCash} /> <MetricBox label="Debt:" value={metrics.totalDebt} /> <MetricBox label="FCF Growth 5Y:" value={`${metrics.fcfGrowth5Y}%`} benchmark="(>5%)" isGood={metrics.fcfGrowth5Y >= 5} /> <MetricBox label="FCF Yield:" value={`${metrics.fcfYield}%`} benchmark="(>4%)" isGood={metrics.fcfYield >= 4} /> <MetricBox label="FCF Margin:" value={`${metrics.fcfMargin}%`} benchmark="(>15%)" isGood={metrics.fcfMargin >= 15 ? true : metrics.fcfMargin >= 10 ? 'neutral' : false} /> <MetricBox label="Payout Ratio:" value={`${metrics.payoutRatio}%`} benchmark="(<50%)" isGood={metrics.payoutRatio < 50} /> </div> </div> {/* Insider & Sentiment & Class */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="INSIDER & SENTIMENT & CLASS" bgColor="bg-purple-100" /> <div className="grid grid-cols-7 gap-px bg-gray-200"> <MetricBox label="Buys (12M):" value={metrics.insBuys} isGood={metrics.insBuys > metrics.insSells} /> <MetricBox label="Sells (12M):" value={metrics.insSells} /> <MetricBox label="Net Shares (12M):" value={metrics.netShares} /> <MetricBox label="Short Int (%):" value={`${metrics.shortInterest}%`} isGood={metrics.shortInterest < 5 ? true : metrics.shortInterest < 10 ? 'neutral' : false} /> <MetricBox label="Sentiment / Articles:" value={`${metrics.newsSentiment > 0 ? '+' : ''}${metrics.newsSentiment.toFixed(3)} / ${metrics.newsArticleCount}`} benchmark={metrics.newsSentiment > 0 ? '(Positive)' : '(Negative)'} isGood={metrics.newsSentiment > 0} /> <MetricBox label={`Stock: ${metrics.stockType}`} value={`Div Yield: ${metrics.divYield}%`} /> <MetricBox label="Sector/Industry:" value={`${metrics.sector} /`} benchmark={metrics.industry} /> </div> </div> </div> {/* Last 2 sections */} <div className="grid grid-cols-2 gap-2 mb-3"> {/* Quality Scores */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="QUALITY SCORES" bgColor="bg-orange-100" /> <div className="grid grid-cols-6 gap-px bg-gray-200"> <MetricBox label="CQVS:" value={metrics.cqvs.toFixed(1)} benchmark="(>70)" isGood={metrics.cqvs >= 70 ? true : metrics.cqvs >= 50 ? 'neutral' : false} /> <MetricBox label="Label:" value={metrics.label} /> <MetricBox label="Valuation:" value={metrics.valuation} isGood={metrics.valuation >= 70} /> <MetricBox label="Quality:" value={metrics.quality} isGood={metrics.quality >= 70 ? true : metrics.quality >= 50 ? 'neutral' : false} /> <MetricBox label="Strength:" value={metrics.strength} isGood={metrics.strength >= 70} /> <MetricBox label="Integrity:" value={metrics.integrity} isGood={metrics.integrity >= 70 ? true : metrics.integrity >= 50 ? 'neutral' : false} /> </div> </div> {/* Moat & Other */} <div className="border border-gray-300 rounded overflow-hidden"> <SectionHeader title="MOAT & OTHER" bgColor="bg-gray-200" /> <div className="grid grid-cols-6 gap-px bg-gray-200"> <MetricBox label="Buffett Moat:" value={metrics.buffettMoat} benchmark="(4-7)" isGood={metrics.buffettMoat >= 7 ? true : metrics.buffettMoat >= 4 ? 'neutral' : false} /> <MetricBox label="Greenblatt (MF):" value={`EY: ${metrics.greenblattEY}%`} benchmark={metrics.greenblattROC ? `ROC: ${metrics.greenblattROC}%` : 'ROC: N/A'} isGood={metrics.greenblattEY >= 8 ? true : metrics.greenblattEY >= 4 ? 'neutral' : false} /> <MetricBox label={`Beta: ${metrics.beta}`} value={`Vol 1Y: ${metrics.vol1Y}%`} isGood={metrics.beta < 1 ? true : metrics.beta < 1.5 ? 'neutral' : false} /> <MetricBox label="Earnings Predict.:" value={`${metrics.earningsPredict}%`} benchmark="(>80%)" isGood={metrics.earningsPredict >= 80 ? true : metrics.earningsPredict >= 60 ? 'neutral' : false} /> <MetricBox label="Drawdown (5Y):" value={`${metrics.maxDrawdown}%`} benchmark={metrics.maxDrawdown > -30 ? '(Low)' : metrics.maxDrawdown > -50 ? '(Mid)' : '(High)'} isGood={metrics.maxDrawdown > -30 ? true : metrics.maxDrawdown > -50 ? 'neutral' : false} /> <MetricBox label={`Completeness: ${metrics.completeness}%`} value={`Data Quality: ${metrics.dataQuality}`} isGood={metrics.dataQuality === 'High' ? true : metrics.dataQuality === 'Medium' ? 'neutral' : false} /> </div> </div> </div> {/* Charts Section - Enhanced with Legends */} <div className="grid grid-cols-3 gap-2 mb-3"> {/* Linear Price Chart + MACD */} <div className="border border-gray-300 rounded p-2"> <div className="text-sm font-bold mb-1 text-center">LINEAR PRICE CHART (10Y)</div> <div className="text-[7px] text-gray-500 mb-1 pl-1"> — Close Price — Total Return<br/> - - Market Value (Current): €{metrics.marketValueCurrent}<br/> - - Intrinsic Value (Current): €{metrics.intrinsicValueCurrent}<br/> - - Analyst Target: €{metrics.analystTarget} </div> <ResponsiveContainer width="100%" height={130}> <LineChart data={priceHistory}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 7 }} /> <YAxis tick={{ fontSize: 7 }} /> <Tooltip contentStyle={{ fontSize: 8 }} /> <Line type="monotone" dataKey="price" stroke="#1f2937" strokeWidth={1.5} dot={false} name="Close" /> <Line type="monotone" dataKey="totalReturn" stroke="#6b7280" strokeWidth={1} strokeDasharray="2 2" dot={false} name="Total Return" /> <Line type="monotone" dataKey="intrinsicValueCurrent" stroke="#16a34a" strokeWidth={1} strokeDasharray="5 5" dot={false} name="IV Current" /> <Line type="monotone" dataKey="analystTarget" stroke="#3b82f6" strokeWidth={1} strokeDasharray="3 3" dot={false} name="Target" /> </LineChart> </ResponsiveContainer> <div className="text-xs font-bold mt-1 mb-1 text-center">MACD</div> <ResponsiveContainer width="100%" height={55}> <LineChart data={macdData}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 6 }} /> <YAxis tick={{ fontSize: 6 }} /> <ReferenceLine y={0} stroke="#666" /> <Tooltip contentStyle={{ fontSize: 7 }} /> <Line type="monotone" dataKey="macd" stroke="#2563eb" strokeWidth={1} dot={false} name="MACD" /> <Line type="monotone" dataKey="signal" stroke="#dc2626" strokeWidth={1} dot={false} name="Signal" /> </LineChart> </ResponsiveContainer> </div> {/* Radar + Investor Personas + Forecast */} <div className="border border-gray-300 rounded p-2"> <div className="relative"> <ResponsiveContainer width="100%" height={140}> <RadarChart data={radarData}> <PolarGrid /> <PolarAngleAxis dataKey="metric" tick={{ fontSize: 6 }} /> <PolarRadiusAxis angle={30} domain={[0, 100]} tick={{ fontSize: 6 }} /> <Radar name={ticker} dataKey="value" stroke="#2563eb" fill="#3b82f6" fillOpacity={0.3} /> </RadarChart> </ResponsiveContainer> {/* Investor Persona Badges */} <PersonaBadge name="Buffett" score={metrics.buffettScore} position="top-0 left-1/4" /> <PersonaBadge name="Lynch" score={metrics.lynchScore} position="top-0 right-1/4" /> <PersonaBadge name="Munger" score={metrics.mungerScore} position="top-1/4 -left-2" /> <PersonaBadge name="Greenblatt" score={metrics.greenblattScore} position="top-1/4 -right-2" /> <PersonaBadge name="Dalio" score={metrics.dalioScore} position="bottom-1/4 -left-2" /> <PersonaBadge name="Graham" score={metrics.grahamScore} position="bottom-1/4 -right-2" /> <PersonaBadge name="Templeton" score={metrics.templetonScore} position="bottom-0 left-1/4" /> <PersonaBadge name="Soros" score={metrics.sorosScore} position="bottom-0 right-1/4" /> </div> <div className="text-center my-1"> <span className="bg-green-200 px-2 py-0.5 text-[10px] font-bold rounded border border-green-400"> Advice: {recommendation} (CQVS: {metrics.cqvs.toFixed(1)}) </span> </div> <div className="text-[8px] font-bold mb-0.5 text-center">1Y PRICE + 6-MONTH FORECAST</div> <div className="text-[6px] text-gray-500 mb-0.5 text-center">— Close — 50-Day MA — 200-Day MA ▒ Bollinger Bands - - Forecast</div> <ResponsiveContainer width="100%" height={70}> <ComposedChart data={oneYearData}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 6 }} /> <YAxis tick={{ fontSize: 6 }} /> <Tooltip contentStyle={{ fontSize: 7 }} /> <Area type="monotone" dataKey="upperBand" stroke="none" fill="#e0e0e0" fillOpacity={0.5} /> <Area type="monotone" dataKey="ci95Upper" stroke="none" fill="#dbeafe" fillOpacity={0.5} /> <Line type="monotone" dataKey="price" stroke="#1f2937" strokeWidth={1.5} dot={false} /> <Line type="monotone" dataKey="ma50" stroke="#f59e0b" strokeWidth={1} dot={false} /> <Line type="monotone" dataKey="ma200" stroke="#ef4444" strokeWidth={1} dot={false} /> <Line type="monotone" dataKey="forecast" stroke="#16a34a" strokeWidth={1.5} strokeDasharray="5 5" dot={false} /> </ComposedChart> </ResponsiveContainer> {/* Valuation Indicator */} <div className={`text-center text-[10px] font-bold mt-1 ${metrics.valuationPercent > 10 ? 'text-green-600' : metrics.valuationPercent < -10 ? 'text-red-600' : 'text-yellow-600'}`}> {metrics.valuationLabel} ({metrics.valuationPercent > 0 ? '+' : ''}{metrics.valuationPercent}%) </div> </div> {/* Log Price + RSI */} <div className="border border-gray-300 rounded p-2"> <div className="text-sm font-bold mb-1 text-center">LOG PRICE CHART (10Y)</div> <div className="text-[7px] text-gray-500 mb-1 pl-1"> — Close Price — Total Return<br/> - - Unrestr. Market Value (Current): €{metrics.unrestrictedMarketValueCurrent}<br/> - - Unrestr. Market Value (Next Year): €{metrics.unrestrictedMarketValueNextYear} </div> <ResponsiveContainer width="100%" height={130}> <LineChart data={priceHistory}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 7 }} /> <YAxis tick={{ fontSize: 7 }} scale="log" domain={['auto', 'auto']} /> <Tooltip contentStyle={{ fontSize: 8 }} /> <Line type="monotone" dataKey="price" stroke="#1f2937" strokeWidth={1.5} dot={false} name="Close" /> <Line type="monotone" dataKey="totalReturn" stroke="#6b7280" strokeWidth={1} strokeDasharray="2 2" dot={false} name="Total Return" /> <Line type="monotone" dataKey="unrestrictedCurrent" stroke="#dc2626" strokeWidth={1} strokeDasharray="5 5" dot={false} name="Unrestr Current" /> <Line type="monotone" dataKey="unrestrictedNextYear" stroke="#f97316" strokeWidth={1} strokeDasharray="5 5" dot={false} name="Unrestr Next" /> </LineChart> </ResponsiveContainer> <div className="text-xs font-bold mt-1 mb-1 text-center">RSI (14) = {rsiData[rsiData.length - 1].rsi}</div> <ResponsiveContainer width="100%" height={55}> <LineChart data={rsiData}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 6 }} /> <YAxis tick={{ fontSize: 6 }} domain={[0, 100]} /> <Tooltip contentStyle={{ fontSize: 7 }} /> <ReferenceLine y={70} stroke="#ef4444" strokeDasharray="2 2" /> <ReferenceLine y={30} stroke="#22c55e" strokeDasharray="2 2" /> <Line type="monotone" dataKey="rsi" stroke="#f59e0b" strokeWidth={1.5} dot={false} /> </LineChart> </ResponsiveContainer> </div> </div> {/* NEW: Ichimoku Cloud Chart */} <div className="border border-gray-300 rounded p-2 mb-3"> <div className="text-sm font-bold mb-1 text-center">ICHIMOKU CLOUD</div> <div className="flex gap-4 text-[7px] justify-center mb-1"> <span>— Close Price</span> <span className="text-blue-500">— Tenkan-sen (9)</span> <span className="text-red-500">— Kijun-sen (26)</span> <span className="text-gray-400">— Chikou Span</span> <span className="text-green-500">▒ Senkou Span A/B (Cloud)</span> <span className="ml-2 font-bold text-yellow-600">◆ TK Cross</span> <span className="text-purple-600">◆ Kumo Twist</span> </div> <ResponsiveContainer width="100%" height={100}> <ComposedChart data={ichimokuData}> <CartesianGrid strokeDasharray="3 3" stroke="#e0e0e0" /> <XAxis dataKey="date" tick={{ fontSize: 7 }} /> <YAxis tick={{ fontSize: 7 }} domain={['auto', 'auto']} /> <Tooltip contentStyle={{ fontSize: 8 }} /> <Area type="monotone" dataKey="senkouA" stroke="none" fill="#86efac" fillOpacity={0.3} /> <Area type="monotone" dataKey="senkouB" stroke="none" fill="#fca5a5" fillOpacity={0.3} /> <Line type="monotone" dataKey="price" stroke="#1f2937" strokeWidth={2} dot={false} name="Price" /> <Line type="monotone" dataKey="tenkan" stroke="#3b82f6" strokeWidth={1} dot={false} name="Tenkan" /> <Line type="monotone" dataKey="kijun" stroke="#dc2626" strokeWidth={1} dot={false} name="Kijun" /> <Line type="monotone" dataKey="chikou" stroke="#9ca3af" strokeWidth={1} strokeDasharray="3 3" dot={false} name="Chikou" /> <Scatter dataKey="tkCrossMarker" fill="#9333ea" shape="diamond" name="TK Cross" /> <Scatter dataKey="kumoTwistMarker" fill="#dc2626" shape="diamond" name="Kumo Twist" /> </ComposedChart> </ResponsiveContainer> <div className="flex gap-4 text-[8px] justify-center mt-1"> <span className="bg-green-100 px-2 rounded">{ichimokuSignals.tkCross}</span> <span className="bg-green-100 px-2 rounded">{ichimokuSignals.kumoTwist}</span> <span className="bg-green-100 px-2 rounded">{ichimokuSignals.priceVsCloud}</span> </div> </div> {/* Key Notes (Expandable) */} <div className="border border-gray-300 rounded overflow-hidden"> <button onClick={() => setShowKeyNotes(!showKeyNotes)} className="w-full bg-gray-100 px-3 py-2 text-left text-sm font-bold flex items-center hover:bg-gray-200" > <span className="mr-2">{showKeyNotes ? '▼' : '▶'}</span> Key Notes (Click to Expand) </button> {showKeyNotes && ( <div className="p-3 bg-gray-50"> <div className="grid grid-cols-3 gap-4 text-xs"> {/* Bull Case */} <div> <div className="font-bold text-green-700 mb-2 text-sm">BULL CASE ({bullCase.target})</div> <ul className="list-disc list-inside space-y-1"> {bullCase.points.map((point, i) => <li key={i}>{point}</li>)} </ul> </div> {/* Bear Case */} <div> <div className="font-bold text-red-700 mb-2 text-sm">BEAR CASE ({bearCase.target})</div> <ul className="list-disc list-inside space-y-1"> {bearCase.points.map((point, i) => <li key={i}>{point}</li>)} </ul> </div> {/* Entry/Exit Strategy */} <div> <div className="font-bold text-blue-700 mb-2 text-sm">ENTRY/EXIT STRATEGY</div> <ul className="list-disc list-inside space-y-1"> <li><strong>Ideal Entry:</strong> {entryStrategy.idealEntry}</li> <li><strong>Current:</strong> {entryStrategy.currentEntry}</li> <li><strong>Target:</strong> {entryStrategy.target}</li> <li><strong>Stop Loss:</strong> {entryStrategy.stopLoss}</li> <li><strong>Position Size:</strong> {entryStrategy.positionSize}</li> </ul> </div> </div> </div> )} </div> {/* Footer */} <div className="text-xs text-gray-500 text-center mt-3"> Analysis Date: {analysisDate} | Sources: SEC Filings, Company Reports | <span className="font-bold text-blue-600 ml-1">{recommendation}</span> </div> </div> ); }; export default QuantDashboard; ``` ### Implementation Instructions **CRITICAL STEPS:** 1. **Calculate all metrics** during the comprehensive text analysis 2. **Store metrics in variables** as you calculate them 3. **After completing full text analysis**, create the React artifact 4. **Replace ALL placeholder values** in the template with actual calculated data 5. **Use the EXACT template structure** - do not modify the component code 6. **Populate these specific data arrays**: - `metrics` object (60+ values including investor persona scores) - `topNews` array (5 recent headlines with dates) - `priceHistory` array (10-year data with multiple valuation lines) - `oneYearData` array (with MAs, Bollinger Bands, forecast) - `ichimokuData` array (6-month with signal markers) - `ichimokuSignals` object (TK cross, Kumo twist, price vs cloud) - `macdData` array (6 recent points with histogram) - `rsiData` array (6 recent points) - `radarData` array (12 metrics, normalized 0-100) - `bullCase.points` (5 points from bull case analysis) - `bearCase.points` (5 points from bear case analysis) - `entryStrategy` (5 values from entry/exit strategy) 6. **Normalize radar chart values** properly: - Each metric on 0-100 scale - Higher is always better (invert risk/beta if needed) - Use scaling formulas provided above 7. **Format values correctly**: - Currency: `"€100.00"` (Euro is the default - use € not $) - Large numbers: `"€10B"`, `"€2.5M"` - Percentages: `15.0` (number, not string with %) - Ratios: `1.25` (number) - Scores: `7` (integer) or `75.0` (float) 8. **Growth metrics**: - Use REPORTED revenue growth (not underlying/organic) - Use REPORTED earnings growth (not adjusted EPS growth) 9. **DO NOT**: - Leave placeholder values - Modify the component structure - Skip any sections - Use estimated/guessed data **This is the ONLY accepted dashboard format. All other dashboard styles are deprecated.** --- ## Integration with Project Context ### Portfolio Awareness - Access portfolio data from project knowledge - Check if stock is already owned (if so, suggest using Portfolio Analyst) - Assess fit with existing holdings (sector exposure, correlation) - Consider position sizing in context of current allocations ### Investment Profile - User's investment timeline, risk tolerance, preferences in project instructions - Tailor recommendations to user's profile - Consider tax implications from user's context - Adjust position sizing based on portfolio size and risk tolerance ### Avoiding Duplication If stock is already in portfolio: - Acknowledge: "You already own [SYMBOL]. For analysis of your existing position, use the Portfolio Analyst skill." - Still provide evaluation if user wants fresh assessment - Frame as "Should you add more?" rather than initial purchase --- ## When to Use This Skill **Use Stock Evaluator when:** - User asks "Should I buy [stock]?" - User wants evaluation of watchlist candidates - User requests stock recommendations - User asks "Is [stock] a good investment?" - User wants to compare multiple potential investments - User asks for alternatives to a stock they're considering - User wants entry price and position sizing guidance - User requests a "quant-style dashboard" or "stock visualization" **Do NOT use this skill when:** - User wants to review existing portfolio positions → Use Portfolio Analyst - User wants general market commentary → Regular knowledge - User wants stock screening/discovery → Different workflow - User asks about options, derivatives, crypto → Out of scope **Output includes:** - Comprehensive text analysis (all sections above) - Quant-style React dashboard artifact (standardized visual format) --- ## Best Practices ### Research Approach 1. **Start with company filings** (10-K, 10-Q) - NOT news articles 2. **Go back 5-10 years** - Understand evolution, not just current state 3. **Compare to 3-5 peers** - Apples to apples comparison 4. **Multiple valuation methods** - Don't rely on single approach 5. **Present both sides** - Bull and bear cases fairly 6. **Be specific** - Use actual data, not generalities ### Valuation Discipline - Always require minimum 15% margin of safety - Use conservative assumptions in DCF - Weight multiple valuation methods - Consider industry-specific norms - Don't overpay for growth ### Risk Awareness - Explicitly identify and quantify risks - Consider probability and impact - Acknowledge unknowns honestly - Don't just focus on upside ### Communication - Lead with clear recommendation - Support every claim with evidence - Use specific numbers and dates - Explain reasoning, don't just state conclusions - Make recommendations unmistakable --- ## Common Patterns to Recognize ### Quality Companies - Consistent profitability over full cycle (5-10 years) - Strong balance sheet (low debt, high cash) - Competitive moats (wide or narrow) - Shareholder-friendly capital allocation - Predictable business model ### Value Traps (AVOID) - Cheap for a reason (declining business) - High debt with weak cash flow - Losing market share consistently - No competitive advantages - Poor management capital allocation ### Growth at Reasonable Price (GARP) - Strong revenue growth (15-25%+) - Expanding margins - Large addressable market - Competitive advantages - Reasonable valuation (PEG < 1.5) ### Turnaround Candidates - New management with track record - Improving key metrics quarter-over-quarter - Catalyst for change - Deep value with margin of safety - Reduced debt or improved cash flow --- ## Quality Checks Before Finalizing Before presenting analysis, verify: ### DATA INTEGRITY CHECKS (CRITICAL - CHECK FIRST) 1. ✅ Every numeric metric has a cited source from web search? 2. ✅ No insider activity fabricated? (SEC Form 4 or N/A) 3. ✅ No short interest fabricated? (FINRA/exchange or N/A) 4. ✅ ROE benchmark correct? (>20% = green, 10-20% = yellow, <10% = red) 5. ✅ Standardized metric labels used? (e.g., "Operative Margin", not "Operating") 6. ✅ All unavailable data shows "N/A"? (NEVER zeros or estimates) 7. ✅ TOP NEWS format correct? (pipe-separated, dates at END in brackets) 8. ✅ Valuation indicator displayed below forecast? (Undervalued/Fairly Valued/Overvalued +/- %) 9. ✅ Beta + Vol 1Y combined in one cell? 10. ✅ Sector/Industry combined in one cell? ### ANALYSIS COMPLETENESS CHECKS 11. ✅ All mandatory deliverables completed? 12. ✅ Multiple valuation methods used? 13. ✅ Both bull and bear cases presented? 14. ✅ Clear BUY/HOLD/SELL recommendation? 15. ✅ Specific entry price and position size? 16. ✅ 3-5 peer companies compared? 17. ✅ 5-10 year financial trends analyzed? 18. ✅ Research based on company filings, not news? 19. ✅ Margin of safety calculated? 20. ✅ Risk level assessed? 21. ✅ If SELL: 3-5 alternatives provided? 22. ✅ Technical entry points identified? 23. ✅ Advanced metrics calculated (Piotroski F, Altman Z, Beneish M, Max Drawdown)? 24. ✅ All monetary values in € (Euro)? 25. ✅ Revenue/Earnings growth using REPORTED (not underlying/adjusted) figures? 26. ✅ Value Trap Score calculated (0-100, LOWER = genuine)? 27. ✅ All 8 Investor Persona Scores calculated (0-10)? 28. ✅ PEG ratio calculated? 29. ✅ FCF Margin calculated? 30. ✅ Greenblatt Magic Formula metrics (EY, ROC)? 31. ✅ News sentiment and short interest researched? 32. ✅ Ichimoku Cloud data gathered with signal markers? 33. ✅ TOP NEWS section populated (5 recent headlines)? 34. ✅ 10-year price history with valuation lines available? 35. ✅ Enhanced dashboard created with ALL 60+ metrics populated? ### FINAL VALIDATION QUESTIONS - Can you cite source for EVERY number in the dashboard? - Did any metric come from training knowledge alone? (If yes, search again or use N/A) - Are insider buys/sells from SEC Form 4 specifically? (If not found, use N/A) If any checklist item incomplete: **STOP and gather more information**. If data genuinely unavailable after searching: **Use "N/A" - never fabricate**. --- ## Example Evaluation Structure [See complete example in EVALUATION-WORKFLOWS.md for detailed walkthrough] --- ## Continuous Improvement After each evaluation: - Track recommendation outcomes - Learn from what worked/didn't work - Refine valuation assumptions - Improve pattern recognition - Update industry knowledge The goal is to discover genuinely attractive investment opportunities that fit the user's profile with adequate margin of safety and acceptable risk.

path: ADVANCED-METRICS-GUIDE.md
content: # Advanced Financial Health Metrics Guide

## Overview

This guide provides detailed calculation methods and interpretation for advanced financial health metrics that go beyond basic financial ratios. These metrics help identify financial strength, bankruptcy risk, and earnings quality.

---

## 1. Piotroski F-Score (Financial Strength)

### Purpose
Developed by Joseph Piotroski, this 9-point score measures financial strength across three dimensions: profitability, leverage/liquidity, and operating efficiency.

### When to Use
- Value investing (screening undervalued stocks)
- Identifying financially strong companies
- Avoiding value traps (cheap but deteriorating)
- Quality assessment for any stock

### Calculation (9 Points Total)

#### Profitability Signals (4 points)

**1. Positive Return on Assets (ROA): +1 point**
```
ROA = Net Income / Total Assets

Score +1 if: ROA > 0
Score 0 if: ROA ≤ 0
```

**2. Positive Operating Cash Flow: +1 point**
```
Score +1 if: Operating Cash Flow > 0
Score 0 if: Operating Cash Flow ≤ 0
```

**3. Change in ROA (Quality of Earnings): +1 point**
```
ΔROA = Current Year ROA - Prior Year ROA

Score +1 if: ΔROA > 0 (improving)
Score 0 if: ΔROA ≤ 0 (declining)
```

**4. Quality of Earnings: +1 point**
```
Score +1 if: Operating Cash Flow > Net Income
Score 0 if: Operating Cash Flow ≤ Net Income

Interpretation: Cash flow exceeding net income indicates high-quality, 
sustainable earnings (not driven by accounting accruals)
```

#### Leverage, Liquidity, and Source of Funds (3 points)

**5. Change in Long-term Debt: +1 point**
```
ΔDebt = Current Year LT Debt - Prior Year LT Debt

Score +1 if: ΔDebt < 0 (debt decreasing)
Score 0 if: ΔDebt ≥ 0 (debt increasing or flat)
```

**6. Change in Current Ratio: +1 point**
```
Current Ratio = Current Assets / Current Liabilities
ΔCurrent Ratio = Current Year Ratio - Prior Year Ratio

Score +1 if: ΔCurrent Ratio > 0 (improving liquidity)
Score 0 if: ΔCurrent Ratio ≤ 0 (declining liquidity)
```

**7. Change in Shares Outstanding: +1 point**
```
ΔShares = Current Shares Outstanding - Prior Year Shares Outstanding

Score +1 if: ΔShares ≤ 0 (no dilution)
Score 0 if: ΔShares > 0 (dilution from new issuance)

Interpretation: No new equity issuance suggests company can fund 
operations and growth from internal sources
```

#### Operating Efficiency (2 points)

**8. Change in Gross Margin: +1 point**
```
Gross Margin = (Revenue - COGS) / Revenue
ΔGross Margin = Current Year GM - Prior Year GM

Score +1 if: ΔGross Margin > 0 (improving)
Score 0 if: ΔGross Margin ≤ 0 (declining)
```

**9. Change in Asset Turnover: +1 point**
```
Asset Turnover = Revenue / Total Assets
ΔAsset Turnover = Current Year AT - Prior Year AT

Score +1 if: ΔAsset Turnover > 0 (improving efficiency)
Score 0 if: ΔAsset Turnover ≤ 0 (declining efficiency)
```

### F-Score Interpretation

| Score | Rating | Meaning | Action |
|-------|--------|---------|--------|
| 8-9 | Excellent | Very strong financial health across all dimensions | High quality |
| 6-7 | Good | Solid fundamentals with minor weaknesses | Quality stock |
| 4-5 | Adequate | Mixed signals, some concerns | Proceed with caution |
| 2-3 | Weak | Multiple red flags | Likely avoid |
| 0-1 | Very Weak | Severe financial deterioration | Avoid |

### Practical Application

**For Value Investing:**
- Screen for low P/B stocks with F-Score ≥ 7
- Avoids value traps (cheap + weak = trap)

**For Quality Assessment:**
- F-Score ≥ 7 = Strong fundamentals
- F-Score < 5 = Deteriorating fundamentals

**Trend Analysis:**
- Calculate F-Score for multiple years
- Improving F-Score (5→7→8) = strengthening company
- Declining F-Score (8→6→4) = deteriorating company

### Example Calculation

**Company XYZ - Fiscal Year 2024:**

*Profitability:*
1. ROA = 8% (positive) → +1
2. Operating CF = €500M (positive) → +1
3. Prior ROA = 7%, Current = 8% (improving) → +1
4. Operating CF (€500M) > Net Income (€450M) → +1
**Subtotal: 4/4**

*Leverage/Liquidity:*
5. LT Debt decreased from €2B to €1.8B → +1
6. Current Ratio: 2.1 vs 1.9 prior year (improving) → +1
7. Shares Outstanding: No change → +1
**Subtotal: 3/3**

*Efficiency:*
8. Gross Margin: 42% vs 40% prior year (improving) → +1
9. Asset Turnover: 0.85 vs 0.82 prior year (improving) → +1
**Subtotal: 2/2**

**Total F-Score: 9/9 (Excellent)**

---

## 2. Altman Z-Score (Bankruptcy Prediction)

### Purpose
Developed by Edward Altman in 1968, predicts probability of bankruptcy within 2 years. Highly accurate for manufacturing companies.

### When to Use
- Assessing financial distress risk
- Credit analysis
- Avoiding companies at risk of bankruptcy
- Turnaround situation evaluation

### Formulas

#### For Public Manufacturing Companies (Original)
```
Z-Score = 1.2(A) + 1.4(B) + 3.3(C) + 0.6(D) + 1.0(E)

Where:
A = Working Capital / Total Assets
B = Retained Earnings / Total Assets
C = EBIT / Total Assets
D = Market Value of Equity / Total Liabilities
E = Sales / Total Assets
```

#### For Private Companies (Z'-Score)
```
Z'-Score = 0.717(A) + 0.847(B) + 3.107(C) + 0.420(D') + 0.998(E)

Where D' = Book Value of Equity / Total Liabilities
(Use when market cap not available)
```

#### For Non-Manufacturing/Service Companies (Z''-Score)
```
Z''-Score = 6.56(A) + 3.26(B) + 6.72(C) + 1.05(D)

Where variables same as above, but E removed
(Services have lower asset intensity)
```

### Step-by-Step Calculation

**Component A: Working Capital / Total Assets**
```
Working Capital = Current Assets - Current Liabilities
Total Assets = From balance sheet

A = WC / TA

Measures liquid assets relative to company size.
Higher = more liquidity cushion
```

**Component B: Retained Earnings / Total Assets**
```
Retained Earnings = Cumulative earnings kept in business
Total Assets = From balance sheet

B = RE / TA

Measures cumulative profitability and age of company.
Higher = more mature, profitable company
```

**Component C: EBIT / Total Assets**
```
EBIT = Earnings Before Interest and Tax
Total Assets = From balance sheet

C = EBIT / TA

Measures productivity of assets.
Higher = more efficient operations
```

**Component D: Market Cap / Total Liabilities**
```
Market Value of Equity = Current Stock Price × Shares Outstanding
Total Liabilities = From balance sheet

D = Market Cap / Total Liabilities

Measures equity cushion relative to debt.
Higher = safer (equity can absorb losses before creditors impaired)
```

**Component E: Sales / Total Assets**
```
Sales = Annual revenue
Total Assets = From balance sheet

E = Sales / TA

Measures asset turnover/efficiency.
Higher = generating more revenue per dollar of assets
```

### Z-Score Interpretation

**For Manufacturing Companies (Original Z-Score):**

| Z-Score | Zone | Interpretation | Bankruptcy Probability |
|---------|------|----------------|------------------------|
| > 2.99 | Safe Zone | Low risk of bankruptcy | < 5% within 2 years |
| 1.81 - 2.99 | Grey Zone | Moderate risk, requires monitoring | 5-20% within 2 years |
| < 1.81 | Distress Zone | High bankruptcy risk | > 20% within 2 years |

**For Private/Non-Manufacturing (Modified Scores):**
- Thresholds slightly different
- Z' > 2.60 = Safe
- Z' 1.10-2.60 = Grey
- Z' < 1.10 = Distress

### Practical Application

**Risk Assessment:**
- Z > 3.0 = Very safe, strong financial position
- Z 2.5-3.0 = Safe but monitor
- Z 2.0-2.5 = Watch closely, some concern
- Z 1.5-2.0 = Significant risk
- Z < 1.5 = High distress, possible bankruptcy

**Credit Analysis:**
- Z > 2.99: Low credit risk
- Z 1.81-2.99: Medium credit risk
- Z < 1.81: High credit risk, avoid lending

**Trend Monitoring:**
- Declining Z-Score = deteriorating financial health
- Improving Z-Score = strengthening finances

### Example Calculation

**Company ABC - Manufacturing (Public):**

Balance Sheet Data:
- Current Assets: €500M
- Current Liabilities: €200M
- Total Assets: €2,000M
- Total Liabilities: €1,200M
- Retained Earnings: €400M

Income Statement:
- Sales: €3,000M
- EBIT: €300M

Market Data:
- Stock Price: €50
- Shares Outstanding: 40M
- Market Cap: €2,000M

**Calculations:**
```
A = (500-200) / 2000 = 300/2000 = 0.15
B = 400 / 2000 = 0.20
C = 300 / 2000 = 0.15
D = 2000 / 1200 = 1.67
E = 3000 / 2000 = 1.50

Z = 1.2(0.15) + 1.4(0.20) + 3.3(0.15) + 0.6(1.67) + 1.0(1.50)
Z = 0.18 + 0.28 + 0.495 + 1.002 + 1.50
Z = 3.457
```

**Result: Z = 3.46 (Safe Zone - Low bankruptcy risk)**

### Limitations

**Z-Score works best for:**
- Manufacturing companies
- Public companies with market cap data
- Companies with significant tangible assets

**Z-Score limitations:**
- Less accurate for service/tech companies (low assets)
- Less accurate for financial companies (different leverage norms)
- Can be manipulated through accounting choices
- Historical data = may not catch rapid deterioration

**Adjustments needed for:**
- Banks/Financials: Don't use Z-Score (use regulatory capital ratios instead)
- Tech/Service: Use Z''-Score or alternative metrics
- Startups: Often negative Z-Score (burning cash by design)

---

## 3. Beneish M-Score (Earnings Manipulation Detection)

### Purpose
Developed by Messod Beneish, detects likelihood of earnings manipulation through financial statement analysis. Identifies "creative accounting."

### When to Use
- Earnings quality assessment
- Fraud detection screening
- Avoiding accounting scandals
- Due diligence in acquisitions

### Full M-Score Formula

```
M-Score = -4.84 + 0.920(DSRI) + 0.528(GMI) + 0.404(AQI) + 0.892(SGI) 
          + 0.115(DEPI) - 0.172(SGAI) + 4.679(TATA) - 0.327(LVGI)

Where:
DSRI = Days Sales in Receivables Index
GMI = Gross Margin Index
AQI = Asset Quality Index
SGI = Sales Growth Index
DEPI = Depreciation Index
SGAI = Sales, General & Administrative Expenses Index
TATA = Total Accruals to Total Assets
LVGI = Leverage Index
```

### Component Calculations

**1. DSRI (Days Sales in Receivables Index)**
```
Days Sales in Receivables = (Accounts Receivable / Sales) × 365

DSRI = (DSR_t / DSR_t-1)

Interpretation:
- DSRI > 1: Receivables growing faster than sales (warning)
- Could indicate revenue recognition issues or credit quality problems
- Manipulators often book fake sales, inflating receivables
```

**2. GMI (Gross Margin Index)**
```
Gross Margin = (Sales - COGS) / Sales

GMI = (Gross Margin_t-1 / Gross Margin_t)

Interpretation:
- GMI > 1: Gross margin declining (warning)
- Declining margins create pressure to manipulate earnings
- May indicate competitive issues or cost problems
```

**3. AQI (Asset Quality Index)**
```
Asset Quality = 1 - (Current Assets + PP&E) / Total Assets

AQI = (Asset Quality_t / Asset Quality_t-1)

Interpretation:
- AQI > 1: Increasing soft assets (warning)
- Soft assets (goodwill, intangibles) easier to manipulate
- High AQI suggests capitalizing expenses or deferring costs
```

**4. SGI (Sales Growth Index)**
```
SGI = (Sales_t / Sales_t-1)

Interpretation:
- SGI > 1: Sales growing (could be warning if excessive)
- Extreme growth can motivate manipulation to maintain trend
- Rapid growth harder to sustain = pressure to inflate numbers
```

**5. DEPI (Depreciation Index)**
```
Depreciation Rate = Depreciation / (Depreciation + Net PP&E)

DEPI = (Depreciation Rate_t-1 / Depreciation Rate_t)

Interpretation:
- DEPI > 1: Depreciation rate slowing (warning)
- May indicate extending asset lives to reduce expenses
- Way to artificially boost earnings
```

**6. SGAI (SG&A Index)**
```
SGAI = (SG&A_t / Sales_t) / (SG&A_t-1 / Sales_t-1)

Interpretation:
- SGAI > 1: SG&A rising faster than sales (warning)
- Operating inefficiency or aggressive expansion
- But SGAI < 1 when manipulating (cutting necessary expenses)
- Mixed signal - context dependent
```

**7. TATA (Total Accruals to Total Assets)**
```
Total Accruals = (ΔCurrent Assets - ΔCash) - (ΔCurrent Liabilities - 
                  ΔShort-term Debt - ΔTax Payable) - Depreciation

TATA = Total Accruals / Total Assets

Interpretation:
- High TATA = earnings driven by accruals, not cash (warning)
- Sustainable earnings come from cash, not accounting entries
- High accruals often reversed in future (earnings collapse)
```

**8. LVGI (Leverage Index)**
```
Leverage = (Total Debt / Total Assets)

LVGI = (Leverage_t / Leverage_t-1)

Interpretation:
- LVGI > 1: Increasing leverage (warning)
- More debt = more pressure to meet covenants
- Can motivate earnings manipulation to avoid default
```

### M-Score Interpretation

**Threshold: -1.78**

| M-Score | Assessment | Probability of Manipulation | Action |
|---------|-----------|----------------------------|--------|
| > -1.78 | Likely Manipulator | High probability (>50%) | RED FLAG - Avoid |
| -2.50 to -1.78 | Grey Zone | Moderate concerns | Investigate further |
| < -2.50 | Unlikely Manipulator | Low probability | Likely clean |

### Simplified M-Score Approach

If full M-Score calculation not feasible, use **Red Flag Checklist:**

**High-Risk Indicators (3+ flags = WARNING):**
- [ ] DSR increasing >10% faster than sales
- [ ] Gross margins declining for 2+ consecutive years
- [ ] Operating cash flow < 80% of net income
- [ ] Working capital increasing much faster than sales
- [ ] Frequent accounting method changes
- [ ] Goodwill/intangibles >30% of assets and growing
- [ ] Depreciation expense declining as % of PP&E
- [ ] Revenue growth >30% per year (unsustainable pace)
- [ ] Frequent restatements or auditor changes
- [ ] SEC investigations or accounting inquiries

**Clean Indicators (supportive):**
- [ ] Operating cash flow ≥ net income
- [ ] Stable receivables relative to sales
- [ ] Conservative accounting policies
- [ ] Long-tenured, reputable auditor
- [ ] Transparent management communication
- [ ] Low accruals (<5% of assets)

### Practical Application

**Screening Process:**
1. Calculate M-Score for all holdings
2. Flag any with M-Score > -1.78
3. Investigate flagged companies:
   - Review 10-K footnotes
   - Check management discussion of accounting
   - Look for unusual items
   - Compare to peer accounting practices

**Ongoing Monitoring:**
- Recalculate annually
- Watch for M-Score trending upward
- Pay attention to individual components
- Investigate sudden jumps in any index

### Example Calculation

**Company DEF - Year 2024:**

*Prior Year (2023):*
- Sales: €1,000M
- Receivables: €150M
- Gross Margin: 45%
- SG&A: €200M

*Current Year (2024):*
- Sales: €1,200M (20% growth)
- Receivables: €210M (40% growth)
- Gross Margin: 42% (declining)
- SG&A: €250M

**Key Indices:**
```
DSRI = (210/1200 × 365) / (150/1000 × 365) = 64 / 55 = 1.16
GMI = 0.45 / 0.42 = 1.07
SGI = 1200 / 1000 = 1.20
SGAI = (250/1200) / (200/1000) = 0.208 / 0.200 = 1.04
```

**Red Flags:**
- DSRI = 1.16 (receivables growing 40% vs sales 20%)
- GMI = 1.07 (margins declining)
- SGI = 1.20 (aggressive growth)

**Assessment:** Multiple warning signs - investigate further
- Why are receivables growing so fast?
- Why are margins declining despite growth?
- Is revenue recognition aggressive?

### Real-World Examples

**Companies Caught with M-Score:**
- Enron: M-Score flagged before collapse
- WorldCom: High TATA, inflated assets
- Tyco: Multiple indices elevated

**Key Lesson:** M-Score not perfect but raises important questions. High M-Score ≠ definite fraud, but warrants deeper investigation.

---

## 4. Max Drawdown (Volatility Measure)

### Purpose
Measures the largest peak-to-trough decline in stock price over a specified period. Indicates downside risk and volatility.

### When to Use
- Risk assessment
- Position sizing decisions
- Understanding potential losses
- Comparing volatility across stocks

### Calculation

**Step 1: Identify Historical Peak**
```
Find highest price (peak) in specified period (typically 5 years)

Peak Price = Maximum price in lookback period
Peak Date = Date of maximum price
```

**Step 2: Find Subsequent Trough**
```
Find lowest price AFTER the peak, before any new peak

Trough Price = Minimum price after peak, before recovery
Trough Date = Date of minimum price
```

**Step 3: Calculate Drawdown**
```
Max Drawdown % = ((Trough Price - Peak Price) / Peak Price) × 100

Always negative number (e.g., -35%)
```

### Interpretation

**Volatility Categories:**

| Max Drawdown | Volatility | Type of Stock | Investor Suitability |
|--------------|-----------|---------------|---------------------|
| 0% to -20% | Very Low | Defensive, Utilities | Conservative |
| -20% to -30% | Low | Consumer Staples | Moderate Conservative |
| -30% to -40% | Moderate | Large Cap, Diversified | Moderate |
| -40% to -50% | High | Growth, Cyclicals | Aggressive |
| -50% to -70% | Very High | Small Cap, High Growth | Very Aggressive |
| > -70% | Extreme | Speculative, Startups | Speculative Only |

### Practical Application

**Position Sizing:**
- Higher max drawdown = smaller position size
- Example: -60% max drawdown → limit to 3% position
- Example: -20% max drawdown → can go up to 8% position

**Risk Management:**
- Understand worst-case scenario
- Set realistic stop losses
- Prepare psychologically for volatility

**Comparison:**
- Compare to market (S&P 500 typically -30% to -50% in bears)
- Higher drawdown than market = higher beta
- Lower drawdown than market = defensive

### Example Calculation

**Stock XYZ - 5 Year Period:**

Price History:
- 2020 Jan: €100 (starting point)
- 2021 Dec: €180 (PEAK)
- 2022 Mar: €90 (TROUGH after peak)
- 2023 Dec: €160 (recovery but not new peak)
- 2024 Nov: €175 (current)

**Calculation:**
```
Peak = €180 (Dec 2021)
Trough = €90 (Mar 2022)

Max Drawdown = (90 - 180) / 180 × 100
             = -90 / 180 × 100
             = -50%
```

**Assessment:** -50% max drawdown = High volatility stock
- Requires strong risk tolerance
- Appropriate for 3-5% position size
- Expect significant volatility
- Not suitable for conservative investors

### Additional Considerations

**Recovery Time:**
- How long from trough to recovery?
- Faster recovery = more resilient
- Years to recover = concerning

**Frequency:**
- Multiple -40%+ drawdowns = very volatile
- Rare deep drawdowns = event-driven

**Current Distance from Peak:**
- Currently at all-time high = no current drawdown
- Currently -30% from peak = in drawdown now

---

## 5. Consolidated Scoring Systems

### Strength Score (0-100)

**Components (weighted):**
- F-Score contribution: 30% (F-Score/9 × 100)
- ROE performance: 20% (ROE/30 × 100, capped at 100)
- Margin quality: 20% (Net Margin/25 × 100, capped at 100)
- Revenue growth: 15% (5yr CAGR/20 × 100, capped at 100)
- Market position: 15% (qualitative: leader=100, follower=50)

**Interpretation:**
- 80-100: Exceptional strength
- 60-79: Strong
- 40-59: Moderate
- 20-39: Weak
- 0-19: Very weak

### Integrity Score (0-100)

**Components (weighted):**
- M-Score quality: 40% (inverse relationship - lower M-Score = higher integrity)
- Cash flow quality: 30% (OCF/Net Income ratio)
- Accounting transparency: 20% (qualitative assessment)
- Management communication: 10% (qualitative assessment)

**Interpretation:**
- 80-100: High integrity, trustworthy
- 60-79: Good integrity
- 40-59: Moderate concerns
- 20-39: Significant concerns
- 0-19: High manipulation risk

### Predictability Score (0-100)

**Components (weighted):**
- Revenue volatility: 30% (lower volatility = higher score)
- Earnings consistency: 30% (fewer misses = higher score)
- Business model stability: 25% (subscription/recurring = higher)
- Cyclicality: 15% (non-cyclical = higher score)

**Interpretation:**
- 80-100: Highly predictable
- 60-79: Predictable
- 40-59: Moderate predictability
- 20-39: Unpredictable
- 0-19: Highly uncertain

### Data Quality Score (0-100)

**Components:**
- Financial statement completeness: 40%
- Reporting timeliness: 30%
- Auditor quality: 20%
- Disclosure transparency: 10%

**Interpretation:**
- 90-100: Complete, timely, transparent
- 70-89: Good quality with minor gaps
- 50-69: Adequate but some concerns
- 30-49: Significant data issues
- 0-29: Poor quality, unreliable

---

## Comprehensive Example: Full Analysis

**Company: TechCorp Inc. - Analysis for 2024**

### Financial Data Summary
- Total Assets: €5,000M
- Current Assets: €2,000M
- Current Liabilities: €800M
- Total Liabilities: €2,500M
- LT Debt: €1,500M
- Market Cap: €8,000M
- Revenue: €6,000M
- EBIT: €900M
- Net Income: €600M
- Operating CF: €700M
- Depreciation: €200M
- ROA: 12%
- Receivables: €900M
- Gross Margin: 48%

### F-Score Calculation

1. ROA = 12% (positive) → +1
2. Operating CF = €700M (positive) → +1
3. Prior ROA = 10%, improving → +1
4. OCF (€700M) > NI (€600M) → +1
5. Prior LT Debt €1,600M, now €1,500M (decreasing) → +1
6. Current Ratio: 2.5 vs 2.3 prior (improving) → +1
7. No new shares issued → +1
8. Gross Margin: 48% vs 46% prior (improving) → +1
9. Asset Turnover: 1.2 vs 1.15 prior (improving) → +1

**F-Score: 9/9 (Excellent)**

### Z-Score Calculation
```
A = (2000-800) / 5000 = 0.24
B = 1200 / 5000 = 0.24 (assuming RE = €1,200M)
C = 900 / 5000 = 0.18
D = 8000 / 2500 = 3.20
E = 6000 / 5000 = 1.20

Z = 1.2(0.24) + 1.4(0.24) + 3.3(0.18) + 0.6(3.20) + 1.0(1.20)
Z = 0.288 + 0.336 + 0.594 + 1.920 + 1.200
Z = 4.34
```

**Z-Score: 4.34 (Safe Zone - Very low bankruptcy risk)**

### M-Score Simplified Check
- DSR: Stable relative to sales ✓
- Gross margins: Improving ✓
- OCF > Net Income ✓
- No unusual accounting changes ✓
- Transparent reporting ✓

**M-Score Assessment: Clean (No red flags)**

### Max Drawdown (5Y)
- Peak: €95 (2022)
- Trough: €52 (2023)
- Max Drawdown: -45%

**Assessment: High volatility (typical for tech)**

### Consolidated Scores
- **Strength: 92/100** (Exceptional)
- **Integrity: 88/100** (High)
- **Predictability: 65/100** (Moderate)
- **Data Quality: 95/100** (Excellent)

### Overall Assessment
**TechCorp shows exceptional financial health with no earnings quality concerns. High volatility is typical for growth tech. Strong buy candidate from financial health perspective.**

---

## Best Practices

1. **Use Multiple Metrics**: No single score tells the whole story
2. **Trend Analysis**: Track scores over multiple years
3. **Industry Context**: Compare to peers, not absolute standards
4. **Qualitative Overlay**: Scores augment, don't replace judgment
5. **Update Regularly**: Recalculate annually or after major events
6. **Red Flag Prioritization**: M-Score warnings trump good F/Z-Scores
7. **Documentation**: Keep calculation workpapers for consistency

## Limitations

**All models have limitations:**
- Based on reported financials (garbage in, garbage out)
- Historical data (backward-looking)
- Industry differences (one size doesn't fit all)
- Can be manipulated (sophisticated fraud can fool models)
- Context matters (scores are inputs, not decisions)

**Use as screening tools and warning systems, not absolute truth.**

---

## 6. Value Trap Score (Genuine Value vs Trap Detection)

### Purpose
Identifies whether a stock that appears undervalued (low P/E, low P/B) is genuinely cheap or a "value trap" - cheap for valid fundamental reasons and likely to stay cheap or decline further.

### When to Use
- Evaluating seemingly undervalued stocks
- Screening value candidates
- Avoiding false bargains
- Confirming value thesis

### Calculation (0-100 Scale, LOWER = Genuine, HIGHER = Trap)

**Component 1: Price Momentum (25 points max)**
```
Assess 6-month and 12-month price performance vs market:

Underperforming market by >20% for 6 months: ADD 15-25 points
Underperforming market by 10-20%: ADD 8-15 points
Underperforming market by 0-10%: ADD 0-8 points
Outperforming market: ADD 0 points

Sustained 12-month decline: ADD additional 10-20 points
```

**Component 2: Earnings Quality (25 points max)**
```
EPS Trend (3 years):
- Declining each year: ADD 20-25 points
- Declining 2 of 3 years: ADD 10-20 points
- Flat: ADD 5-10 points
- Growing: ADD 0 points

Revenue Trend:
- Declining: ADD 5-15 points
- Flat: ADD 2-5 points
- Growing: ADD 0 points

Margin Trend:
- Compressing: ADD 5-10 points
- Stable: ADD 0 points
```

**Component 3: Balance Sheet Health (25 points max)**
```
Debt Levels:
- Increasing significantly: ADD 10-15 points
- Increasing moderately: ADD 5-10 points
- Stable/Decreasing: ADD 0 points

Cash Flow:
- Negative FCF: ADD 15-20 points
- Declining FCF: ADD 5-15 points
- Stable/Growing FCF: ADD 0 points

Working Capital:
- Deteriorating: ADD 5-10 points
- Stable/Improving: ADD 0 points
```

**Component 4: Valuation Context (25 points max)**
```
Compare current state to when multiple was higher:
- Fundamentals clearly justify lower multiple: ADD 20-25 points
- Mixed signals: ADD 10-20 points
- Fundamentals don't explain discount: ADD 0 points
```

### Formula
```
Value Trap Score = Momentum Penalty + Quality Penalty + Balance Sheet Penalty + Valuation Penalty
```

### Interpretation

| Score | Rating | Meaning | Action |
|-------|--------|---------|--------|
| 0-19 | Genuine Value | Fundamentals intact, likely undervalued | Strong candidate |
| 20-39 | Probably Genuine | Minor concerns, worth monitoring | Proceed with research |
| 40-59 | Caution Zone | Mixed signals, proceed carefully | Deep dive required |
| 60-79 | Likely Trap | Multiple red flags | Avoid unless special situation |
| 80-100 | Strong Trap | Cheap for good reasons | Avoid |

### Example Calculation

**Company DEF - Appears Cheap (P/E = 8, P/B = 0.7)**

*Momentum:*
- 6-month vs market: -25% underperformance → ADD 20 points
- 12-month decline: Sustained → ADD 15 points
**Subtotal: 35 points** (capped at 25)

*Earnings Quality:*
- EPS trend: Declining 3 consecutive years → ADD 22 points
- Revenue: Flat → ADD 3 points
- Margins: Compressing → ADD 8 points
**Subtotal: 33 points** (capped at 25)

*Balance Sheet:*
- Debt: Increasing → ADD 12 points
- FCF: Declining → ADD 10 points
- Working capital: Stable → ADD 0 points
**Subtotal: 22 points**

*Valuation Context:*
- Was trading at P/E 15 when EPS was 50% higher → ADD 20 points
**Subtotal: 20 points**

**Total Value Trap Score: 25 + 25 + 22 + 20 = 92 (Strong Trap)**

Assessment: Despite low multiples, this is a classic value trap. Fundamentals are deteriorating, explaining the low valuation.

---

## 7. Investor Persona Scores (8 Legendary Investor Frameworks)

### Purpose
Score stocks against 8 famous investor philosophies to help identify what type of investor the stock would appeal to, and to surface different perspectives on quality.

### When to Use
- Matching stocks to investment style
- Getting multiple perspectives on quality
- Understanding investment thesis fit
- Identifying blind spots in analysis

### The 8 Investor Personas

#### 1. Warren Buffett Score (0-10)
**Philosophy:** Durable competitive advantages, predictable earnings, high returns on capital

**Calculation:**
| Factor | Criteria | Points |
|--------|----------|--------|
| ROE | >25%: 2, >20%: 1.5, >15%: 1, <15%: 0 | 0-2 |
| Profit Margin | >20%: 2, >15%: 1.5, >10%: 1, <10%: 0 | 0-2 |
| FCF | Positive & growing: 2, Positive: 1, Negative: 0 | 0-2 |
| Moat Strength | Wide: 2, Narrow: 1, None: 0 | 0-2 |
| Predictability | High: 2, Medium: 1, Low: 0 | 0-2 |

**Buffett Score = Sum of points**

#### 2. Charlie Munger Score (0-10)
**Philosophy:** Inversion thinking - focus on what could go wrong

**Calculation (start at 10, subtract penalties):**
| Risk Factor | Penalty |
|-------------|---------|
| High debt (D/E > 2) | -3 |
| Volatile earnings (CoV > 30%) | -2 |
| Poor management track record | -2 |
| No competitive moat | -2 |
| Accounting red flags (M-Score > -1.78) | -3 |

**Munger Score = 10 - Sum of penalties (minimum 0)**

#### 3. Ray Dalio Score (0-10)
**Philosophy:** All-weather, cycle resilience, balance

**Calculation:**
| Factor | Criteria | Points |
|--------|----------|--------|
| Leverage | D/E < 0.5: 2, < 1: 1.5, < 2: 1, >2: 0 | 0-2 |
| Beta | <0.8: 2, <1: 1.5, <1.3: 1, >1.3: 0 | 0-2 |
| Margin Stability | Low variance: 2, Medium: 1, High: 0 | 0-2 |
| Earnings Volatility | Low: 2, Medium: 1, High: 0 | 0-2 |
| Recession Resistance | Historically resilient: 2, Mixed: 1, Cyclical: 0 | 0-2 |

**Dalio Score = Sum of points**

#### 4. Peter Lynch Score (0-10)
**Philosophy:** GARP - Growth at a Reasonable Price

**Primary metric: PEG Ratio**
| PEG | Points |
|-----|--------|
| < 0.5 | 10 |
| 0.5 - 0.75 | 9 |
| 0.75 - 1.0 | 8 |
| 1.0 - 1.25 | 6 |
| 1.25 - 1.5 | 5 |
| 1.5 - 2.0 | 3 |
| > 2.0 | 1 |

**Adjustments:**
- Consistent earnings growth: +1 (cap at 10)
- Easy to understand business: +1 (cap at 10)
- Declining industry: -1

**Lynch Score = PEG points + adjustments**

#### 5. Benjamin Graham Score (0-10)
**Philosophy:** Deep value, margin of safety, defensive criteria

**Graham Criteria (2 points each):**
1. P/E < 15
2. P/B < 1.5
3. P/E × P/B < 22.5
4. Current Ratio > 2
5. Positive earnings for 10+ years

**Graham Score = Sum of criteria met × 2**

#### 6. Joel Greenblatt Score (0-10)
**Philosophy:** Magic Formula - high earnings yield + high return on capital

**Calculation:**
| Earnings Yield (EBIT/EV) | Points | Return on Capital | Points |
|--------------------------|--------|-------------------|--------|
| > 15% | 5 | > 50% | 5 |
| 10-15% | 4 | 30-50% | 4 |
| 8-10% | 3 | 20-30% | 3 |
| 5-8% | 2 | 12-20% | 2 |
| < 5% | 1 | < 12% | 1 |

**Greenblatt Score = EY points + ROC points**

#### 7. John Templeton Score (0-10)
**Philosophy:** Contrarian, global value, maximum pessimism

**Calculation:**
| Factor | Criteria | Points |
|--------|----------|--------|
| Price vs 52-week low | Within 10%: 3, Within 20%: 2, Within 30%: 1 | 0-3 |
| Analyst sentiment | Mostly sell: 2, Mixed: 1, Mostly buy: 0 | 0-2 |
| Fundamentals vs pessimism | Strong despite bearishness: 3, Mixed: 1.5 | 0-3 |
| Global opportunity | Non-US or emerging: 2, Developed ex-US: 1, US: 0 | 0-2 |

**Templeton Score = Sum of points**

#### 8. George Soros Score (0-10)
**Philosophy:** Reflexivity, macro trends, momentum with thesis

**Calculation:**
| Factor | Criteria | Points |
|--------|----------|--------|
| Price momentum | Strong uptrend: 3, Moderate: 2, Weak: 1 | 0-3 |
| Macro tailwinds | Strong: 3, Moderate: 2, Headwinds: 0 | 0-3 |
| Perception shift | Narrative changing positively: 2, Stable: 1 | 0-2 |
| Catalyst proximity | Near-term catalyst: 2, Medium-term: 1, None: 0 | 0-2 |

**Soros Score = Sum of points**

### Display Format
Show 8 circular badges around radar chart:
- **Green (7-10):** Strong fit for this investor type
- **Yellow (4-6.9):** Moderate fit
- **Red (0-3.9):** Poor fit

### Interpretation Matrix

| If High Scores In... | Stock Type | Suitable For |
|---------------------|------------|--------------|
| Buffett + Munger | Quality compounder | Long-term holders |
| Lynch + Greenblatt | GARP opportunity | Growth-value blend |
| Graham + Templeton | Deep value | Contrarian investors |
| Dalio | Defensive/stable | Conservative portfolios |
| Soros | Momentum play | Active traders |

### Example: TechCorp Analysis

| Persona | Score | Rationale |
|---------|-------|-----------|
| Buffett | 8.5 | High ROE, strong moat, predictable |
| Munger | 7.0 | Low debt, clean accounting, minor cyclicality |
| Dalio | 6.0 | Beta 1.3 (higher), but stable margins |
| Lynch | 9.0 | PEG 0.8, consistent growth, understandable |
| Graham | 3.0 | Fails P/E, P/B criteria (growth premium) |
| Greenblatt | 7.0 | Good EY (8%), excellent ROC (35%) |
| Templeton | 2.0 | Near highs, well-liked by analysts |
| Soros | 6.5 | Momentum fading, but AI catalyst |

**Conclusion:** TechCorp is a Buffett/Lynch stock - quality GARP play, not for deep value or momentum strategies.

---

## 8. FCF Margin and Other Enhanced Metrics

### FCF Margin
**Formula:** Free Cash Flow / Revenue × 100

**Interpretation:**
| FCF Margin | Rating | Meaning |
|------------|--------|---------|
| > 25% | Exceptional | Cash machine, strong pricing power |
| 15-25% | Excellent | High-quality business |
| 10-15% | Good | Solid cash generation |
| 5-10% | Adequate | Average cash conversion |
| < 5% | Poor | Capital intensive or margin pressure |

### Greenblatt Magic Formula Components

**Earnings Yield (EY):**
```
EY = EBIT / Enterprise Value × 100

Where:
- EBIT = Earnings Before Interest and Taxes
- Enterprise Value = Market Cap + Debt - Cash
```

**Return on Capital (ROC):**
```
ROC = EBIT / (Net Fixed Assets + Net Working Capital) × 100

Where:
- Net Fixed Assets = PP&E less accumulated depreciation
- Net Working Capital = Current Assets - Current Liabilities (excluding cash and debt)
```

### News Sentiment Score
**Scale:** -1.0 to +1.0

| Score | Interpretation |
|-------|----------------|
| > +0.5 | Very positive coverage |
| +0.2 to +0.5 | Positive coverage |
| -0.2 to +0.2 | Neutral coverage |
| -0.5 to -0.2 | Negative coverage |
| < -0.5 | Very negative coverage |

### Short Interest
**Formula:** Shares Sold Short / Float × 100

| Short Interest | Interpretation |
|----------------|----------------|
| < 3% | Very low, minimal bearish sentiment |
| 3-5% | Normal range |
| 5-10% | Elevated, some concern |
| 10-20% | High, significant bearish sentiment |
| > 20% | Very high, potential squeeze candidate |

---

## Summary: Complete Metrics Toolkit

| Metric | Purpose | Key Threshold |
|--------|---------|---------------|
| F-Score | Financial strength | ≥7 = Strong |
| Z-Score | Bankruptcy risk | >2.99 = Safe |
| M-Score | Earnings manipulation | <-1.78 = Clean |
| Max Drawdown | Volatility | >-40% = Moderate |
| Value Trap | Genuine vs trap | <40 = Genuine |
| Investor Personas | Style fit | 8 scores, 0-10 |
| FCF Margin | Cash efficiency | >15% = Excellent |
| Greenblatt EY | Cheap earnings | >8% = Good |
| Greenblatt ROC | Capital efficiency | >20% = Good |
| News Sentiment | Market mood | >0 = Positive |
| Short Interest | Bearish sentiment | <5% = Low |

**Use these metrics together for comprehensive analysis. No single metric tells the whole story.**


path: DASHBOARD-GUIDE.md
content: # Quant-Style Dashboard Quick Reference (Enhanced)

## ⚠️ DATA INTEGRITY REQUIREMENTS

**CRITICAL**: Every metric in the dashboard must come from a verified source.

### Source Requirements
| Data Type | Required Source |
|-----------|-----------------|
| Price, Market Cap | Yahoo Finance, Google Finance |
| Financial Ratios | Company filings, Yahoo Finance |
| Insider Trading | SEC Form 4 ONLY (or N/A) |
| Short Interest | FINRA/exchange ONLY (or N/A) |
| Technical Indicators | Yahoo Finance, TradingView |

### If Data Unavailable
- Display "N/A" - NEVER zeros or estimates
- Zero means "zero occurred" - not "unknown"

---

## Overview

The Stock Evaluator skill produces an enhanced "quant-style" dashboard as the final output. This dashboard is an institutional-grade visualization with 60+ metrics, Ichimoku Cloud analysis, 8 investor persona scores, Value Trap detection, and TOP NEWS integration.

## What You'll Get

### Text Analysis (First)
Complete written analysis including:
- Business understanding
- Financial analysis (5-10 years)
- Valuation assessment
- Technical analysis (including Ichimoku Cloud)
- Value Trap assessment
- Investor Persona fit analysis
- Bull vs Bear case
- Investment recommendation
- All advanced metrics

### Visual Dashboard (Second)
React artifact with:
- **TOP NEWS ticker** (scrolling recent headlines)
- **8 color-coded metric sections** (60+ total metrics)
- **Value Trap indicator** with color-coded score
- **8 Investor Persona badges** around radar chart
- **4 charts**: Linear Price + MACD, Radar + Forecast, Log Price + RSI, Ichimoku Cloud
- **Enhanced legends** with actual valuation line values
- **Expandable Key Notes** (Bull/Bear/Entry-Exit)
- **Professional styling** with € currency default

## Dashboard Layout

```
┌─────────────────────────────────────────────────────┐
│  TICKER - Company Name (Orange Header)              │
├─────────────────────────────────────────────────────┤
│ TOP NEWS: Headline [DD Mon YYYY] | Headline [Date]..│
├────────────────────────┬────────────────────────────┤
│ Price & Val (6 metrics)│ Financial Perf (6 metrics) │
│ + PEG (1Y)             │ + Operative Margin         │
├────────────────────────┼────────────────────────────┤
│ Growth (6 metrics)     │ Risk Indicators (6 metrics)│
│ Revenue/Earning (YoY)  │ + Piotroski F, Altman Z    │
├────────────────────────┼────────────────────────────┤
│ Liquidity (7 metrics)  │ Insider & Sent (7 metrics) │
│ Cash, Debt, FCF        │ + Stock Type + Div Yield   │
├────────────────────────┼────────────────────────────┤
│ Quality (6 metrics)    │ Moat & Other (6 metrics)   │
│                        │ + Beta + Vol 1Y combined   │
├────────────────────────┴────────────────────────────┤
│ LINEAR (10Y)    │ RADAR + PERSONAS  │ LOG (10Y)     │
│ + Value legends │ [8 investor badges]│ + Value legends│
│                 │ + 1Y Forecast/MAs │               │
│                 │ + Valuation %     │               │
├─────────────────────────────────────────────────────┤
│ ICHIMOKU CLOUD │                    │ MACD + RSI    │
├─────────────────────────────────────────────────────┤
│ ▶ Key Notes (Expandable)                            │
│   Bull Case | Bear Case | Entry/Exit Strategy       │
└─────────────────────────────────────────────────────┘
```

## TOP NEWS Format

**CRITICAL**: Use pipe-separated format with dates at END in brackets

### Correct Format:
```
TOP NEWS:
Headline text here [11 Nov 2025] | Another headline here [23 Sep 2025] | Third headline [30 Sep 2025]
```

### WRONG Format (DO NOT USE):
```
[11 Nov 2025] Headline text
[23 Sep 2025] Another headline
```

## Metrics Included (60+ Total)

### Price & Valuation (7)
1. Price (€)
2. Market Cap (€)
3. Trailing P/E
4. Forward P/E
5. Subsector Typical P/E
6. **PEG (1Y)** - 1-Year Forward PEG
7. **PEG (5Y)** - 5-Year Historical PEG

### Financial Performance (6)
1. ROE (>20% green, 10-20% yellow, <10% red)
2. ROA (>10% green)
3. Profit Margin (>20% green)
4. **Operative Margin** (NOT "Operating" - >20% green)
5. Gross Margin (>40% green)
6. ROIC (>15% green)

### Growth Metrics (7)
1. Revenue Growth (YoY) - **REPORTED, not underlying**
2. Earnings Growth (YoY) - **REPORTED, not adjusted**
3. EPS (TTM)
4. Forward EPS
5. **Growth (Capped)** - Sustainable estimate
6. **Growth (Uncapped)** - Analyst headline
7. Analyst Target (€)

### Risk Indicators (6)
1. CRS (0-1): - Consolidated Risk Score (Medium label)
2. Debt/Equity (mrq): - with benchmark (0.5-1)
3. **Piotroski F:** - (NOT "F-Score") - ≥7 green
4. **Altman Z:** - (NOT "Z-Score") - >3 green
5. **Beneish M:** - (NOT "M-Score") - <-1.78 green
6. **Value Trap:** XX (Label) - 0-39 green, 40-59 yellow, 60-100 red

### Liquidity & Free Cash Flow (7)
1. Current Ratio: (1-2 benchmark)
2. **Cash:** (NOT "Total Cash")
3. **Debt:** (NOT "Total Debt")
4. FCF Growth 5Y: (>5% green)
5. FCF Yield: (>4% green)
6. **FCF Margin:** - FCF/Revenue %
7. Payout Ratio: (<50% green)

### Insider & Sentiment & Class (7)
1. **Buys (12M):** - from SEC Form 4 or N/A
2. **Sells (12M):** - from SEC Form 4 or N/A
3. **Net Shares (12M):** - from SEC Form 4 or N/A
4. **Short Int (%):** - from FINRA/exchange or N/A
5. **Sentiment / Articles:** +X.XXX / XX (Positive/Negative)
6. **Stock: [Type] + Div Yield:** - Combined in one cell
7. **Sector/Industry:** - Combined in one cell

### Quality Scores (6)
1. CQVS (Consolidated Quality & Valuation)
2. Label (Quality classification)
3. Valuation Score
4. Quality Score
5. Strength Score
6. Integrity Score

### Moat & Other (6)
1. **Buffett Moat:** X (4-7 benchmark)
2. **Greenblatt (MF):** EY: X.X% / ROC: X.X% or N/A - Combined
3. **Beta: X.XX + Vol 1Y: XX.X%** - Combined in one cell
4. **Earnings Predict.:** XX.X% (>80% green)
5. **Drawdown (5Y):** -XX.X% (Low/Mid/High)
6. **Completeness: XX.X% + Data Quality: High/Med/Low** - Combined

### Investor Persona Scores (8) - NEW
Displayed as badges around radar chart:
1. **Buffett Score** (0-10) - Quality compounder
2. **Munger Score** (0-10) - Risk-focused
3. **Dalio Score** (0-10) - All-weather
4. **Lynch Score** (0-10) - GARP
5. **Graham Score** (0-10) - Deep value
6. **Greenblatt Score** (0-10) - Magic Formula
7. **Templeton Score** (0-10) - Contrarian
8. **Soros Score** (0-10) - Momentum/macro

### Valuation Lines in Charts (6) - NEW
1. Market Value (Current)
2. Intrinsic Value (Current)
3. Market Value (Next Year)
4. Intrinsic Value (Next Year)
5. Unrestricted Market Value (Current)
6. Unrestricted Market Value (Next Year)

## Chart Details

### Linear Price Chart (Left) - 10 Years
- **Close Price** (solid line)
- **Total Return** (dashed - dividends reinvested)
- **Intrinsic Value lines** (green dashed)
- **Analyst Target** (blue dashed)
- **Legend with € values** for each line
- **MACD below** (blue MACD, red signal)

### Radar Chart + Investor Personas (Center Top)
12-point visualization (normalized 0-100):
1. Revenue Growth
2. Operating Margin
3. Gross Margin
4. Profit Margin
5. ROE
6. Risk Score (inverted)
7. Beta Score (inverted)
8. P/Market Discount
9. Moat Score
10. FCF Growth
11. ROA
12. Earnings Growth

**8 Investor Persona Badges positioned around perimeter:**
- Green badge (7-10): Strong fit
- Yellow badge (4-6.9): Moderate fit
- Red badge (0-3.9): Poor fit

### 1-Year + 6-Month Forecast (Center Bottom)
- **Close Price** (solid black)
- **50-Day MA** (orange)
- **200-Day MA** (red)
- **Bollinger Bands** (gray shading)
- **Forecast line** (green dashed)
- **95% Confidence Interval** (blue shading)
- **Valuation Indicator** (below chart):
  - "Undervalued (+XX%)" - green text
  - "Fairly Valued (+/-X%)" - yellow text
  - "Overvalued (-XX%)" - red text

### Log Price Chart (Right) - 10 Years
- **Close Price** (logarithmic scale)
- **Total Return** (dashed)
- **Unrestricted Market Value lines** (red/orange dashed)
- **Legend with € values**

### MACD + RSI (Right Bottom, Stacked)
**MACD** (top):
- MACD line (blue)
- Signal line (red)
- Buy Signal markers (green triangles)
- Zero reference line

**RSI (14)** (bottom):
- RSI line (orange)
- Reference lines at 30 and 70
- Current value displayed: "RSI (14) = XX.X"

### Ichimoku Cloud (Bottom) - NEW
- **Close Price** (thick black)
- **Tenkan-sen** (blue - 9-period conversion)
- **Kijun-sen** (red - 26-period base)
- **Chikou Span** (gray dashed - lagging)
- **Senkou Span A/B** (green/red cloud shading)
- **◆ Diamond markers** at signal points:
  - TK Bullish/Bearish Cross
  - Kumo Twist Bullish/Bearish
- **Signal summary** below chart

## Color Coding

### Value Trap Score Colors
- **Green** (0-39): Genuine value
- **Yellow** (40-59): Caution zone
- **Red** (60-100): Likely trap

### Investor Persona Badge Colors
- **Green** (7-10): Strong fit for investor type
- **Yellow** (4-6.9): Moderate fit
- **Red** (0-3.9): Poor fit

### News Sentiment Colors
- **Green** (>0.2): Positive coverage
- **Yellow** (-0.2 to 0.2): Neutral
- **Red** (<-0.2): Negative coverage

### Ichimoku Signal Colors
- **Green background**: Bullish signal
- **Yellow background**: Neutral
- **Red background**: Bearish signal

## Key Notes Section

Click the expandable accordion to see:

**Bull Case** (Green, left column):
- Upside price target (€)
- 5 key bull arguments
- What needs to happen

**Bear Case** (Red, center column):
- Downside price target (€)
- 5 key risk factors
- What could go wrong

**Entry/Exit Strategy** (Blue, right column):
- Ideal entry price range (€)
- Current entry assessment
- 12-month target (€)
- Stop loss level (€)
- Position size recommendation

## How to Read the Dashboard

### Quick Scan (30 seconds)
1. **TOP NEWS**: Recent headlines for context
2. **Header**: Ticker and company name
3. **Advice Badge** (center): Recommendation + CQVS score
4. **Value Trap Score**: Green = genuine, Red = avoid
5. **Color patterns**: Mostly green = strong
6. **Persona badges**: Which investors would like this stock?

### Medium Review (2-3 minutes)
1. Check all 8 sections for red flags
2. Review Value Trap score and rationale
3. Scan Investor Persona scores - who fits?
4. Check Ichimoku Cloud signals
5. Review price charts and trends
6. Note F-Score, Z-Score, M-Score

### Deep Analysis (5-10 minutes)
1. Expand Key Notes
2. Read Bull vs Bear cases
3. Review entry/exit strategy
4. Cross-reference with text analysis
5. Study Ichimoku signals and trends
6. Verify all metrics rationale
7. Consider which persona scores match your style

## Interpreting Investor Persona Scores

| High Scores In... | Stock Type | Best For |
|-------------------|------------|----------|
| Buffett + Munger | Quality compounder | Long-term holders |
| Lynch + Greenblatt | GARP opportunity | Growth-value blend |
| Graham + Templeton | Deep value | Contrarian investors |
| Dalio | Defensive/stable | Conservative portfolios |
| Soros | Momentum play | Active traders |

## Value Trap Quick Reference

| Score | Label | Action |
|-------|-------|--------|
| 0-19 | Genuine | Strong value candidate |
| 20-39 | Probably Genuine | Worth deep research |
| 40-59 | Caution | Investigate red flags |
| 60-79 | Likely Trap | Avoid unless special |
| 80-100 | Strong Trap | Avoid |

## Currency Note

**All monetary values are in € (Euro) by default:**
- Stock prices: €42.13
- Market caps: €78.3B
- Entry/stop/target prices: €38, €35, €56
- Valuation line values: €45.17, €49.59

## Remember

**The dashboard is a visual summary, not a standalone decision tool.**

- Always read the full text analysis
- Understand the reasoning behind metrics
- Consider your own investment criteria
- Use Investor Persona scores to match your style
- Trust Value Trap score for "cheap" stocks
- Ichimoku provides trend context
- Dashboards complement, not replace, analysis

**The enhanced format ensures:**
- Consistency across analyses
- Easy comparison between stocks
- Professional presentation
- Comprehensive 60+ metric coverage
- Multi-dimensional quality assessment
- Trend and momentum context
- Quick visual assessment


path: EVALUATION-WORKFLOWS.md
content: # Stock Evaluation Workflows

## Overview

This guide provides step-by-step workflows for the two primary use cases:
1. **Single Stock Evaluation** - Deep analysis of one potential investment
2. **Watchlist Analysis** - Comparative analysis of multiple candidates

---

## Workflow 1: Single Stock Evaluation

### Use Case
User asks: "Should I buy [TICKER]?" or "Analyze [TICKER] as a potential investment"

### Complete Step-by-Step Process

#### Phase 1: Initial Research & Context (5-10 minutes)

**Step 1: Gather Basic Information**
- Search: "[TICKER] investor relations"
- Search: "[TICKER] latest 10-K"
- Search: "[TICKER] latest earnings call"

**Collect:**
- Company name and business description
- Current stock price
- Market capitalization
- Recent stock performance (52-week range)
- Latest earnings date

**Step 2: Check Portfolio Context**
- Review project knowledge for existing portfolio
- Is this stock already owned?
  - **If YES**: Suggest using Portfolio Analyst instead
  - **If NO**: Proceed with evaluation
- Check sector exposure (avoid over-concentration)

**Step 3: Quick Quality Screen**
Verify company meets minimum quality thresholds:
- [ ] Profitable? (Positive net income)
- [ ] Positive free cash flow?
- [ ] Debt < Annual Revenue?
- [ ] 5+ years of operating history?

**If fails multiple criteria**: Flag as speculative/high-risk upfront

---

#### Phase 2: Business Understanding (15-20 minutes)

**Step 4: Read Latest 10-K**

**Research Order (Critical):**
1. **Latest 10-K first** - Start with "Business" and "Management's Discussion" sections
2. **Go back 5-10 years** - Skim historical 10-Ks to understand evolution
3. **Recent 10-Qs** - Last 2-3 quarters for current trajectory

**Extract:**
- **Business model**: How do they make money?
- **Products/services**: What do they sell?
- **Revenue breakdown**: Geographic and segment mix
- **Customers**: Who buys from them? Any concentration?
- **Competition**: Who are the main competitors?

**Step 5: Identify Competitive Advantages (Moat)**

**Assess each potential moat source:**
- **Network effects**: Product gets better with more users?
- **Brand power**: Can charge premium prices?
- **Switching costs**: Hard for customers to leave?
- **Regulatory barriers**: Patents, licenses, regulations?
- **Cost advantages**: Scale, technology, location?
- **Intangible assets**: Patents, trade secrets, data?

**Moat Classification:**
- **Wide**: Multiple strong moat sources, sustainable 10+ years
- **Narrow**: One or two moat sources, sustainable 5-10 years
- **None**: Commodity business, competitive market

**Step 6: Evaluate Management**

**Read/Listen to:**
- CEO letter in latest annual report
- Recent earnings call transcript (management Q&A)
- Investor presentation

**Assess:**
- **Competence**: Track record of execution?
- **Transparency**: Honest about challenges?
- **Capital allocation**: Smart use of cash (dividends, buybacks, acquisitions, R&D)?
- **Alignment**: Management compensation tied to long-term value?

**Check insider trading:**
- Search: "[TICKER] insider transactions"
- Buying = bullish signal
- Selling = neutral (could be personal reasons)

**Management Rating: Excellent / Good / Adequate / Concerning**

**Step 7: Identify Direct Competitors (3-5 companies)**

**Selection criteria:**
- Same industry
- Similar business model
- Comparable size (within 3-5x market cap)
- Similar geography

**Example - Payment Processor:**
- Target: Square (SQ)
- Peers: PayPal, Stripe, Adyen, Fiserv

**Document for later peer comparison**

---

#### Phase 3: Financial Analysis (20-30 minutes)

**Step 8: Analyze Financial Trends (5-10 Year View)**

**Revenue Growth:**
| Year | Revenue | YoY Growth | 5-Yr CAGR |
|------|---------|-----------|-----------|
| 2020 | €XM | | |
| 2021 | €XM | X% | |
| 2022 | €XM | X% | |
| 2023 | €XM | X% | |
| 2024 | €XM | X% | X% |

**Assessment:**
- Accelerating / Stable / Decelerating?
- Consistent or erratic?
- How does it compare to industry?

**Profitability Margins:**
| Year | Gross Margin | Operating Margin | Net Margin |
|------|--------------|------------------|------------|
| 2020 | X% | X% | X% |
| 2024 | X% | X% | X% |

**Trend:** Expanding / Stable / Declining
**Driver:** Scale / Pricing / Cost management / Competition

**Cash Flow Quality:**
| Year | Op. Cash Flow | Capex | Free Cash Flow |
|------|---------------|-------|----------------|
| 2020 | €XM | €XM | €XM |
| 2024 | €XM | €XM | €XM |

**Assessment:**
- Consistently positive?
- Growing with revenue?
- FCF conversion (FCF / Net Income): >80% is good

**Balance Sheet Strength:**
- Cash & Equivalents: €XM
- Total Debt: €XM
- Net Debt (Debt - Cash): €XM
- Debt/Revenue ratio: X.X (<1.0 is good)

**Assessment:** Strong / Adequate / Concerning

**Step 9: Calculate Quality Metrics**

| Metric | Current | Target | Pass? |
|--------|---------|--------|-------|
| ROE | X% | >15% | ✓/✗ |
| Profit Margin | X% | >15% | ✓/✗ |
| Gross Margin | X% | >30% | ✓/✗ |
| Debt/Revenue | X.X | <1.0 | ✓/✗ |
| FCF Positive | Yes/No | Yes | ✓/✗ |
| Revenue Growth (5yr) | X% | >0% | ✓/✗ |

**Quality Score: X/6 criteria passed**
- 5-6: High quality
- 3-4: Moderate quality
- 0-2: Low quality (proceed with caution)

**Step 10: Identify Red Flags**

**Warning signs to check:**
- [ ] Declining margins despite revenue growth
- [ ] Negative or inconsistent free cash flow
- [ ] Debt growing faster than revenue
- [ ] Losing market share to competitors
- [ ] Frequent guidance misses
- [ ] Accounting irregularities
- [ ] High customer/supplier concentration (>50%)
- [ ] Key person dependency (founder-led with no succession)

**Document any red flags found**

---

#### Phase 4: Peer Comparison (15-20 minutes)

**Step 11: Research Peer Companies**

For each of 3-5 competitors:
- Search: "[PEER] latest 10-K"
- Extract key metrics
- Read analyst reports if available

**Step 12: Build Comparison Table**

| Company | Mkt Cap | Rev Growth | Gross Margin | Net Margin | ROE | P/E | EV/EBITDA | P/S | Moat |
|---------|---------|-----------|--------------|------------|-----|-----|-----------|-----|------|
| Target | €XB | X% | X% | X% | X% | X.X | X.X | X.X | [Rating] |
| Peer 1 | €XB | X% | X% | X% | X% | X.X | X.X | X.X | [Rating] |
| Peer 2 | €XB | X% | X% | X% | X% | X.X | X.X | X.X | [Rating] |
| Peer 3 | €XB | X% | X% | X% | X% | X.X | X.X | X.X | [Rating] |
| Average | | X% | X% | X% | X% | X.X | X.X | X.X | |

**Step 13: Assess Relative Position**

**Questions to answer:**
1. Is target the best company in the group? (highest margins, ROE, growth)
2. Does target's valuation reflect its quality? (better = higher multiple justified)
3. Is there a clear winner among peers? (buy the best, avoid the rest)
4. Where does target rank? (#1, #2, #3...)

**Comparative Assessment:**
- Best-in-class / Above average / Average / Below average

---

#### Phase 5: Valuation Analysis (30-40 minutes)

**Step 14: DCF Valuation** (See VALUATION-GUIDE.md for details)

**Quick DCF Steps:**
1. Project FCF for 5-10 years (use conservative growth)
2. Calculate terminal value (use 2-3% perpetual growth)
3. Discount to present (use 10-12% WACC typically)
4. Add cash, subtract debt
5. Divide by diluted shares
6. Apply 15-30% margin of safety

**DCF Fair Value: €X.XX**
**Sensitivity Range: €X.XX - €X.XX** (with different assumptions)

**Step 15: Relative Valuation**

**Calculate target's fair value using peer multiples:**

**P/E Method:**
- Peer average P/E: X.X
- Target EPS: €X.XX
- Unadjusted fair value: €X.XX
- Quality adjustment: [+/-X%]
- Adjusted fair value: €X.XX

**Repeat for:**
- EV/EBITDA method
- P/S method (if growth company)
- P/B method (if asset-heavy)

**Relative Fair Value Range: €X.XX - €X.XX**

**Step 16: Peter Lynch Fair Value**

1. Expected growth rate (use conservative estimate): X%
2. Fair value P/E = Growth rate = X
3. Current EPS: €X.XX
4. Base fair value: €X.XX
5. Quality adjustments: [+/- points for moat, debt, margins]
6. Adjusted P/E: X
7. Peter Lynch fair value: €X.XX

**Step 17: Synthesize Valuation**

| Method | Fair Value | Weight | Weighted Value |
|--------|-----------|--------|----------------|
| DCF | €X.XX | 40% | €X.XX |
| Peer Relative | €X.XX | 30% | €X.XX |
| Peter Lynch | €X.XX | 30% | €X.XX |
| **Weighted Average** | | **100%** | **€X.XX** |

**Fair Value Estimate: €X.XX**
**Fair Value Range: €X.XX - €X.XX** (Conservative to Optimistic)

**Current Price: €X.XX**
**Margin of Safety: X%** (Excellent >30% / Good 20-30% / Adequate 15-20% / Insufficient <15%)

**Valuation Conclusion: UNDERVALUED / FAIRLY VALUED / OVERVALUED**

---

#### Phase 6: Technical Analysis (10-15 minutes)

**Step 18: Analyze Price Action**

**Chart Review (Last 60 days):**
- Trend: Uptrend / Downtrend / Range-bound
- Recent high: €X.XX
- Recent low: €X.XX
- Current: €X.XX
- Volume: Increasing on rallies? / Declining?

**Step 19: Identify Key Levels**

**Support Levels** (where buying interest emerges):
- Primary support: €X.XX (recent low / moving average / prior breakout level)
- Secondary support: €X.XX

**Resistance Levels** (where selling pressure increases):
- Primary resistance: €X.XX (recent high / round number / prior breakdown level)
- Secondary resistance: €X.XX

**Step 20: Check Technical Indicators**

**RSI (Relative Strength Index):**
- Current: X
- Interpretation: Overbought (>70) / Neutral (30-70) / Oversold (<30)

**MACD:**
- Position: Above signal line / Below signal line
- Recent crossover: Bullish / Bearish / None
- Momentum: Accelerating / Decelerating / Neutral

**Moving Averages:**
- 50-day MA: €X.XX - Price is [above/below]
- 200-day MA: €X.XX - Price is [above/below]
- Trend: [Golden cross / Death cross / Neutral]

**Step 21: Determine Entry Strategy**

**Technical Setup: Bullish / Neutral / Bearish**

**If Bullish Setup:**
- "Buy now at market (€X.XX)"
- Ideal entry: €X.XX - €X.XX

**If Neutral Setup:**
- "Wait for pullback to €X.XX support"
- Or "Buy on breakout above €X.XX resistance"

**If Bearish Setup:**
- "Wait - avoid until setup improves"
- "Requires break above €X.XX to turn bullish"

**Entry Price Range: €X.XX - €X.XX**
**Maximum Buy Price: €X.XX** (above this, risk/reward unfavorable)

---

#### Phase 7: Risk & Catalyst Assessment (10-15 minutes)

**Step 22: Identify Key Risks**

**Company-Specific Risks:**
1. [Risk]: [Description and potential impact] - Probability: High/Med/Low
2. [Risk]: [Description and potential impact] - Probability: High/Med/Low
3. [Risk]: [Description and potential impact] - Probability: High/Med/Low

**Industry Risks:**
1. [Risk]: [Description] - Probability: High/Med/Low

**Macro Risks:**
1. [Risk]: [Description] - Probability: High/Med/Low

**Overall Risk Level: Low / Moderate / High**

**Step 23: Identify Catalysts**

**Near-Term (0-6 months):**
- [Date]: Earnings announcement
- [Date]: Product launch / event
- [Timeframe]: Regulatory decision

**Medium-Term (6-18 months):**
- Market expansion
- New product cycle
- Margin improvement initiatives

**Long-Term (18+ months):**
- Structural industry trend
- Technology leadership
- Market share gains

**Expected Timeline to Target: [6-12 months / 1-3 years / 3-5+ years]**

---

#### Phase 8: Bull vs. Bear Case (15-20 minutes)

**Step 24: Build Bull Case**

**Potential Upside: €X.XX (+X%)**

**Three strongest bull arguments:**
1. [Argument with specific evidence]
2. [Argument with specific evidence]
3. [Argument with specific evidence]

**For this to happen:**
- [Required condition]
- [Required condition]

**Step 25: Build Bear Case**

**Potential Downside: €X.XX (-X%)**

**Three strongest bear arguments:**
1. [Risk with specific reasoning]
2. [Risk with specific reasoning]
3. [Risk with specific reasoning]

**This happens if:**
- [Risk trigger]
- [Risk trigger]

**Step 26: Balance Assessment**

**Which case is more probable: Bull / Bear / Balanced**

**Reasoning:**
[2-3 paragraphs weighing evidence:
- Quality and quantity of evidence for each side
- Historical precedent and company track record
- Management competence and execution ability
- Industry dynamics (tailwinds vs headwinds)
- Current valuation (does price reflect risks?)
- Risk/reward assessment]

---

#### Phase 9: Investment Decision (10 minutes)

**Step 27: Determine Recommendation**

**Decision Matrix:**

| Valuation | Fundamentals | Technicals | Risk | → Recommendation |
|-----------|-------------|-----------|------|------------------|
| Undervalued (>15%) | Strong | Bullish/Neutral | Low-Mod | **BUY** |
| Undervalued (>15%) | Strong | Bearish | Moderate | **HOLD** (wait for setup) |
| Fairly Valued (±15%) | Strong | Any | Low-Mod | **HOLD** |
| Overvalued (>15%) | Any | Any | Any | **SELL/AVOID** |
| Any | Weak | Any | High | **AVOID** |

**Final Recommendation: BUY / HOLD / SELL/AVOID**
**Conviction: Strong Buy / Buy / Hold / Avoid**

**Step 28: Define Entry/Exit Strategy**

**If BUY:**
- **Ideal Entry: €X.XX - €X.XX**
- **Maximum Buy Price: €X.XX**
- **Approach**: [Buy now / Wait for pullback / Buy on breakout]

**Exit Strategy:**
- **12-Month Target: €X.XX** (+X%)
- **Stop Loss: €X.XX** (-X%)
- **Sell If**: [Thesis-breaking conditions]

**Step 29: Determine Position Sizing**

**Allocation Guidance:**
- Strong Buy + Low Risk = 5-8% position (max 10%)
- Buy + Moderate Risk = 3-5% position (max 7%)
- Speculative + High Risk = 1-3% position (max 5%)

**Recommended Allocation: X-X%**
**Specific: X%**

**Rationale:**
- Conviction: [Strong Buy / Buy]
- Risk: [Low / Moderate / High]
- Diversification: [Sector exposure check]
- Liquidity: [Can exit easily?]

---

#### Phase 10: Documentation & Deliverables (10 minutes)

**Step 30: Final Checklist Verification**

- ☐ Technical Analysis Complete
- ☐ Fundamental Analysis Complete
- ☐ Valuation Assessment Complete (multiple methods)
- ☐ Bull vs. Bear Case Complete
- ☐ Clear Recommendation (BUY/HOLD/SELL)
- ☐ Alternative Candidates (if SELL - provide 3-5)

**Step 31: Write Executive Summary**

**2-3 sentence bottom-line:**
- Recommendation + Conviction
- Key reason supporting the recommendation
- Most important risk or opportunity

**Step 32: Compile Research Sources**

**Document:**
- 10-K filings reviewed (years)
- 10-Q filings reviewed (quarters)
- Earnings calls listened to (dates)
- Competitor research conducted
- Confidence level (High/Medium/Low)

**Step 33: Provide Alternative Candidates (if SELL)**

If recommending SELL/AVOID, provide 3-5 better alternatives:
- Similar sector/industry
- Better fundamentals or valuation
- 1-2 paragraph rationale each

---

### Single Stock Evaluation Timeline

**Total Time: 2.5-3.5 hours for thorough analysis**

- Initial Research: 10 min
- Business Understanding: 20 min
- Financial Analysis: 30 min
- Peer Comparison: 20 min
- Valuation: 40 min
- Technical Analysis: 15 min
- Risk/Catalysts: 15 min
- Bull/Bear Case: 20 min
- Decision & Sizing: 10 min
- Documentation: 10 min

**For experienced analyst**: Can be done in 2 hours
**For complex company**: May take 4-5 hours

---

## Workflow 2: Watchlist Analysis

### Use Case
User provides list of 5-15 stocks they're considering and wants comparative analysis to identify best opportunities.

### Streamlined Process (Per Stock)

#### Phase 1: Quick Quality Screen (10 min per stock)

**For each stock:**

**Step 1: Basic Research**
- Search: "[TICKER] latest 10-K"
- Current price and market cap
- Recent performance

**Step 2: Quality Metrics Check**

| Ticker | Profitable? | Positive FCF? | Debt<Revenue? | ROE>15%? | Quality Score |
|--------|------------|--------------|--------------|----------|---------------|
| Stock 1 | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ | X/4 |
| Stock 2 | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ | X/4 |
| ... | | | | | |

**Step 3: Initial Triage**

**Eliminate immediately:**
- Quality score 0-1 (multiple failures)
- Recent accounting issues
- Severe financial distress
- Complete lack of moat

**Advance to Phase 2:**
- Quality score 2-4
- Reasonable fundamentals
- Some competitive advantage

**Result: Narrow list from 10-15 to 5-8 candidates**

---

#### Phase 2: Comparative Business Analysis (15 min per stock)

**Step 4: Business Model Summary**

For each remaining candidate:

| Ticker | Business Model | Revenue | Moat | Management | Industry |
|--------|---------------|---------|------|------------|----------|
| Stock 1 | [1 sentence] | €XB | Wide/Narrow/None | Good/Adequate | [Sector] |
| Stock 2 | [1 sentence] | €XB | Wide/Narrow/None | Good/Adequate | [Sector] |
| ... | | | | | |

**Step 5: Identify Best-in-Class**

**Within each sector represented:**
- Who has widest moat?
- Who has best management?
- Who has strongest financials?

**Result: Rank candidates within sectors**

---

#### Phase 3: Financial Comparison (10 min per stock)

**Step 6: Build Financial Comparison Table**

| Ticker | Rev Growth (5yr) | Gross Margin | Net Margin | ROE | Debt/Rev | FCF (TTM) |
|--------|-----------------|--------------|------------|-----|----------|-----------|
| Stock 1 | X% | X% | X% | X% | X.X | €XM |
| Stock 2 | X% | X% | X% | X% | X.X | €XM |
| Stock 3 | X% | X% | X% | X% | X.X | €XM |
| ... | | | | | | |
| Best | [Ticker] | [Ticker] | [Ticker] | [Ticker] | [Ticker] | [Ticker] |

**Step 7: Score Each Stock**

**Quality Score (0-10 points):**
- Rev growth >15%: +2
- Gross margin >40%: +2
- Net margin >20%: +2
- ROE >20%: +2
- Debt/Rev <0.5: +2

| Ticker | Quality Score | Ranking |
|--------|--------------|---------|
| Stock 1 | 8/10 | #1 |
| Stock 2 | 6/10 | #2 |
| ... | | |

---

#### Phase 4: Valuation Comparison (20 min per stock)

**Step 8: Quick Valuation for Each**

**Simplified approach for watchlist:**
- Primary method: Peer relative valuation (fastest)
- Secondary: Peter Lynch (if growth company)
- Skip full DCF (too time-intensive for multiple stocks)

**For each stock:**

| Ticker | Current Price | P/E | Peer Avg P/E | PEG | Fair Value Est. | Margin of Safety |
|--------|--------------|-----|--------------|-----|-----------------|------------------|
| Stock 1 | €X.XX | X.X | X.X | X.X | €X.XX | X% |
| Stock 2 | €X.XX | X.X | X.X | X.X | €X.XX | X% |
| ... | | | | | | |

**Step 9: Identify Best Values**

**Sort by margin of safety (highest first):**
1. Stock X: X% undervalued
2. Stock Y: Y% undervalued
3. Stock Z: Z% undervalued

**Eliminate:**
- Stocks with <10% margin of safety (not compelling)
- Stocks >20% overvalued (avoid)

---

#### Phase 5: Risk-Adjusted Ranking (10 min per stock)

**Step 10: Quick Risk Assessment**

| Ticker | Quality Score | Margin of Safety | Risk Level | Risk-Adj. Rank |
|--------|--------------|-----------------|------------|----------------|
| Stock 1 | 8/10 | 25% | Low | #1 |
| Stock 2 | 6/10 | 30% | Moderate | #2 |
| Stock 3 | 7/10 | 15% | Moderate | #3 |

**Risk-Adjusted Ranking Formula:**
- High quality + High margin + Low risk = Top rank
- Lower quality or higher risk = Lower rank even with good margin

**Step 11: Final Triage to Top 3-5**

**Criteria for Top 5:**
- Quality score ≥6/10
- Margin of safety ≥15%
- Risk level ≤ Moderate
- No significant red flags

---

#### Phase 6: Deep Dive on Top 3-5 (Follow Single Stock Workflow)

**Step 12: Full Analysis on Finalists**

For the top 3-5 candidates, perform **full single stock evaluation**:
- Complete business analysis
- Detailed financial analysis
- Comprehensive valuation (all methods)
- Technical analysis
- Bull/Bear case
- Entry/exit strategy
- Position sizing

**Time per stock: 2.5-3 hours**
**Total for top 5: 12-15 hours**

---

#### Phase 7: Final Ranking & Recommendations (30 min)

**Step 13: Create Final Comparison**

| Rank | Ticker | Conviction | Fair Value | Upside | Risk | Rec Allocation | Rationale |
|------|--------|-----------|-----------|--------|------|----------------|-----------|
| #1 | [TICK] | Strong Buy | €XX | +X% | Low | 5-8% | [1 sentence] |
| #2 | [TICK] | Buy | €XX | +X% | Mod | 3-5% | [1 sentence] |
| #3 | [TICK] | Buy | €XX | +X% | Mod | 3-5% | [1 sentence] |

**Step 14: Portfolio Construction Recommendation**

**Suggested approach:**
- **Buy immediately**: Top 1-2 with best setups
- **Buy on pullback**: #3-4 if technically extended
- **Monitor closely**: #5+ for future opportunities

**Total allocation**: X-X% across top 3-5 picks

**Diversification check:**
- Multiple sectors represented?
- Different risk profiles?
- Different time horizons?

---

### Watchlist Analysis Timeline

**For 10-stock watchlist:**

- Quick Screen (10 stocks × 10 min): 1.5-2 hours
- Comparative Analysis (8 stocks × 15 min): 2 hours
- Valuation (8 stocks × 20 min): 2.5 hours
- Risk Ranking: 1.5 hours
- Deep Dive (top 5 × 2.5 hours): 12-15 hours
- Final Ranking: 30 min

**Total: 20-25 hours for comprehensive watchlist analysis**

**Streamlined version (top 3 only): 12-15 hours**

---

## Efficiency Tips for Both Workflows

### Research Shortcuts

**Use AI to Speed Up:**
- Summarize 10-K filings
- Extract key metrics from multiple years
- Identify main competitors
- Flag red flags in financial statements

**But always:**
- Verify AI summaries against original documents
- Use own judgment for interpretation
- Don't let AI make valuation decisions

### Template Usage

**Create reusable templates for:**
- Financial trend analysis tables
- Peer comparison tables
- Valuation synthesis tables
- Risk assessment checklists

**Saves 20-30% of time**

### Focus Areas

**Spend more time on:**
- Valuation (most critical)
- Competitive moat assessment
- Risk identification

**Spend less time on:**
- Overly precise financial projections
- Excessive peer research (3-5 is enough)
- Historical analysis >10 years old

### Red Flag Triggers

**Stop immediately and reassess if:**
- Multiple quality criteria failures
- Obvious red flags emerge (fraud, insolvency)
- Better alternatives clearly available
- Analysis becomes too uncertain (>50% variation in fair value)

**Don't waste time on obvious passes**

---

## Quality Control Checklist

### Before Finalizing Any Recommendation

**Completeness:**
- [ ] All mandatory deliverables completed
- [ ] Both bull and bear cases presented
- [ ] Multiple valuation methods used
- [ ] Specific entry/exit prices provided
- [ ] Position sizing recommendation included
- [ ] Risk level assessed
- [ ] Alternative candidates provided (if SELL)

**Accuracy:**
- [ ] Numbers verified against source documents
- [ ] Calculations double-checked
- [ ] Peer comparisons use correct data
- [ ] Industry context considered

**Clarity:**
- [ ] Recommendation is unmistakable (BUY/HOLD/SELL)
- [ ] Conviction level clear (Strong Buy/Buy/Hold/Avoid)
- [ ] Reasoning is specific with evidence
- [ ] Technical jargon explained
- [ ] Executive summary captures key points

**Objectivity:**
- [ ] Confirmation bias checked (considered contrary evidence)
- [ ] Both sides presented fairly
- [ ] Risks explicitly acknowledged
- [ ] Limitations stated clearly
- [ ] No unsupported claims

---

## Common Pitfalls to Avoid

### Analysis Pitfalls

**❌ Anchoring bias**: Don't fixate on current price
- Evaluate based on intrinsic value, not price paid or current quote

**❌ Recency bias**: Don't overweight recent quarters
- Look at 5-10 year trends, not just last quarter

**❌ Confirmation bias**: Don't seek only supporting evidence
- Actively seek contrary evidence and risks

**❌ Complexity bias**: Don't assume complex = better
- Simple businesses often best investments

**❌ Precision illusion**: Don't confuse precision with accuracy
- Better approximately right than precisely wrong

### Valuation Pitfalls

**❌ Single method reliance**: Don't use only DCF or only P/E
- Use multiple methods and synthesize

**❌ Heroic assumptions**: Don't project 30% growth forever
- Use conservative, realistic assumptions

**❌ Ignoring margin of safety**: Don't buy at fair value
- Require minimum 15% margin of safety

**❌ Paying for hope**: Don't overpay for growth that may not materialize
- Growth must be probable, not just possible

### Recommendation Pitfalls

**❌ Vague recommendations**: Don't say "interesting opportunity"
- Say BUY at €X.XX or below, position size X%

**❌ Missing downside**: Don't present only bull case
- Always show what could go wrong

**❌ No risk management**: Don't recommend buying without stop loss
- Define clear exit conditions

**❌ Ignoring portfolio context**: Don't recommend in vacuum
- Consider sector concentration and diversification

---

## Continuous Improvement

### Track Record

**For each recommendation:**
- Document recommendation date and price
- Track subsequent price movement
- Note if thesis played out or not
- Learn from successes and failures

### Pattern Recognition

**Over time, identify:**
- Which valuation methods work best for which industries
- Which quality metrics most predictive
- Which risks most important to monitor
- Which technical setups most reliable

### Skill Development

**Improve through:**
- Reading great investor letters (Buffett, Munger, Klarman)
- Studying past successful analyses
- Learning from mistakes (write post-mortems)
- Building industry expertise over time

**Goal**: Get better at identifying quality businesses, estimating fair value, and timing entries to generate superior returns.


path: VALUATION-GUIDE.md
content: # Valuation Guide

## Overview

Valuation is both art and science. No single method provides the "right" answer. This guide provides multiple valuation approaches to triangulate fair value with appropriate margin of safety.

**Key Principle**: Better to be approximately right than precisely wrong. Use conservative assumptions and require margin of safety.

---

## The Four Valuation Methods

### Method 1: DCF (Discounted Cash Flow) Analysis

**Best for**: Companies with predictable, positive free cash flows

**Weight in Final Valuation**: 40% (if reliable cash flows)

#### Step-by-Step DCF Process

**1. Project Free Cash Flows (5-10 years)**

Free Cash Flow = Operating Cash Flow - Capital Expenditures

**Projection Steps:**
- Start with recent FCF (average last 3 years)
- Project revenue growth based on:
  - Historical growth rates
  - Industry growth expectations
  - Company guidance
  - Market saturation considerations
- Apply profit margins:
  - Use conservative estimates
  - Consider historical ranges
  - Account for competitive pressures
- Subtract capex requirements:
  - Maintenance capex (sustain business)
  - Growth capex (expand business)

**Conservative Assumptions:**
- Use lower end of growth range
- Don't assume infinite margin expansion
- Include realistic capex needs
- Consider competitive pressure on margins

**Example Projection:**
```
Year 1: €100M FCF (base year)
Year 2: €110M (+10% growth)
Year 3: €120M (+9% growth)
Year 4: €130M (+8% growth - slowing)
Year 5: €140M (+7.7% growth)
Year 6-10: 5-6% perpetual growth
```

**2. Calculate Terminal Value**

Two approaches:

**Perpetuity Growth Method** (preferred):
Terminal Value = Year 10 FCF × (1 + g) / (WACC - g)

Where:
- g = long-term growth rate (typically 2-3%, not higher than GDP growth)
- WACC = discount rate

**Exit Multiple Method**:
Terminal Value = Year 10 FCF × Exit Multiple

Exit Multiple = Conservative P/FCF or EV/FCF multiple based on:
- Historical company average
- Industry peer average
- Use lower end of range

**3. Discount to Present Value**

Discount Rate = WACC (Weighted Average Cost of Capital)

**Simple WACC Calculation:**
WACC = Cost of Equity × (Equity %) + Cost of Debt × (1 - Tax Rate) × (Debt %)

**Cost of Equity (simplified)**:
- Risk-free rate (government bond yield): 2-4%
- + Equity risk premium: 4-6%
- + Company-specific risk: 0-3%
- = Total: 8-12% typically

**Conservative approach**: Use higher discount rates (10-12%) for:
- Smaller companies
- Higher risk businesses
- Uncertain cash flows
- Cyclical industries

**Formula:**
Present Value = Future Cash Flow / (1 + WACC)^n

Where n = number of years in future

**4. Calculate Enterprise Value**
Sum of:
- All discounted annual FCFs (Years 1-10)
- Discounted terminal value

**5. Calculate Equity Value**
Equity Value = Enterprise Value + Cash - Debt

**6. Per Share Value**
Fair Value per Share = Equity Value / Shares Outstanding

**Use diluted shares outstanding** (includes options, RSUs)

**7. Apply Margin of Safety**

**Final DCF Fair Value = Calculated Value × (1 - Margin of Safety %)**

Margin of Safety:
- Minimum: 15%
- Standard: 20-25%
- High uncertainty: 30%+

**Example:**
- Calculated DCF value: €100 per share
- Margin of safety: 20%
- **DCF Fair Value: €80 per share**

#### DCF Sensitivity Analysis

Test how fair value changes with different assumptions:

| Discount Rate | Terminal Growth 2% | Terminal Growth 3% | Terminal Growth 4% |
|---------------|-------------------|-------------------|-------------------|
| 8% WACC | €120 | €135 | €155 |
| 10% WACC | €95 | €105 | €120 |
| 12% WACC | €75 | €85 | €95 |

This shows range of possible values based on reasonable assumption changes.

#### When DCF Doesn't Work Well

**Avoid DCF for:**
- Unprofitable companies (negative FCF)
- Highly cyclical businesses (FCF varies wildly)
- Startups without operating history
- Companies with unpredictable cash flows
- Financial companies (banks, insurance)

**Use alternative methods** in these cases.

---

### Method 2: Relative Valuation (Peer Comparison)

**Best for**: All companies with profitable peers

**Weight in Final Valuation**: 30%

#### Core Valuation Multiples

**1. P/E Ratio (Price-to-Earnings)**

Formula: Stock Price / Earnings Per Share

**When to use:**
- Profitable companies
- Stable earnings
- Mature businesses

**Interpretation:**
- Low P/E (<15): Potentially undervalued or slower growth
- Medium P/E (15-25): Market average
- High P/E (>25): Growth expectations or overvalued

**Adjustments:**
- Use forward P/E (next 12 months) for growth companies
- Use trailing P/E (last 12 months) for mature companies
- Normalize earnings for cyclical businesses (use average through cycle)

**Peer Comparison Example:**
```
Target Company: 18x P/E
Peer 1: 22x P/E
Peer 2: 20x P/E
Peer 3: 19x P/E
Peer Average: 20.3x P/E

Target trades at 11% discount to peers
If discount justified: Fairly valued
If discount NOT justified: Undervalued
```

**2. EV/EBITDA (Enterprise Value to EBITDA)**

Formula: (Market Cap + Debt - Cash) / EBITDA

**When to use:**
- Capital-intensive businesses
- Companies with different debt levels
- Comparing companies with different tax rates

**Interpretation:**
- Low EV/EBITDA (<8): Potentially undervalued
- Medium EV/EBITDA (8-12): Market average
- High EV/EBITDA (>12): Premium valuation

**Advantages:**
- Ignores capital structure differences
- Less affected by depreciation methods
- Good for M&A comparisons

**3. Price-to-Sales (P/S)**

Formula: Market Cap / Annual Revenue

**When to use:**
- Unprofitable growth companies
- Companies with negative earnings
- Comparing companies with different margins

**Interpretation:**
- Low P/S (<2): Potentially undervalued
- Medium P/S (2-4): Market average
- High P/S (>4): Growth premium or overvalued

**Warning**: Can mask poor profitability

**4. Price-to-Book (P/B)**

Formula: Market Cap / Book Value of Equity

**When to use:**
- Asset-heavy companies (banks, real estate, manufacturing)
- Value investing approach
- Distressed companies

**Interpretation:**
- P/B < 1: Trading below book value (potentially undervalued or distressed)
- P/B 1-3: Normal range
- P/B > 3: Premium for intangibles or growth

**Less useful for:**
- Asset-light businesses (software, services)
- Companies with strong intangible assets

**5. PEG Ratio (Price/Earnings to Growth)**

Formula: P/E Ratio / Expected EPS Growth Rate

**When to use:**
- Growth companies
- Comparing companies with different growth rates

**Interpretation:**
- PEG < 1: Undervalued relative to growth
- PEG = 1: Fairly valued (Peter Lynch fair value)
- PEG > 1.5: Expensive relative to growth

**Example:**
- P/E = 25
- Expected growth = 20%
- PEG = 25 / 20 = 1.25 (reasonable)

**Limitations:**
- Only as good as growth estimates
- Doesn't consider growth quality or sustainability

#### Peer Selection Process

**1. Identify Direct Competitors (3-5 companies)**

**Criteria for good peers:**
- Same industry/sector
- Similar business model
- Comparable size (market cap within 3-5x)
- Similar geography
- Similar growth stage

**Example - Semiconductor Equipment:**
- Target: ASML
- Peers: Applied Materials, Lam Research, KLA Corp, Tokyo Electron

**2. Calculate Multiples for Each**

| Company | P/E | EV/EBITDA | P/S | ROE | Growth |
|---------|-----|-----------|-----|-----|--------|
| Target | 20x | 12x | 5x | 18% | 15% |
| Peer 1 | 25x | 15x | 6x | 22% | 20% |
| Peer 2 | 22x | 14x | 5.5x | 20% | 18% |
| Peer 3 | 18x | 11x | 4.5x | 16% | 12% |

**3. Adjust for Quality Differences**

If target has:
- Higher margins → Deserves premium multiple
- Faster growth → Deserves premium multiple
- Stronger moat → Deserves premium multiple
- Better ROIC → Deserves premium multiple

**4. Calculate Fair Value Range**

**Example using P/E:**
- Peer average P/E: 21.7x
- Target earnings: €5.00 per share
- Unadjusted fair value: €5.00 × 21.7 = €108.50

**Quality adjustment:**
- Target has higher ROE and margins (+10% premium)
- Target has slower growth (-5% discount)
- Net adjustment: +5% premium
- Adjusted fair value: €108.50 × 1.05 = €113.90

**Apply margin of safety: €113.90 × 0.85 = €96.80**

#### Historical Valuation Context

Compare current valuation to company's own history:

**Target Company P/E History:**
- Current: 20x
- 1-year avg: 22x
- 3-year avg: 19x
- 5-year avg: 18x
- 10-year avg: 17x

**Interpretation:**
- Trading slightly above long-term average
- Below recent peak
- Context needed: Has business improved? Or is market too optimistic?

#### Industry-Specific Multiples

Different industries have different "normal" multiples:

**Technology/Software:**
- High P/E (25-40x), high P/S (8-15x)
- Justified by high margins and growth

**Consumer Staples:**
- Medium P/E (18-25x), low P/S (1-2x)
- Stable, predictable, slower growth

**Industrials:**
- Low-medium P/E (12-18x), low P/S (0.8-1.5x)
- Cyclical, capital intensive

**Financials:**
- Low P/E (8-12x), use P/B (1-2x) instead
- Different business model (leverage)

**Healthcare/Pharma:**
- Medium-high P/E (20-30x), medium P/S (4-8x)
- Patent protection, R&D intensive

---

### Method 3: Peter Lynch Fair Value

**Best for**: Growth-at-reasonable-price (GARP) stocks

**Weight in Final Valuation**: 30%

#### The Peter Lynch Approach

**Core Principle**: A fairly priced stock should have P/E ratio equal to its growth rate.

**Fair Value P/E = Expected Growth Rate**

**PEG Ratio = P/E / Growth Rate**
- PEG = 1.0 → Fairly valued
- PEG < 1.0 → Undervalued
- PEG > 1.5 → Overvalued

#### Step-by-Step Process

**1. Determine Expected Growth Rate**

Use most conservative estimate from:
- Historical 5-year EPS growth
- Analyst consensus estimates
- Company guidance
- Industry growth expectations

**Example:**
- Historical growth: 18%
- Analyst estimates: 20%
- Company guidance: 15-17%
- **Use: 15% (most conservative)**

**2. Calculate Fair Value P/E**

**Fair Value P/E = Growth Rate**
Fair Value P/E = 15x (for 15% growth)

**3. Calculate Fair Value Price**

Fair Value = Fair Value P/E × Current EPS

**Example:**
- Fair Value P/E: 15x
- Current EPS: €4.00
- Fair Value = 15 × €4.00 = €60.00

**4. Quality Adjustments**

**Add premium (+2-5 points) if:**
- Low debt (debt/equity < 0.5)
- High ROE (>20%)
- Strong competitive moat
- Consistent dividend growth
- High profit margins (>20%)

**Subtract discount (-2-5 points) if:**
- High debt (debt/equity > 1.0)
- Low ROE (<10%)
- Weak competitive position
- Inconsistent earnings
- Cyclical business

**Adjusted Example:**
- Base fair value P/E: 15x
- High ROE (+2 points)
- Strong moat (+2 points)
- High debt (-2 points)
- **Adjusted fair value P/E: 17x**
- Fair value = 17 × €4.00 = €68.00

**5. Apply Margin of Safety**

Peter Lynch Fair Value = Adjusted Fair Value × (1 - 15%)
= €68.00 × 0.85 = **€57.80**

#### Peter Lynch Categories

**Slow Growers** (0-5% growth):
- Fair P/E: 5-10x
- Mature, dividend-paying
- Example: Utilities, some consumer staples

**Stalwarts** (8-12% growth):
- Fair P/E: 12-15x
- Large, stable companies
- Example: Coca-Cola, P&G

**Fast Growers** (15-25% growth):
- Fair P/E: 15-25x
- Most attractive for GARP
- Example: Growing tech companies

**Cyclicals** (Varies):
- P/E misleading at peaks
- Use normalized earnings
- Example: Industrials, materials

**Turnarounds** (Varies):
- Often negative earnings
- Buy before recovery
- High risk/reward

**Asset Plays** (Varies):
- P/B more relevant than P/E
- Hidden asset value
- Example: Real estate, natural resources

#### The Peter Lynch Checklist

For a stock to qualify as attractive:
- [ ] PEG < 1.0 (preferably < 0.75)
- [ ] P/E reasonable for growth rate
- [ ] Company has sustainable competitive advantages
- [ ] Debt manageable (can pay off in 2-3 years from FCF)
- [ ] Earnings growing consistently (not erratic)
- [ ] You understand the business
- [ ] Room to grow (not saturated market)
- [ ] Management aligned with shareholders

---

### Method 4: Asset-Based Valuation

**Best for**: Asset-heavy companies, financials, REITs, distressed companies

**Weight in Final Valuation**: Varies (primary for certain companies)

#### When to Use Asset-Based Valuation

**Primary valuation method for:**
- **Banks and Financial Institutions**: P/B is standard
- **REITs**: Net Asset Value (NAV) approach
- **Asset-heavy industrials**: Replacement value matters
- **Holding companies**: Sum-of-the-parts
- **Distressed/Liquidation scenarios**: Tangible book value

**Secondary consideration for:**
- Any company trading below book value
- Companies with significant real estate
- Natural resource companies

#### Book Value Approach

**1. Calculate Book Value of Equity**

Book Value = Total Assets - Total Liabilities

Or from balance sheet:
Book Value = Shareholders' Equity

**2. Calculate Book Value per Share**

Book Value per Share = Book Value / Shares Outstanding

**3. Compare to Stock Price**

P/B Ratio = Stock Price / Book Value per Share

**Interpretation:**
- P/B < 1.0: Trading below book (potential value or distress)
- P/B 1.0-3.0: Normal range
- P/B > 3.0: Premium for intangibles or growth

**4. Tangible Book Value (More Conservative)**

Tangible Book Value = Book Value - Intangible Assets - Goodwill

Removes:
- Goodwill from acquisitions
- Patents, trademarks
- Other intangibles

**More conservative measure** - "liquidation value" estimate

#### Adjusted Book Value

**Problem**: Historical cost accounting doesn't reflect current values

**Adjustments to consider:**

**1. Real Estate:**
- Book value: Purchase price minus depreciation
- Market value: Current property values
- Adjustment: Often significantly higher than book

**2. Inventory:**
- FIFO vs LIFO accounting differences
- Obsolete inventory may be overstated
- Adjust to net realizable value

**3. Intangibles:**
- Patents, brands may be worth more than book
- Or may be worthless (expired, obsolete)
- Assess actual value

**4. Liabilities:**
- Pension obligations (may be understated)
- Environmental liabilities
- Legal contingencies

**Adjusted Book Value Example:**
```
Reported Book Value: €1,000M
+ Real estate appreciation: +€200M
- Goodwill impairment: -€150M
- Obsolete inventory: -€50M
Adjusted Book Value: €1,000M
```

#### REIT Net Asset Value (NAV)

**For Real Estate Investment Trusts:**

**1. Calculate Property Values**
- Market value of properties (use cap rate)
- Or appraised values

**2. Subtract Debt**
Net Asset Value = Property Values - Debt

**3. Per Share NAV**
NAV per Share = NAV / Shares Outstanding

**4. Compare to Stock Price**
Price / NAV Ratio

**Typical REIT Valuation:**
- P/NAV < 0.9: Undervalued
- P/NAV 0.9-1.1: Fair value
- P/NAV > 1.1: Premium (quality properties, management)

#### Replacement Cost (Tobin's Q)

**For Asset-Heavy Businesses:**

**Tobin's Q = Market Cap / Replacement Cost of Assets**

**Interpretation:**
- Q < 1: Cheaper to buy company than build from scratch
- Q = 1: Market price equals replacement cost
- Q > 1: Premium for intangibles, market position

**Practical Application:**
Difficult to calculate precisely, but useful concept:
- If P/B < 1 for capital-intensive business, consider replacement cost
- Would it cost more to build this business than to buy it?

#### Sum-of-the-Parts (SOTP) Valuation

**For Conglomerates or Diversified Companies:**

**1. Identify Business Segments**
Break company into distinct businesses

**2. Value Each Segment Separately**
Use appropriate method for each:
- Mature segment: P/E multiple
- Growth segment: DCF or P/S
- Asset segment: Book value or NAV

**3. Sum All Segments**
Total Value = Segment 1 + Segment 2 + Segment 3...

**4. Add Corporate-Level Items**
- Cash and investments
- Corporate debt
- Pension obligations

**5. Calculate Per Share Value**
Fair Value per Share = Total Value / Shares Outstanding

**Example:**
```
Segment A (Mature): €2,000M (at 12x P/E)
Segment B (Growth): €3,000M (at DCF)
Segment C (Real Estate): €1,500M (at NAV)
+ Corporate cash: €500M
- Corporate debt: €1,000M
Total Value: €6,000M
Shares: 100M
Fair Value: €60 per share
```

---

## Synthesizing Multiple Valuation Methods

### The Weighted Average Approach

**Standard Weights:**
- DCF: 40%
- Relative Valuation: 30%
- Peter Lynch: 30%
- Asset-Based: (when applicable)

**Example Synthesis:**
```
DCF Fair Value: €80 × 40% = €32
Peer Relative: €95 × 30% = €28.50
Peter Lynch: €85 × 30% = €25.50
Weighted Average: €86
```

### Adjusting Weights Based on Situation

**Increase DCF weight (to 50%) when:**
- Highly predictable cash flows
- Stable, mature business
- Long operating history

**Decrease DCF weight (to 20%) when:**
- Unpredictable cash flows
- Cyclical business
- High-growth, uncertain future

**Increase Relative weight (to 40%) when:**
- Good peer group available
- Standard business model
- Industry multiples well-established

**Increase Asset-Based weight (to 40-50%) when:**
- Trading below book value
- Asset-rich company (REIT, financial)
- Distressed or liquidation scenario

### Fair Value Range

**Don't give single number - provide range:**

**Fair Value Range: €75 - €95**
- Low end: Conservative assumptions, high discount
- Mid point: Base case, standard discount
- High end: Optimistic assumptions, low discount

**Current price: €65**
- Margin of safety: 13-31%
- Assessment: Undervalued (adequate to excellent margin)

---

## Margin of Safety Requirements

### Benjamin Graham's Principle

**"The margin of safety is the difference between the intrinsic value of a stock and its market price."**

**Purpose:**
- Protects against errors in analysis
- Protects against unforeseen events
- Provides cushion for disappointing results
- Allows for multiple of upside potential

### Recommended Margins

**Standard Margin: 20-25%**
- For quality companies with predictable businesses
- Fair Value €100 → Buy below €75-80

**Minimum Margin: 15%**
- For very high-quality, low-risk companies
- Fair Value €100 → Buy below €85

**Elevated Margin: 30-40%**
- For cyclical businesses
- For companies with uncertain futures
- For speculative situations
- Fair Value €100 → Buy below €60-70

### Margin of Safety in Practice

**If Fair Value = €100:**

| Margin | Buy Below | Interpretation |
|--------|-----------|----------------|
| 10% | €90 | Insufficient - too little cushion |
| 15% | €85 | Minimum - for highest quality only |
| 20% | €80 | Standard - adequate protection |
| 25% | €75 | Good - solid margin |
| 30% | €70 | Excellent - significant upside |
| 40%+ | <€60 | Outstanding - compelling value |

### When Current Price Above Fair Value

**Current: €110, Fair Value: €100**
- Premium: 10%
- Recommendation: **AVOID** or **SELL**
- Explanation: Paying premium without margin of safety

**Exception**: High-quality growth companies
- May accept 0-10% premium if:
  - Very strong competitive moat
  - Accelerating growth
  - Near-term catalysts
- But NEVER more than 10% premium

---

## Valuation Red Flags

### Warning Signs of Overvaluation

1. **P/E > 40x** (unless hypergrowth with clear path)
2. **PEG > 2.0** (paying too much for growth)
3. **Price > 2x fair value** (extreme overvaluation)
4. **EV/Sales > 10x** (even for growth companies)
5. **No margin of safety** (current price = or > fair value)

### Warning Signs Analysis May Be Wrong

1. **Valuations wildly different** (DCF says €50, peers say €150)
   - Re-examine assumptions
   - Which method is more reliable for this company?

2. **Fair value far from current market price** (>50% difference)
   - Market may know something you don't
   - Or market may be wrong (opportunity!)
   - Requires high conviction to act

3. **Highly sensitive to assumptions** (DCF varies €50-€150)
   - Indicates high uncertainty
   - Use wider margin of safety
   - May want to avoid

4. **All growth assumptions at upper end of range**
   - Be more conservative
   - Reality often disappoints optimism

5. **Ignoring obvious risks in valuation**
   - Price in identified risks
   - Don't just hope they don't materialize

---

## Industry-Specific Valuation Considerations

### Technology/Software
- Use: DCF (if positive FCF), P/S, EV/Sales
- Focus: Revenue growth, customer acquisition cost, retention
- Multiples: High (P/E 30-50x, P/S 8-15x for SaaS)

### Semiconductors
- Use: DCF, P/E, EV/EBITDA
- Focus: Cyclicality, capex cycles, technology leadership
- Multiples: Medium (P/E 15-25x), use normalized earnings

### Consumer Discretionary
- Use: P/E, EV/EBITDA, P/S
- Focus: Brand strength, comp sales, margins
- Multiples: Medium (P/E 15-25x)

### Consumer Staples
- Use: P/E, EV/EBITDA, dividend yield
- Focus: Stability, pricing power, market share
- Multiples: Medium-high (P/E 20-28x) for quality

### Healthcare/Pharma
- Use: DCF (careful), P/E, EV/EBITDA
- Focus: Pipeline, patent cliffs, R&D productivity
- Multiples: Medium-high (P/E 20-30x)

### Financials/Banks
- Use: P/B, P/E (careful with earnings quality)
- Focus: ROE, net interest margin, credit quality
- Multiples: Low (P/E 8-12x, P/B 1-2x)

### Industrials
- Use: P/E (normalized), EV/EBITDA, DCF
- Focus: Cyclicality, operating leverage, backlog
- Multiples: Medium (P/E 15-20x), use through-cycle earnings

### REITs
- Use: NAV, FFO multiples, dividend yield
- Focus: Property quality, occupancy, debt levels
- Multiples: P/NAV 0.9-1.1x, yield 3-5%

### Energy
- Use: EV/Production, P/CF, NAV for reserves
- Focus: Commodity prices, reserves, costs
- Multiples: Highly variable with oil prices

---

## Final Valuation Checklist

Before finalizing fair value estimate:

- [ ] Used multiple valuation methods (minimum 2, preferably 3)
- [ ] Compared to 3-5 direct peer companies
- [ ] Used conservative assumptions throughout
- [ ] Checked historical valuation context
- [ ] Considered industry-specific factors
- [ ] Applied appropriate margin of safety (minimum 15%)
- [ ] Created fair value range, not single point
- [ ] Sensitivity tested key assumptions
- [ ] Explained reasoning for each method's weight
- [ ] Identified key risks that could change valuation
- [ ] Checked for qualitative factors missed in numbers
- [ ] Honest about limitations and uncertainties

**Remember**: Valuation is an input to decision-making, not the decision itself. Combine with qualitative analysis, risk assessment, and investment opportunity evaluation.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)