AI Financial Analyst logo

AI Financial Analyst

AI Financial Analyst is an Apify Actor that provides detailed stock market insights using AI-powered fundamental analysis, technical analysis, and sentiment analysis

bala-ceg
$0

📊 AI Financial Analyst

🚀 AI Financial Analyst is an Apify Actor that provides detailed stock market insights using AI-powered fundamental analysis, technical analysis, and sentiment analysis.

It leverages:

  • 📈 Yahoo Finance (yfinance) for real-time financial data.
  • 🤖 OpenAI GPT models for AI-driven market insights.
  • 📰 Alpha Vantage News Sentiment API for sentiment analysis.
  • Apify Actor framework for automation.

🏆 Features

Technical Analysis (SMA, EMA, RSI, MACD, Bollinger Bands, Supertrend)
Fundamental Analysis (P/E Ratio, EBITDA, Net Income, Debt-to-Equity)
Sentiment Analysis (News Headlines, Market Mood)
AI-Generated Insights (Bullish/Bearish Signals, Risks & Opportunities)
Markdown Reports (Auto-saved to Apify Key-Value Store)


🚀 How It Works

1️⃣ Fetch Stock Data – Pulls financials, technical indicators & sentiment.
2️⃣ Perform Analysis – Uses AI to analyze market conditions.
3️⃣ Generate Report – Saves insights in a report.md file.
4️⃣ Store in Apify – Saves report to Apify's Key-Value Store.
5️⃣ Token Billing – Charges based on GPT token usage.


📦 Installation & Setup

1️⃣ Clone the Repository

1git clone https://github.com/yourusername/ai-financialanalyst.git
2cd ai-financialanalyst

2️⃣ Create a Virtual Environment (Optional)

1python -m venv .venv
2source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Set API Keys

Create a .env file and add your API keys:

1OPENAI_API_KEY=your-openai-key
2ALPHAVANTAGE_API_KEY=your-alpha-vantage-key

🎯 How to Run Locally

apify run --input-file=input.jso

📜 Example input.json

1{
2    "ticker": "AAPL"
3}

🛠 Project Structure

1ai-financialanalyst/
2│── src/
3│   ├── main.py         # Apify Actor entry point
4│   ├── tools.py        # Financial, technical, sentiment analysis tools
5│   ├── models.py       # Pydantic data models
6│   ├── utils.py        # Helper functions
7│   ├── report.md       # Generated stock analysis report
8│── .venv/              # Virtual environment (optional)
9│── requirements.txt    # Python dependencies
10│── README.md           # Project documentation
11│── input.json          # Example input format
12│── .env                # API keys (gitignore this file)

📊 Example Report Output

A sample AI-generated Markdown Report:

1# 📊 AI Financial Analyst Report
2
3## 📌 **Stock Analysis Report**
4- **Ticker Symbol:** `AAPL`
5- **Generated by:** Apify AI Financial Analyst
6
7---
8
9## 🔍 **AI-Generated Insights**
10- **Momentum:** AAPL has strong bullish momentum.
11- **Risks:** Overbought RSI, potential short-term pullback.
12- **Financial Stability:** Strong revenue & cash flow.
13- **Bullish Signals:** Revenue growth, brand loyalty.
14- **Bearish Signals:** Market saturation, competition.
15
16---
17
18## 📈 **Technical Analysis**
19| Indicator | Value |
20|-----------|------|
21| **SMA (50)** | 180.25 |
22| **RSI** | 72.3 (Overbought) |
23| **MACD** | Bullish |
24
25---
26
27## 📰 **Sentiment Analysis**
28- **Highest Sentiment:** `Positive`
29- **Recent News:**
30  - [Apple reports record iPhone sales](https://example.com/news1)
31  - [AAPL stock hits all-time high](https://example.com/news2)

🚀 Contributing

We welcome contributions! Feel free to:

  • Open Issues for bug reports or feature requests.
  • Submit Pull Requests to improve the code.

📜 License

This project is licensed under the MIT License.

Frequently Asked Questions

Is it legal to scrape job listings or public data?

Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.

Do I need to code to use this scraper?

No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.

What data does it extract?

It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.

Can I scrape multiple pages or filter by location?

Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.

How do I get started?

You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!