All Projects → EliteQuant → Elitequant_python

EliteQuant / Elitequant_python

Licence: apache-2.0
Python quantitative trading and investment platform; Python3 based multi-threading, concurrent high-frequency trading platform that provides consistent backtest and live trading solutions. It follows modern design patterns such as event-driven, server/client architect, and loosely-coupled robust distributed system. It follows the same structure and performance metrix as other EliteQuant product line, which makes it easier to share with traders using other languages.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Elitequant python

Elitequant cpp
C/C++ 11 High frequency quantitative trading platform. It follows modern design patterns such as event-driven, server/client architect, dependency injection and loosely-coupled robust distributed system. It is self-contained and can be used out of box. At the same time, it serves as server side for other EliteQuant projects.
Stars: ✭ 341 (-13.45%)
Mutual labels:  trading-strategies, trading-platform, quantitative-trading, investment, backtest
Sgx Full Orderbook Tick Data Trading Strategy
Providing the solutions for high-frequency trading (HFT) strategies using data science approaches (Machine Learning) on Full Orderbook Tick Data.
Stars: ✭ 733 (+86.04%)
Mutual labels:  trading-strategies, quantitative-trading, investment
Trading Server
A multi-asset, multi-strategy, event-driven trade execution and management platform for running many algorithms/bots at many venues simultaneously with unified risk management and reporting. Uses MongoDB for storage and Telegram for user notifications/trade consent.
Stars: ✭ 191 (-51.52%)
Mutual labels:  trading-platform, quantitative-trading, backtest
Tradinggym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stars: ✭ 813 (+106.35%)
Mutual labels:  trading-strategies, trading-platform, backtest
Xalpha
基金投资管理回测引擎
Stars: ✭ 683 (+73.35%)
Mutual labels:  quantitative-trading, investment, backtest
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (+13.96%)
Mutual labels:  trading-strategies, trading-platform, investment
Quant
Codera Quant is a Java framework for algorithmic trading strategies development, execution and backtesting via Interactive Brokers TWS API or other brokers API
Stars: ✭ 104 (-73.6%)
Mutual labels:  trading-strategies, trading-platform, quantitative-trading
quanttrader
Backtest and live trading in Python
Stars: ✭ 139 (-64.72%)
Mutual labels:  trading-platform, trading-strategies, quantitative-trading
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (-42.39%)
Mutual labels:  trading-platform, trading-strategies, quantitative-trading
Strategems.jl
Quantitative systematic trading strategy development and backtesting in Julia
Stars: ✭ 106 (-73.1%)
Mutual labels:  trading-strategies, quantitative-trading, backtest
Tradingstrategies
Algorithmic trading strategies
Stars: ✭ 120 (-69.54%)
Mutual labels:  trading-strategies, trading-platform, quantitative-trading
Zvt
modular quant framework.
Stars: ✭ 1,801 (+357.11%)
Mutual labels:  trading-strategies, trading-platform, quantitative-trading
Turingtrader
The Open-Source Backtesting Engine/ Market Simulator by Bertram Solutions.
Stars: ✭ 132 (-66.5%)
Mutual labels:  trading-strategies, trading-platform, quantitative-trading
algobox
Open Source algorithmic trading platform in Java / Python
Stars: ✭ 90 (-77.16%)
Mutual labels:  trading-platform, trading-strategies
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+269.54%)
Mutual labels:  trading-strategies, investment
Machine Learning And Ai In Trading
Applying Machine Learning and AI Algorithms applied to Trading for better performance and low Std.
Stars: ✭ 258 (-34.52%)
Mutual labels:  trading-strategies, quantitative-trading
tvjs-overlays
💴 Collection of overlays made by the TradingVueJs community
Stars: ✭ 65 (-83.5%)
Mutual labels:  trading-platform, trading-strategies
LiuAlgoTrader
Framework for algorithmic trading
Stars: ✭ 514 (+30.46%)
Mutual labels:  trading-platform, trading-strategies
tradingview-alert-binance-trader
This trading bot listens to the TradingView alert emails on your inbox and executes trades on Binance based on the parameters set on the TD alerts.
Stars: ✭ 153 (-61.17%)
Mutual labels:  trading-platform, trading-strategies
Awesome Algorithmic Trading
A curated list of awesome algorithmic trading frameworks, libraries, software and resources
Stars: ✭ 328 (-16.75%)
Mutual labels:  trading-strategies, quantitative-trading

EliteQuant_Python

Python quantitative trading and investment platform


Platform Introduction

EliteQuant is an open source forever free unified quant trading platform built by quant traders, for quant traders. It is dual listed on both github and gitee.

The word unified carries two features.

  • First it’s unified across backtesting and live trading. Just switch the data source to play with real money.
  • Second it’s consistent across platforms written in their native langugages. It becomes easy to communicate with peer traders on strategies, ideas, and replicate performances, sparing language details.

Related projects include

Project Summary

EliteQuant_Python is Python3 based multi-threading, concurrent high-frequency trading platform that provides consistent backtest and live trading solutions. It follows modern design patterns such as event-driven, server/client architect, and loosely-coupled robust distributed system. It follows the same structure and performance metrix as other EliteQuant product line, which makes it easier to share with traders using other languages.

Participation

Please feel free to report issues, fork the branch, and create pull requests. Any kind of contributions are welcomed and appreciated. Through shared code architecture, it also helps traders using other languges.

Installation

No installation is needed, it's ready for use out of box. Just download the code and enjoy.

Backtest

On python side, it depends some python packages. Here are the instructions after a clean installation of Anaconda Python 3.6 on Windows 10 system.

  1. Add the unzipped folder for example d:\workspace\EliteQuant_Python to PYTHONPATH environment variable

PYTHONPATH

  1. pip install the following under command prompt cmd
pip install quandl
pip install pandas-datareader
pip install tushare
pip install pyfolio
pip install qdarkstyle
  1. Configure config_backtest.yaml in the source directory

    • datasource: historical data source
    • hist_dir: local history data directory
    • output_dir: output test results directory

    Currently it supports data source from

    • Quandl
    • Tushare
    • Local CSV
  2. stay in command prompt, execute

cd source
python backtest_engine.py

Live Trading

Live trading needs one more python package, nanomsg. Here is how to install it on Windows

  1. In command prompt, execute
cd resource
easy_install nanomsg-1.0-py3.6-win-amd64.egg
  1. go to folder createed by last step, C:\Anaconda3\Lib\site-packages\nanomsg-1.0-py3.6-win-amd64.egg\nanomsg-1.0-py3.6-win-amd64.egg, cut+paste move everything one level up, and delete the extra folder nanomsg-1.0-py3.6-win-amd64.egg.

  2. copy resource\nanomsg.dll to C:\Anaconda3\Lib\site-packages\nanomsg-1.0-py3.6-win-amd64.egg\

  3. After that, configure source/config.yaml

    • If you want to use interactive broker, open IB trader workstation (TWS), go to its menu File/Global Configuration/API/Settings, check "Enable ActiveX and Socket Client", uncheck "Read-Only API"
    • In the config file, change the account id to yours; IB account id usually can be found on the top right of the TWS window.
    • If you use CTP, change your brokerage account information and ctp addresses accordingly.
    • create folder for log_dir and data_dir respectively. The former records runtime logs, while the later saves tick data.
  4. run python live_engine.py

Live Demo

Interactive Brokers is the most popular broker among retail traders. A lot of retail trading platform such as quantopian, quantconnect are built to support IB. If you don't have IB account but want to try it out, they provide demo account edemo with password demouser. Just download TWS trader workstation and log in with this demo account. Note that accound id changes everytime you log on to TWS with demo account so you have to change EliteQuant config file accordingly.

CTP is the de-facto brokerage for Chinese futures market, including commodity futures and financial futures. They also offer free demo account SimNow. After registration, you will get account, password, brokerid, along with market data and trading broker address. Replace them in EliteQuant config file accordingly.

Development Environment

Below is the environment we are using

  • Anaconda Python 3.6
  • PyCharm Community version 2017.2.4

Architecture Diagram

Backtest

Backtest

Live Trading

Live Trading

Code Structure

Code Structure

Todo List

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].