Algorithmic trading is a technique of trading financial assets through an algorithm which has been fully or partially automated into a computer program.
Algorithmic trading refers to the use of electronic platforms for entering trading orders in with minimum human intervention.
The algorithm controls aspects of the order such as the timing, price, or quantity of the order and can look at the market data feeds (Trades, Quotes, Bars etc), indicators and other techniques to aid in the order placement decision making process.
A trading algorithm can be automated using different platforms available specifically for this purpose. Algorithmic Trading APIs are available in a variety of general purpose languages including python
, Java
, C++
, C#
, VB
. Some platforms, like Tradestation, MetaTrader Terminal, NinjaTrader or xStation offer their own, Domain Specific, programming languages aswell, to develop trading algorithms.
The trading system can utilize very simple to advanced mathematical models for making transaction decisions in the financial markets or for visual tools for computer / AI - augmented trading experience. The strict rules built into the model attempt to determine the optimal time for an order to be placed that will cause the least amount of impact on a stock's price. Large blocks of shares are usually purchased by dividing the large share block into smaller lots and allowing the complex algorithms to decide when the smaller blocks are to be purchased.