Learning Border Cursor (LBC), Training interval A, Testing Interval C
Learning Border Cursor (LBC), Training and Testing Intervals
I received so many e-mails describing a situation that might be familiar to you as well: you have bought some software/trading course/book and are applying the described there technology. And you realize that this stuff "does not work for you". The reason for all this disappointment is not because "it does not work for you". The reason is much more simpler: you have been convinced to buy by just one or two (or even several) "good" examples. In reality it turns out that a majority of examples that you see are not so "good" or are totally "bad". Such a situation occurs because there are thousands ways to make a good view of any theory. Only "a cold wind of reality" can show the true usefulness of any idea. It would be better for you realize that before you start trading that technique and risk your own money. The problem is that vendors of these ideas/techniques/theories are often victims by themselves; they might be doing that unwillingly. Why? There are so many reasons for that - from a poor knowledge of research methodology and statistics to the absence of comprehensive theory of what is actually happening on the markets and what moves the stock prices.
One of the most common reasons may be the use of future leak technology (or the use of the information received later for backing up the events that took place earlier). Sometimes future leaks are very tricky, and it is not easy to detect them.
Timing Solution software is aware of that. Non future leaks technology incorporated in Timing Solution allows you to see the actual performance of the models. The idea came from Neural Network's Back Testing technology. With it, we have blocked hundreds of situations when models that actually have poor performance could made a "good" impression.
How do we do that?
In Timing Solution all downloaded price history is divided on two intervals: a training interval (usually blue) and a testing interval (usually red or pink; here I have it creamy - to remind you that you are able to choose colors that you like):
We do that with one reason only: to avoid any kind of future leaks.
To train the models, we work with the data from the training interval. The testing interval serves only for forecast. We do not use the data from the testing interval to "cook" our models.
The border between the training and testing interval is called Learning Border Cursor (LBC):
This border can be moved to any side. But - no matter in what position it is, only data to its left is used to train our models while the data to the right is used to test the forecasting ability of the model, and only for that.
When we create a model, the program does not know about the price movements beyond the LBC. So if we get a good projection line after LBC, this is a true sign that our model is able to generate a good projection line.
It means that always you need to leave some price history data beyond LBC - to verify how your model works. In statistics this interval is called "out of sample".
You can set LBC manually; just move the mouse to any place of the price chart (it will be a position of your LBC) and do the RIGHT mouse click:
Choose this item, and program will set the LBC on this chosen position.
The same result can be achieved if you press this button:
and click the mouse at the position where you need to set LBC.
If you work with Neural Net module, you can do this procedure many times while the Neural Network is training. Thus you can observe how the projection line is changing when the new price bars are added. If you have decided that the model is good enough (we will discuss later what it means), you can set the LBC on the last price bar:
And the program will use all available price history to generate the projection line. We call such situation as "Final Forecast". Let me repeat this once again: we look for a "good" model by training it on a training interval and testing its forecast ability on a testing interval. Timing Solution software does not allow to use any portion of data from the testing interval to train the model; it is the only way to avoid future leaks. When a 'good' model is found, you may use all available data to create a projection line based on that model.
Avoiding future leaks is extremely important as there are so many cases when a model shows a very high correlation on a TRAINING interval and practically does not work at all on a TESTING interval. (High correlation on a training interval says only one thing: that the software used by you is able to create a model that reconstructs PAST market moves well enough. It is just a first step, though. Some new information coming next moment can change that wonderful picture in a second. Our life would be much easier and we would be able to make a true forecast/projection of what will happen next, if we would know what reason/reasons moves the markets and how that reason actually works. We do not have this knowledge yet; we can speak now only about probabilities. That is why we need to delete as many factors that can distort our forecast, as many as possible. And future leaks are among those factors.)
Everywhere in the program the training interval is marked as A interval, and the testing interval as C interval. In our first models, we used a verified interval B as well. The practice revealed its irrelevance, so we do not use it anymore:
We can calculate a correlation between the price and the projection line on any interval. If we do that on Training interval ("A"), it shows only how good is our model in explaining the past (the higher the better). However, it does not tell us how well this model will forecast the future. The forecasting ability can be calculated only when future leaks are avoided; it is a correlation on C = Testing interval.