admin

Deploying your first Robo-Trader

How it work


This article shows you how to deploy a Robo-Trader for either live-testing or real-trading, on ALGOGENE platform.

robo_trader

What is a Robo-Trader?

Robo-Trader is a usage scenario for automatically trading algo execution. With a Robo-Trader, it could save your times in continuous monitoring financial markets and tedious steps of manual trade inputs. Whenever there are trading signals generated, the investment bots will directly submit and execute the trade orders to your personal broker accounts. The overall workflow is summarized in this diagram.

workflow

Who are the providers of Robo-Traders?

The Robo-Traders could either be

  1. DIY - developed by yourself, or
  2. Subscribed from a third-party algo providers or fund managers

Prerequisites

For real-trading, you are required to link up your ALGOGENE account with a securities account from our supported brokers. Please refer to these posts for the setup if you haven't done so.

For live-testing, you can either use ALGOGENE for the paper-trading (by default), or connect to demo accounts provided by above brokers.



1. How to deploy DIY Robo-Trader?

(a) Deploy from a backtested script

In fact, it is the most common deployment method for our research based users. For DIY Robo-Trader, it is highly recommended to backtest your strategy before go-live. It does not only allow you to access how a strategy would have performed in the past, but also to discover potential logical bugs in your script.

The deployment from backtest is very simple which requires NO code changes. Here are the steps to deploy a backtest script:

  • Suppose you've already backtested some strategies on ALGOGENE, where you can check it from [My History] as follows.
  • backtest_history
  • Now, go to [Settings],
    • then [Live Test Hosting Accounts] for live-test deployment, or
    • [Real Trade Hosting Accounts] for real-trade deployment
  • Select your broker-linked account, and click button "Execute Algo"
  • settings_deploy
  • Choose your desired backtest script, and click "Execute" button
  • choose_algo
  • Verify your action
  • verify
  • After passing the verification step, go to [Live Test] or [Real Trade] depending on your case. Your Robo-Trader is active now!
  • dashboard

(b) Deploy from livetest/ real-trade interface

It is feasible for you to write your script entirely from livetest/ real-trade interface. However, we don't recommend you to do so due to potential risk of logic errors. Instead, it will be the case when you want to fine-tune your strategy after deploying from a backtest script. The scripting language and framework are exactly the same to what you have done in backtesting. Here are the steps:

  • Go to [Live Test] or [Real Trade] depending on your case
  • Go to [Account Details], select your linked account and click "Stop Algo"
  • stop_algo
  • Now, go to [Account Details] > [Script], re-write or update your trading logics, then press button "Run" (you can refer to Tech Doc for ALGOGENE Web APIs)
  • run_script

(c) Deploy through ALGOGENE REST API

If you want to host your strategy locally rather than on ALGOGENE's cloud, you can also utilize ALGOGENE REST API. Please refer to the REST API Doc for the implementation details. The workflows are summarized below:

  • Use "Account Configuration" endpoint to link up ALGOGENE with your broker accounts
  • Use "Orders" endpoints to send orders
  • Other endpoints to query market data, account balance, inventory, etc

To ease for strategy performance analysis, your transaction details executed via REST API will also be real-time synchronized on ALGOGENE's web portal. You can check it from [Live Test] or [Real Trade].



2. How to deploy a subscribed Robo-Trader?

  • Explore available Robo-Traders from ALGOGENE Marketplace
  • Choose a desired Robo-Trader, click "SUBSCRIBE"
  • Select your desired "Run Mode" and "Account", then click "SUBMIT"
  • subcribe

It is now the time to build up your own Robo portfolio. Let's Robo-Traders work for you, and free you up to enjoy the life!