From 50280186246baf46eef5864e3d910b6d9dd93c69 Mon Sep 17 00:00:00 2001 From: Daniel Shashko Date: Tue, 31 Mar 2026 01:41:53 +0300 Subject: [PATCH] fix: add missing json import, complete risk_manager rename, use curr_date param - Add missing import json at module level in bright_data.py (removed inline but never added to top) - Rename reflect_portfolio_manager -> reflect_risk_manager in reflection.py to match trading_graph.py - Use curr_date parameter in get_social_sentiment search query - Remove unused company_name variable in social_media_analyst.py --- tradingagents/agents/analysts/social_media_analyst.py | 1 - tradingagents/dataflows/bright_data.py | 6 +++++- tradingagents/graph/reflection.py | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tradingagents/agents/analysts/social_media_analyst.py b/tradingagents/agents/analysts/social_media_analyst.py index 673cab25..81298b90 100644 --- a/tradingagents/agents/analysts/social_media_analyst.py +++ b/tradingagents/agents/analysts/social_media_analyst.py @@ -8,7 +8,6 @@ def create_social_media_analyst(llm): def social_media_analyst_node(state): current_date = state["trade_date"] ticker = state["company_of_interest"] - company_name = state["company_of_interest"] # Check if bright_data vendor is configured for social sentiment config = get_config() diff --git a/tradingagents/dataflows/bright_data.py b/tradingagents/dataflows/bright_data.py index dcf239d4..e4038e00 100644 --- a/tradingagents/dataflows/bright_data.py +++ b/tradingagents/dataflows/bright_data.py @@ -7,6 +7,7 @@ in clean markdown format. No HTML parsing needed. - Web Unlocker docs: https://docs.brightdata.com/scraping-automation/web-unlocker/introduction """ +import json import os import requests from datetime import datetime, timedelta @@ -294,8 +295,11 @@ def get_social_sentiment(ticker: str, curr_date: str = "") -> str: Formatted string containing social media sentiment data. """ try: + query = f"{ticker} stock reddit wallstreetbets sentiment discussion" + if curr_date: + query += f" {curr_date}" results = _search_and_fetch( - query=f"{ticker} stock reddit wallstreetbets sentiment discussion", + query=query, num_results=5, fetch_content=True, max_content_length=3000, diff --git a/tradingagents/graph/reflection.py b/tradingagents/graph/reflection.py index 85438595..e9533700 100644 --- a/tradingagents/graph/reflection.py +++ b/tradingagents/graph/reflection.py @@ -110,12 +110,12 @@ Adhere strictly to these instructions, and ensure your output is detailed, accur ) invest_judge_memory.add_situations([(situation, result)]) - def reflect_portfolio_manager(self, current_state, returns_losses, portfolio_manager_memory): - """Reflect on portfolio manager's decision and update memory.""" + def reflect_risk_manager(self, current_state, returns_losses, risk_manager_memory): + """Reflect on risk manager's decision and update memory.""" situation = self._extract_current_situation(current_state) judge_decision = current_state["risk_debate_state"]["judge_decision"] result = self._reflect_on_component( - "PORTFOLIO MANAGER", judge_decision, situation, returns_losses + "RISK MANAGER", judge_decision, situation, returns_losses ) - portfolio_manager_memory.add_situations([(situation, result)]) + risk_manager_memory.add_situations([(situation, result)])