File size: 4,745 Bytes
6ceb32c
 
5ad2796
6ceb32c
5ad2796
6ceb32c
 
 
563fd53
ecc56e5
563fd53
 
 
6ceb32c
 
 
 
 
5ad2796
 
 
 
 
0d09fe2
563fd53
 
0d09fe2
563fd53
5ad2796
 
 
 
 
 
 
 
 
 
 
 
0d09fe2
5ad2796
 
 
 
 
0d09fe2
 
5ad2796
 
 
 
 
 
 
 
0d09fe2
5ad2796
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0d09fe2
5ad2796
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0d09fe2
5ad2796
 
 
 
 
 
 
 
 
 
fa3d0f6
 
 
 
5ad2796
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
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)](https://youtu.be/vGOSAXyrQgM)


[![Watch the demo on YouTube](public/images/image.png)](https://youtu.be/vGOSAXyrQgM)

## πŸš€ 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**
```bash
git clone https://huggingface.co/spaces/Agents-MCP-Hackathon/Financial-Advisory-Agent.git
cd Financial-Advisory-Agent
```

2. **Install dependencies**
```bash
pip install -r requirements.txt
```

3. **Set up environment variables**
Set environment variables:
```bash
export OPENAI_API_KEY="your-openai-api-key"
export TAVILY_API_KEY="your-tavily-api-key"
```

4. **Run the application**
```bash
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.