pub struct Attribution {
pub benchmark_return: f64,
}Expand description
Brinson-Hood-Beebower attribution calculator that works directly with Sector slices.
This struct holds the total benchmark return (R_b) used in the allocation effect
formula and exposes the three BHB effect computations as methods.
Fields§
§benchmark_return: f64Total benchmark return used as the benchmark reference in the allocation effect.
Implementations§
Source§impl Attribution
impl Attribution
Sourcepub fn new(benchmark_return: f64) -> Self
pub fn new(benchmark_return: f64) -> Self
Create a new Attribution calculator using the given total benchmark return.
Sourcepub fn allocation_effect(&self, s: &Sector) -> f64
pub fn allocation_effect(&self, s: &Sector) -> f64
Allocation effect for a sector: (w_p - w_b) * (r_b_sector - R_b).
Measures whether the manager added value by over/under-weighting the sector relative to the benchmark, evaluated against the sector’s benchmark return.
Sourcepub fn selection_effect(&self, s: &Sector) -> f64
pub fn selection_effect(&self, s: &Sector) -> f64
Selection effect for a sector: w_b * (r_p - r_b).
Measures whether the manager picked better securities within the sector.
Sourcepub fn interaction_effect(&self, s: &Sector) -> f64
pub fn interaction_effect(&self, s: &Sector) -> f64
Interaction effect for a sector: (w_p - w_b) * (r_p - r_b).
Joint effect of simultaneous over/under-weighting and stock selection.
Sourcepub fn total_active_return(&self, s: &Sector) -> f64
pub fn total_active_return(&self, s: &Sector) -> f64
Total active return for a sector: allocation + selection + interaction.