def evaluate_returns(self, sampling_frequency = 'D', strategy_names = None, plot = True, float_precision = 4): '''Returns a dictionary of common return metrics. Args: sampling_frequency: Date frequency. Default 'D' for daily so we downsample to daily returns before computing metrics strategy_names: A list of strategy names. By default this is set to None and we use all strategies. plot: If set to True, display plots of equity, drawdowns and returns. Default False float_precision: Number of significant figures to show in returns. Default 4 ''' returns = self.df_returns(sampling_freq, strategy_names) ev = compute_return_metrics(returns.timestamp.values, returns.ret.values, returns.equity.values[0]) display_return_metrics(ev.metrics(), float_precision = float_precision) if plot: plot_return_metrics(ev.metrics()) return ev.metrics()
def evaluate_returns(self, symbol=None, plot=True, float_precision=4): '''Returns a dictionary of common return metrics. Args: symbol (str): Date frequency. Default 'D' for daily so we downsample to daily returns before computing metrics plot (bool): If set to True, display plots of equity, drawdowns and returns. Default False float_precision (float, optional): Number of significant figures to show in returns. Default 4 ''' returns = self.df_returns(symbol) ev = compute_return_metrics(returns.index.values, returns.ret.values, self.account.starting_equity) display_return_metrics(ev.metrics(), float_precision=float_precision) if plot: plot_return_metrics(ev.metrics()) return ev.metrics()
def evaluate_returns(self, contract_group = None, plot = True, display_summary = True, float_precision = 4): '''Returns a dictionary of common return metrics. Args: contract_group (:obj:`ContractGroup`, optional): Contract group to evaluate or None (default) for all contract groups plot (bool): If set to True, display plots of equity, drawdowns and returns. Default False float_precision (float, optional): Number of significant figures to show in returns. Default 4 ''' returns = self.df_returns(contract_group) ev = compute_return_metrics(returns.timestamp.values, returns.ret.values, self.account.starting_equity) if display_summary: display_return_metrics(ev.metrics(), float_precision = float_precision) if plot: plot_return_metrics(ev.metrics()) return ev.metrics()