All Projects → TalaikisInc → Quantrade

TalaikisInc / Quantrade

Licence: LGPL-3.0 license
Quantitative strategies portfolio index [DEPRECATED].

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Quantrade

mt4-mql
MetaTrader MQL4 framework
Stars: ✭ 205 (+1364.29%)
Mutual labels:  trading, forex, metatrader
dukascopy-tools
✨ Download historical price tick data for Crypto, Stocks, ETFs, CFDs, Forex via CLI and Node.js ✨
Stars: ✭ 128 (+814.29%)
Mutual labels:  trading, forex, metatrader
mt4-expander
DLL extension for the MetaTrader MQL4 framework
Stars: ✭ 25 (+78.57%)
Mutual labels:  trading, forex, metatrader
Metatrader
Expert advisors, scripts, indicators and code libraries for Metatrader.
Stars: ✭ 99 (+607.14%)
Mutual labels:  trading, forex, metatrader
Gym Anytrading
The most simple, flexible, and comprehensive OpenAI Gym trading environment (Approved by OpenAI Gym)
Stars: ✭ 627 (+4378.57%)
Mutual labels:  trading, forex
Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+32764.29%)
Mutual labels:  trading, forex
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (+221.43%)
Mutual labels:  trading, forex
Oandapyv20 Examples
Examples demonstrating the use of oandapyV20 (oanda-api-v20)
Stars: ✭ 102 (+628.57%)
Mutual labels:  trading, forex
Argo
Quest in pursuit of the Golden Fleece in Forex chaos
Stars: ✭ 260 (+1757.14%)
Mutual labels:  trading, forex
Backtesting.py
🔎 📈 🐍 💰 Backtest trading strategies in Python.
Stars: ✭ 1,124 (+7928.57%)
Mutual labels:  trading, forex
Heptet
Pair Trading - Reinforcement Learning - with Oanda Trading API
Stars: ✭ 51 (+264.29%)
Mutual labels:  trading, forex
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 (+1264.29%)
Mutual labels:  trading, forex
Jiji2
Forex algorithmic trading framework using OANDA REST API.
Stars: ✭ 211 (+1407.14%)
Mutual labels:  trading, forex
Ta4j Origins
A Java library for technical analysis ***Not maintained anymore, kept for archival purposes, see #192***
Stars: ✭ 354 (+2428.57%)
Mutual labels:  trading, forex
Ta4j
A Java library for technical analysis.
Stars: ✭ 948 (+6671.43%)
Mutual labels:  trading, forex
Oanda Api V20
OANDA REST-V20 API wrapper. Easy access to OANDA's REST v20 API with oandapyV20 package. Checkout the Jupyter notebooks!
Stars: ✭ 325 (+2221.43%)
Mutual labels:  trading, forex
Pytrader Python Mt4 Mt5 Trading Api Connector Drag N Drop
End-to-End solution connecting Metatrader4 & Metatrader5 💹 with Python with a simple drag and drop EA. Fully tested bug free & efficient solution for live & paper trading⭐ Full Documentation ready.
Stars: ✭ 93 (+564.29%)
Mutual labels:  trading, forex
Mida
The open-source and cross-platform trading framework
Stars: ✭ 263 (+1778.57%)
Mutual labels:  trading, forex
Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Stars: ✭ 5,675 (+40435.71%)
Mutual labels:  trading, forex
Bot18
Bot18 is a high-frequency cryptocurrency trading bot developed by Zenbot creator @carlos8f
Stars: ✭ 157 (+1021.43%)
Mutual labels:  trading, forex

Quantrade

Build Status

Quantrade is quantitative strategies portfolio index, generating trade signals from its portfolio.

Status

Deprecated. New iteration of this project is Blue Blood and its repo can be found here.

What it does

It uses data server, running Metatrader 4 platforms and processing server that gets the data via WebDAV (requires data_server), processes it and then displays generated content. It would query, when configured, data server periodically to generate trade signals automatically from created strategies.

STATUS

It's a beta, because it was changed many times over those few months, requires code reviews, which will be done after deciding how it will or should look when operable, and most importantly, - remaining validation functionality.

Public website does nothing currently, and I am sometimes working on more simplistic to end users approach with much higher trading frequency than this project.

TODO

  • API
  • Mobile app. (in progress)
  • MQL4 EA. (dropped?)
  • In/out sample.
  • Monte Carlo
  • Indicators & strategies inside database/ user form.
  • If above, then API enhancements.
  • Tests.

Requirements

  • Two included brokers (Ava trade and Pepperstone) with 25 strategies generate over 200,000 files, over 100 Gb of data, so it is resources hungry project.
  • As Metatrader 4 is visual, it probably needs Windows server.
  • It needs both MySQL (receiving symbol data from MT4) and Postgres (everything else) servers.
  • Python 3.6+, Nginx, Redis, aio or cherry or uWsgi (original).

Technologies

APIs

Mobile

Differences between open source and actual

Open source repo doesn't include actual strategies.

How to create strategies

It uses pandas, so it's pretty straightforward vectorized testing for simple strategies. First you need some indicator. Both indicator and strategy should be defined in utils.py and programmed inside collector/arctic_utils.py (IndicatorBase and SignalBase classes). Indicator example:

# "SMA" is an indicator name defined inside utils.py
# "per" variable is also defined inside utils.py
if 'SMA' in self.name:
    df['VALUE'] = df['CLOSE'] - df['CLOSE'].rolling(self.per, min_periods=self.per).mean()

    #following lines should be used for each indicator
    df = await self.clean_df(df)
    await self.insert(df=df)

And then you can query that indicator for your strategy:

# "SM" is defined in utils.py as part of strategy name, it auto-generates
# 2 strategies at once - mean reversing and momentum, 3 sides (only longs, only shorts,
# longs & shorts)
# "BUY_SIDE" and "SELL_SIDE" columns should be used for each strategy
# indicator "VALUE" should be shifted, of course
if 'SM' in self.name:
    if self.mean_rev:
        df['BUY_SIDE'] = where(df['VALUE'].shift() < 0.0, 1, 0)
        df['SELL_SIDE'] = where(df['VALUE'].shift() > 0.0, -1, 0)
    else:
        df['BUY_SIDE'] = where(df['VALUE'].shift() > 0.0, 1, 0)
        df['SELL_SIDE'] = where(df['VALUE'].shift() < 0.0, -1, 0)

    #following lines should be used for each signal generator
    df = await self.clean_df(df=df)
    await self.insert(df.dropna())

If you need to access broker, symbol, system or period on your strategy - use self.info["broker"],...

Issues

  • Yahoo dropped its data and as a concequence Quandl too. Project has some (very poor in my opinion) initial try to implement something portfolio strategies related, but this issue prevents the intention to develop portfolio strategies further.

"Special" features

  • It implements some concept of "automarketing", when results for each trade and month are sent to social networks, RSS, email.
  • As always, Nginx SSL config with A level security, big names don't usually do that.

How to start

  1. Setup and configure everything (biggest part). Then easy:
  2. python utils.py --setup=y
  3. python utils.py --hourly=y
  4. python utils.py --daily=y
  5. python utils.py --monthly=y
  6. You have your site.

History

It was created as part of Project 10x. Project 10x was started several years ago in order to challenge myself and find interesting solutions for generating 10x profits (more exactly, goal is 25% per month or 1200%/year) for retail traders, who are limited in many various ways, like higher commissions, unreliable brokers, lack of knowledge what really works, etc. Although, Quantrade didn't find anything in similar order, it also found a promising concept of index of strategies.

  • 2016.10-2017.02. At first I thought people would construct their own portfolios of strategies, but after release test, that appeared too complex for users, so
  • 2017.03-2017.04 following version created indexing concept. That simplified things, but still not much.
  • 2017.05+ - dropped active development after realizing no one of end-users gets it and decided to explore other concepts.

Limitations

  • Monte Carlo only works on Close values.
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].