Code Monkey home page Code Monkey logo

cryptotimeseries's Introduction

CryptoTimeSeries

Getting started

This code base is using the Julia Language to make a reproducible project named

CryptoTimeSeries

It is authored by tcae.

To (locally) reproduce this project, do the following:

  1. Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently.

  2. Open a Julia console and do:

    julia> using Pkg
    julia> Pkg.activate("path/to/this/project")
    julia> Pkg.instantiate()

This will install all necessary packages for you to be able to run the scripts and everything should work out of the box.

What is it all about?

This is a playground Machine Learning project that aims to predict the best trades using popular cryptocurrencies on Binance.

Be cautious and don't use it for real trading unless you know what to do. There is no backward compatibility intention, restructuring of project parts may happen without announcement. Any trade signal from this software is no recommendation to trade. Trading cryptocurrencies is high risk.

Entry points

Each module is located in the src folder and has a corresponding '_test' unti test in the test folder.

  • The main module is Trade that is setup via trade_test, which runs a tradeloop but applies TradingStrategy to determine buy and sell actions
  • Machine learning is made available by Classify.
  • Targets provides target labels to train, evaluate and test machine learning approaches.
  • Features provides OHLCV derived features as input for machine learning and trading.
  • Ohlcv provides means to get locally stored historic Open High Low Close Volume data.
  • CryptoXch is the abstract layer to Bybit
  • Assets is selecting those assets from the exchange that are compliant to certain criteria that makes them a trading candidate.
  • EnvConfig provides common configuratioin items, like the set of cryptos to use or common folders
  • TestOhlcv provides periodic OHLCV patterns to test implementations.

Scripts for investigations as well as the GUI (cryptocockpit) are located in the scripts folder without a unit test

Design

In order to achieve a seperation of concerns and a self documenting code, the approach is to separate

In case of variants, e.g. features or classification algorithms, the same function name is implemented by different modules residing in the same , e.g. Features or Classify, package and have to imported via the package name using Features.Feature100.

Under construction

  1. simplegainperformance nbestgradientgain
  2. targets
  3. notes

to do

  • Trade/preparetradecache! should use Assets.jl instead of creating it's own asset selection

OHLCV file transfer

  • create tar file of ohlcv files from ~/crypto/Features:
    • cd ~/crypto/Features
    • tar -czvf ohlcv.tar.gz *.jdf
    • or
    • tar -czvf ohlcv.tar.gz ~/crypto/Features/*.jdf
  • list files in tar file ohlcv.tar.gz:
    • tar -ztvf ohlcv.tgz
  • extract files from ohlcv.tar.gz to ~/crypto/Features:
    • tar -xzvf ohlcv.tar.gz -C ~/crypto/Features
  • split a big file into 1.5GB chunks
    • split -b 700m ohlcv.tar.gz ohlcv.tar.gz.parts_
    • creates:
      • -rw-rw-r-- 1 tor tor 2955474895 jun 10 17:40 ohlcv.tar.gz
      • -rw-rw-r-- 1 tor tor 1572864000 jun 10 17:43 ohlcv.tar.gz.parts_aa
      • -rw-rw-r-- 1 tor tor 1382610895 jun 10 17:43 ohlcv.tar.gz.parts_ab
  • combine split files
    • cat ohlcv.tar.gz.parts_* > ohlcv.tar.gz

cryptotimeseries's People

Contributors

tcae avatar

Watchers

 avatar  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.