This project demonstrates an AI agent framework for financial analysis using CrewAI.
Instead of a simple sequential workflow, we designed a hierarchical crew with a manager agent that oversees specialized agents.
The system identifies trending companies, conducts thorough research on them, and selects the most promising investment opportunity.
- Hierarchical Process: A manager agent assigns tasks to sub-agents instead of just sequential execution.
- Multiple Specialized Agents:
trending_company_finder→ scans financial news for trending companies.financial_researcher→ produces detailed research reports.stock_picker→ picks the best company for investment.manager→ coordinates the overall workflow.
- Structured Outputs: Used Pydantic models (
TrendingCompanyList,TrendingCompanyResearchList) to enforce reliable structured data. - Custom Tools:
SerperDevToolfor financial news search.PushNotificationToolfor real-time user updates.
- Config Driven: Agents and tasks defined in YAML (
agents.yaml,tasks.yaml) for easy reconfiguration. - Extensible: Supports passing an LLM by model name or delegating to an agent that manages sub-tasks.
- CrewAI – agent orchestration
- SerperDevTool – news search
- Pydantic – structured output validation
- Requests – API calls
- Push Notification Tool – custom integration with Pushover
The manager agent assigns tasks like find_trending_companies and delegates work to coworkers.

The system initializes, and the Investment Project Manager agent begins executing the first task.

Agents use the SerperDev tool to search the internet and return structured results, with multiple delegation steps shown.

The research agent compiles findings into a detailed, structured analysis of multiple companies.

The crew selects Perplexity AI as the best company, citing specific reasons.
Other companies like FlutterFlow and Cohere are marked as “Not Selected” with a rationale.

In another run, the system selects Supabase as the strongest investment option, with clear reasoning and comparisons.

In the updated version, we enhanced the crew with memory modules:
- Short Term Memory → Keeps track of recent interactions within a single execution.
- Long Term Memory → Stores knowledge in persistent SQLite storage.
- Entity Memory → Helps agents remember entities like company names, tickers, and contexts across runs.
This upgrade allows agents to avoid repeating results, recall previously analyzed companies, and build on past insights.
When starting a task, agents now query Long Term, Short Term, and Entity Memory before searching the internet.

The Financial News Analyst agent leverages both memory and Serper searches to find new companies not seen before.

The agent produces a refined list of trending companies, enhanced by past stored results.

The crew selects Anthropic as the best investment, with full rationale and clear reasoning.
Memory ensures companies already evaluated aren’t re-selected unnecessarily.

- Prevents duplication (agents don’t pick the same company in repeated runs).
- Builds continuity — the system “remembers” companies and insights across executions.
- Strengthens decision-making by blending retrieved memory with new search results.
This makes the Stock Picker Crew smarter and more reliable over time, moving closer to a real analyst assistant rather than just a stateless script.