介绍
# Stock Evaluator (Enhanced)
## ⚠️ 关键:强制交付清单 每次分析必须包含以下所有项目: - ☐ **技术分析** (价格走势、指标、关键位、一目均衡表) - ☐ **基本面分析** (业务、财务、竞争地位) - ☐ **高级财务指标** (F-Score、Z-Score、M-Score、最大回撤、价值陷阱得分) - ☐ **投资者画像评分** (8种传奇投资者框架) - ☐ **估值评估** (多种方法及安全边际) - ☐ **多空分析** (双方观点及平衡评估) - ☐ **明确建议** (买入 / 持有 / 卖出 并附带信心评级) - ☐ **替代标的** (若为卖出:提供 3-5 个更好的替代选择) - ☐ **增强量化风格仪表板** (React 仪表板,包含 60+ 项指标、一目均衡表、投资者画像、重要新闻及关键备注)
**如果您无法完成任何项目,请停止并寻求澄清。**
---
## ⚠️ 关键:数据完整性规则
### 零造假政策 **严禁伪造、估算或臆造任何数值数据点。** 仪表板中的每一项指标必须来自: 1. 带有引用来源的网页搜索结果 2. 公司文件 (10-K, 10-Q, 财报) 3. 官方金融数据提供商
**如果找不到数据 → 使用 "N/A" 或 "--"**
### 强制网络搜索 (每次分析至少执行)
在填写仪表板之前,您必须执行以下搜索:
| 搜索序号 | 查询模板 | 获取数据 | |----------|---------------|----------------| | 1 | "[TICKER] stock price market cap P/E ratio" | 股价、市值、市盈率 | | 2 | "[TICKER] ROE ROA profit margin 2024 annual report" | 财务比率 | | 3 | "[TICKER] revenue growth earnings growth FY2024" | 增长率 (已公布) | | 4 | "[TICKER] Piotroski F-Score" | F-Score (或自行计算) | | 5 | "[TICKER] insider trading SEC Form 4 2025" | 内部人士买入/卖出 | | 6 | "[TICKER] short interest percentage float" | 卖空比例 | | 7 | "[TICKER] RSI MACD 50-day 200-day moving average beta volatility" | 技术指标 | | 8 | "[TICKER] analyst price target consensus" | 分析师目标价 |
### 数据来源层级
按以下优先级使用来源: 1. **官方公司文件** (SEC EDGAR, 公司投资者关系) 2. **交易所数据** (NYSE, NASDAQ, LSE 官方) 3. **经核实的金融数据** (Yahoo Finance, Google Finance, MarketWatch) 4. **SEC Form 4** (仅用于内部交易) 5. **FINRA/交易所** (仅用于卖空比例)
### 禁止事项 - 使用训练知识获取任何具体的当前数据 - 分析师报告 (根据用户偏好) - 未注明来源的估算值 - "常识性"假设
### 不可用数据的处理
| 情况 | 操作 | 显示 | |-----------|--------|---------| | 搜索后未找到指标 | 显示 "N/A" | `value: "N/A"` | | 数据过时 (>1 年) | 标注日期 | `value: "15.2% (2023)"` | | 来源冲突 | 使用最权威的来源 | 在分析中注明 | | 计算指标 (F-Score) | 显示计算过程 | 在文中解释 | | 内部数据不可用 | 显示 "N/A" | `insBuys: "N/A"` |
**关键:零意味着“确实发生了零次”——切勿用零替代缺失数据。**
---
## 标准化指标标签
在仪表板中使用这些**完全一致**的标签 (与参考截图相符):
### 第一行:价格与估值 | 财务表现 | 标签 | 备注 | |-------|-------| | Price: | $XX.XX 或 €XX.XX | | Market Cap: | $XXB 或 €XXB | | Trailing P/E: | XX.XX | | Forward P/E: | XX.XX | | Subsector P/E: | XX.XX 或 N/A | | PEG (1Y): | X.XX 且含基准值 (<1) | | ROE: | XX.XX% 且含基准值 (>20%) | | ROA: | XX.XX% 且含基准值 (>10%) | | Profit Margin: | XX.XX% 且含基准值 (>20%) | | Operative Margin: | XX.XX% 且含基准值 (>20%) - 注意:使用 "Operative" 而非 "Operating" | | Gross Margin: | XX.XX% 且含基准值 (>40%) | | ROIC: | XX.X% 且含基准值 (>15%) |
### 第二行:增长指标 | 风险指标 | 标签 | 备注 | |-------|-------| | Revenue (YoY): | XX.XX% 且含基准值 (>10%) - 仅限已公布数据 | | Earning (YoY): | XX.XX% 且含基准值 (>0%) - 仅限已公布数据 | | EPS (TTM): | $X.XX | | Forward EPS: | $X.XX | | Growth Rates: | 上限: X.X% / 无上限: X.X% | | Analyst Target: | $XX.XX | | CRS (0-1): | X.XX 且含基准值 (中等) | | Debt/Equity (mrq): | X.XX 且含基准值 (0.5-1) | | Piotroski F: | X 且含基准值 (≥7) | | Altman Z: | X.XX 且含基准值 (>3) | | Beneish M: | X.XX 且含基准值 (<-1.78) | | Value Trap: | XX (标签) |
### 第三行:流动性与自由现金流 | 内部人士与情绪及类别 | 标签 | 备注 | |-------|-------| | Current Ratio: | X.XX 且含基准值 (1-2) | | Cash: | $X.XB | | Debt: | $X.XB 或 N/A | | FCF Growth 5Y: | XX.X% 且含基准值 (>5%) | | FCF Yield: | X.XX% 且含基准值 (>4%) | | FCF Margin: | XX.XX% 且含基准值 (>15%) | | Payout Ratio: | XX.XX% 且含基准值 (<50%) | | Buys (12M): | X - 来自 SEC Form 4 或 N/A | | Sells (12M): | X - 来自 SEC Form 4 或 N/A | | Net Shares (12M): | +/-XXK - 来自 SEC Form 4 或 N/A | | Short Int (%): | X.X% | | Sentiment / Articles: | +X.XXX / XX (正面/负面) | | Stock: [Type] + Div Yield: | 组合显示: "Stock: Growth" + "Div Yield: X.XX%" | | Sector/Industry: | 组合显示: "Sector / Industry" |
### 第四行:质量评分 | 护城河及其他 | 标签 | 备注 | |-------|-------| | CQVS: | XX.XX 且含基准值范围 | | Label: | 强/中/弱 | | Valuation: | XX.XX | | Quality: | XX.XX | | Strength: | XX.XX | | Integrity: | XX.XX | | Buffett Moat: | X 且含基准值 (4-7) | | Greenblatt (MF): | EY: X.X% / ROC: X.X% 或 N/A | | Beta: + Vol 1Y: | 组合显示: "Beta: X.XX" + "Vol 1Y: XX.X%" | | Earnings Predict.: | XX.X% 且含基准值 (>80%) | | Drawdown (5Y): | -XX.X% 并附带标签 (低/中/高) | | Completeness: + Data Quality: | 组合显示: "XX.X%" + "高/中/低" |
---
## 标准化基准 (单一事实来源)
使用这些**精确的阈值**进行颜色编码:
| 指标 | 绿色 (良好) | 黄色 (中性) | 红色 (警告) | |--------|--------------|------------------|---------------| | **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 或 2-3 | <0.5 或 >3 | | **Piotroski F** | ≥7 | 4-6 | ≤3 | | **Altman Z** | >2.99 | 1.81-2.99 | <1.81 | | **Beneish M** | <-2.22 | -2.22 至 -1.78 | >-1.78 | | **PEG (1Y)** | <1 | 1-2 | >2 | | **RSI (14)** | 30-50 | 50-70 | >70 或 <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% 或 >8% | | **Value Trap** | 0-39 | 40-59 | 60-100 | | **Max Drawdown** | >-30% | -30% 至 -50% | <-50% | | **Revenue Growth** | >10% | 0-10% | <0% | | **Earnings Growth** | >0% | -10% 至 0% | <-10% |
---
## 概览
此技能提供机构级别的潜在股票投资评估。与审查现有持仓的投资组合分析不同,此技能评估您**正考虑买入**或**决定是否购买**的股票。
评估回答以下问题: - **我应该买入这只股票吗?** - **我应该在什么价格入场?** - **我应该分配多少资金?** - **我的上行和下行空间是多少?** - **我应该何时卖出?**
### 默认货币:欧元 (€)
仪表板中的所有货币值均应以 **欧元 (€)** 作为默认货币显示: - Price: €42.13 - Market Cap: €78.3B - Analyst Target: €56.45 - Entry/Stop/Target prices: €38, €35, €56 - EPS values: €1.39, €1.91
### 重要提示:使用已公布增长率
对于仪表板指标 **"Rev Growth"** 和 **"Earn Growth"**: - **使用已公布增长数据** - 而非潜在、调整后或有机数据 - 已公布数据反映实际的 GAAP/IFRS 数字,包含汇率影响、收购和处置 - 这能更准确地反映投资者实际获得的收益 - 示例:如果潜在增长率为 7% 而已公布增长率为 2.2%,请使用 **2.2%** - 盈利同理:使用已公布的 EPS 增长率,而非调整后的 EPS 增长率
## 核心目的
**股票评估器** 适用于: - ✅ 在买入前评估潜在投资 - ✅ 分析观察名单候选 - ✅ 获取包含具体价格的买入/持有/卖出建议 - ✅ 比较多个投资机会 - ✅ 寻找优于当前考虑对象的更好替代标的
**不适用于:** - ❌ 审查现有投资组合持仓 (请使用投资组合分析师技能) - ❌ 一般股票市场问题 - ❌ 从零开始的股票筛选或发现 - ❌ 期权、衍生品或加密货币分析
## 评估框架
### 股票评估五大支柱
**1. 估值评估** - 股票是被低估、合理估值还是高估? - 多种估值方法 (DCF, 相对估值, Peter Lynch, 资产基础) - 安全边际要求 (15-30%) - 公允价值估算及置信区间
**2. 质量分析** - 商业模式强度和竞争护城河 - 财务健康状况及趋势 (5-10 年视角) - 管理层质量及资本配置 - 行业地位及竞争优势
**3. 时机评估** - 技术形态及入场点 - 近期催化剂及事件 - 市场情绪及头寸状况 - 最佳入场价格区间
**4. 仓位规模** - 配置建议 (占投资组合百分比) - 基于信心、风险和分散化程度 - 最大配置限制 - 风险调整后的规模
**5. 信心评级** - **强烈买入**:高信心、明显低估、低风险 - **买入**:良好机会、估值合理、中等风险 - **持有**:估值合理、目前无充分买入理由 - **回避**:估值过高、风险显著或存在更好的替代标的
---
## 价值陷阱指标
### 定义 价值陷阱是指股票看起来被低估 (低市盈率、低市净率),但实际上由于基本面的合理原因而便宜。尽管看起来“便宜”,该股票却持续下跌。
### 价值陷阱评分计算(0-100,越低 = 越真实,越高 = 越像陷阱)
**评估要素(陷阱指标 ADD 分数):**
**1. 价格动量(最高 25 分)** - 6 个月价格变化 vs 市场:如果表现落后超过 20%,ADD 15-25 分 - 12 个月价格变化:持续下跌 = ADD 10-20 分 - 如果价格动量为正:ADD 0 分
**2. 盈利质量(最高 25 分)** - EPS 趋势(3 年):下降 = ADD 10-25 分 - 营收趋势:下降 = ADD 5-15 分 - 利润率趋势:压缩 = ADD 5-10 分 - 如果盈利质量强劲:ADD 0 分
**3. 资产负债表健康状况(最高 25 分)** - 债务水平增加?ADD 5-15 分 - 现金流为负或下降?ADD 10-20 分 - 营运资本恶化?ADD 5-10 分 - 如果资产负债表健康:ADD 0 分
**4. 估值背景(最高 25 分)** - 低市盈率是否由基本面恶化所支撑?ADD 10-25 分 - 将当前基本面与市盈率较高时期进行比较 - 如果基本面支撑估值:ADD 0 分
### 评分公式 ``` Value Trap Score = Momentum Penalty + Quality Penalty + Balance Sheet Penalty + Valuation Penalty ``` (分数范围从 0 到 100,其中 0 = 绝对真实价值,100 = 绝对价值陷阱)
### 分数解读 - **0-19**:真实价值(可能被低估,基本面完好)- 绿色 - **20-39**:可能真实(轻微担忧,需监控)- 浅绿 - **40-59**:谨慎区(信号不一,谨慎行事)- 黄色 - **60-79**:可能为陷阱(多项危险信号)- 橙色 - **80-100**:强陷阱信号(避开)- 红色
### 显示格式 ``` Value Trap: 21 (Genuine) ``` 颜色编码:绿色 <40,黄色 40-60,红色 >60
---
## 投资者画像评分
根据 8 位著名投资者的投资理念对每只股票进行评分(0-10 分制)。这有助于用户了解该股票适合哪种类型的投资者。
### 1. 沃伦·巴菲特评分 基于《巴菲特之道》——寻求持久竞争优势
**关键加权指标:** - ROE (>20%):2 分 - 利润率 (>15%):2 分 - 自由现金流为正且增长:2 分 - 护城河强度(品牌、定价权):2 分 - 盈利可预测:2 分
**巴菲特偏好:** 业务可预测、有定价权、低资本支出需求、持续盈利
### 2. 查理·芒格评分 基于《穷查理宝典》——思维格栅、逆向思考
**重点关注:** 什么可能出问题(逆向原则)
**评分:** 从 10 分开始,扣减罚分: - 高债务(D/E > 2):-3 分 - 盈利波动:-2 分 - 管理层历史记录不佳:-2 分 - 无竞争优势护城河:-2 分 - 会计危险信号:-3 分
### 3. 瑞·达利欧评分 基于《原则》——全天候投资组合、经济机器理解
**关键指标:** - D/E 比率 < 1:2 分 - Beta < 1:2 分 - 跨周期稳定利润率:2 分 - 低盈利波动性:2 分 - 抗衰退历史:2 分
**达利欧偏好:** 去杠杆机会、运营效率、周期韧性
### 4. 彼得·林奇评分 基于《彼得·林奇的成功投资》——GARP(合理价格增长)
**主要指标:PEG 比率(P/E ÷ 增长率)** - PEG < 0.5:10 分 - PEG 0.5-1.0:8 分 - PEG 1.0-1.5:6 分 - PEG 1.5-2.0:4 分 - PEG > 2.0:2 分
**调整因素:** - 如果盈利持续增长,+1 分 - 如果业务易于理解,+1 分 - 如果行业衰退,-1 分
### 5. 本杰明·格雷厄姆评分 基于《聪明的投资者》——安全边际
**格雷厄姆标准(每项 2 分,最高 10 分):** - P/E < 15 - P/B < 1.5 - 流动比率 > 2 - 连续 10 年盈利 - 连续派息 20 年以上
### 6. 乔尔·格林布拉特评分 基于《股市天才》——神奇公式
**结合两个排名:** - 盈利收益率 (EBIT/EV):越高越好 - 资本回报率 (EBIT/净固定资产 + 营运资本):越高越好
**评分:** 综合排名前 10% = 10 分,依次递减
### 7. 约翰·坦普顿评分 基于逆向投资、全球价值投资
**关键因素:** - 交易处于多年低点:+3 分 - 不受分析师青睐:+2 分 - 尽管悲观情绪强劲但基本面强劲:+3 分 - 全球视角(非美国机会):+2 分
### 8. 乔治·索罗斯评分 基于《金融炼金术》——反身性
**关键因素:** - 动量和趋势强度:3 分 - 宏观顺风:3 分 - 市场认知转变:2 分 - 拐点催化剂:2 分
**索罗斯偏好:** 宏观博弈、反身性情境、趋势参与
### 显示格式 在雷达图周围显示 8 个徽章,包含分数和颜色编码: - 绿色 (7-10):高度匹配 - 黄色 (4-6.9):中度匹配 - 红色 (0-3.9):匹配度低
---
## 增强技术分析
### 一目均衡表分析
**需计算的组成部分:** - **转换线:** (9 周期最高价 + 9 周期最低价) / 2 - **基准线:** (26 周期最高价 + 26 周期最低价) / 2 - **先行带 A:** (转换线 + 基准线) / 2,向后推 26 个周期绘制 - **先行带 B:** (52 周期最高价 + 52 周期最低价) / 2,向后推 26 个周期绘制 - **滞后带:** 当前收盘价向前推 26 个周期绘制
**云带:** 先行带 A 和 B 之间的区域
**识别和显示的信号:** - **TK 看涨交叉:** 转换线向上穿过基准线(看涨)- 用 ◆ 标记 - **TK 看跌交叉:** 转换线向下穿过基准线(看跌)- 用 ◆ 标记 - **云带看涨扭转:** 云带由红变绿 - 用 ◆ 标记 - **云带看跌扭转:** 云带由绿变红 - 用 ◆ 标记 - **价格 vs 云带:** 云带上方(看涨)、云带下方(看跌)、云带内部(中性)
### 双重 PEG 比率 - **PEG (1Y):** P/E ÷ 1 年预期增长率 - **PEG (5Y):** P/E ÷ 5 年历史增长率 - 两者提供对增长估值的不同视角
### 自由现金流利润率 - **公式:** 自由现金流 / 营收 × 100 - **基准:** >15% 为优秀,>10% 为良好 - 显示相对于销售的现金产生效率
### 新闻情绪与做空比例 - **新闻情绪:** 基于近期文章情绪的 -1 到 +1 量表 - **做空比例:** 卖空股数占流通股比例 (>10% = 高,<5% = 低) - 两者均表明市场情绪和潜在逼空/反转可能性
---
## 基本面分析流程
### 1. 业务理解(始终为第一步)
**分析内容:** - 公司做什么?(产品、服务、商业模式) - 营收来源及细分 - 目标客户和市场 - 竞争优势(护城河来源) - 市场地位和份额 - 行业动态和趋势
**管理层评估:** - CEO 背景、任期、业绩记录 - CFO 和核心高管 - 资本配置决策(股息、回购、收购、研发) - 管理层薪酬一致性 - 内部交易模式(买入是看涨信号) - 从财报电话会议和信函中评估领导力质量
**竞争地位:** - 市场份额和趋势 - 主要竞争对手(确定 3-5 个直接同行) - 是什么让这家公司与众不同? - 可持续竞争优势?
### 2. 财务分析(5-10 年视角)
**研究流程顺序:** 1. **首先查看最新的 10-K** - 了解当前业务和近期业绩 2. **回顾过去 5-10 年的历史 10-K** - 了解演变过程 3. **审查最近 2-3 年的 10-Q** - 当前轨迹 4. **检查委托声明书** - 治理和薪酬
**分析的关键指标:**
**质量基准:** - ROE > 15%(净资产收益率) - 利润率 > 15% - 毛利率 > 30% - 债务 < 年营收 - 自由现金流为正且增长 - 5 年营收增长(经通胀调整)
**评估趋势:** - 营收增长轨迹(加速/稳定/减速?) - 利润率扩张或收缩(为什么?) - 现金流一致性和质量 - 资产负债表强度(债务水平、流动性) - 投入资本回报率 (ROIC) - 营运资本管理
**危险信号:** - 尽管营收增长但利润率下降 - 自由现金流为负或不一致 - 债务增长快于现金产生 - 市场份额流失 - 长期未达指引 - 会计违规
### 3. 竞争护城河评估
**护城河强度:宽阔 / 窄浅 / 无**
**评估来源:** - **网络效应**:用户越多产品越好? - **品牌忠诚度**:来自品牌强度的定价权? - **转换成本**:转换是否困难/昂贵? - **监管壁垒**:许可证、专利、法规? - **成本优势**:规模、技术、位置? - **无形资产**:专利、商标、专有数据?
**护城河持久性:** - 优势能维持多久? - 什么可能侵蚀护城河? - 护城河是在加强还是在减弱?
**同行对比:** 将该公司护城河与 3-5 个直接竞争对手进行比较: - 市场份额趋势 - 盈利能力指标(利润率、ROE) - 增长率 - 财务实力
### 4. 高级财务健康指标
除了基本的质量指标外,计算这些高级评分以获得更深入的洞察:
**Piotroski F-Score(财务实力)**
**目的**:9 分制评分,衡量盈利能力、杠杆和运营效率方面的财务实力。
**评分(0-9,越高越好):**
*盈利能力(4 分):* - ROA > 0:+1 - 经营现金流 > 0:+1 - ROA 同比改善:+1 - 经营活动现金流 > 净利润(盈利质量):+1
*杠杆/流动性(3 分):* - 长期债务同比减少:+1 - 流动比率同比改善:+1 - 过去一年未发行新股:+1
*运营效率(2 分):* - 毛利率同比改善:+1 - 资产周转率同比改善:+1
**解读:** - **8-9**:财务状况极佳 - **6-7**:财务状况良好 - **4-5**:财务状况尚可 - **0-3**:财务状况疲弱
**Altman Z-Score(破产风险)**
**目的**:预测 2 年内破产的概率。
**公式(适用于公开上市的制造型企业):** Z = 1.2(A) + 1.4(B) + 3.3(C) + 0.6(D) + 1.0(E)
其中: - A = 营运资金 / 总资产 - B = 留存收益 / 总资产 - C = 息税前利润 (EBIT) / 总资产 - D = 市值 / 总负债 - E = 销售额 / 总资产
**解读:** - **Z > 2.99**:安全区(低破产风险) - **Z 1.81-2.99**:灰色区(中等风险) - **Z < 1.81**: distress 区(高破产风险)
**注**:需针对非制造类公司进行调整(系数不同)。
**Beneish M-Score(盈余管理检测)**
**目的**:识别盈余操纵的可能性。
**关键指标(简化方法):** - 应收账款周转天数指数(上升 = 警示) - 毛利率指数(下降 = 警示) - 资产质量指数(上升 = 警示) - 销售增长指数(增长过快 = 警示) - 折旧指数(下降 = 警示) - 销售及管理费用指数(变化不成比例 = 警示) - 杠杆指数(上升 = 警示) - 总应计项目与总资产之比(高 = 警示)
**解读:** - **M-Score > -1.78**:可能存在操纵(红旗警示) - **M-Score < -1.78**:不太可能存在操纵(干净)
**实操检查(如无法获取完整 M-Score):** - 应计项目相对于现金流是否持续偏高? - 应收账款周转天数 (DSO) 增速是否快于营收增速? - 营收增长的同时毛利率是否下降? - 是否有任何会计重述或审计师变更?
**最大回撤 (5年)**
**目的**:衡量从峰值到谷底的最大价格跌幅。
**计算:** - 确定过去 5 年中的最高价 - 找出回升前的最低价 - 最大回撤 % = (最低价 - 最高价) / 最高价 × 100
**解读:** - **0-20%**:低波动率(防御性股票) - **20-40%**:中等波动率(典型股票) - **40-60%**:高波动率(周期性/成长型) - **>60%**:极端波动率(投机性)
**综合评分**
**实力评分 (0-100):** 综合: - 财务指标(F-Score 贡献) - 盈利能力(ROE、利润率) - 增长率 - 市场地位
**诚信评分 (0-100):** 综合: - M-Score(盈利质量) - 现金流与盈利的匹配度 - 会计实务 - 管理层透明度
**可预测性评分 (0-100):** 综合: - 营收稳定性(低波动率) - 盈利稳定性 - 商业模式稳定性 - 周期性评估
**数据质量评分 (0-100):** - 财务数据的完整性 - 文件的最新程度 - 审计师质量 - 披露透明度
### 5. 风险分析
**公司特有风险:** - 执行风险(管理层能否兑现?) - 竞争风险(份额流失、新进入者) - 产品集中度(单一产品依赖) - 客户集中度(少数大客户) - 关键人物风险(依赖 CEO) - 财务困境风险(Z-Score 评估) - 盈利质量风险(M-Score 评估)
**行业风险:** - 颠覆性(技术或商业模式) - 周期性(经济敏感度) - 监管(政策变化) - 大宗商品化(定价权丧失) - 结构性衰退(长期不利因素)
**宏观风险:** - 经济(衰退、通胀、利率) - 地缘政治(贸易战、冲突) - 货币(外汇敞口) - 市场(估值水平、情绪)
**整体风险水平:低 / 中 / 高**
**综合风险评分:**(0-1 分制,分值越低越好) - 包含:Z-Score、波动率、杠杆、盈利质量 - <0.30:低风险 - 0.30-0.60:中等风险 - >0.60:高风险
---
## 估值评估
使用**多种估值方法**——综合得出公允价值估算。
### 必需的估值方法
**1. DCF 分析(现金流折现)** - 预测自由现金流(5-10 年) - 应用适当的折现率 (WACC) - 计算终值 - 包含安全边际:15-30% - 基于不同假设的敏感性分析
**2. 相对估值** - 与 3-5 家直接同行公司比较 - 关键倍数:P/E、EV/EBITDA、Price/Sales、Price/Book - 针对增长率差异进行调整 - 考虑行业特定倍数 - 使用当前和历史同行平均值
**3. Peter Lynch 公允价值** - 合理价格增长框架 - 比较 P/E 与增长率(PEG 比率) - 当 P/E ≈ 增长率时为公允价值 - 针对质量因素进行调整
**4. 基于资产(如适用)** - 针对 REIT、金融、重资产公司 - 账面价值或重置成本 - 净资产价值计算
### 估值综合
**公允价值估算:€X.XX**
适当加权每种方法: - DCF:40%(如现金流可靠) - 相对估值:30%(同行比较) - Peter Lynch:30%(增长调整)
**安全边际:** - **当前价格 vs. 公允价值**:X% 折价/溢价 - **要求**:最低 15% 安全边际 - **充足**:15-30% 安全边际 - **优异**:>30% 安全边际
**估值结论:** - **低估**:低于公允价值 >15%(买入机会) - **估值合理**:在公允价值 ±15% 以内(持有) - **高估**:高于公允价值 >15%(避免/卖出)
---
## 技术分析(入场时机)
专注于识别最佳入场点,而非完整的技术分析。
### 关键技术要素
**1. 价格走势(过去 30-60 天)** - 当前趋势:上升趋势 / 下降趋势 / 震荡 - 近期价格形态 - 成交量趋势(上涨时放量?) - 动能评估
**2. 关键位** - **支撑位**:买盘兴趣涌现处 - 主要支撑:€X.XX - 次要支撑:€X.XX - **阻力位**:卖压增加处 - 主要阻力:€X.XX - 次要阻力:€X.XX
**3. 技术指标** - **RSI**(相对强弱指数): - >70 = 超买(可能回调) - <30 = 超卖(潜在反弹) - 40-60 = 中性 - **MACD**(异同移动平均线): - 看涨交叉 / 看跌交叉 / 中性 - 动能正在加速还是减速? - **移动平均线**: - 50 日 MA:€X.XX(价格在上方/下方?) - 200 日 MA:€X.XX(趋势指标)
**4. 入场评估** - **技术设置**:看涨 / 中性 / 看跌 - **最佳入场**:等待回调至支撑 / 市价买入 / 等待突破 - **入场价格区间**:€X.XX - €X.XX - **避免高于**:€X.XX(风险回报比不佳)
---
## 多空情景分析
**强制要求**:每次分析必须公平呈现双方观点。
### 多头情景(乐观情景) **潜在上涨空间:+X% 至 €X.XX**
1. [关键多头论据 1 及具体证据] 2. [关键多头论据 2 及具体证据] 3. [关键多头论据 3 及具体证据]
**若要实现此情景:** - [必要条件 1] - [必要条件 2]
### 空头情景(悲观情景) **潜在下跌空间:-X% 至 €X.XX**
1. [关键空头论据 1 及具体证据] 2. [关键空头论据 2 及具体证据] 3. [关键空头论据 3 及具体证据]
**若发生这种情况:** - [风险触发因素 1] - [风险触发因素 2]
### 平衡评估 **哪种情景可能性更大:[多头 / 空头 / 平衡]**
[解释为何某种情景更有可能,需考虑: - 双方证据的质量 - 历史先例 - 管理层过往业绩 - 行业动态 - 当前估值]
---
## 投资建议结构
### 买入建议标准 - 公允价值 > 高于当前价格 15%(拥有充足的安全边际) - 基本面强劲或正在改善 - 技术面设置合理或看涨 - 存在可识别的催化剂 - 可接受的风险水平 - 信心度:强烈买入 或 买入
### 持有建议标准 - 公允价值在当前价格 ±15% 以内 - 基本面稳定,缺乏引人注目的催化剂 - 其他地方可能存在更好的机会 - 等待更好的入场价格 - 信心度:持有
### 卖出/避免建议标准 - 公允价值 < 低于当前价格 15%(高估) - 基本面恶化 - 重大风险 - 存在更好的替代选择 - 必须提供 3-5 个备选标的 - 信心度:避免
---
## 仓位配置框架
**基于以下内容的配置建议:**
**信心度 + 风险 = 仓位大小**
**强烈买入(高信心度,低风险):** - 仓位大小:投资组合的 5-8% - 上限:10%
**买入(中等信心度,中等风险):** - 仓位大小:投资组合的 3-5% - 上限:7%
**投机/高风险:** - 仓位大小:投资组合的 1-3% - 上限:5%
**考虑因素:** - 多样化需求(避免行业集中) - 与现有持仓的相关性 - 整体投资组合风险 - 流动性需求 - 用户的风险承受能力(来自项目背景)
---
## 入场与退出策略
### 入场策略
**禁止分批建仓策略**——推荐一次性入场方法:
**如果买入:** - **理想入场价格:€X.XX - €X.XX**(最佳区间) - **最高买入价格:€X.XX**(高于此价格,风险回报比不利) - **方法:** - "立即市价买入"(如当前价格良好) - "等待回调至 €X.XX 支撑位"(如已上涨过高) - "向上突破 €X.XX 时买入"(如为突破形态) - "不要高于 €X.XX 买入"(如已高估)
### 退出策略
**目标价格(12 个月):€X.XX(上涨 X%)** - 保守:€X.XX - 基准情形:€X.XX - 乐观:€X.XX
**止损:€X.XX(最大亏损 -X%)** - 技术止损:低于关键支撑位 - 基本面止损:如果投资逻辑失效
**卖出条件(投资逻辑破坏条件):** 1. [具体的基本面恶化] 2. [具体的竞争威胁] 3. [具体的估值阈值]
**持有期限:** - 预期时间框架:[6-12 个月 / 1-3 年 / 3-5 年以上] - 基于投资类型(波段交易 vs 长期持有)
---
## 催化剂识别
识别可能推动股价表现的具体事件。
**短期 (0-6 个月):** - 即将到来的财报:[日期] - 产品发布:[事件] - 监管决定:[预期时间] - 行业活动:[会议、数据发布]
**中期 (6-18 个月):** - 市场扩张计划 - 新产品周期 - 利润率扩张举措 - 战略合作伙伴关系
**长期 (18 个月以上):** - 结构性行业趋势 - 市场份额增长 - 技术领先地位 - 商业模式演进
---
## 关键分析限制
**关键原则:**
1. **基本面分析不引用新闻/媒体报道** - 仅使用公司文件(10-K, 10-Q, 8-K, 委托书) - 使用财报电话会议记录 - 不要依赖新闻文章或新闻稿 - 例外:用于最新进展的新闻,但需在文件中核实
2. **把握幅度重于精确度** - 关注安全边际较高(>15%)的股票 - 不需要完美的预测 - 大致正确胜过精确错误 - 保守的假设优于乐观的假设
3. **长期视角** - 分析 5-10 年的趋势,而不仅仅是最近几个季度 - 区分暂时性挫折与结构性问题 - 可持续的竞争优势最为重要 - 短期噪音与长期信号
4. **同类对比** - 与 3-5 家直接竞争对手进行基准比较 - 不仅仅是广泛的市场指数 - 行业特定的指标和规范 - 根据公司规模和成熟度进行调整
5. **诚信客观** - 承认局限性和未知因素 - 公允地呈现多头和空头观点 - 在适当的时候说“我不知道” - 当证据变化时更新观点
---
## 输出模板
```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] ```
---
## 量化风格仪表板构件
**强制要求**:完成完整的文本分析后,使用标准化的量化风格模板格式创建一个 React 仪表板构件。
### 仪表板模板结构
仪表板使用特定的机构级格式,包含:
**1. 页眉部分**(橙色背景) - 格式:`TICKER - Company Name`
**2. 八个指标部分**(2 列网格)
| 左列 | 右列 | |-------------|--------------| | 价格与估值(蓝色) | 财务表现(绿色) | | 增长指标(翠绿色) | 风险指标(红色) | | 流动性与自由现金流(青色) | 内部交易与情绪(紫色) | | 质量评分(橙色) | 护城河与其他(灰色) |
每个部分:6 个指标框,包含数值、标签、基准、颜色编码
**3. 图表部分**(3 列网格)
- **左侧**:线性价格图 + MACD - 价格、内在价值、市场价值线 - 5 年历史数据 - 下方的 MACD 指标
- **中间**:雷达图 + 1 年预测 - 12 点雷达(归一化 0-100) - 综合建议徽章 - 1 年价格 + 6 个月预测
- **右侧**:对数价格图 + RSI - 对数刻度价格历史 - 内在价值比较 - 下方的 RSI (14) 指标
**4. 关键注释部分**(可展开的手风琴) - 3 列布局:多头观点 | 空头观点 | 进场/退出策略 - 点击展开/收起
**5. 页脚** - 分析日期、数据来源、建议
### 各部分所需指标
**价格与估值**(6 个指标): - 价格、市值、滚动市盈率、远期市盈率、子行业典型市盈率、市盈率相对盈利增长比率
**财务表现**(6 个指标): - 净资产收益率、资产回报率、利润率、营业利润率、毛利率、投入资本回报率
**增长指标**(6 个指标): - 营收增长率(5 年)、盈利增长率、每股收益(TTM)、远期每股收益、分析师评级、目标价格
**风险指标**(6 个指标): - 债务权益比、综合风险、F 分数、Z 分数、M 分数、最大回撤(5 年)
**流动性与自由现金流**(6 个指标): - 流动比率、总现金、总债务、自由现金流增长率 5 年、自由现金流收益率、派息比率
**内部交易与情绪**(6 个指标): - 内部买入(12 个月)、内部卖出(12 个月)、净股数(12 个月)、RSI(14 天)、股票类型、板块
**质量评分**(6 个指标): - CQVS、标签、估值评分、质量评分、强度评分、诚信评分
**护城河与其他**(6 个指标): - 护城河评分(0-10)、贝塔系数、可预测性、数据质量、完整性、股息率
### 雷达图指标(12 个点,归一化 0-100) 1. 营收增长率(归一化:X% 增长 → 对于 20%+ 缩放至 100) 2. 营业利润率(归一化:X% → 对于 30%+ 为 100) 3. 毛利率(归一化:X% → 对于 60%+ 为 100) 4. 利润率(归一化:X% → 对于 25%+ 为 100) 5. 净资产收益率(归一化:X% → 对于 30%+ 为 100) 6. 风险评分(综合风险的倒数:100 - 风险*100) 7. 贝塔评分(倒数:beta=0.5 为 100,beta=1.5 为 50,beta=2.5+ 为 0) 8. 市场折让(100 = 严重低估,50 = 公允,0 = 高估) 9. 护城河评分(护城河评级 * 10) 10. 自由现金流收益率(X% → 对于 8%+ 为 100) 11. 资产回报率(X% → 对于 20%+ 为 100) 12. 盈利增长(X% → 对于 25%+ 为 100)
### 颜色编码规则
```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% ```
### 完整模板代码
使用此确切的模板结构:
```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; ```
### 实施说明
**关键步骤:**
1. 在综合文本分析期间**计算所有指标** 2. 在计算时将**指标存储在变量中** 3. **完成完整的文本分析后**,创建 React 构件 4. 将模板中的**所有占位符值替换**为实际计算的数据 5. **使用确切的模板结构** - 不要修改组件代码 6. **填充这些特定的数据数组**: - `metrics` 对象(60+ 个值,包括投资者画像评分) - `topNews` 数组(5 个带有日期的最新头条) - `priceHistory` 数组(10 年数据,包含多条估值线) - `oneYearData` 数组(包含 MA、布林带、预测) - `ichimokuData` 数组(6 个月,带有信号标记) - `ichimokuSignals` 对象(TK 交叉、Kumo 扭转、价格与云带) - `macdData` 数组(6 个最近的点,带有直方图) - `rsiData` 数组(6 个最近的点) - `radarData` 数组(12 个指标,归一化 0-100) - `bullCase.points`(来自多头观点分析的 5 个点) - `bearCase.points`(来自空头观点分析的 5 个点) - `entryStrategy`(来自进场/退出策略的 5 个值)
6. 正确**归一化雷达图值**: - 每个指标均为 0-100 刻度 - 数值越大越好(如需要,反转风险/贝塔) - 使用上面提供的缩放公式
7. 正确**格式化数值**: - 货币:`"€100.00"`(欧元是默认值 - 使用 € 而不是 $) - 大数字:`"€10B"`、`"€2.5M"` - 百分比:`15.0`(数字,而不是带 % 的字符串) - 比率:`1.25`(数字) - 评分:`7`(整数)或 `75.0`(浮点数)
8. **增长指标**: - 使用报告的营收增长率(非潜在/有机增长) - 使用报告的盈利增长率(非调整后每股收益增长)
9. **不要**: - 留下占位符值 - 修改组件结构 - 跳过任何部分 - 使用估算/猜测的数据
**这是唯一接受的仪表板格式。所有其他仪表板样式均已弃用。**
---
## 与项目上下文的集成
### 投资组合感知 - 从项目知识中访问投资组合数据 - 检查是否已持有该股票(如果是,建议使用投资组合分析师) - 评估与现有持仓的契合度(板块敞口、相关性) - 在当前配置的背景下考虑仓位规模
### 投资画像 - 用户的投资时间表、风险承受能力、项目说明中的偏好 - 根据用户画像量身定制建议 - 考虑来自用户背景的税收影响 - 根据投资组合规模和风险承受能力调整仓位规模
### 避免重复 如果股票已在投资组合中: - 确认:“您已持有 [SYMBOL]。要分析您现有的持仓,请使用投资组合分析师技能。” - 如果用户希望进行新的评估,仍提供评估 - 将其表述为“您应该加仓吗?”而不是首次购买
---
## 何时使用此技能
**在以下情况使用股票评估员:** - 用户询问“我应该买入 [股票] 吗?” - 用户想要评估观察列表候选对象 - 用户请求股票推荐 - 用户询问“[股票] 是一个好的投资吗?” - 用户想要比较多个潜在投资 - 用户询问其正在考虑的股票的替代品 - 用户想要进场价格和仓位规模指导 - 用户请求“量化风格仪表板”或“股票可视化”
**在以下情况不要使用此技能:** - 用户想要审查现有投资组合持仓 → 使用投资组合分析师 - 用户想要一般市场评论 → 常规知识 - 用户想要股票筛选/发现 → 不同的工作流程 - 用户询问期权、衍生品、加密货币 → 超出范围
**输出包括:** - 综合文本分析(以上所有部分) - 量化风格 React 仪表板构件(标准化视觉格式)
---
## 最佳实践
### 研究方法 1. **从公司文件开始**(10-K, 10-Q)- 不是新闻文章 2. **回溯 5-10 年** - 了解演变,而不仅仅是当前状态 3. **与 3-5 家同行比较** - 同类对比 4. **多种估值方法** - 不要依赖单一方法 5. **呈现双方观点** - 公允地呈现多头和空头观点 6. **具体明确** - 使用实际数据,而不是泛泛而谈
### 估值纪律 - 始终要求至少 15% 的安全边际 - 在 DCF 中使用保守的假设 - 加权多种估值方法 - 考虑行业特定的规范 - 不要为增长支付过高价格
### 风险意识 - 明确识别和量化风险 - 考虑概率和影响 - 诚实地承认未知因素 - 不要只关注上行空间
### 沟通 - 以明确的建议开头 - 用证据支持每一个主张 - 使用具体的数字和日期 - 解释推理过程,而不仅仅是陈述结论 - 使建议毫不含糊
---
## 需要识别的常见模式
### 优质公司 - 在整个周期(5-10 年)持续盈利 - 强劲的资产负债表(低债务、高现金) - 竞争护城河(宽阔或狭窄) - 对股东友好的资本配置 - 可预测的商业模式
### 价值陷阱(避免) - 便宜有原因(业务衰退) - 高债务伴随现金流疲软 - 持续失去市场份额 - 没有竞争优势 - 管理层资本配置不当
### 合理价格增长 (GARP) - 强劲的营收增长(15-25%+) - 利润率扩大 - 巨大的潜在市场 - 竞争优势 - 合理的估值(PEG < 1.5)
### 转型候选对象 - 拥有业绩记录的新管理层 - 关键指标季度环比改善 - 变化的催化剂 - 具有安全边际的深度价值 - 减少债务或改善现金流
---
## 最终定稿前的质量检查
在展示分析之前,请验证:
### 数据完整性检查(关键 - 首先检查) 1. ✅ 每个数值指标都有来自网络搜索的引用来源? 2. ✅ 没有编造内部人交易活动?(SEC 表格 4 或 N/A) 3. ✅ 没有编造做空兴趣?(FINRA/交易所 或 N/A) 4. ✅ ROE 基准正确?(>20% = 绿色,10-20% = 黄色,<10% = 红色) 5. ✅ 使用了标准化的指标标签?(例如,"Operative Margin",而不是 "Operating") 6. ✅ 所有不可用数据显示 "N/A"?(绝不使用零或估算值) 7. ✅ 重要新闻 格式正确?(用竖线分隔,日期在末尾括号内) 8. ✅ 预测下方显示了估值指标?(低估/合理估值/高估 +/- %) 9. ✅ Beta + 1Y 波动率合并在一个单元格中? 10. ✅ 行业/板块 合并在一个单元格中?
### 分析完整性检查 11. ✅ 所有强制交付项已完成? 12. ✅ 使用了多种估值方法? 13. ✅ 同时展示了多头和空头情况? 14. ✅ 明确的买入/持有/卖出 建议? 15. ✅ 具体的入场价格和仓位大小? 16. ✅ 比较了 3-5 家同业公司? 17. ✅ 分析了 5-10 年的财务趋势? 18. ✅ 研究基于公司文件,而非新闻? 19. ✅ 计算了安全边际? 20. ✅ 评估了风险等级? 21. ✅ 如果是卖出:提供了 3-5 个替代方案? 22. ✅ 确定了技术面入场点? 23. ✅ 计算了高级指标(Piotroski F、Altman Z、Beneish M、最大回撤)? 24. ✅ 所有货币价值均以欧元 为单位? 25. ✅ 收入/盈利增长使用报告(而非潜在/调整后)数据? 26. ✅ 计算了价值陷阱评分(0-100,越低越真实)? 27. ✅ 计算了所有 8 个投资者画像评分(0-10)? 28. ✅ 计算了 PEG 比率? 29. ✅ 计算了自由现金流 (FCF) 利润率? 30. ✅ 格林布拉特神奇公式指标(EY、ROC)? 31. ✅ 调研了新闻情绪和做空兴趣? 32. ✅ 收集了带有信号标记的一目均衡表 数据? 33. ✅ 填充了重要新闻版块(5 条最新标题)? 34. ✅ 提供了带有估值线的 10 年价格历史? 35. ✅ 创建了增强型仪表板,填充了所有 60 多个指标?
### 最终验证问题 - 你能引用仪表板中每个数字的来源吗? - 是否有任何指标仅来自训练知识?(如果是,请重新搜索或使用 N/A) - 内部人买入/卖出是否专门来自 SEC 表格 4?(如果未找到,请使用 N/A)
如果任何检查清单项未完成:**停止并收集更多信息**。 如果在搜索后数据确实不可用:**使用 "N/A" - 绝不要编造**。
---
## 示例评估结构
[有关详细演练,请参阅 EVALUATION-WORKFLOWS.md 中的完整示例]
---
## 持续改进
每次评估后: - 跟踪建议结果 - 从有效/无效的方法中学习 - 完善估值假设 - 改进模式识别 - 更新行业知识
目标是发现真正有吸引力的投资机会,这些机会需符合用户画像,具有足够的安全边际和可接受的风险。