Shark - An Algorithmic Trading Platform
Shark is an open source algorithmic trading platform under active development.
It enables the use of programmable algorithms to identify and execute upon trading opportunities, perform back/foward testing, comes with a multitude of plugins, and can operate against REST and streaming APIs.
The example configuration demostrates a simple moving average crossover against the TOP 20 Crypto, and though the demo focuses on cryptocurrencies, it could easily be adjusted to suit any financial market.
See the plugins for a list of capabilities, and broker configurations can be found here.
See the example configuration to get started.
Instructions
System Requirements
Operating System | CPU | RAM | DISK |
---|---|---|---|
Rocky Linux 8+ | 4 CPU | 8 GB | 80 GB |
Setup
System Installation
-
Prepare a vanilla Rocky Linux (server instance) with VirtualBox (help).
-
Install epel - open a terminal, and run:
yum install epel-release -y
- Install ansible - open a terminal, and run:
yum install ansible -y
- Install git - open a terminal, and run:
yum install git -y
- Open a terminal, and run:
git clone https://github.com/danielneil/Shark.git && cd Shark && ./build.sh
- Navigate to http://shark-server/shark (web credentials are shark/shark) - it will take a few minutes to populate with data.
Screenshot - Trading the TOP 20 Crypto
Screenshot - Shark Plugins (sma, yahoo_finance, backtest)
Screenshot - Shark Plugin (backtest - against all instruments)
Screenshot - Backtest Report (rsi2 strategy against BTC-USD)
Need Help?
Come hang out on Reddit!