MarketTrak Question/Comment Message

Posted By: Jim   Date: Sun Jul 4, 2010

Title: network weighting algorithm

Message:
You recently mentioned that you adjusted the network weighting algorithm to improve forecast accuracy. Can you give more details on how this algorithm is applied?

Response:

The purpose of the weighting algorithm is to improve the accuracy of the market forecast by giving higher weight in the ANO calculation to those networks that are currently showing high accuracy. Recall that the ANO is the average output of the (200 or so) networks in the forecast library.  From the ANO value and defined long, cash, and short setpoints, we determine the trading position for the next trading day.

The network weight is computed from its most recent forecast accuracy.  We will show how this weight affects the ANO value.

For illustration purposes, let’s assume that we have only three networks in the library.  The table below shows the network output and forecast accuracy for the three networks.  In this example, network 1 is giving a long signal; network 2 is giving a cash signal; and network 3 is giving a short signal.

 Network Output value Accuracy (%) Weight 1 1.0 80 1.0 2 0.0 60 1.0 3 -1.0 40 1.0 The ANO computed for equal weighting of the network’s output is 0.0

The forecasts accuracy of a network is determined by looking back a certain number of days and counting the number of times the network correctly predicted the market direction.  The number of days in this calculation is determined by an optimization program, not discussed here.  This number will range between 5 and 20 days.  When we analyze a network’s accuracy, we find that it oscillates in time. The period is about 15 days.  More importantly, the accuracy cycles for different networks are not in phase; one network will lose accuracy while another gains.  There will always be networks that are forecasting with high accuracy which we can give higher weight to in computing the ANO.

Let’s first consider equal weighting. The ANO computed using the data in the table above is numerically zero (1.0 + 0.0 – 1.0)/3.  Using setpoints found on our forecast page, this would indicate a cash position for the next trading day.

Let’s now consider linear weighting of the network accuracy.

 Network Output value Accuracy (%) Weight 1 1.0 80 80 2 0.0 60 60 3 -1.0 40 40 The ANO computed for linear accuracy weighting of the network output is 0.22

The ANO now is equal to 0.22 = (80*1.0 + 60*0.0 – 40*1.0) / (80 + 60 + 40) which is interpreted as a weak long signal.

Lastly, let’s consider a quadratic weighting of the network accuracy.

 Network Output value Accuracy (%) Weight 1 1.0 80 6400 2 0.0 60 3600 3 -1.0 40 1600 The ANO computed for linear accuracy weighting of the network output is 0.41

The ANO now is equal to 0.41 = (6400*1.0 + 3600*0.0 –  1600*1.0) / (6400 + 3600 + 1600) which is interpreted as a fairly strong long signal.

We currently use quadratic weighting and number of days in the accuracy calculation is currently set to 8. The weight that each network receives changes daily as its accuracy cycles. Finally, networks must have an average accuracy of at least 70 percent over the last 150 days to remain in the forecast library.