mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-09-27 15:02:39 +03:00
chore(agents): remove the deprecated social media analyst names
- the social_media_analyst module and the create_social_media_analyst alias; use create_sentiment_analyst
This commit is contained in:
@@ -1,10 +1,7 @@
|
|||||||
from .analysts.fundamentals_analyst import create_fundamentals_analyst
|
from .analysts.fundamentals_analyst import create_fundamentals_analyst
|
||||||
from .analysts.market_analyst import create_market_analyst
|
from .analysts.market_analyst import create_market_analyst
|
||||||
from .analysts.news_analyst import create_news_analyst
|
from .analysts.news_analyst import create_news_analyst
|
||||||
from .analysts.sentiment_analyst import (
|
from .analysts.sentiment_analyst import create_sentiment_analyst
|
||||||
create_sentiment_analyst,
|
|
||||||
create_social_media_analyst, # deprecated alias kept for back-compat
|
|
||||||
)
|
|
||||||
from .managers.portfolio_manager import create_portfolio_manager
|
from .managers.portfolio_manager import create_portfolio_manager
|
||||||
from .managers.research_manager import create_research_manager
|
from .managers.research_manager import create_research_manager
|
||||||
from .researchers.bear_researcher import create_bear_researcher
|
from .researchers.bear_researcher import create_bear_researcher
|
||||||
@@ -32,6 +29,5 @@ __all__ = [
|
|||||||
"create_portfolio_manager",
|
"create_portfolio_manager",
|
||||||
"create_conservative_debator",
|
"create_conservative_debator",
|
||||||
"create_sentiment_analyst",
|
"create_sentiment_analyst",
|
||||||
"create_social_media_analyst", # deprecated; will be removed in a future version
|
|
||||||
"create_trader",
|
"create_trader",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,31 +1,19 @@
|
|||||||
"""Sentiment analyst — multi-source sentiment analysis for a target ticker.
|
"""Sentiment analyst: one sentiment report from three sources.
|
||||||
|
|
||||||
Previously named ``social_media_analyst``. Renamed and redesigned because
|
The node fetches its sources before calling the model and puts them in the
|
||||||
the old version had a prompt that demanded social-media analysis but the
|
prompt, so the model reports on data it was given rather than inventing posts:
|
||||||
only tool available was Yahoo Finance news — which led LLMs to fabricate
|
|
||||||
Reddit/X/StockTwits content under prompt pressure (verified live).
|
|
||||||
|
|
||||||
The redesigned agent pre-fetches three complementary data sources before
|
1. News headlines: Yahoo Finance
|
||||||
the LLM is invoked and injects them into the prompt as structured blocks:
|
2. StockTwits messages: the cashtag stream, with Bullish/Bearish tags
|
||||||
|
3. Reddit posts: r/wallstreetbets, r/stocks, r/investing
|
||||||
|
|
||||||
1. News headlines — Yahoo Finance (institutional framing)
|
Each source is trimmed to the analysis window. These feeds serve recent items
|
||||||
2. StockTwits messages — retail-trader posts indexed by cashtag, with
|
and are not archived, so a historical run's sentiment inputs are not
|
||||||
user-labeled Bullish/Bearish sentiment tags
|
point-in-time.
|
||||||
3. Reddit posts — r/wallstreetbets, r/stocks, r/investing
|
|
||||||
|
|
||||||
Each source is trimmed to the analysis window. These text feeds serve recent
|
The report is a SentimentReport through structured output where the provider
|
||||||
items and are not archived as of a past date, so sentiment inputs for a
|
supports it and free text otherwise, so the band, score and confidence header
|
||||||
historical run are not guaranteed to be point-in-time.
|
reads the same across providers.
|
||||||
|
|
||||||
The agent does not use tool-calling; the data is in the prompt from
|
|
||||||
turn 0. Output uses the structured-output pattern (json_schema for
|
|
||||||
OpenAI/xAI, response_schema for Gemini, tool-use for Anthropic), falling
|
|
||||||
back to free-text generation for providers that lack native support, so
|
|
||||||
the sentiment header (band + score + confidence) is deterministic across
|
|
||||||
runs and providers instead of free-form per-model prose.
|
|
||||||
|
|
||||||
See: https://github.com/TauricResearch/TradingAgents/issues/557
|
|
||||||
See: https://github.com/TauricResearch/TradingAgents/issues/796
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
@@ -193,25 +181,3 @@ Fill the following fields:
|
|||||||
- **narrative**: Full source-by-source breakdown, divergences, dominant narrative themes, catalysts and risks, and a markdown summary table of key sentiment signals (direction, source, supporting evidence).
|
- **narrative**: Full source-by-source breakdown, divergences, dominant narrative themes, catalysts and risks, and a markdown summary table of key sentiment signals (direction, source, supporting evidence).
|
||||||
|
|
||||||
{get_language_instruction()}"""
|
{get_language_instruction()}"""
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# Backwards-compatibility shim
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
def create_social_media_analyst(llm):
|
|
||||||
"""Deprecated alias for :func:`create_sentiment_analyst`.
|
|
||||||
|
|
||||||
Kept so existing code that imports ``create_social_media_analyst``
|
|
||||||
continues to work.
|
|
||||||
|
|
||||||
.. deprecated::
|
|
||||||
Import :func:`create_sentiment_analyst` directly instead.
|
|
||||||
"""
|
|
||||||
import warnings
|
|
||||||
warnings.warn(
|
|
||||||
"create_social_media_analyst is deprecated and will be removed in a "
|
|
||||||
"future version. Use create_sentiment_analyst instead.",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return create_sentiment_analyst(llm)
|
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
"""Backwards-compatibility shim for the renamed module.
|
|
||||||
|
|
||||||
The agent is now ``sentiment_analyst`` and aggregates Yahoo Finance news,
|
|
||||||
StockTwits cashtag streams, and Reddit posts into a single sentiment
|
|
||||||
report. Import from ``tradingagents.agents.analysts.sentiment_analyst``
|
|
||||||
going forward; this module will be removed in a future release.
|
|
||||||
|
|
||||||
See: https://github.com/TauricResearch/TradingAgents/issues/557
|
|
||||||
"""
|
|
||||||
|
|
||||||
import warnings as _warnings
|
|
||||||
|
|
||||||
from tradingagents.agents.analysts.sentiment_analyst import ( # noqa: F401
|
|
||||||
create_sentiment_analyst,
|
|
||||||
create_social_media_analyst,
|
|
||||||
)
|
|
||||||
|
|
||||||
_warnings.warn(
|
|
||||||
"tradingagents.agents.analysts.social_media_analyst is deprecated. "
|
|
||||||
"Import from tradingagents.agents.analysts.sentiment_analyst instead.",
|
|
||||||
DeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
@@ -66,7 +66,7 @@ class GraphSetup:
|
|||||||
Args:
|
Args:
|
||||||
selected_analysts (list): List of analyst types to include. Options are:
|
selected_analysts (list): List of analyst types to include. Options are:
|
||||||
- "market": Market analyst
|
- "market": Market analyst
|
||||||
- "social": Social media analyst
|
- "social": Sentiment analyst
|
||||||
- "news": News analyst
|
- "news": News analyst
|
||||||
- "fundamentals": Fundamentals analyst
|
- "fundamentals": Fundamentals analyst
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user