Stock Scores

API TraderAPI QuantAPI Developer

ORTEX Stock Scores condense a wide set of fundamental and market indicators into five scores from 0 to 100, so you can see at a glance how a stock stands on quality, value, momentum and growth, and overall. Each score is built from factor percentiles (a stock's rank on each underlying metric against the rest of the covered universe), weighted within its family and normalized so that 100 is the best.

Scores are computed each weekday, around 14:00 UTC. Each row carries the most recent computation on or before its date, so values hold steady until the next computation lands. Because a computation dated D is published during D's US session, a backtest should treat the scores dated D as usable from about 14:00 UTC on D, not from D's open.

By default the scores use ORTEX's standard weight set. Pass weights to score with your own: a comma-separated list of metric:weight pairs (for example quality:50,momentum:65,roa:100); metric names are case-sensitive and lower case. Any component metric you leave out is weighted 0, so a custom weight set scores only on what you name; a family key (quality, growth, momentum, value) you leave out keeps its standard weight. At least one component must be weighted above 0: family keys scale a family and cannot be used alone.

Available Data Points:

  • Date: The trading session the scores apply to. (YYYY-MM-DD format).
  • Growth: The company's expansion potential: EBIT growth, internal growth rate, sales trends and return on capital over five years.
  • Momentum: Recent price trend and sentiment: moving-average crossovers, relative strength, distance from the 52-week high, analyst revisions and earnings surprises.
  • Quality: Financial stability and operational soundness: bankruptcy risk (Altman Z), earnings variability, return on assets, free cash flow and short-side pressure.
  • Value: How the share price compares with the fundamentals: earnings yield and price-to-earnings, price-to-sales and enterprise-value multiples.
  • Total: The four families combined and normalized into one score, comparable to a percentile rank where 100 is the best. It is not a simple average of the four.

Missing values

On sessions before a company's first computed score there is nothing to carry forward, and every score field is null. A score of 0.0 is always a genuine worst-rank value, never a placeholder.

Weight metrics

Family keys: growth, momentum, quality, value. Component metrics: analyst_oac_diff, analyst_rec_diff, cagr_ebit_5y, croic_5y_average, current_oac, dividend_increase, dividend_per_share_price_last, dividend_per_share_price_prev, dividend_score, dma_50_over_200, dma_75_over_300, dtc, dtc_change, earnings_variability, earnings_yield, ebit_margin_increase, ebit_margin_increase_5y, eps_12m_fwd_yoy_increase, eps_momentum_30days, eps_momentum_90days, eps_surprise, ev_ebit, ev_operating_cash_flow, ev_sales, f_score, fcf_assets, fcf_sales, gross_profit_to_assets, gross_profit_to_assets_5y_average, high_52w, internal_growth, margin_stability, net_debt_to_equity, oim, pe_change, pe_last, price_book, price_eps_weighted_divergence, price_fcf, price_sales, relative_strength_182, relative_strength_365, relative_strength_91, roa, roa_5y_average, roce, roce_5y_average, roe_x_earnings_retention, sales_increase_1y, sales_increase_5y, sector_score, short_interest_pc_ff, short_score, tp_change, tp_diff, util, volatility_vs_spy, z_last. Retired scores that are no longer computed (momentum_ml, quality_ml, value_ml) are rejected with 400 invalidWeights.

Disclaimer

The Stock Score is not an investment recommendation or a guarantee of future returns. It is a summary and comparison of selected metrics for informational purposes.

Try it out! You can test the API with the trial key TEST. Simply include it in your request headers; either here, or add the header "Ortex-Api-Key": "TEST" to your http request.

Trial key restrictions: Trial keys may be limited to a specific date range and set of regions. Requests outside the allowed regions or entirely outside the allowed date range are rejected; a date window that partially overlaps the allowed range is trimmed to it, reported in meta.restriction.

Get full access! Get a key at app.ortex.com/apis

Path Params
string
required

Where to find the instrument: a venue (exchange symbol, MIC or ISO-2 country) or an identifier scheme (tid, sid, cid, isin, figi). See Identifying an instrument.

string
required

The ticker on that venue, or the value in that scheme. An ISIN, sid, cid or share-class FIGI answers for the main listing only; reference/listings lists the others. See Identifying an instrument.

Query Params
date
required

Inclusive start of the returned date window. Format: YYYY-MM-DD.

Also selects the instrument: the ticker resolves to the listing that held it on the exchange in the URL path on this date. To retrieve a delisted or renamed company, use its former exchange and ticker with a from_date from when it was listed. An identifier path (/stock/isin|figi|sid|cid/<value>/…) resolves at this date too. The instrument block in the response names the company the data belongs to.

date

Inclusive end of the returned date window (defaults to today). Format: YYYY-MM-DD.

string

Custom weights, replacing ORTEX's standard weight set: a comma-separated list of metric:weight pairs, each weight an integer from 0 to 100, metric names case-sensitive (lower case, as listed). Any component metric you leave out is weighted 0; a family key (quality, growth, momentum, value) scales its family and one you leave out keeps its standard weight. At least one component must be weighted above 0. At most 75 pairs. Omit to score with the standard weights. An unknown or retired metric, a weight outside 0-100, a repeated metric, or no component above 0 returns 400 invalidWeights.

integer

Page number within the paginated result set. Must be >= 1. Defaults to 1.

integer

Number of rows per page. The default and the maximum allowed depend on the API tier; a value above the tier maximum is rejected with 400 invalidPageSize.

string
enum
Defaults to json

Response format. "json" (default) or "csv".

Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/csv