Skip to content

Cryptocurrency trading bot, and backtesting framework in julia

License

Notifications You must be signed in to change notification settings

x-EricH-x/PingPong.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord build-status-docs build-status-docker

Ping Pong

⚡ Speedy backtester! 📊 Highly interactive and explorative plotting! 🚀 Trivial deployments!

The one-of-a-kind solution for automated (crypto)trading. PingPong is unparalleled in its flexibility to adapt to different trading environments. The bot is setup to be easy to customize, and can execute any kind of strategy thanks to an approachable set of interfaces. It comes with a backtest engine that also supports trading with margin (and therefore position management). Paper mode allows to dry run your strategies before executing them in Live mode. The framework allows to achieve no code duplication between simulated and live modes.

📖DOCUMENTATION

💬DISCORD CHAT

A non exhaustive list of features...

  • 📈 Backtest in spot markets, or with margin in isolated mode).
  • 📊 Plotting for OHLCV, custom indicators, trades history, asset balance history
  • 🔍 Optimization (grid search, evolution and bayesian opt algorithms, restore/resume capability and plotting)
  • 📄 Paper mode (using real orderbook and trades history)
  • 🔴 Live (not implemented)
  • ⏹️ Telegram Bot (not implemented)
  • 🖥️ Dashboard (not implemented)
  • 📡 Help you write data feeds to monitor exchanges or 3rd party apis.
  • ⬇️ Download data from external archives in parallel, and api wrappers for crypto apis.
  • 💾 Store and load OHLCV (and arbitrary) data locally or remotely (with resampling).
  • 🔧 Implement custom behaviour thanks to a fine grained type hierarchy for instruments, exchanges, orders, etc...

Install

PingPong.jl requires at least Julia 1.9. Is not in the julia registry, to install it do the following:

  • Clone the repository:
git clone --recurse-submodules https://github.com/panifie/PingPong.jl PingPong
  • Activate the project:
cd PingPong
git submodule init
git submodule update
julia --project=.
  • Download and build dependencies:
# use centralized condapkg env
ENV["JULIA_CONDAPKG_ENV"] = joinpath(dirname(Base.active_project()), ".conda")
import Pkg; Pkg.instantiate()

Warning

The api is not stable. If you want more stability around some functionality open an issue for the function of interest such that I can add a test around it.

About

Cryptocurrency trading bot, and backtesting framework in julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 99.4%
  • Other 0.6%