Skip to main content

Fundamental Leg

The fundamental leg screens on financial ratios, dollar amounts (TTM), and growth rates — all normalized to trailing twelve months (TTM) and USD for cross-market comparability.

fundamental leg shape
"fundamental": [
{ "concept": "roe", "pattern": "above", "threshold": 0.2 },
{ "concept": "revenue", "pattern": "consecutive_growth", "N": 3 },
{ "concept": "pe", "pattern": "below_average" }
]

Conditions are AND-ed — all must be satisfied. There is no limit on the number of conditions.


Condition fields​

FieldTypeRequiredDescription
conceptstring✅The financial metric key. See the field catalog below, or resolve any phrase with POST /v1/financials/find.
patternstring✅The comparison type. See patterns below.
thresholdnumberdependsAbsolute comparison value for above/below/between.
NnumberdependsNumber of periods for consecutive_growth/compound_growth.
min / maxnumberdependsLow and high bounds for between.

:::tip Resolve any concept by name POST /v1/financials/find accepts any phrase in any language — "수익성", "利益率", "profit margin" — and returns the canonical concept key to use. It is free (0 credits). :::


Patterns​

Absolute level patterns​

PatternRequiredWhat it does
abovethresholdMetric > threshold. For fractions (margins, ratios), use decimals: 0.2 = 20%. For dollar amounts, use full numbers: 1000000000 = $1B.
belowthresholdMetric < threshold.
betweenmin, maxMetric between min and max (inclusive).
is_positive—Metric > 0. Useful for net_income, fcf, operating_income.
is_negative—Metric < 0. net_debt is_negative = company is net cash.

Peer-relative patterns​

These compare the stock to its own cohort (same country + GICS sector by default). The benchmark is the cohort median unless specified.

PatternBenchmarkWhat it does
above_averageCohort median (p50)Metric above the sector/country median
below_averageCohort median (p50)Metric below the median — cheapest-relative, not worst
far_above_averagep90Metric in the top 10% of its cohort
far_below_averagep10Metric in the bottom 10% of its cohort
top_quartilep75Metric in the top 25%
bottom_quartilep25Metric in the bottom 25%
high~p80For valuation multiples: expensive relative to peers
low~p20For valuation multiples: cheap relative to peers
near±15% of medianClose to peer average — neither cheap nor expensive

:::info Own-sector vs. whole-universe benchmark By default, above_average benchmarks against the whole screen universe (all eligible stocks in the universe block). To benchmark each stock against its own sector specifically, add "vs_cohort": {"own": true}:

{ "concept": "pe", "pattern": "below_average", "vs_cohort": { "own": true } }

This means "cheaper than the median PE of its own sector", not cheaper than the whole market. :::

Growth patterns​

PatternRequiredWhat it does
consecutive_growthNMetric has grown YoY for exactly N consecutive annual periods. E.g. revenue consecutive_growth N=3 = 3 years of growth.
compound_growthNN-year CAGR is positive. N=5 = 5-year CAGR > 0
compound_growth with thresholdN, thresholdN-year CAGR > threshold. threshold=0.10 = 10%/yr CAGR.

:::warning Fraction vs. percent auto-rescaling For fraction metrics (margins, ROE, growth rates), thresholds ≥ 1.0 are automatically rescaled — 30 becomes 0.30. You can write "threshold": 30 or "threshold": 0.30 for a 30% margin and both work. The response notes[] confirms which was used. :::


Field catalog​

The screener supports two field families:

  1. Ratio / derived keys (fast, pre-materialized) — screened from a per-stock snapshot. Most common for screening.
  2. Raw statement fields (TTM, normalized to USD) — direct income statement, balance sheet, and cash flow items.

:::tip Full field catalog The sections below cover the most commonly used fields. For the complete reference — 34 derived ratio keys + 209 statement fields with descriptions and accepted aliases — see the Fundamental Field Catalog →. :::


Valuation ratios​

KeyAliasesWhat it measuresScale
peprice_to_earningsPrice / trailing EPS (TTM net income)multiple; below 15
normalized_pe—Price / normalized income (strips one-time items)multiple
pbprice_to_bookPrice / book value per sharemultiple; below 1
ev_ebitdaev_to_ebitdaEnterprise Value / EBITDAmultiple; below 10
dividend_yield—Annual dividend / pricefraction; above 0.03 = >3%
fcf_yield—Free cash flow / market capfraction
mcapmarket_cap, market_cap_usdMarket cap (USD)absolute; above 1000000000 = >$1B

Profitability margins​

All margins are fractions (0–1). Threshold 0.2 = 20%.

KeyWhat it measures
gross_marginGross profit / revenue
operating_marginOperating income / revenue
net_marginNet income / revenue
ebitda_marginEBITDA / revenue
fcf_marginFree cash flow / revenue

Return metrics​

All are fractions. Threshold 0.15 = 15%.

KeyAliasesWhat it measures
roereturn_on_equityNet income / average equity
roareturn_on_assetsNet income / average total assets
roic—NOPAT / (avg debt + avg equity)

Leverage & coverage​

KeyAliasesWhat it measuresScale
debt_to_equitydeTotal debt / shareholders' equityratio; below 1
debt_to_ebitda—Total debt / EBITDAratio; below 3
net_debt_ebitdanet_debt_to_ebitdaNet debt / EBITDA. Negative = net cash.ratio; below 2
interest_coverage—EBIT / interest expenseratio; above 3
ebitda_interest_coverage—EBITDA / interest expenseratio; above 5

Liquidity​

KeyAliasesWhat it measuresScale
current_ratio—Current assets / current liabilitiesratio; above 1.5
quick_ratioacid_test(Current assets − inventory) / current liabilitiesratio; above 1

Efficiency & working capital​

All days-based metrics are in calendar days.

KeyAliasesWhat it measures
asset_turnover—Revenue / average assets (times/yr)
dio—Days inventory outstanding
dso—Days sales outstanding (receivables)
dpo—Days payable outstanding
cash_conversion_cyclecccDIO + DSO − DPO (working capital efficiency)
capex_to_revenue—Capex as % of revenue
capex_to_dacapex_daCapex relative to depreciation (investment intensity)
fcf_conversion—FCF / net income (earnings quality)
accruals_ocf_ni—Operating cash flow / net income (accruals quality)

Dividend & payout​

KeyAliasesWhat it measuresScale
dividend_payoutpayout_ratioDividends / net incomefraction; below 0.6 = under 60%
dividend_yield—Annual dividend / pricefraction
effective_tax_rate—Tax expense / pretax incomefraction

Growth metrics​

Growth metrics compare to the fund_growth_profile (annual series). Use consecutive_growth or compound_growth patterns.

KeyWhat it measures
revenue_growth_yoyYear-over-year revenue growth (latest annual)
net_income_growth_yoyYoY net income growth
revenueUse with consecutive_growth N=3 to require 3 years of growing revenue
net_incomeUse with consecutive_growth to require consistent profitability growth
ebitdaUse with consecutive_growth for EBITDA growth streak
fcfUse with consecutive_growth for FCF growth streak
epsUse with consecutive_growth for EPS growth streak

Absolute dollar fields (TTM, USD)​

These are the most commonly needed statement-level fields. All are TTM (trailing twelve months) and normalized to USD.

Income statement​

KeyAliasesWhat it measures
revenuetotal_revenue, operating_revenueTotal revenue
gross_profit—Revenue minus COGS
operating_incomeebitOperating profit (EBIT)
ebitda—EBITDA
normalized_ebitda—Adjusted EBITDA (excludes one-time items)
net_incomenet_income_common_stockholdersNet income to common shareholders
normalized_income—Adjusted net income (Yahoo NormalizedIncome — strips unusual items)
epsdiluted_epsDiluted EPS (TTM)
basic_eps—Basic EPS
interest_expense—Total interest expense
rd_expenseresearch_and_developmentR&D spend
sga_expense—Selling, general & administrative
depreciation_amortizationdaD&A (non-cash)
stock_based_compensationsbcSBC add-back
dpsdividend_per_shareAnnual dividend per share

Cash flow​

KeyAliasesWhat it measures
operating_cash_flowocfCash from operations
capexcapital_expenditureCapital expenditure (stored as negative; use is_negative to find high-capex names)
fcffree_cash_flowOCF minus capex
dividends_paidcash_dividends_paidTotal dividends paid
buybacksrepurchase_of_capital_stockShare buybacks

Balance sheet​

KeyAliasesWhat it measures
total_assets—Total assets
cashcash_and_equivalentsCash + short-term investments
total_debtlong_term_debtTotal financial debt (current + non-current)
net_debt—Total debt minus cash (negative = net cash)
book_valueshareholders_equityTotal stockholders' equity
current_assets—Current assets
current_liabilities—Current liabilities
inventory—Inventory
accounts_receivable—Accounts receivable
goodwill—Goodwill from acquisitions
net_ppe—Net property, plant & equipment

Sector-specific fields​

These fields are available for the relevant sectors but return null for others.

Banking​

KeyWhat it measures
net_interest_incomeInterest earned minus interest paid — core banking profit driver
non_interest_incomeFee-based revenue (trading, wealth management, advisory)
non_interest_expenseOperating overhead
credit_loss_provisionLoan-loss reserves set aside this period
net_investment_incomePortfolio income

Insurance​

KeyWhat it measures
premiums_earnedNet premiums earned (after reinsurance cessions)
net_premiums_writtenNew premium production
gross_premiums_writtenTotal gross premiums before reinsurance
realized_investment_gainsRealized P&L on investment portfolio

Examples​

Classic value: low PE + high ROE
"fundamental": [
{ "concept": "pe", "pattern": "below", "threshold": 15 },
{ "concept": "roe", "pattern": "above", "threshold": 0.15 }
]
3 consecutive years of revenue growth + profitable
"fundamental": [
{ "concept": "revenue", "pattern": "consecutive_growth", "N": 3 },
{ "concept": "net_income", "pattern": "is_positive" }
]
Cheaper than sector peers on PE + positive FCF
"fundamental": [
{ "concept": "pe", "pattern": "below_average" },
{ "concept": "fcf", "pattern": "is_positive" }
]
Net cash (no net debt) + high gross margin
"fundamental": [
{ "concept": "net_debt", "pattern": "is_negative" },
{ "concept": "gross_margin", "pattern": "above", "threshold": 0.4 }
]
Revenue > $1B + low debt
"fundamental": [
{ "concept": "revenue", "pattern": "above", "threshold": 1000000000 },
{ "concept": "debt_to_equity","pattern": "below", "threshold": 0.5 }
]
5-year CAGR > 15% on revenue
"fundamental": [
{ "concept": "revenue", "pattern": "compound_growth", "N": 5, "threshold": 0.15 }
]
EBITDA margin top quartile in own sector
"fundamental": [
{ "concept": "ebitda_margin", "pattern": "top_quartile", "vs_cohort": { "own": true } }
]
Bank screen: high NII + low credit losses
"fundamental": [
{ "concept": "net_interest_income", "pattern": "above_average" },
{ "concept": "credit_loss_provision", "pattern": "below_average" }
]