Skip to main content

Predict crypto prices with ML.

Project description

Code Is Passing All Unit Tests? Documentation Is Generated? Publish To Docker

Crypto Util

Real time cryptocurrency price data prediction command line utility using machine learning regression. Cross platform compatible on Linux, macOS, and Windows. Written in Python 3.

Install

Docker or podman

  • docker pull yetanothercryptoutil/yacu or

  • podman pull yetanothercryptoutil/yacu

Local installation via anaconda

  • Download and install anaconda
  • git clone https://github.com/1103s/crypto-bot.git
  • cd crypto-bot
  • conda create --name crypto_util python=3.9.7
  • source activate crypto_util
  • python3 -m pip install -r requirements.txt

Usage

GUI

  • Podman: podman run yacu

  • Docker: docker run yacu

  • Python: python3 gui.py

CLI

Local command line usage

  • python3 crypto_util.py --crypto BTC: The basic functionality requires the user to input at least the cryptocurrency symbol. Note that by default images of the data and predictions are saved to figures/
  • python3 crypto_uitl.py --crypto ETH --days 10 --lags 80: More specific flags can be specified, such as the number of days into the future to predict the price.
  • python3 crypto_uitl.py --crypto ETH --days 50 --lags 400: The larger lags is the longer the training time, but also the higher the accuracy will be.
  • python3 crypto_util.py --ls --source kraken: In order for the user to see what cryptocurrency symbols are available for an API source, the utility allows for this listing argument with no additional flags.
  • python3 crypto_util.py --help: Prints the usage instructions.

Docker or podman

  • docker run yacu or
  • podman run yacu

Example Docker or podman Usage

  • podman run yacu --crypto ETH: In this case the settings are set to default. However, the cryptocurrency you want to analyze is a required flag.

  • podman run yacu --help displays the usage and required arguments for the utility to work.

Documentation

Documentation can be found here.

Requirements

  • docker, podman, or anaconda

TODOs

  • Add method to save and load previously trained ML model files using the python library pickle.
  • Implement training functionality (get_data already done)
  • Add more ML models maybe? Maybe make a more customizable model, such as being able to make a 1D convolutional neural network with specified inputs (e.g. price of BTC correlated with other coins) and user-specfied outputs (whether a particular trend appears bearish or bullish).
  • More color palettes for the MainWindow (variations of dark mode)
  • Fix tabs. Automatically switch tabs after new forecast
  • Add moving averages toggling to graph (IDK what a moving average is)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yacu-0.0.2.4.tar.gz (31.3 kB view hashes)

Uploaded Source

Built Distribution

yacu-0.0.2.4-py3-none-any.whl (32.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page