Generating trading ideas can be a frustrating process, especially if there isn’t a structured framework for it. To assist us with our ideas generation process, we break down algorithmic trading ideas into 4 main categories. These 4 categories are essentially different types of market inefficiencies. As mentioned in the previous blog post, market inefficiencies are the core building blocks of trading strategies.

The 4 types are:

  • Fundamentals
  • Statistics
  • Macroeconomics
  • Market Microstructure

Note that these 4 types are not mutually exclusive. Strategies can involve more than 1 type.


Understanding Market Inefficiencies


The term fundamentals is commonly associated with equities. In this case, we use fundamentals to describe the value stemming from the intrinsic make up of any asset. These include earnings releases, oil field discoveries and expected downgrades of corporate bonds.

Examples of fundamental inefficiencies/opportunities:

  • Overstated earnings in a company’s annual report.
  • A major breakthrough in clean energy technology disrupting traditional oil industries.
  • Death of a superstar CEO.

Example of algorithmic trading strategy:

We create an algorithm that predicts company earnings based on publicly available information. Let’s say we’re looking at a timber logging company.

We input information regarding revenue and cost such as amount of land deforested, number of new contracts secured, market price of timber, amount of new equipment purchased, labour and overhead costs etc. The algorithm outputs the expected earnings of the company for the quarter and we compare that with analysts’ earning forecasts. If there is a significant discrepancy, we put in a position before the earnings release and exit the position after.

We do this for thousands of companies to lower the variance in our performance.


If we break it down to first principles, strategies based on statistics essentially say “This market move is unusually big or small for this market condition.”. How unusual this is considered is defined by how the asset has performed historically. Of course, past performance may not be an accurate predictor for the future. Hence, we need to think critically and prudently when we implement strategies involving statistical inefficiencies. Most strategies involving statistics employ either cointegration, mean-reversionor correlation/prediction

Examples of statistical inefficiencies/opportunities:

  • A group of stocks in the same country and industry expected to behave in a similar fashion during certain periods.
  • Corporate bond rating correlated with the stock price of some of its major clients.
  • Prediction of a timber company share price change during earnings release using publicly available information (see previous example under Fundamentals).
  • Stock A’s price correlated with the number of tweets about its impending earnings disaster.

Example of algorithmic trading strategy:

A group of stocks in the utilities industry in the same country with a similar corporate make up and market capitalisation are expected to behave in the same way during a quiet period (defined as a period where there are no expected material news/announcements).

Hence, when stock X’s price diverges from the rest in a statistical fashion, we expect the relative difference in price between the stock X and the rest to converge 8 times out of 10. We put in a trade to exploit this.


Macroeconomic inefficiencies are market inefficiencies that stem from macroeconomic events (you don’t say!). Such events include: central bank announcements/activities, economic policy shifts, government corruption and multi-country trade agreements.

Examples of macroeconomic inefficiencies/opportunities[4]:

  • Lagging reaction from a particular derivative after Non-Farm Payrolls.
  • Impact of economic sanctions on certain industries and asset groups.
  • Expectations of easing or tightening policies.

Example of algorithmic trading strategy:

A high frequency firm uses powerful computers and a lightning fast connection to get information on country A’s central bank rate cut decision. They then buy the country’s bond futures before anyone else.

Market Microstructure

According to Wikipedia:

Market microstructure is a branch of finance concerned with the details of how exchange occurs in markets. The major thrust of market microstructure research examines the ways in which the working processes of a market affects determinants of transaction costs, prices, quotes, volume, and trading behaviour.

In simpler terms: It is the underlying mechanisms that enable trading in the financial markets.

You may be wondering why market microstructure is considered a source of value. Even though market microstructure seems to deal with trading infrastructure rather than the assets itself, it creates many opportunities that traders can exploit. Market microstructure inefficiencies usually involve analysing other market players or exploiting infrastructural flaws.

Examples of market microstructural inefficiencies/opportunities:

  • A fund wants to buy a large amount of stock A. They enter their trades in a manner that unintentionally signals their objective. Other market players catch on and start buying the stock too.
  • Spoofing the depth of market order book to mislead other traders.
  • Out queuing other players during futures rollover in a First In, First Out exchange.

Example of algorithmic trading strategy:

While analysing the limit order book, we see a pattern of queuing that seems to indicate that a buyer wants to long large amount of US 10 Year futures. We design an algorithm to identify such patterns and trade accordingly.

Starting the Idea Generation Process

In addition to having a structured thought process for discovering trading ideas, we need 2 other components in the idea generation process.

First, we need to know what types of strategies are suitable for the trader. Factors to consider include: trading capital, risk profile and programming competency.

Second, we need a framework to vet trading ideas and select promising ones for our backtesting stage. However, we won’t be going into details for those 2 components today. To learn more, check out our course, AlgoTrading101. That’s it for today’s post!

[1] Not all of these inefficiencies are suitable for algorithmic trading.

← Newer Post: Dynamic Trading Systems: Fixed Strategies Can’t Adapt!

→ Older Post: Market Prudence - Reason For The Trade