apssouza22 / trading-system

An open-source backtesting and live trading platform for using to foreign exchange

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FXyou Build status Maintainability Rating Quality Gate Status

Simple High frequency trading with backtesting simulation and live trading engine written in Java.

Disclaimer

This software is for educational purposes only. Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.

Always start by running a trading bot in Dry-run and do not engage money before you understand how it works and what profit/loss you should expect.

Features

  • Persistence: Persistence is achieved through the H2
  • Backtesting: Run a simulation of your buy/sell strategy.
  • Stop order/ Limit order management
  • Broker reconciliation
  • Multi position for currency pair
  • Daily summary of profit/loss: Provide a daily summary of your profit/loss.
  • Performance status report: Provide a performance status of your current trades.

Tech details

  • Java 17
  • Event driven architecture
  • Maven multi-modules
  • Java modularization
  • Packaging by domain
  • Domain driven design (DDD)
  • BDD with cucumber
  • Multiple design patterns (Strategy, factory, builder, Observer...)
  • Cross-cutting concern

Alt text

How to run

mvn package && \
java -jar runner/target/runner-1.0-SNAPSHOT.jar

Using Docker

docker build . -t trading-engine
docker run --rm -p 8080:8080 trading-engine

About

An open-source backtesting and live trading platform for using to foreign exchange


Languages

Language:Java 94.9%Language:Shell 4.6%Language:Gherkin 0.3%Language:Dockerfile 0.2%Language:CSS 0.0%