This is a personal project I built from scratch using Python and Streamlit, designed to help users analyze stock performance, explore technical indicators, and forecast future stock prices based on historical trends. The app combines real-time data analysis with predictive modeling to support smarter, data-driven investment decisions.
This application is organized into three main pages to provide a seamless stock research experience:
A welcoming entry point to the app that introduces its features and guides users on how to navigate through the platform.
- Enter your favorite stock ticker (e.g., TSLA, AAPL)
- View company details like sector, website, and number of employees
- Analyze key financial metrics including Market Cap, P/E Ratio, EPS, ROE, and more
- Access historical stock price data with flexible date filters
- Visualize trends using interactive line and candlestick charts
- Add technical indicators such as RSI, MACD, and Moving Averages
- Generate 30-day closing price forecasts using a custom time-series pipeline
- View RMSE model evaluation scores
- Understand future stock trends through interactive forecast charts
In the Ticker section, simply type your favorite stock ticker symbol (e.g., TSLA, AAPL, MSFT) and press Enter. The app will display all relevant stock information, including company details, key financial metrics, historical data, and interactive charts.
- Library: Streamlit, Scikit-learn, Statsmodels, Plotly, Numpy, Pandas
- Data Sources: Yahoo Finance (
yfinance) - Visualization: Plotly
- Modeling: Custom forecasting pipeline (ARIMA-style logic)
This app includes a range of interactive and insightful charts to enhance stock analysis and prediction:
- Line Charts – Track historical closing prices over time.
- Candlestick Charts – Visualize price movement with open, high, low, and close.
- RSI (Relative Strength Index) – Identify overbought or oversold conditions.
- MACD (Moving Average Convergence Divergence) – Analyze momentum and trend strength.
- Moving Averages – Smooth out price data to spot trends.
--
- Forecast Line Chart – Displays predicted closing prices for the next 30 days.
- Forecast Table (Interactive) – View forecasted prices with precision and scrollability.
- Model Evaluation Plot (optional) – Understand model performance using RMSE.
Each graph is built using Plotly for responsiveness and interactivity, allowing zoom, hover, and export options.
-
Home.py
-
pages directory
- Stock_Analysis.py
- Stock_Prediction.py
- utils
- model_train.py
- plotly_figure.py
- init
-
app.png
-
SOURCES.txt
-
README.md
This project is built for educational and demonstration purposes only. The stock predictions and analysis provided by the app are based on historical data and do not constitute financial advice. Always conduct your own research before making investment decisions.




