Source code for tradeexecutor.cli.blacklist

"""Blacklist helpers"""
import pandas as pd

from tradeexecutor.state.state import State
from tradeexecutor.strategy.trading_strategy_universe import TradingStrategyUniverse
from tradingstrategy.chain import ChainId


[docs]def display_blacklist(state: State, strategy_universe: TradingStrategyUniverse) -> pd.DataFrame: """Display the blacklisted assets in a DataFrame.""" rows = [] all_trades = list(state.portfolio.get_all_trades()) all_trades.reverse() for asset in state.blacklisted_assets: last_trade = pair = None for trade in all_trades: if trade.pair.base == asset: last_trade = trade pair = trade.pair break reason = state.blacklist_reason.get(asset.get_identifier()) entry = { "Chain": ChainId(asset.chain_id).get_name(), "Token": asset.token_symbol, "Address": asset.address, "Last trade id": last_trade.trade_id if last_trade else "-", "Last trade at": last_trade.executed_at if last_trade else "-", "Reason": reason or "-", "Risk score": pair.get_risk_score() if pair else "-", } rows.append(entry) df = pd.DataFrame(rows) if len(df) > 0: df = df.set_index("Address") return df