-
I am running a TP2 in a Trading Strategy ( TS ).
I have the tp2 set to greater than Zero for a Buy Entry
I have the TP2 set to less than Zero for a Sell Entry.
The only stop price is a locked Price Floor of 10% . ALL LOCKED.
The Tp2 is set for 1 Day forward and Retrain on each Bar .
As Marge pointed out in an earlier discussion , this is the walk forward
of 1 bar.
Then when it is in testing mode , i see the number of winning trades move around by a large number , if it is walking forward why does not
it change by One trade at a time ?
So at the start it begins at Zero trades and progressively moves up :
Until it has completed the back test.
Mine at times goes from 96 trades down to 72 trades , So if it finds a better solution on 1 bar, does it then applies that solution to the other bars ?
Because I am trying to determine how much confidence to place in the TP2 ? And is it doing a correct walk forward ?
Regards
Michael.
> I am trying to determine how the TP2 when it is set to 1 bar forward
> and retrain on each bar is actually working.As far as the Tprop indicators are concerned, they are simply an indicator that returns a stream of values. TProp indicators are absolutely no different than a moving average calculation, except that it does a more complicated computation.
So for instance a Moving Average stream of data is computed as follows:
1) It takes a window size (say 200 bars) and produces a value for the last bar (i.e. the average of the last 200 bars).
2) It then moves it’s window forward one bar and produces a value for the new bar at the end (i.e. the average of the last 200 bars).
3) Each time it shifts forward in time, it uses the prior 200 bars to create the last bar’s value using a completely independent calculation from the prior windows.In TProp’s case, it does exactly the same thing as the Moving Average. The Tprop indicator set to retrain on every new bar is computed as follows:
1) The Tprop indicator takes a window size (say 200 training set size) and produces a value for the last bar (i.e. it trains a neural network on the specified input values over the earlier 200 bars not including the most recent bar and then applies that neural network to the input values of the most recent bar … i.e. input values it wasn’t trained on … aka “out of sample” value).
2) It then moves it’s window forward one bar and produces a value for the new bar at the end (i.e. an entirely new neural network trained over the prior 200 bars and then applied to the last bar’s input values.
3) Each time it shifts forward in time it uses the prior 200 bars to create the last bar’s value using a completely independent calculation from the prior windows.Notice how the only difference between 1 thru 3 for the Simple Moving Average and the Tprop is that the complexity of the calculation. The Moving Average does a summation and divides by the length of the window size. Tprop on the other hand builds a model on the prior data and then uses that model to “predict” the last bar’s value. They both then “walkforward” the calculation one bar and do completely new calculations to compute the next value.
> So if it finds a better solution on 1 bar, does it then applies that solution to the other bars ?
No, as explained above, every new walkforward (i.e. shifting of the calculation window) uses a completely independent set of calculations … whether you are talking about a Moving Average that walks-forward it’s calculation window by 1 bar or a Tprop indicator that walks-forward it’s training set by 1 bar.
> Then when it is in testing mode , i see the number of winning trades move around
> by a large number , if it is walking forward why does not it change by One
> trade at a time ?By testing mode, do you mean optimization? If so, let’s make up a Moving Average trading system that is roughly equivalent to your TProp trading system for explanation purposes (and because we’ve established that the simple moving average and Tprop are almost the same except for the calculations “behind the curtain”)
Moving Average Trading System:
Long Entry when Simple Moving Average ( Stochastic %D ( 10 ), 200 ) is greater than 50
Long Exit when Simple Moving Average ( Stochastic %D ( 10 ), 200 ) is less than 50When you optimize the Simple Moving Average system above, the genetic optimizer is going to randomly try out different combinations of Moving Average window sizes and Stochastic Window Sizes. So for instance it might try {10,200), (4, 111), (16, 57), (12, 237), etc. Each time it tries a new set of potentially “optimal” parameters, it is going to create an entirely different stream of data which varies around 50 entirely differently than the prior set of values and thus creates a different number of trades. Because it is trying the values randomly at first, you would expect the number of trades to jump around all over the place with each new set of parameters tried. Even as it narrows in on a solution, it still tries some random mutations, so the number of trades may still jump around.
A Tprop optimization is no different than the Simple Moving Average optimization above. Depending upon what you are optimizing, it tries different input parameters (i.e. stochastic %D parameters, etc.), different window sizes (aka training set size), different number of bars before retrain, etc. etc. etc. With each random set of potentially “optimal” values, you are getting a completely different stream of data values which you would expect to give wildly varying number of trades. Once again because it is trying the values randomly at first, you would expect the number of trades to jump around all over the place with each new set of parameters tried. Even as it narrows in on a solution, it still tries some random mutations, so the number of trades may still jump around.
You must be logged in to reply to this topic.