Sample US portfolio: 8 stocks, 2 ETFs. Risk-adjusted returns, attribution, peer checks and rebalancing ideas.
Total return, dividends reinvested.
Fall from the previous peak.
Each stock is compared with its sector ETF over the same period. "Lagging" = behind its peer over the period AND in most calendar quarters. Opportunity cost = what the position would have earned extra had the same dollars sat in the peer ETF.
Percentage points over the period.
Single-period Brinson split by asset class, start-of-period weights.
How many percentage points of the portfolio return each sector delivered, and whether stock picks beat the sector ETF.
Built from the realised daily return distribution in the selected period. These describe the range of outcomes the current mix has historically produced, not a forecast.
Generated from the numbers above using fixed rules. In a real engagement each one is reviewed against your goals, taxes and constraints.
Data. Daily adjusted closing prices (splits and dividends included) from Yahoo Finance, . Risk-free rate from the 13-week T-bill yield (^IRX), converted to a daily rate.
Portfolio. Buy and hold from the start date at the target weights shown in the holdings table, so weights drift with prices. No trading costs or taxes.
Returns. Total return and CAGR from the portfolio value series. Annualised volatility = daily standard deviation x √252.
Sharpe and Sortino. Mean daily excess return over the T-bill rate, annualised, divided by annualised volatility (Sharpe) or downside deviation (Sortino).
Beta and alpha. Beta = covariance of daily portfolio and benchmark returns / benchmark variance. Alpha is Jensen's alpha, annualised: portfolio excess return minus beta x benchmark excess return.
Tracking error and information ratio. Annualised standard deviation of daily active return, and annualised active return divided by it.
Attribution. Brinson-Fachler by asset class. Allocation = (portfolio weight - benchmark weight) x (class benchmark return - total benchmark return). Selection = portfolio weight x (class return - class benchmark return), interaction included. A benchmark rebalancing line closes the gap to the daily-rebalanced benchmark exactly.
Peer check. Each stock against its SPDR sector ETF (XLK, XLF, XLV, XLE, XLP). Quarterly hit rate = share of calendar quarters in the period where the stock beat its peer.
Forward risk. Historical 1-day VaR and CVaR at 95%, and a 1-year range from annualised mean and volatility (normal approximation, 5th to 95th percentile).