Published using Google Docs
Introduction to ML algos
Updated automatically every 5 minutes

How to interpret ML algo graphs and signals

Access: For the graphs, go here. For recent positions in a Google sheet, go here.

Introduction to the ML algos and plots

I provide forecasts in the form of a plot per equity index, which I tried to clean up a bit more this week. Let’s start with the black line: This is the daily closing price of the index (see right y-axis). Then there is the left y-axis “Signal Probability”: every symbol is positioned according to the forecasted probability of the move, e.g., the violet dot on Jul 27 sits at about 80 % signal probability.

You’ll notice that there are different symbols and colors. Every color / symbol pair stands for a different model. A short description can be seen in the legend box below the plot. “Long” / “Short” is the general direction of the signal, expecting a higher price on “Long” and vice versa.

The magnitude of the move is shown in the brackets: The TP of +2 % means a rise of 2 % in price is expected and set as a take profit for a new position. The SL is always in the other direction; in this case, a stop loss is set at closing price -2 %.

Some models give an “ATR” value instead of a % value. This stands for the technical indicator “average true range”, a measure of current volatility in the markets. It can be shown in almost all charting software.

On the models website, you can hover over the signal and see the fixed TP/SL values without having to worry about ATR or percent values. There is also a table tracking the latest 1000 positions.The time frame of forecasts is about 2 to 5 trading days. In general, the graphs can be used on three different levels:

  1. Taking a look at the website and getting a feel for the distribution of signals over all observed indices. Are there predominantly long signals or short signals? It’s a good indicator of general market sentiment as my model sees it.
  2. Timing your entries and exits according to your own strategy by looking at the days where signals appear, what signals appear, and also at the probabilities (y-position on left axis).
  3. (Blindly) recreating positions based on the signals as available in the table on the website.

Compared to simple rule-based strategies, I cannot simply deduct whether my models work in a trend-following, mean-reverting or a different way. It’s really fun to get to know it better as time progresses though.

Virtual positions and targets

Similar to PAM, every trade signal generated is to be seen in isolation, trade by trade. Each position is defined by a profit target (TP) and a stop loss (SL). All targets are tracked on a high/low basis, not on a per close basis. If one was to follow the signals: open the position at the price given (or at the current price), set both TP and SL and forget about it. Over time, the mathematical edge should grow the account.

I was asked why I have weird numbers for a reward:risk ratio. For example, the most common target is +0.7 ATR / -1 ATR. In this case, the risk is always larger than the reward. How can this be profitable?

Any reward:risk ratio can be profitable if it succeeds often enough. Let's say, we always open a position with the same size, the TP is at +1 % and SL at -1 %. In this case, without fees and slippage, it's easy to see that if the signals are successful more than 50 % of the time, they are profitable because one loss can be offset by one gain. If the reward is smaller than the risk, the probability of success needs to be higher than 50 %. In the case of +0.7 ATR / -1 ATR it needs to be successful about 60 % of the time. Assuming 10 signals, 6 wins and 4 losses with bet size of 1 unit, we arrive at 6 * 0.7 - 4 * 1 = 0.2 units of profit.

I evaluate many different targets with high reward:risk ratios and low ones, but I only use targets that have shown a suitable probability of success (among other factors). If the probability is not high enough to warrant a trade (e.g., lower than 60 % for +0.7 ATR / -1 ATR), it simply won't be shown in the graph.

Version 1 (15th August 2022)