Skip to content

An all-in-one Cryptocurrency exchange API service. Current implementations include coinbase and binance exchange.

License

Notifications You must be signed in to change notification settings

PureIso/exchange.core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exchange.core

Build status

Master Branch: Build Status

Development Branch: Build Status

Version: 1.0.0

Cryptocurrency Exchange API

System will connect to various exchanges for real-time trade information.
System will record trading information to be later used for supervised machine learning.
The project is more so to experiment with various technologies and see how far it goes.

alt text

Programming Paradigms

  • Imperitive Programming Paradigm
    • Object Oriented Programming
    • Parallel Processing Approach

Design

  • Dependancy Injection with Adapter Pattern
  • Extension Methods

Exchange API Documentations

The following links are the exchange API documents

  • Binance - Binance SPOT API Documentation
  • Coinbase - Coinbase API Documentation

Development Process

The following development process seems to work well for this project.

  • Test Driven Development

Core Features

  • Docker implementation
  • Saving 15 minutes, 1 hour and 1 day trading candles for neural network
  • Worker Service with SignalR broadcast
  • Binance Trading
    • Acount Information
    • List Orders
    • Post Orders
    • Product Information
    • Ticker Information
    • Fill Information
    • Product Historic Candles
  • Coinbase Pro Trading
    • Acount Information
    • Account History
    • Account Holds
    • List Orders
    • Post Orders
    • Product Information
    • Ticker Information
    • Fill Information
    • Product Order Book
    • Product Historic Candles
    • Subscribe to Real-Time Feeds
  • Trading Indication
    • Relative Strength Index
  • Recurrent Neural Network (RNN)
    • Tensorflow
    • Keras
    • Long Short Term Memory (LSTM) model for time series prediction

TODO

  • XML Comments
  • Automatic Trading based on end-user rules
  • Front End with Electron and Angular 9
    • TensorFlowJS
    • RNN Trained Shards
  • Unit Test
  • Implement prediction API via machine learning Flask APP

Technologies

Frontend Solution

Backend Solution

Machine Learning Solution

  • Python 3 - (Language - Backend/Machine Learning)
  • Keras - (Dead Learning Library)
  • Tensorflow - (Artificial Intelligence Library)
  • Flask - (MicroWeb Framework)
  • Celery - (Distributed Task Queue)
  • RabbitMQ - (Message Broker)

Database

Centralized Logging

  • GrayLog - (Centralized Log Management)

Setup - Visual Studios and Visual Studio Code

  • Using visual studios build solution.
  • Run the "copy_plugins.bat", it will copy the plugins to the exchange.service plugin directory (release and debug)
  • Using visual studios run the "exchange.service" project.
  • Using visual studio code, open the "exchange.signalR.client.web.frontend" directory and run the following
npm install
npm start
  • Navigate to localhost:9000

Setup - Docker and Docker Compose

  • Using visual studio code, download and install docker
  • In some cases you might have to clean orphaned images using the following command:
docker image prune
  • Using visual studio code, remove volumes with the following command
docker-compose down -v
  • Using visual studio code, build the docker image with the following command
docker-compose up --build

Common Issues

  • Byte Order Mark (BOM) casuing issues with UTF-8 file. It can be removed form the init.sh file as part of docker mongo with the following command in bash:
sed -i $'1s/^\uFEFF//' theFilePath

License

License

About

An all-in-one Cryptocurrency exchange API service. Current implementations include coinbase and binance exchange.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published