diff --git a/pyfolio/plotting.py b/pyfolio/plotting.py index bd3401366..da1f6800a 100644 --- a/pyfolio/plotting.py +++ b/pyfolio/plotting.py @@ -791,7 +791,7 @@ def cone(in_sample_returns (pd.Series), if factor_returns is not None: cum_factor_returns = ep.cum_returns( - factor_returns[cum_rets.index], 1.0) + factor_returns.reindex(index=cum_rets.index), 1.0) cum_factor_returns.plot(lw=2, color='gray', label=factor_returns.name, alpha=0.60, ax=ax, **kwargs) diff --git a/pyfolio/round_trips.py b/pyfolio/round_trips.py index 05c2eaad5..36f01a28c 100644 --- a/pyfolio/round_trips.py +++ b/pyfolio/round_trips.py @@ -77,12 +77,12 @@ def agg_all_long_short(round_trips, col, stats_dict): stats_all = (round_trips .assign(ones=1) .groupby('ones')[col] - .agg(stats_dict) + .agg(**stats_dict) .T .rename(columns={1.0: 'All trades'})) stats_long_short = (round_trips .groupby('long')[col] - .agg(stats_dict) + .agg(**stats_dict) .T .rename(columns={False: 'Short trades', True: 'Long trades'})) @@ -378,7 +378,7 @@ def gen_round_trip_stats(round_trips): RETURN_STATS) stats['symbols'] = \ - round_trips.groupby('symbol')['returns'].agg(RETURN_STATS).T + round_trips.groupby('symbol')['returns'].agg(**RETURN_STATS).T return stats diff --git a/pyfolio/txn.py b/pyfolio/txn.py index 9fb8db10c..b5d857f89 100644 --- a/pyfolio/txn.py +++ b/pyfolio/txn.py @@ -202,5 +202,6 @@ def get_turnover(positions, transactions, denominator='AGB'): denom.index = denom.index.normalize() turnover = traded_value.div(denom, axis='index') - turnover = turnover.fillna(0) + with pd.option_context('mode.use_inf_as_na', True): + turnover = turnover.fillna(0) return turnover