Source code for tradeexecutor.analysis.indicator

"""Indicator diagnostics."""
import pandas as pd

from tradeexecutor.strategy.pandas_trader.indicator_decorator import IndicatorRegistry


[docs]def display_indicators( indicators: IndicatorRegistry, html=True, ) -> pd.DataFrame: """Create human-readable summary of indicators. Example: .. code-block:: python from tradeexecutor.analysis.indicator import display_indicators indicators = IndicatorRegistry() # ... df = display_indicators(indicators) display(df) indicator_data = calculate_and_load_indicators_inline( strategy_universe=strategy_universe, create_indicators=indicators.create_indicators, parameters=parameters, ) :param html: Prepare HTML output with newlines :return: Human-readable table """ assert isinstance(indicators, IndicatorRegistry) # Display indicators diagnostics table indicators_debug_df = indicators.get_diagnostics() print(f"We have {len(indicators_debug_df)} indicators:") def replace_comma_with_newline(text): # print(text) if isinstance(text, str): return text.replace(',', '<br>') return text if html: indicators_debug_df = indicators_debug_df.map(replace_comma_with_newline) return indicators_debug_df