Neural Network Module

Building your first Neural Net

The Neural Network (NN) module in Timing Solution is designed to discover hidden relationships between various market factors and future price movements.
Unlike traditional cycle analysis, where a trader explicitly defines a cycle and studies its influence, a Neural Network automatically extracts these relationships from historical data.
You can think of a neural network as a sophisticated "black box" that learns from examples.

As an example, we can build a Neural Network that searches for relationships between planetary phases and Bitcoin price. The network analyzes how planetary  phases have historically influenced Bitcoin, gradually learning these relationships from historical data. Since future planetary phases are known in advance, the Neural Network can apply this learned knowledge to generate a forecast for future Bitcoin price movements.

This concept of a Neural Network is illustrated in the picture below:

Diagram

Description automatically generated

Every Neural Network has the same basic structure: an input layer, one or more hidden layers, and an output layer. The Input Layer contains the variables that will be processed. This is where we provide any factors that we believe may influence the result. In our example, these factors could be planetary phases.


The Output Layer contains the values that we want to forecast. These may be market prices, price changes, or price volatility. In Timing Solution, the output variable is called the Target.


Finally, the Hidden Layer (or hidden layers) is where the actual computations take place. During the training process, the network attempts to discover relationships and correlations between the inputs and the target values.
The Neural Network (NN) shown above is called a Multilayer Perceptron (MLP).

So, our Neural Network (NN) will use planetary phases as inputs and Bitcoin prices as outputs. In other words, we are building a model that attempts to predict Bitcoin prices based on planetary phases:

 

Now you are ready to run Neural Network module in Timing Solution:

 

There are three major sections here:

Output: This is where you define the target variable. It may be a percentage price oscillator for the Bitcoin chart (to account for the trend), Average True Range (ATR), RSI, or any other market-related indicator.

Input: This is our model. In this example, the inputs are planetary phases. However, they can represent any astronomical, astrological, fundamental, or environmental phenomena, such as planetary aspects, sunspot activity, weather conditions, and more.

The third section contains the controls used to train the Neural Network.


The video below explains the process of building and training a Neural Network:

 

Below several nuances will be explained:

Neural Net Inputs

 

In Timing Solution, we provide a wide variety of astronomical and astrological phenomena that can be used as inputs for a Neural Network. In other words, you can build forecasting models based on various astronomical and astrological factors:

 

When to stop Neural Net training

There are no certain rules regarding this object. If you train Neural Net not enough, it will not gather from the price history the information suitable to build a projection line. From the other side, if you train Neural Net too long, you will definitely end up with the overtraining (memorizing) effect (it happens when Neural Net simply memorizes the price history instead of gathering a meaningful information from the price).

We would recommend three rules:

Rule #1: You can stop Neural Net training when the projection line changes not too much during the training process. The projection line may be changing, though the change should not be drastic.

Rule #2: You should train Neural Net  during 10-30 epochs. The amount of trained epochs can be found here:

Graphical user interface, application

Description automatically generated

A training epoch is a very important definition in Neural Network science. Suppose we train Neural Net using 1000 price bars; for EOD chart this is usually about four years of the price history. One training step is when the program corrects the Neural Net's weights taking randomly just one price bar from those 1000 bars. Making 1000 training steps the program hits all of 1000 price bars; this is one epoch. We can say that an epoch is the amount of training steps to hit all available price history.

If we have 10K bars on the training interval, the program needs ten times more, i.e. 10K steps to hit all available 10K bars. In other words within one training epoch the Neural Net hits once all of available for training price history points. While you train your Neural Net, the color of the panel changes; lime color means that there are not enough training steps yet:

Graphical user interface, application

Description automatically generated

bright orange color means that the Neural Net is "ripe" (trained enough):

Graphical user interface, application

Description automatically generated

Rule #3: To avoid overtraining, do not train Neural Net too long. 

Auto stop

If you work quite often with one and the same financial instrument and know it well enough, you may want to use auto stop feature. You can set it here:

By entering 10 in this field, you instruct the NN to stop training after 10 epochs:

In this example entering 15% Neural Network stops training when the correlation between  the price and the projection line created by Neural Network reaches 15% at least:

Graphical user interface, application

Description automatically generated

.

You can define more complicated auto stop criteria:

Graphical user interface, text, application, email

Description automatically generated

Here Neural Network stops training when the correlation between Neural Network's projection line and the price reaches 15% at least OR when the correlation between Linear projection line and the price reaches 36% at least.

Another example involves the amount of training epochs:

Graphical user interface, application, table

Description automatically generated

 

Here the program stops Neural Network training when the correlation reaches 15% OR  the amount of training epochs reaches 10.

Remember that typing 15% means that we indicate the correlation, while typing 10 means the amount of training epochs.