Creating a stock trading bot is both a very interesting and a very challenging task. To build an algorithm that makes money, there is a number of potential trading strategies from which value can be created. This post attempts to list the most obvious strategies in a formal and systematic approach, to methodically structure the testing of the different ideas. This post will also be updated over time as more strategies get added and the most promising ideas are tested.
There are a plethora of platforms for aspiring stock traders to engage in buying and selling stocks. Some of the most popular for people who invest their own money include Interactive Brokers, FXPro or Robinhood. However, for those who specifically intend to develop algorithmic trading bots, other options are also available, providing a specific environment for programming and testing algorithms, and funding for successful bots, such as Quantopian, Numerai, and QuantConnect.
In any case, before a trading bot can be programmed, one of more strategies must be implemented to lead to a decision to buy or sell a particular stock in a long or short position. Here is a list of some factors to make such decisions, grouped by types of factors, that may lead to the placing of an order with the brokering platform.
Of course, some machine learning, deep learning, and reinforcement learning algorithms are more than likely to bring an edge for any trading bot, provided access to sufficient and reliable data is available. We are here only listing the potential underlying financial factors to a strategy, not the AI algorithms that could help us reach the most optimized patterns, but the effectiveness with such algorithms should also be evaluated before any actual test.
Company-specific trading strategies
- Fundamental internal business data (profit volumes, margin percentage, customers orders for coming years…) and future perspectives of the company (future expectations vs current status).
- The company’s stock price, moving averages, historical financial data and ratios
- News about the company (profit warnings or results beating expectations, merger, and acquisitions of or by other companies, legal actions in favor or against the company, etc.)
Industry and sector-specific trading strategies
- Business data and ratios comparisons to other actors of the industry/sector (difference of growth rate, of margins percentages…)
- Stock price and financial ratios comparisons to other actors of the industry/sector (price to equity vs competitor, etc.)
- Industry/sector short, mid and long-term trends (correlations between stock prices of companies in the same industry, the outlook for the industry in the coming months or years, etc.)
Stock market-specific trading strategies
- Profiting from or hedging against the moves of the company’s stock market and benchmark indices (seasonal movements, movements following dividend payments, evolutions from political situations…)
- Devising strategies that are independent of the market and macroeconomic outlook
- Portfolio specific trading strategies that blend cyclical stocks with defensive stocks
Cross-markets trading strategies
- Correlations of one company stock with other companies in other stock exchanges
- Correlations of a portfolio with other stock exchanges
- Correlations of a stock exchange daily evolution with other stock exchanges in the trading day cycle (Asia / Europe / America)
- Correlations with weekly, monthly, yearly movements of other exchanges and/or economies
Other trading strategies
- Correlations with the prices of other financial assets: derivatives, commodities, real estate prices…
- Correlations with political or economic news
- Evolution of the policial, economic, social, technological, ecological or legal environment
Here are some potential financial strategies to develop stock trading bots. What do you think of them? Have you tried any? Do you think any strategy will outperform the others? Any other strategy you can think of? Leave your thoughts in the comments below!