做什么(One-liner)
把一只股票在 业务模式 / 领导力 / 竞争优势 / 估值 四个维度的评分加权聚合成 0-100 的综合买卖信号。灵感:Buffett-Munger 投资哲学 + Porter 五力 + Graham-Dodd 价值投资三框架综合。
怎么用
Canvas 拖 blcv_score_v1 节点,填 symbol(必填),可选 weights + peers。
输出解读:
blcv_score0-100 综合分signal:strong_buy(>70 + MoS>15%)/buy(>60 + MoS>5%)/neutral/avoid(<35)/caution(行业黑名单)dimension_scores在 UI 可下钻四维分项margin_of_safety含相对估值法(PE/PB/EV-EBITDA/FCF yield)隐含内在价值 vs 当前价
核心公式
blcv_raw = (0.30·B + 0.15·L + 0.25·C + 0.30·V) / 1.00
if industry_avoided: blcv_raw *= 0.6
blcv_score = round(clamp(blcv_raw, 0, 100), 2)信号分桶(0-100 scale 阈值):
| 条件 | signal |
|---|---|
| blcv > 70 且 MoS > 15% | strong_buy |
| blcv > 60 且 MoS > 5% | buy |
| blcv < 35 | avoid |
| 行业黑名单命中 | caution |
| 其他 | neutral |
假设与适用场景
假设:四维同 0-100 scale / yfinance 数据质量充足 / 行业黑名单 0.6 惩罚。
适用:发达市场股票(US 为主)/ 中长期视野 / 横截面选股 / 基本面过滤。
不适用:加密 / 私募 / 日内信号 / 困境公司。
输入 / 输出契约
详见 frontmatter。主要:symbol (str) → {blcv_score: float, signal: str, dimension_scores: dict, margin_of_safety: dict, industry_filter: dict, details: dict, logic_lineage: list}。
已知局限
- 季度粒度 → 不适合短线
- yfinance 依赖 → 小市值 / 国际股退化
- Porter 5 forces 启发式 → 解释性强数值稳定中等
- 静态 industry 黑名单 → 不跟 ESG 动态
- 0.6 乘子经验值 → 非学术 consensus
参考文献
见 frontmatter source_papers。三根支柱:Buffett-Munger 投资哲学 + Porter (1979) 五力 + Graham-Dodd (1934) Security Analysis。
Golden Test
tests/golden/fixtures/tier1/blcv_score/,1e-10 tolerance,9 test cases(compose + clamp + industry-penalty + 4-signal-buckets + custom-weights + full-response-schema)。2026-04-20 passing。
Changelog
- 1.1.0 (2026-04-20) — 0-100 scale 全栈对齐 + 阈值更新 + BUG-GOLDEN-001 sweep + lineage 同步
- 1.0.0 (2026-04-19) — 首次生产(0-1 scale)

