Performance Attribution

Analyze how a portfolio or asset performed over time and attribute returns to factor exposures.

This feature is experimental. Results may be incomplete or inaccurate.
Privacy: We do not save or store your portfolio data. Everything is processed only in your browser session.

Upload Returns CSV

Upload a CSV file with columns: date, return (daily returns as decimals, e.g., 0.01 for 1%)

OR

Manual Entry

Enter daily returns manually (date, return - one per line)

Methodology

Rolling Window OLS Regression: Factor exposures (betas) are estimated using a rolling window approach with ordinary least squares (OLS) regression.

  • Lookback Window: Betas are estimated using historical data (default: 252 trading days ≈ 1 year). You can adjust this from 126 days (6 months) to 756 days (3 years).
  • Reestimation Frequency: Factor exposures are re-estimated every 21 trading days (≈ 1 month) to capture changing exposures over time.
  • Time-Varying Exposures: Because exposures change over time, a factor's contribution to return equals the sum of daily contributions: Σ(beta_t × factor_return_t), not simply average_beta × total_factor_return.
  • Factor Attribution: Each factor's contribution shows how much of your portfolio's return was explained by exposure to that factor throughout the period.
  • Alpha (Residual): The portion of return not explained by factor exposures, representing stock selection or other sources of return.
  • R²: Measures how well the factor model explains your portfolio's returns (higher is better, 1.0 = perfect fit).