In the world of trading it is crucial to have a good analysis of the data in order win. That process however depends on the trader who, sometimes, get’s fooled by what’s called “news”; external factors that have a direct or indirect effect on the market. These news are barely predictable making the task of the trader more difficult. Traders that use data analytics know why they make a specific move and are more cautious in their actions. That is why we took trading as a good way to test the accuracy of our predictor.
Given a certain time-series, we use Extreme Learning Machines to predict the step following that time-series. Unlike technical analysis, this method bases it’s results solely on the previous data contained by the defined window, not patterns in the data. Future versions include that aspect of trading as they train with the spacial distributions of the data (convolutions).
The results shown below represent the performance of the algorithm on the USD/JPY pair. The pair data is taken directly from a website by scrapping and yahoo’s API. We need to fetch the N previous data series to predict the next step. That is why the values barely change.
As you can see, there is a slight delay before it reacts to abrupt an change. This shows how it’s performing well on stable pairs due to the standardization process.see here for more on standardization.
Here we have been working on a window of 100 steps. That causes the prediction accuracy to drop with big changes (moving average problem). However, with more time in the process, the precision becomes better than before. With a ranging price, It struggles to follow the actual values.
In the previous example, the USDJPY pair was ranging, causing the predictor to give unstable and slightly inaccurate response. With the BTC-USD pair, the price range is a bit more stable but the fluctuation is good enough to evaluate the predictor.
In the previous video, the predictions seem quite accurate due to the big differences between the initial stage and the new predictions. However, as we can see below, the predictor takes some time to adapt to new values.
once it’s adapted to new values (it takes around N steps to do so, here N=100), the predictions are quite accurate as the price is stable.
The blue dots represent the predicted values and the red ones represent real values.
This is based on the version 1.0 of our predictor. later versions include more complex algorithms and take on account patterns and news in the market. This predictor can be used in various fields such as logistic planning, or error detection.