kingabzpro's picture
Update README.md
ecc56e5 verified
|
raw
history blame
4.75 kB
metadata
title: Financial Advisory Agent
emoji: πŸ§‘β€πŸ’Ό
colorFrom: gray
colorTo: blue
sdk: gradio
sdk_version: 5.33.0
app_file: app.py
tags:
  - agent-demo-track
  - financial-analysis
  - openai
  - tavily
pinned: false
license: apache-2.0
short_description: Financial analysis, investments, budget planning, and more.

AI Financial Advisory Agent

An intelligent financial advisory agent powered by OpenAI's GPT-4.1 and specialized financial tools. This agent provides comprehensive financial analysis, investment recommendations, budget planning, and market insights through an intuitive web interface.

Watch the demo video: Financial Advisory Agent Demo (Hugging Face Hackathon)

Watch the demo on YouTube

πŸš€ Features

Core Financial Tools

  • πŸ“Š Investment Analyzer: Real-time stock analysis with technical indicators, risk assessment, and investment recommendations
  • πŸ’° Budget Planner: Personalized budget creation using the 50/30/20 rule with optimization suggestions
  • πŸ“ˆ Portfolio Analyzer: Portfolio diversification analysis and performance optimization
  • πŸ“° Market Trends Analyzer: Real-time market news, sector analysis, and economic insights

Advanced Features

  • 🎯 Smart Response Type Detection: Automatically detects if users want short summaries or detailed reports
  • ⚑ Real-time LLM Streaming: Live token-by-token response generation from OpenAI API
  • πŸ“‹ Interactive Tool Results: Collapsible sections for clean data presentation
  • πŸ” Comprehensive Data Analysis: Enhanced insights for all financial data

πŸ› οΈ Installation

  1. Clone the repository
git clone https://huggingface.co/spaces/Agents-MCP-Hackathon/Financial-Advisory-Agent.git
cd Financial-Advisory-Agent
  1. Install dependencies
pip install -r requirements.txt
  1. Set up environment variables Set environment variables:
export OPENAI_API_KEY="your-openai-api-key"
export TAVILY_API_KEY="your-tavily-api-key"
  1. Run the application
python app.py

🎯 Response Types

The system automatically detects your preference:

Short Response Keywords

  • quick, brief, short, summary, concise, simple, fast, tldr, bottom line

Detailed Response Keywords

  • detailed, comprehensive, thorough, in-depth, report, breakdown, explain, elaborate, deep dive

Default Behavior

  • Short responses are the default (under 200 words)
  • Detailed responses are triggered by specific keywords (comprehensive analysis)

πŸ”§ Technical Architecture

  • Frontend: Gradio web interface with real-time streaming
  • Backend: LangChain agents with OpenAI GPT-4.1
  • Data Sources:
    • Yahoo Finance API for stock data
    • Tavily Search API for market news
    • Real-time financial calculations
  • Streaming: Direct LLM token streaming from OpenAI API
  • Tools: Specialized financial analysis functions

πŸ“Š Tool Capabilities

Investment Analyzer

  • Real-time stock prices and historical data
  • Technical indicators (RSI, MACD, Bollinger Bands, Moving Averages)
  • Risk assessment (volatility, VaR, beta analysis)
  • Fundamental analysis (P/E, P/B ratios, dividend yield)
  • Buy/Hold/Sell recommendations with confidence scores

Budget Planner

  • 50/30/20 rule implementation
  • Emergency fund calculations
  • Debt-to-income ratio analysis
  • Savings optimization recommendations
  • Expense category warnings

Market Trends Analyzer

  • Real-time market news via Tavily Search
  • Major index tracking (S&P 500, NASDAQ)
  • Market sentiment analysis
  • Key theme extraction
  • Economic trend identification

Portfolio Analyzer

  • Diversification scoring
  • Sector allocation analysis
  • Concentration risk assessment
  • Rebalancing recommendations
  • Performance metrics

πŸš€ Recent Updates

  • βœ… Smart Response Detection: Automatically detects if users want short or detailed responses
  • βœ… Real LLM Streaming: Genuine token-by-token streaming from OpenAI API
  • βœ… Improved Data Analysis: Comprehensive insights
  • βœ… Optimized Performance: Faster tool execution and response times
  • βœ… Collapsible Results: Clean, organized tool output presentation

πŸ”’ API Keys Required

  • OpenAI API Key: For language model
  • Tavily API Key: For real-time market news and trends

Issues to Resolve

The problem is in the current flow:

  1. Agent executor runs all tools
  2. We collect ALL results
  3. Then display everything at once
  4. Then stream the final response

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.