GSB Forums

Not logged in [Login - Register]

Futures and forex trading contains substantial risk and is not for every investor. An investor could
potentially lose all or more than the initial investment. Risk capital is money that can be lost without
jeopardizing ones’ financial security or life style. Only risk capital should be used for trading and only
those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of
future results
Go To Bottom

Printable Version  
 Pages:  1  ..  27    29    31  ..  47
Author: Subject: Update to GSB methodology. A must read, the backpacker and the Art of war by Sun Tzu
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 28-3-2021 at 05:33 PM


@RWS
As carl said, familes is doing this in a more crude way.
There are a number of issues.
Likely a WF should be done first, as the original system parameters might be way off the wf final parameters
Your example shows 1 parameter.
Lets say there are 10 parameters, and we shift all of them.
Do we shift one at time, or all 10 at once?
Using the verify feature on different bar intervals indirectly does this.
This is because there are 13 bars in 830 to 1500 day 30 min
but if its 29 min, then its 14 bars.
31 min 12 bars. So you are indirectly changing the parameter length.
GSB also has verification where you can compare other markets to what you built on.

"One way to predict the SP500 index is to count the number of buy/sell signals of it's stocks which seems to work reliable."
If your willing to put the time into loading 500 symbols in GSB, this could also be done as is with no changes needed to GSB





View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 28-3-2021 at 06:39 PM


Hi Peter,

There are usually much more parameters and Stratasearch shifts them all together 1 up for 1-10 and 0.1 for 0.1-1. I think there is room for improvement. It could be better to have all parameters separately tested but that would take much CPU time so this is a bit crude way also. Also, it could be better if all parameters are not shifted 1 step but a certain percentage and then rounded if the indicator needs integers.
Still I find improvement OOS having the parameters shift on while building. Building on 450 tickers and having a low drawdown the last 20 years and having good and broad parameter stability I did not see the need of walkforwarding anymore. It takes a long time to build but the result is often very similar OOS as IS.


You can compare till some extend to bar intervals. For example, changing from 13 to 14 minutes means all parameters should change times 13/14.

But changing some parameters from 5 to 6 and 7 and some
from 11 to 12 and 13 has a different scaling. Also, in the example below the number 150 being the highest atr of 150 bars is not changed while all other are.
Also the way you directly optimize on a custom criteria that has rules in it to have broader peaks for custom metrics is not directly possible with only changing bar intervals and/or picking the top of a filtered list of results. In the way it is done in stratasearch it is a more direct way in guiding the genetic optimizer to search for systems that are less dependent on changes in parameters which often translate in being less sensitive for market changes and better OOS performance. A peak optimization should always be avoided.









Entry
// MACD: 1
(crossabove(macd(), mov(macd(), 5, exponential))) and

// Average True Range - Low Stock Periods
(atr(30) < high(atr(30), 150) * 0.8) and

// Dynamic Momentum Index - Sector Periods: 1
(sector("S&P 500 Index", dmi()) < 76)

Exit
// DEMA: 1
(crossbelow(dema(close, 19), dema(close, 21))) or

// Average True Range - Low Stock Periods
(atr(30) > high(atr(30), 150) * 0.8) or

// Dynamic Momentum Index - Sector Periods: 1
(sector("S&P 500 Index", dmi()) > 76) or

// Gap Down Sell
(IsGapDown())




Quote: Originally posted by admin  
@RWS
As carl said, familes is doing this in a more crude way.
There are a number of issues.
Likely a WF should be done first, as the original system parameters might be way off the wf final parameters
Your example shows 1 parameter.
Lets say there are 10 parameters, and we shift all of them.
Do we shift one at time, or all 10 at once?
Using the verify feature on different bar intervals indirectly does this.
This is because there are 13 bars in 830 to 1500 day 30 min
but if its 29 min, then its 14 bars.
31 min 12 bars. So you are indirectly changing the parameter length.
GSB also has verification where you can compare other markets to what you built on.

"One way to predict the SP500 index is to count the number of buy/sell signals of it's stocks which seems to work reliable."
If your willing to put the time into loading 500 symbols in GSB, this could also be done as is with no changes needed to GSB





View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 28-3-2021 at 08:02 PM


@rws. Need to think on this. The ideal is all parameters are shifted individually and results summed up. Lot of work to do this, but likely you could do this in ts with one system, exporting results to .txt file
and sume them all in excel.
You can also add 500 es stock, or simpler 100 NQ stock to test your proposal. It makes some sense.
Again there are problems with practicalities. Stock get rotated in and out of the indexes. IE Tesla


View user's profile View All Posts By User
Carl
Member
***




Posts: 342
Registered: 10-5-2017
Member Is Offline

Mood: No Mood

[*] posted on 29-3-2021 at 01:34 AM


I am just thinking out loud here... could something like this be beneficial?

What if we would take GSB variable "result" and calculate its correlation to "result" with parameters 30% larger and 30% smaller?

So for example, a GSB strategy was built with 3 primary indicators (PF).
Length PF1 10
Length PF2 100
Length PF3 40
Result = X

parameters increased by 30%
Length PF1 13 (= 10+30%)
Length PF2 130 (= 100+30%)
Length PF3 52 (= 40+30%)
Result = Y

parameters decreased by 30%
Length PF1 7 (= 10-30%)
Length PF2 70 (= 100-30%)
Length PF3 28 (= 40-30%)
Result = Z

Correlation between
X and Y
X and Z

If correlation is high, then the variable result is stable across the original GSB values and +30% and -30%. So the strategy is robust?








View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 29-3-2021 at 03:26 AM


@carl, Its still a stab in the dark compared to multiple tests with all parameters going up & down. It might be better than nothing but there is room to improve this.
Forcing say 100+ members of one family would be better and do-able on GSB with no updates.
Build a system, then reduce the indicator set to force the 3 indicators on, and build 100+ systems
Then look at the oos of all 100 systems


View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 29-3-2021 at 06:35 AM


It is hard to select a system from a list which has it's parameters more
or less optimized in the middle of a broad peak that is configurable.

Quote: Originally posted by admin  
@carl, Its still a stab in the dark compared to multiple tests with all parameters going up & down. It might be better than nothing but there is room to improve this.
Forcing say 100+ members of one family would be better and do-able on GSB with no updates.
Build a system, then reduce the indicator set to force the 3 indicators on, and build 100+ systems
Then look at the oos of all 100 systems


View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 29-3-2021 at 02:05 PM


In stratasearch in this case I have a filter which rejects

Y/X<0.9 and Y/X>1.1 or a bit bigger
The second condition is necessary because if Y/X is also
part of a customcriteria formula it could benefit the systems
that have a big peak next to it's current values which is also
suboptimal but there is also something positive to that.
I wonder what happens if you choose a parameter setting
in it's through instead of a peak. So left and right of the
parameter setting it has higher performance.
If that parameter setting would have acceptable performance
it could maybe also have some positive effect OOS.




Can what you suggest be automated?


Quote: Originally posted by Carl  
I am just thinking out loud here... could something like this be beneficial?

What if we would take GSB variable "result" and calculate its correlation to "result" with parameters 30% larger and 30% smaller?

So for example, a GSB strategy was built with 3 primary indicators (PF).
Length PF1 10
Length PF2 100
Length PF3 40
Result = X

parameters increased by 30%
Length PF1 13 (= 10+30%)
Length PF2 130 (= 100+30%)
Length PF3 52 (= 40+30%)
Result = Y

parameters decreased by 30%
Length PF1 7 (= 10-30%)
Length PF2 70 (= 100-30%)
Length PF3 28 (= 40-30%)
Result = Z

Correlation between
X and Y
X and Z

If correlation is high, then the variable result is stable across the original GSB values and +30% and -30%. So the strategy is robust?








View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 12:48 AM


@rws
im open to the idea, but need to think on how to do it. This might be a lot of work.
As I said previously we have a little similar concept using families, but the ranges are more chosen by GA, then a fixed % up and down
Here you can see 6 systems with 6 or 5 members in each system. All are profitable with reasonable metrics. I like family 4 in light blue best

family.png - 72kB


View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 10:32 AM



I see it causes a huge number of calculations if all parameters combinations should be checked. Suppose there are 3 steps up and 3 steps down and in total 10 parameters that all need to be tested.
In that case there are 6^10 combinations to recalculate which is far too much. So the simple way of adding all indicators 1 step or rather a % seems to me the only practical way which is not perfect but it could help.
In this case there are only 6 steps.

I don't know what optimizer you use but I understand there are optimizers that are able to avoid peaks, maybe that brings more.
Amibroker says they use these and the owner says it searches for wide areas.
https://www.amibroker.com/guide/h_optimization.html
I still find it is a peak optimizer. The problem is there are no settings how broad a peak should be and if the system only has a peak in a narrow area you can't exclude it. But these type of optimizers have ways to efficiently search for peaks and it could be that changing that code could bring more finding broad areas or excluding narrow peaks than trying many combination to confirm afterwards.

You wrote
As I said previously we have a little similar concept using families, but the ranges are more chosen by a, then a fixed % up and down

What do you mean with "the ranges are more chosen by a,"

I will soon start with GSB again. Have been spending a lot of time
in Stratasearch.


Quote: Originally posted by admin  
@rws
im open to the idea, but need to think on how to do it. This might be a lot of work.
As I said previously we have a little similar concept using families, but the ranges are more chosen by a, then a fixed % up and down
Here you can see 6 systems with 6 or 5 members in each system. All are profitable with reasonable metrics. I like family 4 in light blue best


View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 10:37 AM


I have been thinking, if you discard the dependecy of parameters
and still do a parameter check for every parameter to avoid peaks
then you can reduce the number of calculation to 10x6= 60 which
is doable. I think it would be much better then the other alternatives.
If all used parameters are not in a peak area it is hard to imagine that all together they do form a peak, rather the opposite.


Quote: Originally posted by rws  

I see it causes a huge number of calculations if all parameters combinations should be checked. Suppose there are 3 steps up and 3 steps down and in total 10 parameters that all need to be tested.
In that case there are 6^10 combinations to recalculate which is far too much. So the simple way of adding all indicators 1 step or rather a % seems to me the only practical way which is not perfect but it could help.
In this case there are only 6 steps.

I don't know what optimizer you use but I understand there are optimizers that are able to avoid peaks, maybe that brings more.
Amibroker says they use these and the owner says it searches for wide areas.
https://www.amibroker.com/guide/h_optimization.html
I still find it is a peak optimizer. The problem is there are no settings how broad a peak should be and if the system only has a peak in a narrow area you can't exclude it. But these type of optimizers have ways to efficiently search for peaks and it could be that changing that code could bring more finding broad areas or excluding narrow peaks than trying many combination to confirm afterwards.

You wrote
As I said previously we have a little similar concept using families, but the ranges are more chosen by a, then a fixed % up and down

What do you mean with "the ranges are more chosen by a,"

I will soon start with GSB again. Have been spending a lot of time
in Stratasearch.


Quote: Originally posted by admin  
@rws
im open to the idea, but need to think on how to do it. This might be a lot of work.
As I said previously we have a little similar concept using families, but the ranges are more chosen by a, then a fixed % up and down
Here you can see 6 systems with 6 or 5 members in each system. All are profitable with reasonable metrics. I like family 4 in light blue best


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 03:33 PM


@rws. I fixed the typo. Gramer checker changes ga to A.
So what your saying is each parameter in increased / decreased 1 at a time?
Another option is you do x tests of randomized parameter changes.

Were you aware how simple it is to add random noise to GSB data too?


View user's profile View All Posts By User
bartek
Junior Member
**




Posts: 40
Registered: 26-3-2020
Member Is Offline


[*] posted on 30-3-2021 at 04:12 PM


First time I run GSB for NQ and got some nice results.


NQ2.png - 27kB


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 04:22 PM


Quote: Originally posted by bartek  
First time I run GSB for NQ and got some nice results.



Thats great.
A few comments.
poor results pre 2007 in really common. I start at 20070701
What entry / secondary filter type did you use?
The next release of GSB has a terteiry filter of not normalized CloseLessPrevCloseD
which works well with closslesshighlow3 with nq




Thanks received (1):

+1 bartek at 2021-03-31 01:30:01
View user's profile View All Posts By User
bartek
Junior Member
**




Posts: 40
Registered: 26-3-2020
Member Is Offline


[*] posted on 30-3-2021 at 04:26 PM



Quote:

Thats great.
A few comments.
poor results pre 2007 in really common. I start at 20070701
What entry / secondary filter type did you use?
The next release of GSB has a terteiry filter of not normalized CloseLessPrevCloseD
which works well with closslesshighlow3 with nq



Entry mode: cross, SF: CloseToHighLow3v2,


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 30-3-2021 at 05:46 PM


@barteck
adding a closedFilter likely will help your NQ system
Build 61.82 onwards has this as tertiary filter. Its not released yet

inputs:offset(0);//optimize this

If time < 1500 then
Begin
// Buy/Sell
If (decision = 1 Or decision = 2) And sfDecision = 1 Then
Begin
IF CURRENTCONTRACTS>0 OR CLOSE+OFFSET>CLOSED(1) THEN

Buy ("Long Entry4") 1 contracts this bar on close;
flag = 1;
End
Else If (decision = -1 Or decision = 2) And sfDecision = -1 Then
Begin
IF CURRENTCONTRACTS>0 OR CLOSE-OFFSET
SellShort("Short Entry4") 1 contracts this bar on close;
flag = -1;
End;
End;






Thanks received (1):

+1 bartek at 2021-03-31 01:32:31
View user's profile View All Posts By User
bartek
Junior Member
**




Posts: 40
Registered: 26-3-2020
Member Is Offline


[*] posted on 31-3-2021 at 01:43 AM


@Peter

With tertiary filter do you still use 3 or only 2 indicators?


View user's profile View All Posts By User
rws
Member
***




Posts: 114
Registered: 12-6-2017
Member Is Offline

Mood: No Mood

[*] posted on 31-3-2021 at 02:28 PM


@peter
Yes one at a time and being able to acces the result of the + shift and - shift seperately.

I think with a parameter space in this example of 6^10 you will get not so much idea of where flat areas are based on a list of results. Especially since they are all optimized result you would probably find results of other peaks in the parameter space.
You would have some indea of maximum and minimum values but I can't see how you could pick the systems that are stable arounds it initial startpoint.

But if you set a limit on how much higher or lower the profit should as a result of a upshifts or downshifts of parameters then you can filter systems that are in a peak area. By having the resultnumbers like profit, profit/drawdown etc for the up and downshifts you can define the shape of the curve as a function of the parameter changes.


Quote: Originally posted by admin  
@rws. I fixed the typo. Gramer checker changes ga to A.
So what your saying is each parameter in increased / decreased 1 at a time?
Another option is you do x tests of randomized parameter changes.

Were you aware how simple it is to add random noise to GSB data too?


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 31-3-2021 at 03:52 PM


@rws
i will pass onto the programer
if you want "Yes one at a time and being able to acces the result of the + shift and - shift separately. "
Do you mean the + results, and the - results or all + & all - results

this means the GUI is going to be messy, or some sort of separate tab is needed.
you cant do this to a 100 systems at once with such a clean gui


View user's profile View All Posts By User
bartek
Junior Member
**




Posts: 40
Registered: 26-3-2020
Member Is Offline


[*] posted on 1-4-2021 at 12:58 AM


And another first run. RTY this time.

RTY1.png - 17kB RTY2.png - 50kB


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 1-4-2021 at 01:10 AM


@bartek, thats impressive though the ave trade is low unless you have added slippage and commission.
Im suspecting closelsshighlow3 works on many markets


View user's profile View All Posts By User
bartek
Junior Member
**




Posts: 40
Registered: 26-3-2020
Member Is Offline


[*] posted on 1-4-2021 at 01:44 AM


Quote: Originally posted by admin  
@bartek, thats impressive though the ave trade is low unless you have added slippage and commission.
Im suspecting closelsshighlow3 works on many markets


Results are with commision but without slippage. What is the minimum ave to be set for 300 favs? For gold was set 90.


View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 1-4-2021 at 01:48 AM


Quote: Originally posted by bartek  
Quote: Originally posted by admin  
@bartek, thats impressive though the ave trade is low unless you have added slippage and commission.
Im suspecting closelsshighlow3 works on many markets


Results are with commision but without slippage. What is the minimum ave to be set for 300 favs? For gold was set 90.


I'm using the same gold macro for numerous instruments. should be ok as is.


View user's profile View All Posts By User
Carl
Member
***




Posts: 342
Registered: 10-5-2017
Member Is Offline

Mood: No Mood

[*] posted on 1-4-2021 at 06:57 AM


Quote: Originally posted by rws  
I have been thinking, if you discard the dependecy of parameters
and still do a parameter check for every parameter to avoid peaks
then you can reduce the number of calculation to 10x6= 60 which
is doable. I think it would be much better then the other alternatives.
If all used parameters are not in a peak area it is hard to imagine that all together they do form a peak, rather the opposite.


Hi rws, I agree.

If we are looking for a stable total outcome, this means every component in itself must be stable as well. Otherwise it could have been a coincidence.

Maybe it is enough to test every single indicator with the same indicator but changing the parameter values by -30% and +30%?

So suppose GSB comes up with a strategy that includes RSI(X).
Just compare the two couples RSI(X) RSI(X-30%) and RSI(X) RSI(X+30%).

Analysis results for example correlation and/or T-test?

For example, look at the correlation between:
RSI(8) and RSI(11) versus ROC(8) and ROC(11)

RSI stability looks good. Correlation 98.6%.
ROC stability not as good. Correlation only 85.6%





View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 2-4-2021 at 06:06 PM


Update for the week.
Its been very successful in development.
I have modified any indicator cross entry type (AIC). Called AIC2
Im not getting better system building over AIC, but I have found a way to use it regardless.
Later I'm going to explain a lot about AIC entry type. In the past I have been a bit negitve towards it as it has some weakness (that is easy to over come)
There are things nearly everyone doesn't know about AIC that need to be explained.
What I have done post system building is to allow all entries to trade.
This means you can get up to 3 trades in the same day, though 3 is very rare.
I enclose a system report. Included is 1 tick slippage and $2.40 per side slippage.
Give me an hour and I will post more.
This is combine with filters. (Out in the next build of GSB)
The filter I'm using is closelessCloseDbpv. Its VIP to understand this is NOT normalized, while everything else in GSB is normalized. Normaliztion is an indicator is adjusted to be in the range of -100 to 100 regardless of its value


Attachment: Login to view the details



View user's profile View All Posts By User
admin
Super Administrator
*********




Posts: 5060
Registered: 7-4-2017
Member Is Offline

Mood: No Mood

[*] posted on 2-4-2021 at 06:47 PM


here are results of the es settings on other markets. zero slippage used here. all data pre 2007-7 is also out of sample.

es.png - 314kBym.png - 534kBemd.png - 402kBrty1.png - 171kBdax.png - 403kB




Thanks received (4):

+1 bartek at 2021-04-03 04:09:33
+1 jasonp at 2021-04-03 02:35:59
+1 Piet at 2021-04-02 23:54:59
+1 Carl at 2021-04-02 22:07:03
View user's profile View All Posts By User
 Pages:  1  ..  27    29    31  ..  47

  Go To Top

Trademaid forum. Software tools for TradeStation, MultiCharts & NinjaTrader
[Queries: 67] [PHP: 42.8% - SQL: 57.2%]