performance-attribution

Decompose portfolio returns into allocation, selection, and factor components.

164|33|Updated Feb 15, 2026
One-click install
npx skills add https://github.com/JoelLewis/finance_skills --skill performance-attribution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: performance-attribution
Source: https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/performance-attribution
Command: npx skills add https://github.com/JoelLewis/finance_skills --skill performance-attribution

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps you understand precisely where your investment portfolio's returns came from, breaking down performance into actionable components like asset allocation, security selection, and factor exposures.

Core Features & Use Cases

  • Decompose Returns: Analyze how much of your return was due to strategic allocation decisions versus individual security picks.
  • Factor Analysis: Identify the impact of market factors (like size, value, momentum) on your portfolio's performance.
  • Fixed Income & Currency: Understand performance drivers specific to bonds and international investments.
  • Use Case: After a quarter where your portfolio underperformed the benchmark, use this Skill to determine if it was because you were in the wrong sectors (allocation) or if your chosen stocks within those sectors performed poorly (selection).

Quick Start

Use the performance-attribution skill to decompose the portfolio returns for the last quarter, comparing it against the benchmark index.

Frequently Asked Questions about performance-attribution

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decompose portfolio returns to understand allocation vs selection effects?

To decompose portfolio returns, you use Brinson-Fachler equity attribution to isolate allocation effects from security selection. This breaks down performance into actionable components, showing exactly how much return came from strategic asset allocation versus individual stock picks.

What is factor-based attribution and how does it identify systematic risk drivers?

Factor-based attribution identifies the impact of systematic market factors like size, value, and momentum on your portfolio's performance. It analyzes your portfolio's factor exposures to determine which market drivers generated your returns using returns-based or holdings-based methodologies.

Can I analyze fixed-income drivers and currency impacts for international portfolios?

Yes, you can analyze fixed-income drivers and currency impacts for international portfolios. The analysis handles asset class specific performance drivers, isolating how currency movements and bond selection contributed to your overall international portfolio returns.

Does performance attribution work with numpy for multi-period geometric linking?

Yes, performance attribution requires Python scripts and depends on numpy to handle multi-period geometric linking. It processes quantitative analysis tasks, calculating compounded attribution effects across multiple periods using numpy arrays for numerical operations.

When should I use holdings-based attribution versus returns-based attribution?

Use holdings-based attribution when you have complete portfolio holdings data to analyze specific security level drivers. Use returns-based attribution when you only have portfolio return series, analyzing systematic factor exposures through regression against market factors.

What is the best way to analyze portfolio underperformance against a benchmark?

The best way to analyze portfolio underperformance against a benchmark is using Brinson-Fachler attribution to determine if the deficit originated from allocation decisions in wrong sectors or poor security selection within those sectors.