Coder Social home page Coder Social logo

python-trading's Introduction

AlgoTrader

AlgoTrader is an event driven algorithmic trading system.

There is a python version and java version. They both share same API.

The Java version is designed to support ultra low latency trading and FIX protocol. It can process 10M+ event per seconds in a commodity pc hardware with I7 CPU.

The Python version support quick modelling / testing.

Main Features (Python version)

  • Event driven.
  • Supports Market, Limit, Stop and StopLimit orders.
  • Supports CSV Feed (yahoo format)
  • Supports backtesting using Simulator, which supports differnet fill-strategy, slippage config, commission setting
  • Supports live-trading using Interactive Brokers
  • Technical indicators and filters like SMA, RSI, Bollinger Bands..
  • Performance metrics (use pyfolio)

TODO

  • Persistence: Save the portfolio, account, result into DB and can load them back when system startup.
  • Bar Factory: Aggregate bar from lower time frame bar or from quote / trade
  • Supports more CSV format, e.g. Google Finance, Quandl and NinjaTrader.
  • Supports more data feed e.g. Cassandra, InfluxDB, KDB
  • Save real time data, persist into various data store (e.g. CSV, Cassandra, Influx, KDB)
  • Aggregated TimeSeries (multiple Key - value)
  • Event profiler.
  • TA-Lib integration, support more TA indicator
  • HTML5 UI, to view the account, portfolio, control strategy and view performance (real time and historical performance)
  • Multiple currencies, timezone, and trading session.
  • Trading context, which include strategy config, data subscription info
  • Supports Machine Learning Library, e.g. Theano
  • Supports Spark
  • Supports Parallel processing, for optimization and backtest. Results should be persisted into DB and can be viewed by HTML5 UI.
  • Supports FIX workflow, refactor order into order and orderEvent (Order contains state and with different order events: NewOrderRequest , OrderCancelRequest, OrderCancelReplaceRequest, OrderStatusRequest and execution events: ExecutionReport, OrderStatus)
  • Remote OMS (strategies can be run separately and send order request to remote OrderServer)

python-trading's People

Contributors

alexcwyu avatar jjchan121 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

python-trading's Issues

any local working example?

Can I just run the local simulator without all the hassle of database and trading connector configuration? Any example? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.