Skip to content

What (One-liner)

Aggregates a stock's scores across business model / leadership / competitive advantage / valuation into a 0-100 composite buy/sell signal. Inspiration: Buffett-Munger philosophy + Porter's five forces + Graham-Dodd value investing, synthesised.

How to use

Drag the blcv_score_v1 node onto the Canvas, fill symbol (required), optionally weights + peers.

Reading the output:

  • blcv_score — the 0-100 composite
  • signal: strong_buy (>70 + MoS>15%) / buy (>60 + MoS>5%) / neutral / avoid (<35) / caution (industry blacklist)
  • dimension_scores — drill into the four dimensions in the UI
  • margin_of_safety — relative valuation (PE/PB/EV-EBITDA/FCF yield) implied intrinsic value vs current price

Core formulas

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)

Signal buckets (0-100 scale thresholds):

Conditionsignal
blcv > 70 and MoS > 15%strong_buy
blcv > 60 and MoS > 5%buy
blcv < 35avoid
Industry-blacklist hitcaution
Otherwiseneutral

Assumptions & applicability

Assumptions: four dimensions on the same 0-100 scale / adequate yfinance data quality / 0.6 blacklist penalty.

Fits: developed-market equities (US foremost) / medium-to-long horizons / cross-sectional selection / fundamental filtering.

Does not fit: crypto / private companies / intraday signals / distressed names.

Input / Output contract

Details in the frontmatter. In short: symbol (str) → {blcv_score: float, signal: str, dimension_scores: dict, margin_of_safety: dict, industry_filter: dict, details: dict, logic_lineage: list}.

Known limitations

  1. Quarterly granularity → not for short-term trading
  2. yfinance dependence → degrades on small caps / international names
  3. Porter 5-forces heuristics → interpretable, moderately stable numerically
  4. Static industry blacklist → no ESG dynamics
  5. The 0.6 multiplier is practitioner-set → not academic consensus

References

See source_papers in the frontmatter. Three pillars: Buffett-Munger philosophy + Porter (1979) five forces + 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). Passing as of 2026-04-20.

Changelog

  • 1.1.0 (2026-04-20) — Full-stack 0-100 alignment + threshold update + BUG-GOLDEN-001 sweep + lineage sync
  • 1.0.0 (2026-04-19) — First production (0-1 scale)

Verifiable intelligence for the decisions that demand scrutiny.