All Projects → apssouza22 → trading-system

apssouza22 / trading-system

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

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].