A year ago the Business Insider reported about the "the stocks market's robot revolution". Whereas the title was crying, a summary was more reserved: The fund has outperformed the S&P 500 so far, but a much longer trading period is needed to assess whether it can truly offer market-beating returns. I scheduled in my calendar to have a look at this fund in a year, telling a colleague, who pointed me on AIEQ that I would bet a bottle of whisky (bot not a farm!) that this ETF will perform worse than its benchmark. I turned out to be right.
Usually we analyze in detail the performance of investment strategies that we review. This time we will spare the effort, finally we have little data on AIEQ. The original publication by BusinessInsider reports that AIEQ "uses IBM's Watson supercomputing technology to analyze more data than humanly possible, all in the pursuit of building the perfect portfolio of 30 to 70 stocks". Anyway, we can see a strong correlation with SPY, which lets us assume that the algorithm likely chooses from the heaviest components of SP500. Since AIEQ uses Watson, its strategy may be based on the news analysis... but finally it all does not matter much as long as the fund does not beat it benchmark!
Two years ago we published a post Big Data and Deep Learning, a technology revolution in trading or yet another hype?: a good non-technical introduction to a problem.
Later we considered a more technical (counter)-example, showing that (and explaining why) the glorified LSTM neural networks may fail even on simulated time series (let alone the real data, often noisy and incomplete).
The morality (which we repeat to our readers over and over again): don't get fooled by the buzz-words (even if they are AI, BigData or Blockchain). And even if current AI tools can learn a lot (they really can), the market is an ever changing essence, meaning that an AI algorithm shall not only learn but also forget quickly. But this is exactly what the AIEQ strategy failed to do: it (again) started to lose to SPY as soon as the volatility regime has switched. Volatility clustering and regime switching is a well-known stylized fact and likely the creators of AIEQ has taught their algo w.r.t. this phenomenon. But in the market one does not necessarily need to be (artificially) intelligent, rather one shall be smart and not to follow the natural stupidity of the crowd. I mean, if a guess that AIEQ tries to assess the news is correct, then the drop is actually obvious: how the market evaluates essentially the same news strongly depends on current market sentiment.
#R-code used to create the charts (called on 27.10.2018): library(alphavantager) library(quantmod) av_api_key(<set_your_key_here>) ai = av_get(symbol = "AIEQ", av_fun = "TIME_SERIES_DAILY_ADJUSTED", outputsize = "full") sp = av_get(symbol = "SPY", av_fun = "TIME_SERIES_DAILY_ADJUSTED", outputsize = "full") AIEQ = xts(ai$adjusted_close, order.by=ai$timestamp) SPY = xts(sp$adjusted_close, order.by=sp$timestamp) commonDates = as.Date(intersect(index(AIEQ), index(SPY))) plot(AIEQ[commonDates]/as.numeric((AIEQ[commonDates])[1]), main="AIEQ (black) vs. SPY (red): normalized daily_adjusted prices") lines(SPY[commonDates]/as.numeric((SPY[commonDates])[1]), col="red") # par(mfrow=c(2,1)) plot(dailyReturn(AIEQ[commonDates])) plot(AIEQ[commonDates]/as.numeric((AIEQ[commonDates])[1]), main="AIEQ (black) vs. SPY (red): normalized daily_adjusted prices") lines(SPY[commonDates]/as.numeric((SPY[commonDates])[1]), col="red") plot(dailyReturn(AIEQ[commonDates]))
P.S. One year is, however, not a big time span to evaluate the strategy. As I publish this post on Facebook, the FB will friendly remind me about it after a year. So we will have a look at AIEQ once again... unless it becomes a victim of funds survivorship bias 😉
FinViz - an advanced stock screener (both for technical and fundamental traders)