bin+lib golden

All in one trading engine

6 releases

0.1.5 Jun 2, 2024
0.1.4 Jun 2, 2024
Download history 14/week @ 2024-09-22

155 downloads per month

GPL-3.0 license

94KB
663 lines

golden

golden is all in one trading engine built with Rust.

There are many public algorithmic trading platform like QuantConnect and JoinQuant for individual trader for learning, researching, backtesting and live-trading. However, we still private algorithmic trading platform for many reasons such as strategy privacy, system stability and other customed features.

One of the well-known private trading library is Backtrader, but the commmunity is not active recently. It hasn't updated since Apr 19, 2023. I also build a simple project based on backtrader and ib_insync, but it still need a lot of work to do to achieve above goals.

Inspired by backtrader, golden aims to build all in one trading engine supporting backtesting, analyzing, paper-trading and live-trading.

Why Rust

  • As my first Rust practice project
  • Modern programming language
  • High performance
  • Powerful compiler
  • The trending

Project feature list

  • Command Line Argument Parser
  • Set configuration with a local toml file
  • Set configuration with UI
  • Publish it to crate.io
  • Customed Strategy writing

Backtest features list

  • Single data feed
  • Single strategy
  • Download CSV data from yahoo finance
  • Set time range while downloading data from Yahoo finance
  • Load CSV data from local file
  • Multiple data feed
  • Multiple strategy
  • Set time range in backtest
  • Basic Indicators (such as SMA)
  • More analyzer

Visualization feature list

  • Create the basic layer
  • Implement candlestick chart
  • Implement line chart
  • Add trading orders list
  • Add side panel controller
  • Add top menu bar
  • Set window size and position
  • Add benchmark
  • Add more details

Paper trading & live trading feature list

  • Single live broker: IBKR
  • Live trading with single broker
  • Risk module
  • Online monitor module

Demo

make backtest symbol=SPY

TODO: add more

Quick Install

cargo install golden

Commands

# download csv to data/
golden csv --symbol SPY

# backtest
golden backtest --symbol SPY

# paper trading
golden paper --broker ibkr

Dependencies

~19–43MB
~648K SLoC