AsyncAlgoTrading / Aat

Licence: apache-2.0
Asynchronous, event-driven algorithmic trading in Python and C++

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Aat

Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (+39.45%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, algorithmic-trading, trading-strategies
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+837.61%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, trading-strategies
quick trade
convenient script for trading with python.
Stars: ✭ 63 (-42.2%)
Mutual labels:  trading, trading-bot, trading-strategies, cryptocurrencies, algorithmic-trading
51bitquant
51bitquant Python数字货币量化交易视频 CCXT框架 爬取交易所数据 比特币量化交易 交易机器人51bitquant tradingbot cryptocurrency quantitative trading btc trading
Stars: ✭ 284 (+160.55%)
Mutual labels:  trading-bot, cryptocurrency, trading, algorithmic-trading, trading-strategies
Zvt
modular quant framework.
Stars: ✭ 1,801 (+1552.29%)
Mutual labels:  trading-bot, cryptocurrency, algorithmic-trading, stock-market, trading-strategies
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (+21.1%)
Mutual labels:  trading-bot, cryptocurrency, trading, algorithmic-trading, trading-strategies
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+852.29%)
Mutual labels:  trading-bot, cryptocurrency, trading, algorithmic-trading, trading-strategies
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (+86.24%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, trading-strategies
Algotrading
Algorithmic trading framework for cryptocurrencies.
Stars: ✭ 249 (+128.44%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, algorithmic-trading
Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (+207.34%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, trading-strategies
MoniGoMani
Isn't that what we all want? Our money to go many? Well that's what this framework/strategy hopes to do for you! By giving you & HyperOpt a lot of signals to alter the weights from.
Stars: ✭ 868 (+696.33%)
Mutual labels:  trading, trading-bot, trading-strategies, cryptocurrencies
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (+108.26%)
Mutual labels:  trading, trading-bot, trading-strategies, algorithmic-trading
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-80.73%)
Mutual labels:  trading, trading-bot, stock-market, trading-strategies
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+3285.32%)
Mutual labels:  trading-bot, trading, trading-strategies, algorithmic-trading
sdoosa-algo-trade-python
Algo trade project in python
Stars: ✭ 320 (+193.58%)
Mutual labels:  trading, trading-bot, trading-strategies, algorithmic-trading
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (+9.17%)
Mutual labels:  trading, trading-bot, trading-strategies, algorithmic-trading
Tai
A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine
Stars: ✭ 264 (+142.2%)
Mutual labels:  trading-bot, cryptocurrency, trading, algorithmic-trading
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+899.08%)
Mutual labels:  trading-bot, cryptocurrency, trading, trading-strategies
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
Stars: ✭ 580 (+432.11%)
Mutual labels:  trading-bot, cryptocurrency, trading, trading-strategies
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (+311.93%)
Mutual labels:  trading, algorithmic-trading, stock-market, trading-strategies

Build Status Coverage License PyPI Docs

aat is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in C++. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.

Like Zipline and Lean, aat exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.

aat is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.

Overview

A complete overview of the core components of aat is provided in the GETTING_STARTED file.

Internals

aat's engine is composed of 4 major parts.

  • trading engine
  • risk management engine
  • execution engine
  • backtest engine

Trading Engine

The trading engine initializes all exchanges and strategies, then martials data, trade requests, and trade responses between the strategy, risk, execution, and exchange objects, while keeping track of high-level statistics on the system

Risk Management Engine

The risk management engine enforces trading limits, making sure that stategies are limited to certain risk profiles. It can modify or remove trade requests prior to execution depending on user preferences and outstanding positions and orders.

Execution engine

The execution engine is a simple passthrough to the underlying exchanges. It provides a unified interface for creating various types of orders.

Backtest engine

The backtest engine provides the ability to run the same stragegy offline against historical data.

Core Components

aat has a variety of core classes and data structures, the most important of which are the Strategy and Exchange classes.

Trading Strategy

The core element of aat is the trading strategy interface. It includes both data processing and order management functionality. Users subclass this class in order to implement their strategies. Methods of the form onNoun are used to handle market data events, while methods of the form onVerb are used to handle order entry events. There are also a variety of order management and data subscription methods available.

The only method that is required to be implemented is the onTrade method. The full specification of a strategy is given in GETTING_STARTED.

Other Components

aat also provides a complete limit-order book implementation, including flags like fill-or-kill and all-or-nothing, which is used to power the synthetic testing exchange.

Support / Contributors

Thanks to the following organizations for providing code or financial support.

Nemoulous

License

This software is licensed under the Apache 2.0 license. See the LICENSE file for details.

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