famafrench.utils.grouped_vwAvg¶
-
famafrench.utils.
grouped_vwAvg
(df0, col_values, col_weights, *groupby_args, **groupby_kwargs)[source]¶ Calculate (net) weighted portfolio return for portfolio with weights
col_weights
within a group or groups.- Parameters
df0 (pandas.DataFrame) – Dataset containing firm-level stock returns and portfolio weights, both indexed by dates and firm identifiers when required.
col_weights (str) – Column containing the portfolio weights.
group_args (list, str, [optional]) – args to pass into groupby (ie the level to group on).
group_kwargs (list, str, [optional]) – kwargs to pass into groupby.
- Returns
df1 – Original dataset augmented w/ value-weighted returns.
- Return type
Note
Function is FASTER than
pandas.core.groupby.GroupBy.apply()
since it avoids non-optimized aggregation.