{"id":23955618,"url":"https://github.com/josericodata/cryptopredictor","last_synced_at":"2025-04-22T23:50:22.342Z","repository":{"id":270371759,"uuid":"910090958","full_name":"josericodata/CryptoPredictor","owner":"josericodata","description":"Interactive cryptocurrency prediction app using machine learning and Streamlit. Analyse trends, forecast prices, and explore market insights.","archived":false,"fork":false,"pushed_at":"2025-03-11T00:02:06.000Z","size":5358,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-29T20:11:14.913Z","etag":null,"topics":["ai","bitcoin","crypto","crypto-trading","cryptocurrency","datascience","dublin","dublin-ireland","ethereum","europe","ireland","machine-learning","ml","portfolio","python","streamlit","streamlitapps","tech","time-series-analysis","ubuntu"],"latest_commit_sha":null,"homepage":"https://cryptopredictorpro.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-30T13:22:46.000Z","updated_at":"2025-03-11T00:02:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"e23cad8d-68c0-4644-81b6-7857aae39594","html_url":"https://github.com/josericodata/CryptoPredictor","commit_stats":null,"previous_names":["josericodata/cryptopredictor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FCryptoPredictor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FCryptoPredictor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FCryptoPredictor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josericodata%2FCryptoPredictor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josericodata","download_url":"https://codeload.github.com/josericodata/CryptoPredictor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250343909,"owners_count":21415037,"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","bitcoin","crypto","crypto-trading","cryptocurrency","datascience","dublin","dublin-ireland","ethereum","europe","ireland","machine-learning","ml","portfolio","python","streamlit","streamlitapps","tech","time-series-analysis","ubuntu"],"created_at":"2025-01-06T15:38:43.069Z","updated_at":"2025-04-22T23:50:22.318Z","avatar_url":"https://github.com/josericodata.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🪙 **CryptoPredictor**\n### **Predicting Cryptocurrency Prices with ML**\n\n**CryptoPredictor is a machine learning-powered app designed to forecast cryptocurrency prices. Built with Python and Streamlit, it utilises historical data to predict trends for popular cryptocurrencies, empowering users with data-driven insights.**\n\n---\n\n## 🧬 **Project Structure**\n```bash\nCryptoPredictor  \n├── assets/         \n│   ├── dataCleaning/\n│   │   ├── CoinGeckoToCsv.ipynb   \n│   │   └── cryptoTickers.csv\n│   └── gifs/               \n│       └── crypto.gif \n├── streamlit_app/\n│   ├── modules/\n│   │   └── helper.py\n│   ├── pages/               \n│   │   └── 01_₿__CryptoPredictor.py \n│   └── 00_🛈_Info.py        \n├── LICENSE                 \n├── README.md               \n└── requirements.txt        \n```\n\n---\n\n## 🛠️ **How It's Built**\n\nCryptoPredictor 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 cryptocurrency data.\n- **CoinGecko API** - To dynamically fetch the top 2,500 cryptocurrencies by market capitalisation from a pool of 17,061 available tokens, ensuring access to real-time data for popular selections. For an updated list of the 2,500 tickers based on market capitalisation, users can run the Jupyter Notebook available at: [CoinGeckoToCsv.ipynb](https://github.com/josericodata/CryptoPredictor/tree/main/assets/dataCleaning/CoinGeckoToCsv.ipynb).\n- **LSTM (Long Short-Term Memory)** - A neural network model optimised for time-series predictions.\n- **Plotly** - To generate dynamic and interactive financial charts.\n- **Pandas** - To manipulate and process cryptocurrency datasets.\n\n---\n\n## 🧑‍💻 **How It Works**\n\n1. The user selects a cryptocurrency (e.g., BTC, ETH).\n2. Historical price data is retrieved using the Yahoo Finance API.\n3. The LSTM model is trained on the past 60 days of historical data.\n4. Predictions are generated for the next 1–90 days.\n5. Results are displayed with interactive charts and tables.\n\n---\n\n## ✨ **Key Features**\n\n- **Real-time cryptocurrency data** - Access accurate and up-to-date information.\n- **Interactive charts** - View historical trends and future predictions visually.\n- **Custom prediction ranges** - Forecast prices for 1 to 90 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/CryptoPredictor.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 CryptoPredictor\n```\n\n3. Create a virtual environment:\n```bash\npython3 -m venv venvCrypto\n```\n\n4. Activate the virtual environment:\n```bash\nsource venvCrypto/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### Crypto Predictor Page:\n![Crypto Price Predictor](https://raw.githubusercontent.com/josericodata/CryptoPredictor/main/assets/gifs/crypto.gif)\n\n---\n\n### ▶️ Watch the YouTube Tutorial\n\n\n[![Crypto Predictor App in 3 Minutes with Streamlit](https://img.youtube.com/vi/MiynYffJWtM/maxresdefault.jpg)](https://www.youtube.com/watch?v=MiynYffJWtM \"Click to play\")\n\nClick the image above or [here](https://www.youtube.com/watch?v=MiynYffJWtM) 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., Prophet) for better prediction accuracy.\n- **Support for additional cryptocurrencies** to expand coverage.\n- **Volatility analysis** to measure price swings and potential risks.\n- **User accounts and history tracking** for tailored predictions and personalised experiences.\n\n---\n\n## 🔧 **Environment Setup**\n\nThe CryptoPredictor 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- **CoinGecko API Error 429**: If too many requests are made to the URL, the API may block further requests. Please restart or close the app, and try again after a minute or two. The data should then be available.\n- **Using the Crypto Predictor**:\n    1. Select a cryptocurrency from the dropdown menu.\n    2. Choose the desired prediction range using the slider.\n    3. Adjust the **Epochs** slider to set the number of training iterations. Note: Higher epochs result in longer training times but can improve model accuracy.\n    4. 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\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosericodata%2Fcryptopredictor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosericodata%2Fcryptopredictor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosericodata%2Fcryptopredictor/lists"}