An AI-powered stock market analysis and prediction engine that uses OpenAI's GPT-3.5/4/4o to analyze historic financial data, news headlines, and YouTube videos and predict future stock prices and performance.
- Search for stock symbols and get detailed information about the stock
- AI sentiment analysis of stock news headlines
- AI future price predictions
- Get the latest news about a stock
- Get the latest YouTube videos about a stock
- Options data
- Custom Themes
- User Authentication - Coming soon...
- User Posts - Coming soon...
- User Sentiment - Coming soon...
- Market fear and greed - Coming soon...
This is a full-stack repository that contains both the client and server code.
You can run both the client and the server code locally. For deployment, I recommend using a cloud service like Vercel for the client and Heroku or a VPS for the server. The current deployment of this application is as follows:
- Client: Vercel
- Server: Ubuntu 20.04 VPS (Nginx, Uvicorn, SystemD)
-
YOUTUBE_API_KEY: You will need to create a YouTube API key and set it as an environment variable. You can do this by creating a .env file in the root of the project and adding the following line:
-
OPENAI_API_KEY: You will need to create an OpenAI API key and set it as an environment variable. You can do this by creating a .env file in the root of the project and adding the following line:
-
SERVER_URL: You will need to set the server url as an environment variable. You can do this by creating a .env file in the root of the project and adding the following line:
SERVER_URL=YOUR_SERVER_URL (e.g. http://localhost:8000)
- A way to run Python code (e.g. a VPS, Heroku, etc.)
- A way to run FastAPI (e.g. Uvicorn, Gunicorn, etc.)
- A way to proxy requests to the FastAPI server (e.g. Nginx, Caddy, etc.)
- Clone the repository
git clone https://github.com/bagus/stonk-ai.git
cd stonk-ai/client
- Create a .env (or .env.local) file in the root of the project and add the following line:
YOUTUBE_API_KEY=YOUR_YOUTUBE_API_KEY
OPENAI_API_KEY=YOUR_OPENAI_API_KEY
SERVER_URL=YOUR_SERVER_URL
- Install the dependencies
pnpm install
- Run the development server
pnpm run dev
pnpm run build
- Navigate to the server directory
cd stonk-ai/server
- Create a new Python virtual environment
python3 -m venv venv && source venv/bin/activate
- Install the dependencies
pip3 install -r requirements.txt
- Run the server code
python3 main.py
NOTE: Take note of the server URL. You will need it to set the SERVER_URL environment variable in the client.
server logs can be found in /stonk-ai/server/log.txt
.
- Fork the repository
- Create a new branch (
git checkout -b feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature
) - Create a new Pull Request
MIT License