From a7bcf063c37b977b0bae817708f29fe61ee6dbb4 Mon Sep 17 00:00:00 2001 From: Frederic Fortier Date: Tue, 12 Dec 2017 13:52:45 -0500 Subject: [PATCH] BLD: improved stats display in live mode --- catalyst/exchange/exchange_algorithm.py | 1 - catalyst/exchange/stats_utils.py | 19 +++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/catalyst/exchange/exchange_algorithm.py b/catalyst/exchange/exchange_algorithm.py index b81a3132..cc82b8aa 100644 --- a/catalyst/exchange/exchange_algorithm.py +++ b/catalyst/exchange/exchange_algorithm.py @@ -23,7 +23,6 @@ import pandas as pd import catalyst.protocol as zp from catalyst.algorithm import TradingAlgorithm -from catalyst.assets._assets import TradingPair from catalyst.constants import LOG_LEVEL from catalyst.exchange.exchange_blotter import ExchangeBlotter from catalyst.exchange.exchange_errors import ( diff --git a/catalyst/exchange/stats_utils.py b/catalyst/exchange/stats_utils.py index 052f3e2d..faa378ba 100644 --- a/catalyst/exchange/stats_utils.py +++ b/catalyst/exchange/stats_utils.py @@ -242,11 +242,19 @@ def prepare_stats(stats, recorded_cols=list()): lambda transactions: len(transactions) ) - df.set_index(index_cols, drop=True, inplace=True) + if asset_cols: + columns = asset_cols + df.set_index(index_cols, drop=True, inplace=True) + + else: + columns = index_cols + columns.remove('period_close') + df.set_index('period_close', drop=False, inplace=True) + df.dropna(axis=1, how='all', inplace=True) df.sort_index(axis=0, level=0, inplace=True) - return df, asset_cols + return df, columns def get_pretty_stats(stats, recorded_cols=None, num_rows=10): @@ -268,13 +276,8 @@ def get_pretty_stats(stats, recorded_cols=None, num_rows=10): """ if isinstance(stats, pd.DataFrame): - # df = stats - # columns = [ - # 'period_close', 'starting_cash', 'ending_cash', 'portfolio_value', - # 'pnl', 'long_exposure', 'short_exposure', 'orders', 'transactions', - # ] stats = stats.T.to_dict().values() - # else: + df, columns = prepare_stats(stats, recorded_cols=recorded_cols) pd.set_option('display.expand_frame_repr', False)