Giter VIP home page Giter VIP logo

speculator's Introduction

travis build python version license tag status


Speculator is an API for predicting the price trend of cryptocurrencies like Bitcoin and Ethereum.

Normal markets will also be added in future updates.

Getting Started

Using Python: python main.py

Using Public REST API:

python api.py
curl http://localhost:5000/api/public/predict

If you want to access the private API, simply make the DB connection an environment variable:

export SQLALCHEMY_DATABASE_URI='postgresql://username:password@host:port/db'

For a full list of SQLALCHEMY_DATABASE_URI formats, see SQLAlchemy's docs under "Connection URI Format".

Prediction Example:

Use the --help flag for a complete list of optional arguments.

Note: A website for a friendly user experience is in development

Dependencies

Make sure these packages are installed before running Speculator:

pip3 install delorean requests numpy tensorflow scikit-learn pandas flask flask-cache flask-restful flask-sqlalchemy psycopg2 webargs

API

Web RESTful API

Just start the Flask server then make requests:

python api.py
curl http://localhost:5000/api/public/predict -X GET

For a list of valid arguments in the URL, please check back tomorrow (12/20/17).

I plan to start a server for anyone to access this without starting their own Flask server, but with only public access. Starting this on your own server with authentication for users (private access) will allow you to PUT/POST/DELETE your own market data and analyze that instead of the default. This is currently in development and will be extended in the future.

Python Package

Speculator is available as a package on PyPi.

pip3 install speculator

If you want to use or thoroughly understand Speculator's API, I recommend checking out the docs, which features a fully documented example.

Project Structure

LICENSE
README.md

docs
    \_ CONTRIBUTING.md
    \_ analysis.md
    \_ example.md
    \_ example.py
    \_ utils.md

speculator
    \_ api.py
    \_ main.py
    \_ market.py
    \_ features
                \_ obv.py
                \_ rsi.py
                \_ sma.py
                \_ so.py
    \_ models
             \_ deep_neural_network.py
             \_ random_forest.py
    \_ tests
            \_ integration
                          \_ test_poloniex.py
            \_ unit
                   \_ test_date.py
                   \_ test_poloniex.py
                   \_ test_obv.py
                   \_ test_rsi.py
                   \_ test_sma.py
                   \_ test_so.py
                   \_ test_stats.py
    \_ utils
            \_ date.py
            \_ poloniex.py
            \_ stats.py

Contact for Feedback, Questions, or Issues

Feel free to send me a message on Reddit at /u/shneap. I am happy to hear any concerns, good or bad, in order to progress the development of this project.

Contributing

Please read the detailed contributing doc.

Disclaimer

Speculator is not to be used as financial advice or a guide for any financial investments.

speculator's People

Contributors

amicks avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.