How rishabhzn200/agentic-stock-analysis works
This is a stock-analysis application offering both model-only prediction and an agentic, news-aware report. The primary agent workflow runs ticker metadata, LLM query planning, news retrieval, sentiment analysis, ML prediction, signal alignment, and report summarization; a separate API route exposes model-only prediction with optional explanation. The graph wiring, API routes, predictor, training, and news-service relationships are supported by excerpts or README statements. Several node implementations are unsampled, so their internal dependencies are omitted rather than inferred.
Main entry points: graph.py Agent graph · service.py News aggregation · predictor.py Stock predictor · routes.py Analysis routes
Components 27
API and entrypoints
- Analysis routes
src/agentic_stock_analysis/api/routes.py - Request schemas
src/agentic_stock_analysis/api_models/schemas.py - CLI
src/agentic_stock_analysis/cli.py
Analysis agent
- Agent graph
src/agentic_stock_analysis/agent/graph.py - Workflow state
src/agentic_stock_analysis/agent/state.py - Ticker metadata
src/agentic_stock_analysis/agent/nodes/metadata.py - News query planning
src/agentic_stock_analysis/agent/nodes/plan_news_query.py - News node
src/agentic_stock_analysis/agent/nodes/news.py - News sentiment
src/agentic_stock_analysis/agent/nodes/news_sentiment.py - Agent prediction
src/agentic_stock_analysis/agent/nodes/predict.py - Signal alignment
src/agentic_stock_analysis/agent/nodes/alignment.py - Report summary
src/agentic_stock_analysis/agent/nodes/summarize.py
Market data and ML
- Stock predictor
src/agentic_stock_analysis/ml/predictor.py - Technical features
src/agentic_stock_analysis/ml/features.py - Classifier and artifact
src/agentic_stock_analysis/ml/model.py - Model training
src/agentic_stock_analysis/ml/training.py - Ticker universe
src/agentic_stock_analysis/ml/ticker_data.py - Historical prices
src/agentic_stock_analysis/services/fetch_data.py
News retrieval
- News aggregation
src/agentic_stock_analysis/news/service.py - Article deduplication
src/agentic_stock_analysis/news/dedupe.py - Article sorting
src/agentic_stock_analysis/news/news_sorter.py - NewsAPI provider
src/agentic_stock_analysis/news/providers/newsapi.py - StockNews provider
src/agentic_stock_analysis/news/providers/stocknews.py - yfinance news
src/agentic_stock_analysis/news/providers/yfinance_news.py
LLM explanation
- Prediction explainer
src/agentic_stock_analysis/llm/explainer.py
Other components
- Analyst
- OpenAI LLM
Connections 32
- Analyst → Analysis routes: submits analysis
- Analysis routes → Request schemas: validates requests
src/agentic_stock_analysis/api/routes.py - Analysis routes → Stock predictor: runs prediction
src/agentic_stock_analysis/api/routes.py - Analysis routes → Agent graph: invokes agent
src/agentic_stock_analysis/api/routes.py - Analysis routes → Prediction explainer: requests explanation
src/agentic_stock_analysis/api/routes.py - CLI → Stock predictor: runs prediction
src/agentic_stock_analysis/cli.py - CLI → Prediction explainer: requests explanation
- Agent graph → Ticker metadata: dispatches first
src/agentic_stock_analysis/agent/graph.py - Agent graph → News query planning: dispatches next
src/agentic_stock_analysis/agent/graph.py - Agent graph → News node: dispatches next
src/agentic_stock_analysis/agent/graph.py - Agent graph → News sentiment: dispatches next
src/agentic_stock_analysis/agent/graph.py - Agent graph → Agent prediction: dispatches next
src/agentic_stock_analysis/agent/graph.py - Agent graph → Signal alignment: dispatches next
src/agentic_stock_analysis/agent/graph.py - Agent graph → Report summary: dispatches last
src/agentic_stock_analysis/agent/graph.py - News query planning → OpenAI LLM: plans terms
src/agentic_stock_analysis/agent/nodes/plan_news_query.py - News node → News aggregation: retrieves articles
src/agentic_stock_analysis/agent/nodes/news.py - Agent prediction → Stock predictor: requests prediction
src/agentic_stock_analysis/agent/nodes/predict.py - Report summary → OpenAI LLM: generates report
- News sentiment → OpenAI LLM: analyzes sentiment
- News aggregation → NewsAPI provider: fetches articles
src/agentic_stock_analysis/news/service.py - News aggregation → StockNews provider: fetches articles
src/agentic_stock_analysis/news/service.py - News aggregation → yfinance news: falls back
src/agentic_stock_analysis/news/service.py - Stock predictor → Historical prices: downloads prices
src/agentic_stock_analysis/ml/predictor.py - Stock predictor → Technical features: computes indicators
src/agentic_stock_analysis/ml/predictor.py - Stock predictor → Classifier and artifact: loads and predicts
src/agentic_stock_analysis/ml/predictor.py - Model training → Ticker universe: selects tickers
src/agentic_stock_analysis/ml/training.py - Model training → Historical prices: fetches history
src/agentic_stock_analysis/ml/training.py - Model training → Technical features: builds features
src/agentic_stock_analysis/ml/training.py - Model training → Classifier and artifact: trains classifier
src/agentic_stock_analysis/ml/training.py - News aggregation → Article deduplication: merges duplicates
src/agentic_stock_analysis/news/service.py - News aggregation → Article sorting: sorts articles
src/agentic_stock_analysis/news/service.py - Prediction explainer → OpenAI LLM: requests explanation
src/agentic_stock_analysis/llm/explainer.py