What Is Autotrading?
Autotrading is a trading plan where buy and sell orders are automatically placed based on an underlying system or program. These orders are placed when the trade conditions in the underlying system or program are met.
- Autotrading is when buy and sell orders are placed automatically based on a programmed strategy.
- Advanced autotrading, which limits human participation in the trading program, requires a sophisticated trading program.
- Autotrading allows for rapid execution of orders, as soon as a programmed strategy's conditions are met.
- Autotrading programs can be based on nearly any strategy, but the strategy must be programmable and thoroughly tested for profitability before attempting to run it.
Autotrading allows investors to capitalize on market opportunities in real time. It typically involves complex programming and, in some cases, sophisticated trading platforms that support external programming or plug-ins.
Traders can design their application or connect to a program, to make automated trades based on a customized strategy.
Basic forms of autotrading can be utilized by all types of retail investors. For example, setting orders that will execute in the future when certain criteria are met is the most basic form of autotrading.
On a more advanced level, autotrading eliminates human input entirely. Once the software is programmed, it will continue to run without the need for human interference or input. In the advanced case, traders will still monitor their programs closely to make sure it is operating as expected.
Overall, autotrading systems are used in a wide range of markets including stocks, futures, options, and forex.
Autotrading requires a predetermined trading strategy. The strategy is the basis for the computerized program, defining when and why it will trade. It can be structured in various ways for all types of investors.
Retail investors may deploy basic autotrading plans that make investments at regular intervals, or that place conditional orders in stocks that meet certain parameters. Conditional orders allow an investor to enter trades at specified levels for automatic execution when a price is reached.
Many technical day traders will only work with brokers that allow plug-ins or external programs to connect to their platform, or that offer a coding program within the platform itself to create indicators and autotrading programs.
Brokerage platforms such as TD Ameritrade and Interactive Brokers, for example, offer coding and autotrading capabilities. Institutional investors will typically have their own proprietary trading platforms that allow for autotrading through algorithmic programming.
Institutional investors may use complex algorithms that seek to place trades for investment portfolios based on defined criteria governed by a portfolio’s objective. This may include buying or selling securities automatically to maintain a specific percentage or dollar allocation to each stock, or matching the holdings in the portfolio to an index.
Technical day traders will use autotrading to invest based on technical market signals. They commonly use complex conditional orders for auto trading. These types of orders allow an investor to specify an entry price and build a collar around the trade to institute predetermined profit and loss levels for risk management.
Autotrading programs can be built to capitalize on developing trends, trade gaps, trade ranges, or scalp the bid/ask spread. There are countless strategies. Utilizing them is only limited by the trader's ability to come up with profitable strategies and effectively program them.
Autotrading is also popular for investors in the forex market. Most brokers offer a platform that comes equipped with the ability to install applications offered by other traders and businesses. A word of caution: the widespread use of autotrading in the forex market has led to an abundance of low quality, untested software. The field is littered with scammers.
Forex traders can also create their own trading programs by using MetaTrader 4 or MetaTrader 5 coding language called MQL4 and MQL5, for example.
Autotrading Strategy Criteria
Autotrading may sound simple, but programming even a simple trading strategy requires is complex. Rules need to be simple enough to be coded, and can't include subjectivity, as the computer needs defined rules.
Things to consider include, but are not limited to:
- Position size, and how it will be defined;
- How trades will be entered, and what specific parameters will trigger a trade;
- How trades will be closed, and what triggers the closing of a trade;
- Constraints on the system, such as when it should or shouldn't trade;
- Need for safeguards.
These topics are elaborated on in more detail below.
- Defining position size — For example, a position size could be equal to 10% of account equity. Or it could be more advanced, first defining the difference between the entry price and stop loss, setting a maximum risk, such as 1% of the account capital, and then defining the position size based on the 1% risk and the distance between the stop loss and entry on the particular trade. This more advanced position sizing approach is sometimes called optimal position sizing since the position size changes based on the particulars of a trade.
- Entering trades — For example, for a trade to be entered on a moving average (MA), crossover requires that the price first be on one side of the MA, and then be on the other. The data source must also be specified. How is the price determined: the last price? the bid price? the ask price?
- Closing trades — This could be accomplished by placing limit orders and stop loss orders at the outset of the trade. These orders will close the trade at the order prices, whether the trade is profitable or unprofitable. A more complex strategy could be to program a trailing stop loss.
- System constraints — This includes things like such as when the programmer shouldn't or should trade. For example, the programmer may not want the program to run until five minutes after the stock market opens. Therefore, they would need to put in a time constraint in the programming code.
- Safeguards — For example, if more than 5% equity is lost, or an open trade is losing more than a defined amount, the program closes all trades and/or an email is sent to an administrator to check on the program.
These are basic criteria to consider when making an automated trading program. The more complex the system, the more criteria and factors that need to be considered.