Skip to main content
Glama

Get Bullrun valuation model

get_valuation_model
Read-only

Get machine-learning valuation and forecast scores for 1–10 stocks to check if they look cheap or expensive, estimate fair P/E, and compare valuations.

Instructions

Bullrun's proprietary machine-learning valuation and forecast scores for 1-10 stocks, recomputed nightly. Valuation: a LightGBM model predicts the P/E (or price/sales for loss-makers) that companies with similar fundamentals typically command a year out; the gap = typical / current multiple - 1 (positive = trades below its typical multiple), with the implied model-typical P/E, percentile and rank in the scored universe. Forecast: a relative 1-year return-rank signal with percentile. Both on quarterly and on annual financials (annual covers most non-US companies). Use for "is X cheap or expensive", "what's X's fair P/E", "compare valuations of X, Y, Z", or a valuation sanity check before buying. Descriptive context, not a price target or recommendation. Read-only.

Input Schema

NameRequiredDescriptionDefault
tickersYes1-10 Bullrun tickers, e.g. ["AAPL","MSFT"] or ["ASML","SAP","NESN"]. Use the listing ticker returned by search_stocks. US/European examples: AAPL, BMW, NESN. Most Asian listings keep their exchange suffix (6324.T, 0700.HK); some use bare codes (005930). Native or suffixed forms resolve only when one listing matches; search by company name or ISIN if unsure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.9.0
    • changedInput schema / properties / tickers / description
      Previous value: -"1-10 Bullrun tickers, e.g. [\"AAPL\",\"MSFT\"] or [\"ASML\",\"SAP\",\"NESN\"]. Bullrun tickers: US and most European listings use the plain local symbol (AAPL, BMW, NESN, ABBN); most Asian and Indian listings keep their exchange suffix (Tokyo 6324.T, Hong Kong 0700.HK, Shanghai 600519.SS, Shenzhen 000001.SZ, Taiwan 2330.TW, Korea 000100.KS, Singapore D05.SI, India RELIANCE.NS), but some Japanese and Korean large caps are plain codes (Toyota 7203, Samsung 005930). Either form is resolved automatically when exactly one listing matches; use search_stocks to find a ticker by company name or ISIN."New value: +"1-10 Bullrun tickers, e.g. [\"AAPL\",\"MSFT\"] or [\"ASML\",\"SAP\",\"NESN\"]. Use the listing ticker returned by search_stocks. US/European examples: AAPL, BMW, NESN. Most Asian listings keep their exchange suffix (6324.T, 0700.HK); some use bare codes (005930). Native or suffixed forms resolve only when one listing matches; search by company name or ISIN if unsure."
  2. Addedv0.7.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/no-destruction, so the bar is lower, and the description still adds real substance: nightly recompute cadence, the sign convention of the gap ('positive = trades below its typical multiple'), the two financial bases with a non-US coverage caveat, and the descriptive-not-advisory framing. It does not say what happens when a ticker has no score or partial fundamentals, which is the main remaining behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The most decision-relevant facts (what it is, scope, cadence) are front-loaded, followed by model mechanics and then use cases. It is dense and long-ish, but each block earns its place except the gap-formula detail, which is more than an agent needs to select the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by enumerating the returned quantities (gap, implied model-typical P/E, percentile, rank in universe, 1-year relative return rank) for both valuation and forecast. For a single-parameter read-only tool with full annotation coverage, nothing needed to call or interpret it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the tickers parameter already carries a detailed description including suffix handling and search_stocks guidance, so the schema does the heavy lifting. The description only echoes the 1-10 cardinality and adds a note that annual financials cover most non-US companies, which marginally informs which listings resolve. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: proprietary ML valuation and forecast scores for 1-10 stocks, recomputed nightly, with the exact model (LightGBM P/E or price/sales) and gap formula spelled out. An agent knows precisely what it gets back. It stops short of naming the nearest sibling (screen_valuation_model, which presumably ranks a universe) or distinguishing itself from get_forward_estimates, so it is clear but not sibling-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit use cases are given in quoted form ('is X cheap or expensive', 'what's X's fair P/E', 'compare valuations of X, Y, Z') plus a negative boundary: 'Descriptive context, not a price target or recommendation.' That is clear context and one exclusion, but no alternative tool is named for the screening/ranking case or for forward-estimate needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.