Methodology & Data Sources
Effective date: August 6, 2026
This page explains how the figures in a PortfolioLab Risk Analyzer report are calculated: what data feeds them, what assumptions they rest on, and what they do not capture. It applies to every report the Service generates, whether run by a prospect on the public site or by an advisor in the portal.
The 5-year backtest is hypothetical, not a track record
The "Portfolio value — 5-year backtest" chart and the risk figures built from it (Value at Risk, CVaR, drawdown, volatility) are hypothetical backtested performance: we take your current holdings and their weights today, and run that fixed mix backward through roughly five years (about 1,260 trading days) of actual historical daily returns for each position. It is not a record of an account you or anyone else actually held — nobody owned this exact mix of positions, at these exact weights, for the whole period. Hypothetical and backtested results have inherent limitations, are shown with the benefit of hindsight, and are not indicative of future results. As stated throughout the report, these are estimates, not guarantees.
What the backtest does and does not include
- No purchases, sales, deposits, or withdrawals: the backtest starts from the positions you hold today and runs that same set of positions backward. It is not a record of what you actually bought, sold, contributed, or withdrew during the period.
- No rebalancing — this is a buy-and-hold path: each position's share count is held fixed across the entire lookback window, so each position's value follows its own price history and the portfolio weights drift exactly as they would in an untouched account. A position that has tripled since 2021 was a proportionally smaller part of the portfolio back then, and the backtest reflects that. No rebalancing trades are simulated, so no rebalancing costs or taxes arise.
This is what the portfolio value chart and the drawdown chart show: the path these exact shares actually took. - The risk figures are struck differently, and deliberately so. Value at Risk, CVaR, annualized volatility, the risk score, and the "Max drawdown" figure in the report's stat tiles are computed with today's weights applied across the whole period — the constant-weight basis that is standard for risk measurement. The reason is that those figures are meant to answer "what does the portfolio I hold now risk?", and a buy-and-hold path cannot answer that: over most of the period the mix was different, so a position that has recently grown into a large share of the portfolio would be measured mostly at its old, smaller weight and its risk would be understated. Holding today's weights constant is itself equivalent to rebalancing to those weights daily, and no such trades, costs, or taxes are modeled.
Consequence: the max drawdown shown in the stat tiles and the deepest decline shown on the drawdown chart are two different measurements of the same period and will not always agree. The drawdown chart's caption states both figures whenever they differ. - Dividends are included wherever our primary market-data source supplies dividend-adjusted prices, which reflects distributions as though they were reinvested. If a position's history comes from our fallback source, whose closes are not dividend-adjusted, the report's on-screen disclosure names that position and states that its distributions are not reflected.
- Cash is excluded. Cash and money-market balances are not analyzed and are not part of the portfolio total, the weights, or the backtest.
- No advisory fees, trading costs, or taxes are deducted from the backtest. A real account's return would be lower by whatever it pays in advisory fees, trading costs, and taxes. Fund expense ratios are not deducted as a separate line either — they are already reflected inside each fund's own price/NAV history, and are reported separately in the fee analysis so you can see what they cost.
- Short positions are included as negative exposure — a short position loses money when its price rises, and that is reflected in the portfolio's value, weights, and backtest.
- Options are valued at their statement premium and excluded from the historical backtest; their strategy-specific risks are discussed separately in the report's Options section.
- Positions our market-data sources cannot verify and price are excluded entirely. A position enters the analysis only when its ticker (or a ticker its CUSIP resolves to) has live price history from our market-data source, with one exception: US Treasury securities whose terms are confirmed via the TreasuryDirect API, which are valued at the statement's printed price (or face value) and modeled with a broad bond-index return proxy, as disclosed in the report. Individual corporate bonds and structured notes have no such API coverage today, so they are listed in the report as excluded rather than analyzed — we never value or model a position from manually entered prices or terms.
How the risk figures are computed
- Value at Risk (VaR) is computed by the historical simulation method: we take the empirical distribution of the portfolio's daily returns over the backtest window and read off the loss at the stated confidence level (95% or 99%) directly from that history, rather than assuming a statistical distribution.
- Conditional VaR / expected shortfall (CVaR) is the average loss across the days in that same historical sample that fell beyond the VaR threshold.
- Annualized volatility is the standard deviation of the portfolio's daily returns over the backtest window, annualized using a 252-trading-day year.
- Maximum drawdown is the largest peak-to-trough decline in the backtested portfolio value index over the window, with the peak and trough dates shown.
- Risk score (1–10) is a marketing-friendly scale derived from annualized volatility — it is our own scale for comparing portfolios at a glance, not a regulatory or industry-standard rating.
Data sources
- Price history: daily adjusted closing prices from Financial Modeling Prep (FMP) where available — adjusted for both stock splits and dividends, so a split is never read as a crash and distributions are reflected as though reinvested. Unadjusted prices are not used. Where FMP does not cover a security, we fall back to a free source whose closes are split-adjusted but not dividend-adjusted; when that happens the report's on-screen disclosure names the affected positions.
- Fundamentals and fees: company and fund fundamentals (valuation ratios, balance-sheet metrics, expense ratios) from FMP where available, supplemented by a bundled reference dataset when a live figure cannot be sourced. The report states, position by position, when a bundled reference figure is used instead of a live one, and as of what date.
- ETF and fund look-through: holdings-level overlap analysis uses each fund's most recently published holdings disclosure, which changes over time and may lag the fund's actual current portfolio. The same disclosure drives the figure showing what your funds' expense ratios cost on your largest look-through stock positions: for each company, the value you hold inside a fund (the fund position's value multiplied by that company's weight in the fund) is multiplied by that fund's expense ratio. That is an attribution of a fee you are already paying, not a saving available on demand — the same expense ratio also pays for the rest of the fund's holdings and the work of running it, and replicating the exposure directly would carry your own trading costs and taxable events. Shares held directly are excluded from the fee, and funds with no expense ratio on file are named and excluded, so the figure is understated rather than estimated.
- Structured-note underlying levels: current and issue-date closing levels for a note's underlying stocks, ETFs, and indexes, also from FMP where available.
- When live data is unavailable for a position, that position is excluded from the analysis and the report says so directly, naming the excluded positions — we do not substitute manually entered prices or fabricated data. Every report generated in our demo/testing environment is labeled "Simulated demo data" and never presented as real market data.
Questions about a specific figure
If you would like more detail on the criteria or assumptions behind any number in your report — including the exact data as of the report date — email us at advisor@portfoliolabco.com referencing the report and we will provide it.
Changes
We may update this page as the Service's methodology evolves; the effective date above reflects the latest revision.