FinSight AI — Intelligent Financial Research Powered by Agentic AI

Inspiration

Financial markets generate enormous amounts of information every day, from stock price movements and earnings reports to breaking news and shifting market sentiment. For individual investors, interpreting this information can be overwhelming, especially when valuable insights are scattered across multiple platforms.

We wanted to answer a simple question: What if an AI system could bring market data, machine learning, and financial news together to explain not just what is happening to a stock, but why it matters?

That question inspired FinSight AI, an intelligent financial research assistant designed to make stock analysis more accessible, understandable, and evidence-driven.

Rather than building another stock-price dashboard or a generic financial chatbot, we wanted to explore how agentic AI could coordinate specialized tools and models to produce structured financial research.

Our goal was never to create a system that guarantees profitable investments. Instead, we wanted to help users make more informed decisions by combining quantitative signals with qualitative research while communicating uncertainty and limitations.

What it does

FinSight AI is an AI-powered financial research assistant that combines live market data, machine learning predictions, news retrieval, and large language model reasoning into a unified stock analysis experience.

Users can enter a stock ticker and ask financial questions in natural language. FinSight AI then processes the request through a multi-agent workflow.

Its core capabilities include:

  • Market data analysis: Retrieves stock prices and historical market information, including recent price performance.
  • Machine learning predictions: Uses a trained Random Forest classifier to estimate the probability of the next trading day's stock price moving up or down.
  • Financial news retrieval: Searches for relevant financial information using Tavily and retrieves source URLs for traceability.
  • AI-powered reasoning: Uses a Nebius-hosted large language model to evaluate market conditions, ML signals, and retrieved financial evidence.
  • Structured recommendations: Produces BUY, HOLD, or SELL assessments alongside confidence levels, supporting factors, news impacts, and major risks.
  • Conversational analysis: Supports follow-up questions through session-based conversation state.
  • Transparent limitations: Highlights weak ML signals, conflicting sources, and missing information rather than presenting predictions as certainties.

For example, if the ML model indicates a 53% probability of a downward movement, FinSight AI can recognize that this is only a weak directional signal and explain why it should not dominate the overall analysis.

FinSight AI is a financial research assistant, not an automated trading system or a substitute for professional financial advice.

How we built it

FinSight AI was developed using a modular Python architecture, combining machine learning, agent orchestration, financial data retrieval, and cloud-hosted AI inference.

1. Multi-agent orchestration with LangGraph

We implemented a graph-based workflow using LangGraph, organizing the analysis into three specialized agents:

  • Data Agent: Collects financial market data and generates ML predictions.
  • Retrieval Agent: Searches for relevant financial news and supporting sources.
  • Analysis Agent: Combines the available evidence, interprets market signals, and generates structured financial assessments.

This separation allows individual components to be improved or replaced without redesigning the complete application.

2. Machine learning with scikit-learn

We developed a Random Forest classification model using historical market information.

Our feature engineering includes daily returns, five-day returns, moving-average ratios, volatility, and volume changes.

We trained and evaluated models using chronological data splits and walk-forward validation to reduce the risk of misleading results caused by random train-test splits in time-series data.

Our experiments demonstrated how difficult short-term stock direction prediction really is. Instead of overstating predictive accuracy, we designed FinSight AI to treat the ML output as one supporting signal within a broader research process.

3. LLM Inference Powered by NVIDIA Nemotron and Nebius

We integrated NVIDIA Nemotron 3 Super 120B-A12B through Nebius AI inference to power FinSight AI's financial reasoning agent.

The model processes market data, Random Forest predictions, retrieved financial news, and natural-language questions to generate structured stock analysis, including BUY/HOLD/SELL assessments, confidence levels, supporting evidence, and potential risks.

By combining NVIDIA's large language model with LangGraph orchestration and retrieval-augmented generation (RAG), FinSight AI demonstrates how advanced AI inference can support explainable financial research.

4. Retrieval-augmented financial research

We integrated Tavily for financial information retrieval.

The retrieval system includes URL normalization, duplicate-source filtering, unwanted-domain filtering, publication-date metadata when available, and numbered source references.

This gives the analysis agent access to external evidence rather than relying exclusively on the LLM's internal knowledge.

5. Backend, deployment, and testing

We built the backend using FastAPI, with Pydantic models for structured request and response validation.

We containerized the application with Docker to make the runtime environment reproducible and simplify deployment.

The application is hosted using Render for the backend and GitHub Pages for the frontend.

We also implemented automated tests using pytest, covering financial news retrieval, ML prediction behaviour, and API endpoints.

Technology stack: Python, FastAPI, LangGraph, Nebius AI, scikit-learn, Random Forest, Tavily, yfinance, Pandas, NumPy, Pydantic, Docker, pytest, Render, and GitHub Pages.

Challenges we ran into

Building a meaningful ML prediction model

One of our biggest challenges was discovering how difficult it is to predict short-term stock movements.

Our initial Random Forest and Gradient Boosting experiments produced results close to a random baseline. Walk-forward evaluation demonstrated that modest validation improvements did not reliably translate into strong out-of-sample performance.

Rather than artificially presenting the model as highly accurate, we incorporated its probability estimates into the analysis while explicitly acknowledging uncertainty.

This became an important design principle: A trustworthy AI system should communicate what it does not know.

Integrating multiple AI and data services

Coordinating market data retrieval, ML inference, news search, and LLM generation required careful state management.

We encountered issues involving API authentication, environment variable formatting, provider integration, and state propagation between LangGraph nodes.

We addressed these through modular architecture, debugging, and incremental testing.

Improving source reliability

Our retrieval system initially returned duplicate stock information, general overview pages, social media content, and occasionally conflicting financial figures.

We improved source handling with URL deduplication, domain filtering, and clearer citation instructions.

We also learned that providing source links is not the same as verifying every claim. Financial retrieval quality remains an important area for continued development.

Docker and deployment reliability

Containerization introduced challenges involving dependency installation, environment configuration, Docker image builds, and application startup.

After debugging these issues, we established a reproducible Docker workflow and successfully tested the application's API inside a container.

Accomplishments that we're proud of

Building a working end-to-end agentic AI application. FinSight AI connects data retrieval, a trained ML model, external research, and LLM reasoning through a coordinated LangGraph workflow.

Integrating Nebius into a practical AI product. We successfully configured cloud-hosted LLM inference as part of a functioning financial research system.

Maintaining transparency around prediction uncertainty. Instead of presenting near-random ML results as a trading advantage, we designed the application to communicate the limitations of its quantitative signals.

Making AI outputs more explainable. FinSight AI provides structured reasoning, supporting factors, risk assessments, and traceable source references rather than returning a single unexplained stock recommendation.

Improving engineering reliability. We containerized the backend, deployed the application, and developed 15 passing automated tests across retrieval, ML functionality, and API behaviour.

Most importantly, we transformed an initial concept into an integrated application that demonstrates how traditional machine learning and agentic AI can complement each other.

What we learned

Building FinSight AI taught us that developing an AI-powered application involves much more than connecting an LLM to an API.

Machine learning accuracy requires rigorous evaluation. Financial datasets are noisy, market conditions change, and apparent predictive patterns can disappear on unseen data.

Agentic architecture improves modularity. LangGraph allowed us to separate responsibilities and manage the flow of information between different components.

Retrieval quality directly affects reasoning quality. Even a capable language model can produce misleading analysis when its external information is stale, inconsistent, or poorly sourced.

Trustworthy AI requires uncertainty awareness. A useful financial assistant must distinguish between measurable facts, probabilistic predictions, and interpretive conclusions.

Production engineering matters. Containerization, validation, automated testing, and error handling are essential for transforming a prototype into a dependable application.

We also gained practical experience integrating Nebius inference, designing REST APIs, debugging cloud deployments, and managing a multi-component AI workflow.

What's next for FinSight AI

FinSight AI is an evolving project, and our long-term vision is to build a more reliable, interactive, and explainable financial research platform.

Our planned improvements include:

  1. More advanced financial research: Introduce improved retrieval ranking, stronger publication-date verification, and more authoritative financial information sources.
  2. Better ML evaluation: Expand the historical dataset, investigate improved feature engineering, test additional models, and evaluate probability calibration against realistic baselines.
  3. Richer financial dashboard: Develop interactive charts, technical indicators, risk visualizations, and clearer AI-generated research summaries.
  4. Improved explainability: Connect financial claims more directly to verified source evidence and distinguish factual observations from model interpretations.
  5. Personalized research workflows: Introduce stock watchlists, comparative company analysis, and customizable research preferences.
  6. Production readiness: Expand automated integration testing, monitoring, caching, security controls, and API resilience.

Ultimately, our vision is for FinSight AI to evolve from a stock analysis assistant into a comprehensive AI-powered financial research platform.

We believe the future of financial research is not about AI replacing human judgment. It is about AI making information easier to understand, uncertainty easier to recognize, and decisions better informed.

Built With

Share this project:

Updates

Submission history