Inspiration
We were inspired by the overwhelming amount of financial data and news that investors and analysts face every day. The idea was to create an AI-powered assistant that could cut through the noise, synthesize real-time market data and news, and present clear, actionable insights—just by asking questions in natural language. We wanted to make advanced financial analysis accessible to everyone, not just experts.
What it does
FinSight Agents is a multi-agent system that:
- Lets users ask stock questions in plain English (e.g., “Apple and Microsoft latest insights”)
- Fetches real-time prices and news for global and Indian stocks
- Analyzes news sentiment and market trends
- Generates actionable recommendations and highlights key headlines
- Visualizes data with bar, pie, and candlestick charts (including technical indicators)
- Handles both single and multi-stock queries gracefully
How we built it
We used Python and the Agent Development Kit (ADK) to design modular agents for each task: market data retrieval, sentiment analysis, insight generation, and visualization. We integrated yfinance for stock data, NewsAPI for headlines, and VADER/Gemini for sentiment. Google Cloud BigQuery was used for scalable data storage and querying. The workflow is orchestrated by a SupervisorAgent, which dynamically passes data between agents based on user queries. We focused on robust error handling, flexible ticker mapping, and extensible design so new data sources or analytics can be added easily.
Challenges we ran into
- Data inconsistencies: Different APIs return data in different formats, especially for global vs. Indian stocks. We had to write flexible data cleaning and mapping logic.
- Natural language understanding: Mapping user queries to the right tickers and companies was tricky, especially with ambiguous or misspelled names.
- Visualization edge cases: Handling missing or sparse data for charts (e.g., candlesticks) required careful checks to avoid crashes.
- Async orchestration: Coordinating multiple agents asynchronously while keeping the workflow user-friendly was a challenge.
- API limits and latency: News and market APIs have rate limits and sometimes slow responses, so we added caching and fallback logic.
Accomplishments that we're proud of
- Built a robust, modular agent system that can handle any mix of stocks and queries
- Achieved seamless natural language interaction for financial analytics
- Created rich, meaningful visualizations that work for both single and multiple stocks
- Designed for easy expansion—new companies, data sources, or analytics can be added in minutes
- Graceful error handling: the system never crashes, even with missing or bad data
What we learned
- The power of modular, agent-based design for complex data workflows
- How to combine multiple APIs and data sources into a unified user experience
- The importance of robust error handling and user feedback in analytics tools
- How to make advanced analytics accessible through natural language interfaces
What's next for FinSight
- Add more technical indicators and advanced analytics (e.g., MACD, sector comparison)
- Build a web dashboard for interactive exploration
- Integrate more news and social sentiment sources
- Personalize insights based on user watchlists or portfolios
- Expand to other asset classes (crypto, commodities, ETFs)
- Open source the project for
Built With
- adk
- flask
- gemini
- google-bigquery
- seaborn
- yfinance
Log in or sign up for Devpost to join the conversation.