Spaces:
Running
Running
Faham
commited on
Commit
·
a8615dc
1
Parent(s):
d1ac8aa
UPDATE: readme
Browse files
README.md
CHANGED
|
@@ -1,14 +1,18 @@
|
|
| 1 |
# QueryStockAI
|
| 2 |
|
| 3 |
-
A comprehensive financial analysis tool that provides
|
| 4 |
|
| 5 |
## Features
|
| 6 |
|
| 7 |
-
- **
|
| 8 |
-
- **
|
| 9 |
-
- **
|
| 10 |
-
- **
|
| 11 |
-
- **
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
## Setup
|
| 14 |
|
|
@@ -18,24 +22,38 @@ A comprehensive financial analysis tool that provides real-time stock data and n
|
|
| 18 |
uv sync
|
| 19 |
```
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
2. **Create a `.env` file** with your API keys:
|
| 22 |
|
| 23 |
```
|
| 24 |
-
OPENROUTER_API_KEY=your_openrouter_api_key_here
|
| 25 |
-
MODEL=
|
| 26 |
```
|
| 27 |
|
| 28 |
3. **Run the Streamlit app**:
|
|
|
|
| 29 |
```bash
|
| 30 |
-
streamlit run
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
```
|
| 32 |
|
| 33 |
## Usage
|
| 34 |
|
| 35 |
1. Open the web interface in your browser
|
| 36 |
-
2. Select a stock ticker from the dropdown in the sidebar
|
| 37 |
-
3.
|
| 38 |
-
4.
|
|
|
|
| 39 |
- "How is this stock performing?"
|
| 40 |
- "What's the latest news about this company?"
|
| 41 |
- "Should I invest in this stock?"
|
|
@@ -43,16 +61,39 @@ A comprehensive financial analysis tool that provides real-time stock data and n
|
|
| 43 |
|
| 44 |
## Architecture
|
| 45 |
|
| 46 |
-
- **Frontend**: Streamlit web interface
|
| 47 |
-
- **Backend**: Python with
|
| 48 |
- **Data Sources**:
|
| 49 |
- Stock data via `yfinance`
|
| 50 |
- News data via `gnews`
|
| 51 |
-
- **AI Model**:
|
|
|
|
|
|
|
| 52 |
|
| 53 |
## Files
|
| 54 |
|
| 55 |
-
- `
|
| 56 |
-
- `agent_client.py`: Original terminal-based client
|
| 57 |
- `stock_data_server.py`: MCP server for stock data
|
| 58 |
- `news_server.py`: MCP server for news data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# QueryStockAI
|
| 2 |
|
| 3 |
+
A comprehensive financial analysis tool that provides stock data, news analysis, and AI-powered insights through an interactive Streamlit web interface.
|
| 4 |
|
| 5 |
## Features
|
| 6 |
|
| 7 |
+
- **Stock Data**: Fetch historical stock prices and performance metrics using Yahoo Finance
|
| 8 |
+
- **Interactive Stock Charts**: Visualize stock performance with Plotly charts
|
| 9 |
+
- **Latest News Analysis**: Get recent news headlines for selected stocks
|
| 10 |
+
- **AI-Powered Chat Interface**: Chat with a financial agent powered by mistral via OpenRouter
|
| 11 |
+
- **MCP Server Integration**: Modular architecture with separate MCP servers for stock data and news
|
| 12 |
+
- **Prophet Forecasting**: Optional time series forecasting capabilities
|
| 13 |
+
- **System Resource Monitoring**: Real-time monitoring of CPU, memory, disk, and network usage
|
| 14 |
+
- **Stock Search & Discovery**: Search for custom tickers and browse popular stocks
|
| 15 |
+
- **Caching & Performance**: Intelligent caching for charts and news to improve performance
|
| 16 |
|
| 17 |
## Setup
|
| 18 |
|
|
|
|
| 22 |
uv sync
|
| 23 |
```
|
| 24 |
|
| 25 |
+
Or using pip:
|
| 26 |
+
|
| 27 |
+
```bash
|
| 28 |
+
pip install -r requirements.txt
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
2. **Create a `.env` file** with your API keys:
|
| 32 |
|
| 33 |
```
|
| 34 |
+
OPENROUTER_API_KEY="your_openrouter_api_key_here"
|
| 35 |
+
MODEL="mistralai/mistral-small-3.2-24b-instruct:free" # or any model of your choice
|
| 36 |
```
|
| 37 |
|
| 38 |
3. **Run the Streamlit app**:
|
| 39 |
+
|
| 40 |
```bash
|
| 41 |
+
streamlit run Home.py
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
or using uv:
|
| 45 |
+
|
| 46 |
+
```bash
|
| 47 |
+
uv run streamlit run Home.py
|
| 48 |
```
|
| 49 |
|
| 50 |
## Usage
|
| 51 |
|
| 52 |
1. Open the web interface in your browser
|
| 53 |
+
2. Select a stock ticker from the dropdown in the sidebar or search for a custom ticker
|
| 54 |
+
3. View the interactive stock price chart and latest news
|
| 55 |
+
4. Start chatting with the financial agent about the selected stock
|
| 56 |
+
5. Ask questions like:
|
| 57 |
- "How is this stock performing?"
|
| 58 |
- "What's the latest news about this company?"
|
| 59 |
- "Should I invest in this stock?"
|
|
|
|
| 61 |
|
| 62 |
## Architecture
|
| 63 |
|
| 64 |
+
- **Frontend**: Streamlit web interface with interactive charts
|
| 65 |
+
- **Backend**: Python with OpenRouter integration
|
| 66 |
- **Data Sources**:
|
| 67 |
- Stock data via `yfinance`
|
| 68 |
- News data via `gnews`
|
| 69 |
+
- **AI Model**: mistral-small-3.2-24b-instruct via OpenRouter
|
| 70 |
+
- **MCP Servers**: Modular servers for stock data and news
|
| 71 |
+
- **Monitoring**: Real-time system resource monitoring
|
| 72 |
|
| 73 |
## Files
|
| 74 |
|
| 75 |
+
- `Home.py`: Main Streamlit web application
|
|
|
|
| 76 |
- `stock_data_server.py`: MCP server for stock data
|
| 77 |
- `news_server.py`: MCP server for news data
|
| 78 |
+
- `resource_monitor.py`: System resource monitoring
|
| 79 |
+
- `pages/System_Monitor.py`: System monitoring dashboard
|
| 80 |
+
- `requirements.txt`: Python dependencies
|
| 81 |
+
- `pyproject.toml`: Project configuration
|
| 82 |
+
|
| 83 |
+
## Dependencies
|
| 84 |
+
|
| 85 |
+
- **Streamlit**: Web interface framework
|
| 86 |
+
- **yfinance**: Stock data fetching
|
| 87 |
+
- **gnews**: News data fetching
|
| 88 |
+
- **plotly**: Interactive charts
|
| 89 |
+
- **prophet**: Time series forecasting (optional)
|
| 90 |
+
- **psutil**: System monitoring
|
| 91 |
+
- **openai**: AI model integration
|
| 92 |
+
- **fastmcp**: MCP server framework
|
| 93 |
+
|
| 94 |
+
## System Requirements
|
| 95 |
+
|
| 96 |
+
- Python 3.10 or higher
|
| 97 |
+
- OpenRouter API key
|
| 98 |
+
- Internet connection for real-time data
|
| 99 |
+
- Optional: psutil for system monitoring features
|