{"id":23388267,"url":"https://github.com/josericodata/sp500forecaster","last_synced_at":"2026-05-18T02:08:35.261Z","repository":{"id":269097943,"uuid":"906406432","full_name":"josericodata/SP500Forecaster","owner":"josericodata","description":"Interactive S\u0026P 500 stock price prediction app using machine learning and Streamlit. Visualise trends, forecast prices, and explore data insights.","archived":false,"fork":false,"pushed_at":"2025-03-11T00:04:27.000Z","size":1850,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T13:21:18.297Z","etag":null,"topics":["ai","autoregressive-model","datascience","dublin","dublin-ireland","europe","ireland","machine-learning","ml","portfolio","predictiveanalytics","python","sp500","stock-market","stockprediction","streamlit","streamlitapps","tech","time-series-analysis","ubuntu"],"latest_commit_sha":null,"homepage":"https://sp500forecaster.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josericodata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-20T20:49:10.000Z","updated_at":"2025-03-11T00:04:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"d251cf0c-d89e-4d93-9798-200c273acb90","html_url":"https://github.com/josericodata/SP500Forecaster","commit_stats":null,"previous_names":["josericodata/sp500forecaster"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FSP500Forecaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FSP500Forecaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FSP500Forecaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FSP500Forecaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josericodata","download_url":"https://codeload.github.com/josericodata/SP500Forecaster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247847873,"owners_count":21006151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","autoregressive-model","datascience","dublin","dublin-ireland","europe","ireland","machine-learning","ml","portfolio","predictiveanalytics","python","sp500","stock-market","stockprediction","streamlit","streamlitapps","tech","time-series-analysis","ubuntu"],"created_at":"2024-12-22T02:18:25.457Z","updated_at":"2025-10-03T19:23:59.818Z","avatar_url":"https://github.com/josericodata.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📊 **SP500Forecaster**\n### **Predicting S\u0026P 500 Stocks with ML**\n\n**SP500Forecaster is a machine learning-powered stock price prediction app specifically designed for S\u0026P 500 companies. Built with Python and Streamlit, it leverages historical stock data to forecast future trends and empower investors with data-driven insights.**\n\n---\n\n## 🧬 **Project Structure**\n```bash\nSP500Forecaster  \n├── assets/         \n│   ├── data/\n│   │   └──  sp500_tickers.csv\n│   └── gifs/               \n│       └── sp500forecaster.gif \n├── streamlit_app/\n│   ├── modules/\n│   │   └── helper.py\n│   ├── pages/               \n│   │   └── 01_📈_StockPredictor.py \n│   └── 00_ℹ️_Info.py     \n├── LICENSE                 \n├── README.md               \n└── requirements.txt        \n```\n\n---\n\n## 🛠️ **How It's Built**\n\nSP500Forecaster is built with the following core frameworks and tools:\n\n- **Streamlit** - To create an intuitive web interface\n- **Yahoo Finance API (YFinance)** - To fetch up-to-date financial data\n- **Statsmodels** - To implement the AutoReg time-series forecasting model\n- **Plotly** - To generate dynamic and interactive financial charts\n- **Pandas** - To manipulate and process financial datasets\n\n---\n\n## 🧑‍💻 **How It Works**\n\n1. The user selects a stock ticker from the S\u0026P 500 list.\n2. Historical stock data is retrieved using the Yahoo Finance API.\n3. The AutoReg (Auto Regressive) model is trained on two years of historical data.\n4. The model generates forecasts for the next 5–180 days.\n5. Results are displayed with interactive charts and tables.\n\n---\n\n## ✨ **Key Features**\n\n- **Real-time S\u0026P 500 stock data** - Access accurate and up-to-date information.\n- **Interactive charts** - View historical trends and future predictions visually.\n- **Custom prediction ranges** - Forecast stock prices for 5 to 180 days.\n- **Downloadable CSV** - Save prediction results for further analysis.\n- **User-friendly interface** - Accessible for novice and experienced users alike.\n\n---\n\n## 🚀 **Getting Started**\n\n### **Local Installation**\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/user/SP500Forecaster.git\n```\n**Hint:** Replace `user` with `josericodata` in the URL above. I am deliberately asking you to pause here so you can support my work. If you appreciate it, please consider giving the repository a star or forking it. Your support means a lot—thank you! 😊\n\n2. Navigate to the repository directory:\n```bash\ncd SP500Forecaster\n```\n\n3. Create a virtual environment:\n```bash\npython3 -m venv venvStreamlit\n```\n\n4. Activate the virtual environment:\n```bash\nsource venvStreamlit/bin/activate\n```\n\n5. Install requirements:\n```bash\npip install -r requirements.txt\n```\n\n6. Navigate to the app directory:\n```bash\ncd streamlit_app\n```\n\n7. Run the app:\n```bash\nstreamlit run 00_ℹ️_Info.py\n```\n\nThe app will be live at ```http://localhost:8501```\n\n---\n\n## 🎬 **Demo**\n  \n### Stock Predictor Page:\n![S\u0026P500 Price Predictor](https://raw.githubusercontent.com/josericodata/SP500Forecaster/main/assets/gifs/sp500forecaster.gif)\n\n---\n### ▶️ Watch the YouTube Tutorial\n\n\n[![Build a Stock Predictor App in 4 Minutes with Streamlit](https://img.youtube.com/vi/aRFjkMZeKhc/maxresdefault.jpg)](https://www.youtube.com/watch?v=aRFjkMZeKhc \"Click to play\")\n\nClick the image above or [here](https://www.youtube.com/watch?v=aRFjkMZeKhc) to watch the video on YouTube.\n\n---\n\n## 🔮 **Future Enhancements**\n\nPlanned improvements and new features include:\n\n- **Integration of advanced ML models** (e.g., LSTM, Prophet) for better prediction accuracy.\n- **Multi-stock analysis** to compare performance across different stocks.\n- **Sector-based insights** to understand trends within specific industries.\n- **User accounts and history tracking** for tailored predictions and personalized experiences.\n\n---\n\n## 🔧 **Environment Setup**\n\nThe SP500Forecaster app is built and tested using the following software environment:\n\n- **Operating System**: Ubuntu 22.04.5 LTS (Jammy)\n- **Python Version**: Python 3.10.12\n\nEnsure your environment matches or exceeds these versions for optimal performance.\n\n---\n\n## 📋 **Important Notes**\n\n- **Data Requirements**: Stocks with less than two years of historical data will not be processed by the model.\n- **Using the Stock Predictor**:\n  1. Select a stock ticker from the dropdown menu.\n  2. Choose the desired prediction range using the slider.\n  3. Click the **Run Prediction** button to generate results.\n\n---\n\n## 🤝 **Open Pull Requests**\n\nIf you find any bug, feel free to contact me by opening a pull request on GitHub or via email at **maninastre@gmail.com**.\n\n---\n\n## ⚠️ **Disclaimer**\n\n**This app is designed to demonstrate my skills in data modeling and analytics, showcasing how data-driven insights can assist in building my portfolio as a data analyst. It is not intended to provide financial advice or investment guidance. The predictions are for illustrative purposes only and should not be relied upon for making financial decisions.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosericodata%2Fsp500forecaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosericodata%2Fsp500forecaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosericodata%2Fsp500forecaster/lists"}