Sitelet https://github.com/SalmaTech-03/FinBot360
Skip to content
SalmaTech-03Public

About

πŸ“Š FinBot 360 An advanced AI-powered Financial Assistant Dashboard built with Streamlit. It helps users analyze stocks, forecast prices, check sentiment, and chat with an AI financial assistant in one place.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

122 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FinBot 360: AI-Powered Financial Intelligence

Streamlit TensorFlow Hugging Face Google Gemini Python

FinBot 360 is a next-generation financial dashboard that fuses Deep Learning (LSTM), Natural Language Processing (BERT), and Generative AI (LLMs) to provide real-time stock insights, portfolio analytics, and predictive modeling.

Built for investors and data enthusiasts, it transforms raw market data into actionable intelligence.


Key Features

1. Predictive Stock Forecasting (LSTM)

Utilizes Long Short-Term Memory (LSTM) neural networks built with TensorFlow/Keras.

  • Deep Learning: Trains on historical price action to predict future trends.
  • Custom Architecture: Features multiple LSTM layers with Dropout regularization to prevent overfitting.
  • Visualization: Plots predicted vs. actual prices dynamically.

2. Generative AI Financial Assistant

Powered by Google Gemini 1.5 Flash.

  • Contextual Q&A: Ask complex financial questions and receive natural language responses.
  • Market Education: Explains concepts like "Sharpe Ratio" or "Quantitative Easing" instantly.

3. BERT-Powered Sentiment Analysis

Leverages Hugging Face Transformers (ProsusAI/finbert).

  • NLP Engine: specifically fine-tuned on financial text.
  • Sentiment Scoring: Instantly classifies news or earnings reports as Positive, Negative, or Neutral with confidence scores.

4. Institutional-Grade Portfolio Analytics

  • Metrics: Calculates Cumulative Returns, Annualized Volatility, and Sharpe Ratio.
  • Visuals: Interactive performance charts using Plotly.
  • File Support: Drag-and-drop CSV/Excel portfolio uploads.

5. Live Market Data

  • Dual-API Integration: Fetches real-time data via Alpha Vantage with a robust fallback to Yahoo Finance (yfinance).
  • Auto-Refresh: Sidebar dashboard updates automatically to track market movements.

The Tech Stack

FinBot 360 is built on a heavy-hitting stack of data science and ML libraries:

Category Technology Usage
Frontend & UI Streamlit Interactive web application framework
Deep Learning TensorFlow, Keras LSTM Neural Networks for time-series forecasting
NLP Transformers (Hugging Face) BERT model for sentiment classification
Generative AI Google Generative AI LLM integration for the Chatbot
Data Processing Pandas, NumPy, Scikit-Learn Data manipulation and MinMaxScaler normalization
Market APIs YFinance, Alpha Vantage Real-time and historical stock data fetching
Visualization Plotly Interactive financial charting

Project Structure

FinBot360/
β”œβ”€β”€ app.py                   #  Main Application Logic
β”œβ”€β”€ requirements.txt         #  Dependency Management
β”œβ”€β”€ .streamlit/
β”‚   └── config.toml          #  UI Configuration
β”œβ”€β”€ sample_portfolios/       #  Test Data
β”‚   β”œβ”€β”€ standard_portfolio.csv
β”‚   β”œβ”€β”€ volatile_portfolio.csv
β”‚   └── losing_portfolio.csv
└── README.md                #  Documentation

βš™οΈ Installation & Setup

1. Clone the Repository

git clone https://github.com/yourusername/FinBot360.git
cd FinBot360

2. Create a Virtual Environment

# Windows
python -m venv venv
.\venv\Scripts\activate

# Mac/Linux
python3 -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure API Keys

FinBot 360 requires API keys to function fully. Create a .streamlit/secrets.toml file in the root directory:

# .streamlit/secrets.toml

GEMINI_API_KEY = "your_google_gemini_key_here"
ALPHA_VANTAGE_API_KEY = "your_alpha_vantage_key_here"

5. Run the Application

streamlit run app.py

Testing with Sample Data

The project includes a sample_portfolios/ directory to test the Portfolio Performance Analysis tool immediately.

  1. Navigate to the "Portfolio Performance Analysis" section in the sidebar.
  2. Upload standard_portfolio.csv.
  3. Result: The app will parse the Date and Close columns to calculate returns and volatility instantly.

Note: Ensure your CSV files follow the format Date,Close.


Future Roadmap

  • RAG Implementation: Connect Gemini to live news feeds for real-time grounded answers.
  • Technical Indicators: Add RSI, MACD, and Bollinger Bands to charts.
  • Multi-Stock Comparison: Compare multiple tickers on a single graph.

Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.


About

πŸ“Š FinBot 360 An advanced AI-powered Financial Assistant Dashboard built with Streamlit. It helps users analyze stocks, forecast prices, check sentiment, and chat with an AI financial assistant in one place.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages