From 4aeaf09a2cba1c5b3682a79ab8e5d3b5cc1ac1c0 Mon Sep 17 00:00:00 2001 From: Charlie Tonneslan Date: Mon, 23 Mar 2026 09:41:40 -0400 Subject: [PATCH] Return error message instead of raising on unsupported indicators When the LLM agent requests an indicator that isn't supported (e.g. 'agt'), the function was raising a ValueError which crashed the Market Analyst. Now it returns an error string that tells the agent which indicators are available, allowing it to self-correct and retry with a valid indicator. Applied to both yfinance and alpha_vantage indicator functions. Fixes #429 --- tradingagents/dataflows/alpha_vantage_indicator.py | 7 +++++-- tradingagents/dataflows/y_finance.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tradingagents/dataflows/alpha_vantage_indicator.py b/tradingagents/dataflows/alpha_vantage_indicator.py index 6225b9bb..39424bcc 100644 --- a/tradingagents/dataflows/alpha_vantage_indicator.py +++ b/tradingagents/dataflows/alpha_vantage_indicator.py @@ -58,8 +58,11 @@ def get_indicator( } if indicator not in supported_indicators: - raise ValueError( - f"Indicator {indicator} is not supported. Please choose from: {list(supported_indicators.keys())}" + supported = ", ".join(supported_indicators.keys()) + return ( + f"Error: Indicator '{indicator}' is not supported. " + f"Supported indicators: {supported}. " + f"Please retry with one of the supported indicators." ) curr_date_dt = datetime.strptime(curr_date, "%Y-%m-%d") diff --git a/tradingagents/dataflows/y_finance.py b/tradingagents/dataflows/y_finance.py index b915490d..44492ce1 100644 --- a/tradingagents/dataflows/y_finance.py +++ b/tradingagents/dataflows/y_finance.py @@ -129,8 +129,11 @@ def get_stock_stats_indicators_window( } if indicator not in best_ind_params: - raise ValueError( - f"Indicator {indicator} is not supported. Please choose from: {list(best_ind_params.keys())}" + supported = ", ".join(best_ind_params.keys()) + return ( + f"Error: Indicator '{indicator}' is not supported. " + f"Supported indicators: {supported}. " + f"Please retry with one of the supported indicators." ) end_date = curr_date