All Projects → kkuette → Tradzqai

kkuette / Tradzqai

Licence: apache-2.0
Trading environnement for RL agents, backtesting and training.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tradzqai

Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (+123.33%)
Mutual labels:  trading-bot, bitcoin, trading, trading-algorithms
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+592%)
Mutual labels:  trading-bot, bitcoin, trading, trading-algorithms
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (+1.33%)
Mutual labels:  trading-bot, bitcoin, trading, trading-algorithms
Astibot
Astibot is a simple, visual and automated trading software for Coinbase Pro cryptocurrencies (Bitcoin trading bot)
Stars: ✭ 104 (-30.67%)
Mutual labels:  trading-bot, bitcoin, trading, trading-algorithms
Machine Learning And Ai In Trading
Applying Machine Learning and AI Algorithms applied to Trading for better performance and low Std.
Stars: ✭ 258 (+72%)
Mutual labels:  trading-bot, bitcoin, trading, trading-algorithms
Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Stars: ✭ 5,675 (+3683.33%)
Mutual labels:  trading-bot, algorithm, trading-algorithms, trading
Ta4j
A Java library for technical analysis.
Stars: ✭ 948 (+532%)
Mutual labels:  bitcoin, trading, trading-algorithms
Bitvision
Terminal dashboard for trading Bitcoin, predicting price movements, and losing all your money
Stars: ✭ 957 (+538%)
Mutual labels:  trading-bot, bitcoin, trading
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (-70%)
Mutual labels:  trading-bot, bitcoin, trading
Gtrader
a trading strategy trainer, back-tester and bot
Stars: ✭ 71 (-52.67%)
Mutual labels:  trading-bot, bitcoin, trading
Cated
CATEd - Cryptocurrency Analytics and Trading Engine for Django
Stars: ✭ 84 (-44%)
Mutual labels:  trading-bot, bitcoin, trading
Cointrol
฿ Bitcoin trading bot with a real-time dashboard for Bitstamp.
Stars: ✭ 1,351 (+800.67%)
Mutual labels:  trading-bot, bitcoin, trading
Tradinggym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stars: ✭ 813 (+442%)
Mutual labels:  trading-bot, trading, reinforcement-learning
Coinbase Pro Trading Toolkit
DEPRECATED — The Coinbase Pro trading toolkit
Stars: ✭ 817 (+444.67%)
Mutual labels:  trading-bot, trading, trading-algorithms
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+581.33%)
Mutual labels:  trading-bot, trading, trading-algorithms
Octobot
Cryptocurrency trading bot: high frequency, daily trading, social trading, ...
Stars: ✭ 706 (+370.67%)
Mutual labels:  trading-bot, bitcoin, trading
Freqtrade Strategies
Free trading strategies for Freqtrade bot
Stars: ✭ 697 (+364.67%)
Mutual labels:  trading-bot, bitcoin, trading
Binance grid trader
A grid trading strategy and trading-bot for Binance Exchange. 币安交易所的网格交易
Stars: ✭ 132 (-12%)
Mutual labels:  trading-bot, bitcoin, trading-algorithms
Bitmex Simple Trading Robot
Simple BitMEX trading robot.
Stars: ✭ 100 (-33.33%)
Mutual labels:  bitcoin, trading, trading-algorithms
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (-12%)
Mutual labels:  trading-bot, trading, trading-algorithms

TradzQAI

Trading environnement for RL agents, backtesting and training.

Live session with coinbasepro-python is finaly arrived !

  • Available sessions:

    • Local
      • 1M bar datasets any size.
        • header should be ['Time', 'Open', 'High', 'Low', 'Close', 'Volume'] with ';' as separator
      • Tick datasets any size.
        • header should be ['Time', 'BID', 'ASK', 'VOL'] or ['Time', 'Price', 'Volume'] with ',' as separator
    • Live
      • Gdax API
  • Available agents:

    • DDPG
    • DQFD
    • DQN
    • DQNN
    • NAF
    • PPO
    • TRPO
    • VPG
  • Available contract type:

    • CFD
    • Classic

TradzQAI has been inspired by q-trader.

Indicators lib come from pyti

More datasets available here

Status

Alpha in development
    GUI rework on track

Getting Started

  • Dependencies :

    Installation :

    pip install -r requirements.txt

  • Running the project

    Usage:
      python run.py -h (Show usage)
      python run.py -b agent_name (to manually build config file, it build config files from agent, default PPO)
      python run.py -s live (for live session) 
      python run.py -m eval (for eval mode)
      python run.py -c config_dir/ # load config from directory, make sure you have agent, env and network json files in it
      python run.py (Run as default)
    

    When you run it for the first time, a config directory is created, you can change it to changes environnement settings and some agents settings. It save settings (env, agent, network) in a save directory, and create a new directory if make any changes.

    • Do you own decision function for maker side. For more info look at this function

      from core import Local_session as Session
      from mymodule import myfunc
      session = Session(mode=args.mode, config=args.config)
      session.initApi(key=key, b64=b64, passphrase=passphrase, url=url,
              product_id=product_id)
      session.getApi().setBestPriceFunc(myfunc)
      
    • Do your own runner.

    from core import Local_session as Session
    session = Session() # Run with default values
    session.loadSession() # loading environnement, worker and agent
    session.start() # Start the session thread
    
    • Do your own worker.
    from core import Local_env
    env = Local_env() # run with default values
    for e in episode:
      state = env.reset()
      for s in step:
        action = agent.act(state)
        next_state, terminal, reward = env.execute(action)
        agent.observe(reward, terminal)
        if terminal or env.stop:
          break
      if env.stop or e == episode - 1:
        env.logger._running = False #Close the logger thread
        break
    
    • How to use networks.
      • You have to define your input to fit with columns name of your datasets, it will automaticaly it grab input from network and compare it with your dataset columns in getState function, it allow you to do complex network like this :

        [
            [
                {"names": ["Price"], "type": "input"},
                {"activation": "relu", "size": 8, "type": "dense"},
                {"activation": "relu", "size": 8, "type": "dense"},
                {"name": "pricenet", "type": "output"}
            ],
            [
                {"names": ["Volume"], "type": "input"},
                {"activation": "relu", "size": 8, "type": "dense"},
                {"activation": "relu", "size": 8, "type": "dense"},
                {"name": "volnet", "type": "output"}
            ],
            [
                {"names": ["pricenet", "volnet"], "type": "input"},
                {"activation": "relu", "size": 64, "type": "dense"},
                {"activation": "relu", "size": 32, "type": "dense"},
                {"activation": "relu", "size": 8, "type": "dense"},
                {"name": "prediction", "type": "output"}
            ]
        ]
        
        • Simple network are handled as well without defining any input:
          [
              {"activation": "relu", "size": 64, "type": "dense"},
              {"activation": "relu", "size": 64, "type": "dense"}
          ]
        
    • Also TradzQAI support pre trained keras model:
      • You can build settings for your model by using py run.py -b DEEP. Your model have to be placed in the same directory as the one you use to launch it and have to be called deep_model.h5.

Relevant project

This project isn't perfect so keep this in mind.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

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