The goal of this project is to help users understand the trends that are present in the current market so as to make better investment decisions when buying or selling cryptos. We will create a user friendly sentiment analyzer which focuses on the cryto market and provides users with a bearish or bullish signal for Bitcoin on any given day. The application should help users determine what to trade into and/or out of their portfolio.
In this Project, we will create and submit the following deliverables:
- A Jupyter notebook that contains the following:
- A time-series analysis on Bitcoin and Ethereum.
- Professionally styled and formatted visualizations.
- An interactive Streamlit application that provides users with a forecast for bitcoin.
This application is written in Python 3.7 using JupyterLab version 3.0.14.
Import the following libraries:
- pandas (an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.)
- Pathlib (a library that enables consistent input and output of files from the main app.)
- OS (an interface between the Python Programming Language and the Host Operating System.)
- JSON (a lightweight data-interchange format inspired by JavaScript object literal syntax.)
- Requests (an elegant and simple HTTP library for Python, built for human beings.)
- Alpaca Trade API (a python library for the Alpaca Commission Free Trading API. It allows rapid trading algo development easily, with support for both REST and streaming data interfaces.)
- numpy (a Python library that adds support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.)
- dotenv (loads environment variables from .env files.)
- matplotlib (a plotting library for the Python programming language.)
- scikit-learn (an open source machine learning library that supports supervised and unsupervised learning.)
- pandas: conda install pandas or pip install pandas
- pathlib: pip install pathlib
- requests: python -m pip install requests
- alpaca-trade-api: pip install alpaca-trade-api
- JSON: conda install -c jmcmurray json
- streamlit: pip install streamlit
- scikit-learn: pip install -U scikit-learn
- dotenv: pip install python-dotenv
- matplotlib: pip install matplotlib
- numpy: pip install numpy
The Crypto_Analyzer.ipynb
notebook will be used to complete the following tasks:
- Use Alpaca APIs to retrieve the data for ethereum and bitcoin.
- Clean and prepare the data for the analysis and application.
- Do a time-series analysis of the cryto market to make future predictions on bitcoin.
- Provide an accuracy score to determine how likely it is that the predictions will be correct.
The streamlit.py
application will be used to complete the following tasks:
- Ensure that the user meets the minimum age requirement of 21 years.
- Provide users with a forecast for bitcoin.
- Our prediction model recieved an accuracy score of 79 percent. Thus, users of the streamlit application will make correct predictions approximately 4 out of 5 times.
To open the Streamlit application type the following command into your terminal: streamlit run streamlit.py
- We originally wanted to incorporate ten different cryptocurrencies into the portfolio but did not have enough time to do so.
- Creating a LexBot seemed to be fairly simple but we ran into difficulties when we tried to incorporate Lambda.
- We attempted to use questionary but found that it was not the most effective tool.
Future plans for this project include:
- Incorporate a LexBot into the portfolio.
- Incorporate a larger number of cryptocurrencies into the analyzer.
Derek Hall Patten Williams Chancie Altham
MIT License