Repository navigation
Releases: JohnDReynolds/perfattr
Release list
perfattr 0.12.0
perfattr 0.12.0 makes the complete source-neutral attribution package available as a
stable installation. It includes:
- pandas DataFrame and CSV preparation with validation, selection, period alignment,
fixed-frequency consolidation, and static or effective-dated classifications; - Brinson-Fachler and Brinson-Hood-Beebower two- and three-effect calculations with
Carino, Frongello, or Menchero arithmetic effect linking; - separate geometric attribution, hierarchical result roll-up, Karnosky-Singer
currency attribution, and multi-period currency roll-up; - deterministic result frames with explicit financial reconciliation; and
- public onboarding documentation and Python 3.11–3.14 support.
The release also preserves the exact one-period Menchero identity across platform math
libraries. It adds no runtime dependency beyond NumPy and pandas.
perfattr 0.12.0a1
Adds independently validated multi-period currency-attribution roll-up with cumulative log returns and effects, full-horizon market and currency identifier effects, positive reconciliation evidence, and direct performance coverage.
perfattr 0.11.0a1
Adds a separate, single-period Karnosky-Singer currency-attribution family.
- Accepts separate portfolio and benchmark market and currency frames.
- Reports four explicit, reconciled log-effect channels.
- Preserves all existing domestic attribution APIs, schemas, defaults, and ppar behavior.
- Supports Python 3.11 through 3.14 with pandas and NumPy as the only runtime dependencies.
perfattr 0.10.0a1
Adds a separate Bacon/Burnie geometric excess-return attribution boundary with identifier-period effects, compounded cumulative prefixes, authoritative-contribution support, and explicit multiplicative reconciliation.\n\nThe existing arithmetic attribution APIs, defaults, schemas, dependencies, and ppar integration remain unchanged.
perfattr 0.9.0a1
Adds an opt-in hierarchical result roll-up boundary that aggregates already calculated leaf attribution into a validated static parent forest without recalculating Brinson effects. Includes deterministic parent-period and horizon frames, complete hierarchy validation, and parent/root reconciliation evidence.
perfattr 0.8.0a1
perfattr 0.7.0a1
Adds opt-in Frongello recursive effect linking through EffectLinkingMethod.FRONGELLO for all four attribution methods. Carino remains the default, portfolio and benchmark contributions remain logarithmically linked, and public result-frame schemas remain unchanged. Includes independent primary-source fixtures, full reconciliation coverage, direct performance evidence, and unchanged ppar compatibility verification.
perfattr 0.6.0a1
Adds opt-in compact Brinson-Hood-Beebower two-effect attribution. The new method retains BHB allocation and total while absorbing interaction into portfolio-weighted selection, reuses the established two-effect schemas and Carino linking, and preserves all released method behavior.
perfattr 0.5.0a1
Adds opt-in Brinson-Hood-Beebower three-effect attribution while preserving the default Brinson-Fachler two-effect method and the released Brinson-Fachler three-effect method. Reuses the existing three-effect schemas, Carino linking, reconciliation, and portable preparation boundary. Includes independent hand-calculated fixtures, expanded edge-case coverage, updated documentation, released-method compatibility verification, direct-core benchmarks, and the complete unchanged ppar 500x integration gate.
perfattr 0.4.0a1
Adds opt-in Brinson-Fachler three-effect attribution with explicit interaction while preserving the existing two-effect default. Includes method-specific deterministic schemas, reconciliation, linked and cumulative interaction effects, independently calculated fixtures, documentation, and benchmark coverage.