freqtrade/freqtrade · error · OperationalException

Duplicate column name {date_column} exists in dataframe! Ens

Error message

Duplicate column name {date_column} exists in dataframe! Ensure column names are unique!

What it means

Error "Duplicate column name {date_column} exists in dataframe! Ensure column names are unique!" thrown in freqtrade/freqtrade.

Source

Thrown at freqtrade/strategy/informative_decorator.py:309

        formatter = fmt  # A custom user-specified formatter function.
    else:
        formatter = fmt.format  # A default string formatter.

    fmt_args: dict[str, str] = {
        **__get_pair_formats(market),
        "asset": asset,
        "timeframe": timeframe,
    }
    cache_enabled = cache is not None
    inf_dataframe = inf_dataframe.rename(
        columns=lambda column: _format_informative_column(
            column, formatter, fmt_args, preserve_date_merge=cache_enabled
        )
    )

    date_column = _format_informative_column("date", formatter, fmt_args)
    if date_column in dataframe.columns:
        raise OperationalException(
            f"Duplicate column name {date_column} exists in "
            f"dataframe! Ensure column names are unique!"
        )
    if cache_enabled:
        dataframe = _merge_prepared_informative_pair(
            dataframe,
            _PreparedInformative(inf_dataframe, _INFORMATIVE_DATE_MERGE),
            ffill=inf_data.ffill,
        )
    else:
        dataframe = merge_informative_pair(
            dataframe,
            inf_dataframe,
            strategy.timeframe,
            timeframe1,
            ffill=inf_data.ffill,
            append_timeframe=False,
            date_column=date_column,

View on GitHub (pinned to 1c8edfe4d1)

Solutions

  1. Use unique column names across merged informative dataframes; add distinct suffixes via the informative() decorator.
  2. Rename the conflicting column in one of the informative definitions.

Example fix

Check for duplicate columns before merge:
if date_column in dataframe.columns:
    raise OperationalException(f'Duplicate column name {date_column} exists in dataframe! Ensure column names are unique!')

When it happens

Trigger: Thrown at freqtrade/strategy/informative_decorator.py:309 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of freqtrade/freqtrade@1c8edfe4d1 (2026-08-15). Data as JSON: /api/errors/4ea0d05de7024dda. Report an issue: GitHub.