Algorithmic trading is a method of investing that relies upon automating the process of placing orders. There is an underlying strategy that indicates the triggering of a long or short position and then the corresponding order is placed through a broker. The positions are also closed when indicated by the strategy or based on a threshold for potential losses.
The process of establishing a working strategy involves the following steps:
- Collecting data sets of historical stock prices (daily or intraday depending on your trading frequency).
- Back-testing your strategy: test your strategy using historical data and estimate what your annual returns would have been, how these returns compare to a benchmark (e.g. S&P500 index) and what is their volatility (consider calculating Sharpe Ratio, and other performance analytics).
- Consider leasing a server and acquiring a fast internet connection as well as a cloud service to store your data sets. Depending on the strategy, increased computational power might be required.
- Opening a brokerage account with low commission fees. Estimate what is your hurdle rate to compensate for these expenses, and adjust your back-testing results to incorporate trading fees & commissions. What is the impact on the alpha?
- Automating the process of placing and closing orders through your broker and the use of an API (Python would probably be a good choise for this step).
Nowadays, you can literally find a ton of strategies, codes and online data sets to back-test strategies. For your reference and as an example please take a look at the following websites regarding implementing and back-testing strategies as well as commission free trading:
There are quite a few websites that offer similar resources and services but the above ones can be helpful as a starting point.
Overall, technology has made it relatively easy to perform back-tests, test multiple strategies and automatically place orders and as a result making it possible for more people to participate in systematic trading.