Attribution Analysis#
A portfolio performance attribution framework built on PyArrow for high-performance columnar data processing. It decomposes a portfolio’s active return against a benchmark using two complementary methodologies, and can serve the results in an interactive dashboard.
Two attribution methodologies are supported, and can be enabled independently: see the Attribution Methodology section for the full details.
Configure everything through an Excel parameters workbook — no code required to run an analysis; refer to User Guide to get started.
Interested in collaborating on a custom project? Get in touch at software@kaxanuk.mx
Get Started#
Installation#
Requirements
Python 3.12 or 3.13
Installing
pip install kaxanuk-attribution_analysis --extra-index-url https://license:{YOUR_LICENSE_KEY}@{SERVER}/simple/
Note
The full command with your license key is included ready to copy in the welcome email you receive after purchase.
The same command installs kaxanuk-license-client, the license check KaxaNuk’s libraries share, from the same index.
You can acquire your license here.
Interested in collaborating on a custom project? Get in touch at software@kaxanuk.mx.
Initialize project structure
Open a terminal in your project directory and run:
kaxanuk.attribution_analysis init excel
This creates the following structure:
project-root/ ├── __main__.py # Entry script ├── Config/ │ ├── .env # Environment variables (e.g. FRED_API_KEY) │ └── attribution_analysis_parameters.xlsx # Configuration template ├── Input/ │ ├── Data/ # Market data files (one per ticker) │ ├── Portfolios/ # Portfolio weight files │ ├── Benchmark_Portfolios/ # Benchmark weights + benchmark returns │ └── Factor_Models/ # Per-factor return files └── Output/ # Analysis results
For the full setup walkthrough, see Quick Start.
Discover the fundamentals of Attribution Analysis, learn how to set up your environment, and explore the essential features and workflows to get started quickly.
Understand how Brinson-Fachler and the Factor Model decompose active return, and how each maps onto the library’s attribution interfaces.
Dive into the comprehensive API documentation, including entities, interfaces, input handlers, pipelines, and the CLI.
Browse the full history of changes, improvements, fixes and new features across releases.