Overview
ETFVision uses a deterministic, rules-based scoring engine. All outputs are analytical classifications derived from stored quantitative data. No outputs constitute investment advice, trade instructions, or ratings under any securities regulation.
Scores are stored on a 0-100 scale. Missing inputs are excluded from weighted averages rather than treated as zero, so scores reflect available data only. Confidence metrics indicate data completeness and recency, not probability of outperformance.
This page describes the scoring logic implemented in the current ETFVision engine as of 2026-06-23. Changes to scoring logic should update this page in the same release.
Key termsFor transparency - not required reading
| Term | Plain-English meaning |
|---|---|
| Clamped | Held within a fixed range; "clamped to 0-100" means never below 0 or above 100. |
| Denominator | The components actually used in an average; missing inputs are left out, not counted as zero. |
| Drawdown | The percentage drop from a prior peak. |
| Volatility | How much returns fluctuate; higher means bigger swings. |
| Regime | The prevailing macro environment, such as rates being "restrictive," from FRED. |
| Look-through | Seeing the holdings inside an ETF rather than treating it as one position. |
| Flow-adjusted (TWR) | Returns adjusted for deposits and withdrawals so cash moves are not mistaken for gains or losses. |
| Winsorized | Extreme values capped at a limit before scoring. |
| Coefficient of variation | A consistency measure; lower means steadier. |
| Dispersion | The spread of a set of scores. |
| Bounded | Held within a range; same idea as clamped. |
| Tolerance | A small allowance band; here about 5% of the level. |
| Magnitude | The size of a change, ignoring direction. |
| Downside volatility | Volatility from negative returns only. |
| Composite / weighted average | Several scores combined, with some counting more than others. |
| Component / sub-score | One ingredient of a bigger score. |
| Benchmark | A yardstick to compare against, such as the S&P 500. |
| Valuation | Whether a stock looks cheap or expensive for its financials. |
| Momentum | Recent direction of price. |
| Allocation | How money is split across asset types. |
| Concentration | How much sits in one holding, company, or sector. |
| Diversification | How widely spread across holdings, sectors, and regions. |
| Liquidity | How easily something can be traded without moving its price. |
| Duration | For bonds, how much price moves when rates change. |
| ROIC | Return on invested capital. |
| Free cash flow | Cash left after running and investing in the business. |
| Macro | The big-picture economy: rates, inflation, and growth. |
| Yield curve | How short- versus long-term rates compare. |
| Median | The middle value; half above, half below. |
| Annualized | Scaled to a one-year basis. |
| Percentage points | The plain difference between two percentages. |
| Theme | A long-running trend an investment is tied to, such as AI. |
Notation
| Symbol | Plain-English meaning |
|---|---|
| clamp₀¹⁰⁰(x) / bounded(x) | Holds the result within a range; here, no lower than 0 and no higher than 100. |
| 𝟙(condition) | An on/off switch: 1 when the condition is true and 0 when it is false. |
| ∧ / ∨ / ∈ | Logical shorthand: ∧ means and, ∨ means or, and ∈ means is in the listed set. |
| ∅ | No usable value is available, so that component is excluded rather than counted as zero. |
| Σ | Usually means a sum; in the covariance formula, it is the holdings' covariance matrix. |
| wᵀ | Transpose of the weights vector w, written as a row so matrix multiplication works. |
| √ and |x| | √ means square root; |x| means absolute value, or size without direction. |
| Δ, such as Δ₁y | Change over the stated period, such as one-year change. |
| x̄, first, and second | x̄ means average; first and second denote the first and second halves of the observation window. |
| r and w | r means return; w means weight. |
Financial termsFor transparency - not required reading
| Term | Plain-English meaning |
|---|---|
| Gross / operating / net margin | The share of revenue left after different levels of cost. |
| EBITDA | Earnings before interest, taxes, depreciation and amortization; a rough measure of operating profit. |
| P/E (price/earnings) | Price relative to yearly earnings; higher means more expensive. |
| Forward P/E | P/E based on expected next-year earnings. |
| Price/sales, Price/book | Price relative to revenue, or to net asset value. |
| EV/EBITDA | Enterprise value relative to EBITDA; a valuation multiple. |
| ROE / ROA | Return on equity / on assets: profit relative to shareholder equity / total assets. |
| EPS | Earnings per share. |
| Free cash flow yield | Free cash flow relative to price. |
| Debt/equity | Borrowings relative to shareholder equity; a leverage measure. |
| Net debt/EBITDA | Debt minus cash, relative to EBITDA; roughly, years of profit to repay. |
| Current ratio / quick ratio | Short-term assets versus short-term bills; a liquidity check. |
| Operating cash flow | Cash generated by the core business. |
| Issuer | The company behind a security; used to spot single-company concentration seen through ETFs. |
| High Beta | Moves more than the market; amplified ups and downs. |
| Treasury | A US government bond; very low credit risk. |
| High yield | Lower-credit-quality ("junk") bonds that pay more to compensate. |
| Standard deviation | How spread out a set of values is; the basis of volatility. |
| Covariance | How two holdings move together; used to estimate their combined risk. |
How ETFVision scores work
How ETFVision scores work - in plain terms
Two report cards: one for each investment, and one for your whole portfolio.
Think of it as two report cards. First, a report card for each investment: for any stock or fund we ask a few simple questions, such as whether the business is financially strong, whether the price is reasonable, how bumpy it has been, and whether it fits today's market. Those answers roll into one Characteristics Score with an easy label: Excellent, Good, Neutral, Weak, Poor, or Significant Concerns.
Second, a report card for your whole portfolio: we look at how your money is spread out, how concentrated it is, how risky it has been, and a few other angles, and roll those into a Portfolio Score. The two are linked: part of your portfolio's score reflects how well the individual investments you hold score on their own.
Everything is calculated by fixed rules from your data. No human opinion, market call, or stock tip is involved.
Characteristics Score
Characteristics Score Methodology
One overall score and label for a single investment.
The Characteristics Score is shown with user-facing analytical assessment labels. These labels do not mean buy, sell, hold, reduce, or any other trade instruction.
| Score range | Assessment label |
|---|---|
| 80-100 | Excellent |
| 65-79 | Good |
| 48-64 | Neutral |
| 35-47 | Weak |
| 20-34 | Poor |
| Below 20 | Significant Concerns |
| Missing | Insufficient Data |
Stocks
| Component | Weight | What it measures |
|---|---|---|
| Business Quality | 40% | How financially strong and well-run the company is |
| Valuation | 20% | Whether the price looks cheap or expensive for its financials |
| Fundamental Trends | 15% | Whether the financials are improving or weakening over time |
| Risk Analytics | 10% | How volatile and loss-prone it has been (higher score = lower risk) |
| Market Vision alignment | 7% | How it fits the current macro/market backdrop |
| Theme alignment | 5% | How well it maps to tracked investment themes |
| Momentum | 3% | Recent price direction |
ETFs
| Component | Weight | What it measures |
|---|---|---|
| Risk analytics | 30% | How volatile and loss-prone it has been (higher score = lower risk) |
| Momentum | 20% | Recent price direction |
| Macro fit | 18% | How the asset suits the current rate/inflation/growth regime |
| Benchmark relative | 18% | 1-year return versus its asset-class benchmark |
| Market Vision alignment | 9% | How it fits the current macro/market backdrop |
| Theme fit | 5% | How well it maps to tracked investment themes |
Bond ETFs
| Component | Weight | What it measures |
|---|---|---|
| Duration fit | 22% | Whether the bond's rate sensitivity suits the current rate environment |
| Rate regime | 22% | How the duration matches the current interest-rate regime |
| Inflation regime | 16% | How the bond suits the current inflation environment |
| Yield curve | 13% | How it fits the current shape of interest rates |
| Credit risk | 11% | The credit quality of the bond exposure |
| Portfolio stability | 11% | How cash-like or defensive the bond role is |
| Market Vision alignment | 5% | How it fits the current macro/market backdrop |
Duration fit scores are ultra-short/short = 72, intermediate = 62, and long = 48. Rate and inflation regimes can further affect the bond ETF score through deterministic macro rules.
Gold ETFs
| Component | Weight | What it measures |
|---|---|---|
| Inflation hedge | 36% | How well gold hedges current inflation |
| Geopolitical hedge | 29% | How well gold hedges current market/liquidity stress |
| Rates context | 14% | How the rate environment affects gold |
| Momentum | 14% | Recent price direction |
| Market Vision alignment | 7% | How it fits the current macro/market backdrop |
Crypto
| Component | Weight | What it measures |
|---|---|---|
| Risk | 40% | How volatile and loss-prone it has been (higher score = lower risk) |
| Momentum | 20% | Recent price direction |
| Liquidity regime | 20% | How current liquidity conditions affect crypto |
| Macro risk appetite | 9% | How the macro backdrop affects risk-on assets |
| Theme score | 7% | How well it maps to tracked investment themes |
| Market Vision alignment | 4% | How it fits the current macro/market backdrop |
Crypto scores weight risk and liquidity heavily to reflect the elevated volatility profile of digital assets.
Component Calculation Details
The table below explains how the main score components, fits, and alignments are calculated before they are combined by instrument type.
Show component formula detailFor transparency - not required reading
| Component / fit / alignment | Calculation detail |
|---|---|
| Weighted composite | In plain terms: Available component scores are multiplied by their weights, added together, and divided by the weights that were actually available. Missing or non-finite component scores are excluded from both numerator and denominator. |
| Momentum | In plain terms: Momentum starts at 50, then adds bounded YTD and daily-return effects. ETF 1-year return is excluded here because it is measured separately in Benchmark Relative. |
| Risk analytics | In plain terms: The component starts from 100 and subtracts the measured instrument risk score, so lower measured risk gives a higher component score. |
| Theme alignment / Theme fit / Theme score | In plain terms: Theme fit starts at 55, adds bounded points for themes and a single selected-positive-tag bonus, and subtracts for High Beta. T is theme count; A, Q, G, and H indicate AI / Automation, Quality, Global Diversification, and High Beta. The +5 applies once when any of A, Q, or G is present. |
| Macro fit | In plain terms: Macro fit starts at 55 and applies fixed asset-specific adjustments from the current macro regime. Examples: gold can gain 20 in elevated/rising/sticky inflation or stress/tight liquidity; crypto loses 25 under stress/tight liquidity; long-duration bonds lose 20 in restrictive/rising/high rates; Treasuries gain 15 when growth is weak/slowing/recessionary; Technology loses 8 in restrictive rates; Consumer Staples gains 8 when growth is weak. These are representative examples, not the exhaustive rule set. |
| Market Vision alignment | In plain terms: Market Vision alignment starts at 55, adds points for matching sector/theme/supportive language, and subtracts for risk language. S, T, U, and R indicate sector mention, theme mention, supportive/tailwind language, and risk/headwind/stress/caution language. B is the asset-specific macro term bonus for bonds (+3), gold (+5), or crypto (+3). |
| ETF benchmark relative | In plain terms: Benchmark Relative compares an ETF's 1-year return with its external benchmark return and converts the excess return into a score. US broad, sector, style, factor, option-income, mid-cap, ESG, and aerospace/defense ETFs use sp500; global equity and multi-asset/balanced ETFs use global_equities; developed ex-US and International Dividend use developed_ex_us; emerging markets uses emerging_markets; curated developed single-country ETFs (EWJ, DXJ, JPXN, EWU, EWC, EWG) use developed_ex_us; curated emerging single-country ETFs (MCHI, FXI, KWEB, INDA, INDY, EWZ, EWY, EWT) use emerging_markets; other single-country ETFs receive no Benchmark Relative component; bonds, cash equivalents, preferred stock, municipal bond, and emerging-market bond ETFs use us_aggregate_bonds; commodity/gold uses gold; crypto ETFs use bitcoin. |
| Bond duration fit | In plain terms: Bond duration fit maps duration buckets to fixed scores. |
| Bond rate regime | In plain terms: Rate regime scoring uses fixed scores for long duration in difficult rate regimes and short duration in restrictive rates. |
| Bond inflation regime | In plain terms: Inflation-linked exposure scores higher in elevated or rising inflation; long duration scores lower under elevated inflation. |
| Bond credit risk | In plain terms: Credit risk uses a lower fixed score for high-yield credit quality and a higher fixed score for other known credit quality. |
| Bond portfolio stability | In plain terms: Cash-like liquidity roles and Treasury classifications receive the higher stability score. |
| Gold inflation hedge | In plain terms: Gold inflation hedge scoring is higher when inflation is elevated or rising. |
| Gold geopolitical hedge | In plain terms: Gold geopolitical hedge scoring is higher when liquidity conditions are stressed or tight. |
| Crypto liquidity regime | In plain terms: Crypto liquidity regime scoring is lower in tight liquidity and neutral when macro regime data is available but not tight. |
Fundamentals
Fundamentals
How financially strong and well-run a company is, from its reported financials.
Business Quality is the stock fundamentals headline displayed in ETFVision. It combines growth, profitability, cash flow, balance-sheet strength, and earnings quality. Valuation remains a separate Characteristics component and is shown separately from Business Quality. These scores do not predict future performance.
Business Quality Score
Business Quality is the 40% weighted component for stocks. It combines Growth (25%), Profitability (25%), Cash Flow (20%), Balance Sheet (15%), and Quality (15%). Valuation is measured separately as its own top-level Characteristics component.
| Component | Weight |
|---|---|
| Growth | 25% |
| Profitability | 25% |
| Cash Flow | 20% |
| Balance Sheet | 15% |
| Quality | 15% |
Note: "Quality" (the 15% sub-score measuring earnings stability, cash conversion, ROIC durability, and capital discipline) is one ingredient of "Business Quality" (the overall 40% stock component) - they are related but not the same.
Only available component scores contribute to the weighted average. Missing components are excluded from the denominator, so a missing input does not become a zero score.
Normalization Helpers
Show normalization formulasFor transparency - not required reading
| Helper | Formula |
|---|---|
| Annual basis | In plain terms: Stock fundamental sub-scores use the latest annual ratios and statements, not the latest quarter, so flow-sensitive metrics are measured on an annual basis. |
| Positive percent metrics | In plain terms: Positive-percent scoring maps weak negative growth low, neutral growth around the middle, and strong growth high. Defaults: neutral 5%, excellent 30%; final result is clamped to 0-100. |
| Margin metrics | In plain terms: Margin metrics scale the value between weak and strong anchors, then clamp the score. |
| Return metrics | In plain terms: Return metrics scale the value between weak and strong anchors, then clamp the score. |
| Lower-is-better metrics | In plain terms: For lower-is-better inputs, values near the excellent anchor score high and values near the poor anchor score low. Null values are excluded; negative values are excluded unless the metric uses a negative excellent anchor, such as share-count shrinkage. |
| Higher-is-better metrics | In plain terms: For higher-is-better inputs, values near the excellent anchor score high and values near the poor anchor score low. |
Sub-Score Calculations
Show sub-score calculationsFor transparency - not required reading
| Sub-score | Calculation detail |
|---|---|
| Growth | In plain terms: Growth averages the available scored growth inputs. Each input is first scored with scorePositivePercent. |
| Profitability | In plain terms: Profitability averages available margin and return-on-capital inputs. GM = gross margin, OM = operating margin, NM = net margin, ROE = return on equity, ROIC = return on invested capital, ROA = return on assets. Each subscript pair is the (weak, strong) anchor; for example GM_{0.15,0.65} scores gross margin from 15% weak to 65% strong. |
| Valuation | In plain terms: Valuation averages lower-is-better valuation multiples and higher-is-better free-cash-flow yield. PE = price/earnings, FPE = forward P/E, PS = price/sales, PB = price/book, EVEBITDA = EV/EBITDA, FCFY = free-cash-flow yield. Subscripts are each metric's anchor pair. |
| Balance sheet | In plain terms: Balance sheet averages leverage, liquidity, and cash-to-debt inputs when available. DE = debt/equity, ND/EBITDA = net debt/EBITDA, CR = current ratio, QR = quick ratio, CashDebt = cash/debt. |
| Cash flow | In plain terms: Cash flow compares operating cash flow and free cash flow with revenue scale, then adds margin and growth inputs. OCF = operating cash flow, FCF = free cash flow, R = revenue. |
| Quality | In plain terms: Quality is a weighted average of stability, cash conversion, ROIC durability, and capital discipline. E = earnings stability, C = cash conversion, D = ROIC durability, K = capital discipline. ROIC durability scores 10 when average ROIC is below the 8% cost-of-capital proxy; otherwise it uses scoreLowerBetter(coefficientOfVariation(roicSeries), 0.15, 0.60). Missing signals are excluded. For balance-sheet financials, cash conversion and ROIC durability are excluded from the denominator. |
| Financial-sector handling | In plain terms: Balance-sheet financials use adjusted inputs because bank, insurance, thrift, and mortgage-finance balance sheets differ from industrial companies. Fee-based credit-services, payments, and asset-management firms keep standard industrial inputs. Financial scores do not currently include capital adequacy, reserve quality, or asset-quality measures. |
| Quality valuation adjustment | In plain terms: Large-cap quality-growth companies can receive a bounded valuation adjustment when quality metrics are strong. Applies only when market cap is at least $50B, eligible sector/industry text is present, quality composite is at least 70, and raw valuation is below 55. Premium is +22, +17, or +12 by quality band; growth score at least 70 adds +4. These are representative examples, not the exhaustive rule set. |
Fundamental Trend Calculations
| Trend element | Calculation detail |
|---|---|
| Observation windows | In plain terms: Short-term trend uses up to five quarterly observations; long-term trend uses up to five annual observations. Annual-only metrics use not applicable for short-term direction. |
| Direction inputs | In plain terms: Trend direction compares early average, later average, latest value, prior value, direction changes, and volatility. The label is chosen deterministically by comparing the overall drift (second-half average vs first-half average) with the latest move (latest vs prior value), plus the value's sign, the number of direction flips, and volatility. For lower-is-better metrics the signs are flipped so 'improving' always means getting better. Rebounding: was negative, just turned positive. Accelerating: a positive metric rising on both the latest move and the overall drift. Improving: rising overall but not yet positive, or a lower-is-better metric falling. Decelerating: still positive but the latest move dipped, or falling while still positive. Deteriorating: falling on both the latest move and the overall drift. Volatile: direction flipped 3 or more times, or the series swings widely. Stable: both drift and latest move within about 5% of the level. |
| Trend strength | In plain terms: Trend strength reflects how big the change is. x_first is the earliest observation in the window. Stable counts as weak and volatile as moderate. |
| Positive directions | In plain terms: Positive trend labels map to fixed scores by strength. |
| Negative directions | In plain terms: Negative or volatile trend labels map to lower fixed scores by strength. |
| Trend confidence | In plain terms: Trend confidence rises with observation count and is reduced for volatility or non-finite values. Base confidence: fewer than 3 observations = 20; 3-4 observations = 62; 5+ observations = 82. |
| Per-metric score | In plain terms: Each metric combines short-term and long-term trend scores using confidence-scaled weights. c is the metric's trend confidence (0-1). |
| Summary trend score | In plain terms: Category trend scores are confidence-weighted and then combined with fixed category weights. G = growth, M = margin, P = profitability, B = balance sheet, Q = quality category trend scores. |
Confidence Metric
Confidence Metric
How much data we had to work with - not how likely something is to go up.
| Context | How confidence is calculated |
|---|---|
| Fundamentals | Available data points divided by 16 defined inputs, clamped to 0-100. |
| Trend scores | 3-4 observations produce 62%; 5+ observations produce 82%; volatile direction subtracts 18. |
| Risk metrics | 30 days = 40%, 60 days = 55%, 120 days = 70%, 252+ days = 90%. |
| Characteristics Score | Composite of available component ratio, score dispersion, strategic agreement, and signal conflict; strong/weak conflict subtracts 8. |
Characteristics Confidence Formula
Show confidence formula detailFor transparency - not required reading
| Input | Calculation detail |
|---|---|
| Available ratio | In plain terms: The available ratio is the share of configured component weight that has usable data. |
| Base confidence | In plain terms: Most instruments start from base confidence 72; crypto starts from 62 because crypto classifications are intentionally conservative. |
| Completeness bonus | In plain terms: The completeness bonus rewards near-complete component coverage. |
| Agreement bonus | In plain terms: Agreement bonus adds points when component-score dispersion is positive but low. |
| Strategic agreement bonus | In plain terms: Strategic agreement adds points when fundamentals, Market Vision alignment, and theme alignment are all strong. |
| Conflict penalty | In plain terms: Conflict penalty subtracts points when strong and weak components coexist. |
| Dispersion penalty | In plain terms: Dispersion penalty grows with score spread but is capped at 12. |
| Final formula | In plain terms: Final confidence starts from base confidence scaled by available data, adds bonuses, subtracts penalties, and clamps to 0-100. |
Higher confidence means more complete underlying data. It does not represent expected return, probability of outperformance, or suitability for any individual investor.
Guardrails
Guardrails
Safety checks that can lower a label even when the raw score looks high.
| Guardrail | Condition | Effect |
|---|---|---|
| Low confidence cap | Confidence below 50 | Insufficient Data |
| Weak business quality cap | Business Quality score below 35 (stocks) | Capped at Weak |
| Severely stretched valuation cap | Valuation score below 15 (stocks) | Capped at Neutral |
| Excessive instrument risk cap | Instrument risk score above 75 | Capped at Neutral for Strong or Exceptional Business Quality; otherwise capped at Weak unless already Poor or Significant Concerns |
| Bond duration and rate regime mismatch cap | Long-duration bond profile in restrictive, rising, or high-rate regime | Capped at Neutral |
| Portfolio concentration cap | Portfolio-level concentration threshold | Portfolio Review only; not applied to per-instrument Characteristics Score |
| Duplicate exposure cap | Duplicate exposure detected from holdings or look-through data | Portfolio Review only; not applied to per-instrument Characteristics Score |
| Crypto allocation cap | Portfolio-level crypto allocation threshold | Portfolio Review only; not applied to per-instrument Characteristics Score |
An instrument may have a high Characteristics Score but still be capped by a guardrail. Guardrails are applied consistently and mechanically. They are not discretionary judgements.
Portfolio Score
Portfolio Score
A report card for your whole portfolio, not just one holding.
| Dimension | Weight | What it measures |
|---|---|---|
| Allocation | 15% | Cash, equity, fixed income, gold and crypto balance |
| Concentration | 15% | Underlying-company top holding, top-five issuer exposure, and sector concentration |
| Diversification | 15% | Holding count, asset class, sector, geography, currency spread and correlations |
| Risk | 15% | Volatility, drawdown and risk contribution |
| Macro Fit | 15% | Portfolio posture vs FRED regimes and Market Vision |
| Insight Alignment | 10% | Holdings agreement with the Characteristics Score engine |
| Fixed Income | 10% | Duration, credit quality and recession-hedge roles |
| Theme Exposure | 5% | ETF look-through theme alignment vs current news and macro themes |
| Geography | 0% | Displayed diagnostic dimension; currently excluded from the composite |
Portfolio Dimension Definitions
| Dimension | How it is evaluated |
|---|---|
| Allocation | Starts from an 82 baseline and adjusts for equity-heavy exposure, low fixed-income ballast, high cash, and material crypto exposure. |
| Concentration | Uses underlying-company issuer exposure on a total-value basis. Direct single-stock holdings are included; diversified ETF wrappers remain visible as direct positions but do not trigger single-company concentration findings. |
| Diversification | Uses meaningful direct holding count, asset-class count, sector count, currency count, and average correlation. Concentration is measured in the Concentration section; Diversification measures breadth and correlation as a separate dimension. |
| Risk | Uses portfolio volatility, current drawdown, max drawdown, and risk contribution diagnostics from flow-adjusted return data. |
| Macro Fit | Compares portfolio posture against FRED rates, inflation, growth, liquidity regimes and the latest Market Vision risk context. |
| Insight Alignment | Compares current holdings with the Characteristics Score engine output and measures coverage of scored instruments. |
| Fixed Income | Uses total bond allocation, duration exposure, high-yield exposure, treasury/corporate mix, recession hedge exposure, and bond profile coverage. |
| Theme Exposure | Uses ETF look-through theme exposure and current news/macro theme intelligence where available. |
| Geography | Uses ETF country look-through or direct geography fallback. It is displayed as a diagnostic and currently carries 0% portfolio-score weight. |
Portfolio Section Score Formulas
Each section score is rounded and clamped to 0-100 before the weighted composite is calculated.
| Dimension | Plain-English explanation |
|---|---|
| Allocation | Starts at 82 and is reduced by excess equity concentration, insufficient bond ballast, high cash, or material crypto exposure. |
| Concentration | Starts at 90 and is reduced by large single-company issuer exposure, high top-five issuer concentration, or dominant sector exposure. |
| Diversification | Builds from the risk analytics diversification score, which measures breadth and correlation, and adds points for broader sector and country coverage from ETF look-through. Concentration is measured separately in the Concentration section. |
| Risk | Starts at 88 and is reduced by high volatility, large drawdowns, or deep current drawdowns. |
| Macro Fit | Starts at 72 and adjusts based on whether the portfolio posture is appropriate for current rate, growth, and inflation regimes. |
| Insight Alignment | Starts at 60 and increases when current holdings score well in the Characteristics Score engine, and decreases when holdings score poorly. |
| Fixed Income | Starts at 78 and adjusts for bond sleeve size, long-duration exposure, high-yield exposure, and recession-hedge coverage. |
| Theme Exposure | Starts at 64 and increases for theme alignment, and decreases for excessive single-sector concentration. |
| Geography | Calculated as a diagnostic only - currently carries 0% weight in the composite score. |
Show portfolio score formulasFor transparency - not required reading
| Section | Formula |
|---|---|
| Allocation | In plain terms: Allocation starts at 82 and subtracts points for excess equity, insufficient bonds, high cash, and material crypto exposure. |
| Concentration | In plain terms: Concentration starts at 90 and subtracts points for large top issuer, top-five issuer, and sector weights. Measured at the underlying-company issuer look-through level on a total-value basis. |
| Diversification | In plain terms: Diversification starts from Risk Analytics diversification and adds a small capped benefit for broader sector and country look-through. holdingScore, assetClassScore, sectorScore, and currencyScore each reward breadth and are capped; correlationPenalty grows with average correlation between holdings. |
| Risk | In plain terms: Portfolio risk starts at 88 and subtracts points for volatility, max drawdown, and current drawdown above thresholds. |
| Macro Fit | In plain terms: Macro Fit starts at 72 and applies fixed adjustments for restrictive rates, weak growth, and elevated inflation with gold exposure. R applies when rates are restrictive and equity allocation is above 75%; G applies when growth is weak and equity allocation is above 70%; I applies when inflation is elevated and the portfolio has gold exposure. |
| Insight Alignment | In plain terms: Insight Alignment starts at 60, adds for constructive held instruments, subtracts for weak held instruments, and adds coverage. C = constructive held instruments, W = weak-scoring held instruments, V = coverage/share of holdings scored. The 94 cap applies when the section has any incomplete-coverage or weak-holding finding. |
| Fixed Income | In plain terms: Fixed Income starts at 78 and adjusts for bond sleeve size, long duration, high yield, and recession-hedge exposure. |
| Theme Exposure | In plain terms: Theme Exposure starts at 64, adds for aligned themes, and subtracts for a very large largest sector weight. |
| Geography | In plain terms: Geography subtracts for high US weight or low international weight, but currently carries 0% overall weight. This is diagnostic only and currently has 0% overall weight. |
The Portfolio Score reflects analytical characteristics at the time of the last review run. It does not predict future performance or assess suitability for any individual.
Portfolio review confidence starts at 40 and adds points for holdings, recent prices, sufficient risk observations, available Characteristics Score outputs, Market Vision, macro regime, theme intelligence, and ETF look-through coverage.
Risk Analytics
Risk Analytics
How bumpy and loss-prone something has been in the past.
Risk Analytics measures how volatile and loss-prone an instrument or portfolio has been based on historical price data. A higher risk score means higher measured risk. These are backward-looking metrics - they describe past behaviour, not future risk.
Daily portfolio returns are calculated as current value less external cash flow, divided by previous value, minus one. This TWR-style adjustment avoids treating deposits as gains or withdrawals as drawdowns.
| Metric | Calculation detail |
|---|---|
| Instrument daily return | In plain terms: Daily return compares today's close with the previous close. |
| Instrument weekly return | In plain terms: Weekly return compares today's close with the close five trading days earlier. |
| Instrument annualized volatility | In plain terms: Annualized volatility scales daily return fluctuation to a one-year basis. 30D requires at least 10 observations, 90D at least 30, and 1Y at least 60. |
| Instrument drawdown | In plain terms: Drawdown measures the percentage drop from the running peak. Current drawdown is the latest drawdown. Max drawdown is the most negative drawdown in the analyzed history. |
| Instrument risk score | In plain terms: Instrument risk blends volatility, drawdown, downside volatility, and negative-return frequency. v = bounded(1Y volatility / 0.60 x 100); d = bounded(abs(maxDrawdown) / 0.50 x 100); s = bounded(downsideVolatility / 0.45 x 100); f = negativeReturnFrequency x 100 or 50 when missing. |
| Risk buckets | In plain terms: Risk buckets map risk score ranges to labels. |
| Portfolio period return | In plain terms: Portfolio period return removes deposits and withdrawals before measuring the portfolio's change. Deposits are positive external flows; withdrawals are negative external flows. |
| Portfolio volatility | In plain terms: Portfolio volatility annualizes flow-adjusted daily portfolio return fluctuation. |
| Portfolio drawdown | In plain terms: Portfolio drawdown chains flow-adjusted returns from 100, tracks the running peak, and measures drops from that peak. Max drawdown is the most negative point in the series. |
| Covariance risk contribution | In plain terms: When enough overlapping observations exist, covariance estimates each holding's share of portfolio volatility. w = vector of holding weights, Σ = holdings' covariance matrix, and wᵀΣw = portfolio variance. Eligibility requires at least 30 overlapping observations and about 70% eligible portfolio-value coverage. Covariance is annualized by multiplying by 252. |
| Proxy risk contribution | In plain terms: When covariance coverage is insufficient, proxy risk contribution weights allocations by fixed asset-type risk weights. Proxy weights are crypto 1.80, stock 1.25, gold ETF 1.05, bond ETF 0.55, other 1.00. |
Annualized volatility is the sample standard deviation of daily returns multiplied by the square root of 252. Drawdown is calculated from a chained level series starting at 100.
Risk contribution is covariance-based when at least 30 overlapping observations exist and covariance coverage is at least 70% of portfolio value. Otherwise, proxy risk factors are used: crypto 1.80x, stock 1.25x, gold ETF 1.05x, bond ETF 0.55x, and other 1.00x.
Portfolio Balance Review
Portfolio Balance Review
Categories where your portfolio looks light, shown for awareness only.
Portfolio Balance Review is the deterministic screener behind the Portfolio Review page's "Portfolio Balance Review" and "Portfolio Balance Summary" cards. It checks your portfolio's look-through exposure against a fixed set of category triggers - for example low fixed-income, low international exposure, sector/defensive concentration, low real-estate exposure, elevated crypto risk, single-issuer concentration, macro vulnerability, and low inflation hedge.
A finding appears only when a trigger's threshold is met. Where a finding lists example instruments, they appear only if the category is lightly represented, the instrument is in the active approved universe, and it has passed all guardrail filters. Every finding carries the disclaimer "Analytical observation only - not a position sizing recommendation," and example instruments are labelled "Shown because category is lightly represented - not a buy recommendation." These are mechanical screens, not suggestions to buy, sell, or hold.
Market Vision
Market Vision
A weekly read of the market backdrop, used as one small input - not a prediction.
Market Vision alignment uses weekly macro and market-context text as scoring input. Its component weight is 7% for stocks, 9% for ETFs, 5% for bond ETFs, 7% for gold ETFs, and 4% for crypto.
Market Vision reports are generated weekly from macroeconomic (FRED) regime data and news and theme intelligence, and may be produced with AI assistance. They provide analytical context only - not a forecast, outlook, or CIO opinion.
Show macro and Market Vision formula detailFor transparency - not required reading
| Macro / Market Vision element | Calculation detail |
|---|---|
| Macro trend confidence | In plain terms: Macro trend confidence measures whether enough observations exist for the indicator frequency. Needed observations: quarterly = 6, daily = 30, other = 12. |
| Macro trend severity | In plain terms: Macro trend severity uses fixed formulas by indicator type. |
| Macro persistence | In plain terms: Macro persistence counts how many of the latest six observations are non-decreasing versus the prior observation. |
| FRED theme signals | In plain terms: FRED theme signals copy or clamp macro trend severity, persistence, and confidence into mapped themes. Themes include Rates, Inflation, Growth, Employment, Yield Curve, Currency, and Energy. |
| Market Vision source text | In plain terms: Market Vision alignment scans the relevant report text sections for deterministic sector, theme, support, and risk language. |
Market Vision is not a market forecast, investment outlook, or CIO opinion. References to supportive context or risk language reflect mechanical alignment scores only, not predictions about future returns.
FRED macroeconomic regime signals are sourced from the Federal Reserve Bank of St. Louis public API and updated on a scheduled basis.
Limitations
Limitations
Known boundaries of ETFVision analytical outputs.
- Scores reflect data available at the time of the last scheduled engine run. Data may be delayed, incomplete, or subject to revision by the source provider.
- Bond rate and spread shock estimates are first-order approximations and do not model convexity, curve shape, ETF premium/discount behavior, or changing fund composition.
- Covariance risk contribution requires sufficient price-history overlap. When coverage is insufficient, a proxy model is used and flagged in risk diagnostics.
- Fundamental scores require financial statement data. Companies with limited reporting history or non-standard reporting may have fewer inputs and lower confidence.
- ETF look-through data reflects cached provider allocations. Allocations may lag actual fund composition.
- The Portfolio Score is bounded by its component construction and in practice tops out in the mid-80s rather than 100; a mid-80s score reflects a well-constructed portfolio, not an underperformance signal.
- Business Quality is a quality-and-growth composite — it includes a 25% growth weight alongside profitability, cash flow, balance-sheet strength, and earnings quality — not a pure quality measure.
- Sub-score thresholds are fixed absolute economic anchors, not sector-relative; capital-light and capital-intensive businesses are measured against the same anchors, so cross-sector comparisons should account for structural differences.
- Bond, gold, and crypto component scores are regime-dependent (rates, inflation, liquidity) and shift as the macro regime changes, independent of the instrument.
- Geography is computed for context and shown diagnostically but carries 0% weight in the composite score.
- The Excellent band (80-100) is intentionally reserved for instruments with exceptional characteristics across components and is uncommon; most sound instruments fall in the Good or Neutral range.
- Structurally low-margin business models may score lower on margin-based profitability inputs despite strong returns on capital; profitability should be read alongside the capital-efficiency signals.
- ETF Benchmark Relative pairs US equity ETFs to the S&P 500 and international developed / emerging-market ETFs to MSCI-family proxies (MSCI EAFE, MSCI EM). Funds tracking FTSE or S&P index families — which classify markets such as South Korea differently — can legitimately diverge from these MSCI benchmarks over a given period; this reflects index construction, not a data issue.
- Scoring anchors and label bands are fixed absolute thresholds, validated once against the universe as a sanity check and held constant across refreshes and market regimes; they are not refit to the current universe.
Scores do not account for individual tax circumstances, investment horizons, liquidity needs, or personal financial goals. ETFVision does not have knowledge of users' broader financial situation. All outputs should be considered alongside advice from a qualified financial professional.