GSB Forums

Wish List

 Pages:  1  2    4  5

uhrbi - 29-1-2018 at 10:40 AM

What do you think of a feature to only enter a new trade when there is no position? (Marketposition = 0)

Regards,

uhrbi

admin - 29-1-2018 at 02:53 PM

Quote: Originally posted by uhrbi  
What do you think of a feature to only enter a new trade when there is no position? (Marketposition = 0)

Regards,

uhrbi

GSB currently can reverse a position which in my opinion is a great idea.
It stops bigger losses. It doesnt not pyramid.
You could modify your GSB code to remove this as a test to see for yourself.

uhrbi - 30-1-2018 at 08:41 AM

I see your point.
I was coming from the idea to add "truisms" later on in TS, and when I do that, for let's say the long trades, it can affect the short trades, because there might not be a position to reverse in the first place.

curt999 - 30-1-2018 at 10:41 AM

try building strategies that are only long short then combining them makes it easier to see which truisms affect what..but you can really do this in the gsb strategy code too just add..create truisms independtly for long or short then apply then in the line below

If decision = 1 And sfDecision = 1 and "your custom condition goes here" Then enter long or short
\


uhrbi - 30-1-2018 at 02:05 PM

Thank you for the advice, I'll try that.
Have you achieved good results with building strategies separately for long and short and combining them afterwards?

curt999 - 30-1-2018 at 03:23 PM

yes i have.plus when you design this way you end up with a non symmetrical strategy with different conditions for long and short..its more work to do it this way however compute time etc..another reason i like to do this is if the overall strategy is peforming poorly but its only one direction not both you arent back to square one..

GPU

dpetaz - 4-2-2018 at 04:12 AM

Hello Peter, since GSB needs a lot of CPU power, did you think to increase the computational speed using also the GPU? According to some documents I read, this could improve performance 10x to 60x, for high end video card.

rws - 4-2-2018 at 07:19 AM

Here is another aplication that was able to improve speed 100-1000X doing this and his open code in Lazarus was already very fast.
This was only price patterns but it could work for any type of scripts especially because GA is a parallel calculation.

http://mechanicalforex.com/kantu-system-generator



Quote: Originally posted by dpetaz  
Hello Peter, since GSB needs a lot of CPU power, did you think to increase the computational speed using also the GPU? According to some documents I read, this could improve performance 10x to 60x, for high end video card.

admin - 4-2-2018 at 03:59 PM

Quote: Originally posted by rws  
Here is another aplication that was able to improve speed 100-1000X doing this and his open code in Lazarus was already very fast.
This was only price patterns but it could work for any type of scripts especially because GA is a parallel calculation.

http://mechanicalforex.com/kantu-system-generator



Quote: Originally posted by dpetaz  
Hello Peter, since GSB needs a lot of CPU power, did you think to increase the computational speed using also the GPU? According to some documents I read, this could improve performance 10x to 60x, for high end video card.


This wont apply to GSB, as all the maths is cached. Hence GSB does very little maths. The next beta build of GSB (43.13) is going to have option for just over 20% increase in speed. It will be in the private forum only.
GSB cloud also gives unlimited scope for speed improvement too.

rws - 5-2-2018 at 01:17 PM

I understand you have other priorities and rewriting software for supporting a GPU is a lot of work.

Comparing OHLC data is even less math and it was 100-1000X faster.

Especially in parallel processing which could be a great portion of
Wf in GSB and GA a GPU shines.
http://www.nvidia.com/object/what-is-gpu-computing.html

Nvidia stock is up so much because their GPU chips are so efficient in machinelearning and parallel processing.
Even VMware uses GPUs now and that is running a complete operating system.

Google tensorflow runs very well on GPU.
https://www.tensorflow.org/programmers_guide/using_gpu

curt999 - 5-2-2018 at 05:58 PM

heh no nvdia stock is up so much because people are buying up the gpu to mine with has nothing to do with machine learning

rws - 5-2-2018 at 07:07 PM

Sure also because of bitcoin mining.

https://www.forbes.com/sites/aarontilley/2017/05/09/nvidia-1...

http://fortune.com/2017/12/05/ibm-ai-chip-nvidia/


http://fortune.com/2016/11/10/nvidia-earnings-stock-machine-...


admin - 5-2-2018 at 10:15 PM

Quote: Originally posted by rws  
I understand you have other priorities and rewriting software for supporting a GPU is a lot of work.

Comparing OHLC data is even less math and it was 100-1000X faster.

Especially in parallel processing which could be a great portion of
Wf in GSB and GA a GPU shines.
http://www.nvidia.com/object/what-is-gpu-computing.html

Nvidia stock is up so much because their GPU chips are so efficient in machinelearning and parallel processing.
Even VMware uses GPUs now and that is running a complete operating system.

Google tensorflow runs very well on GPU.
https://www.tensorflow.org/programmers_guide/using_gpu


We will look into this, but not in a hurry. Current GSB can be optimized 1.5 to 3 times faster we think. Only after this is done can we look into GPU.
There is a post in private forum to get bit over 20% faster too.
But priorities are WF on workers, More secondary filters and other stop exits

Carl - 16-3-2018 at 07:59 AM

GSB already has the possibililty to switch off/on the "secondary filter".

I would like to have the possibility to switch off the "primary filter", to see what kind of secondary filter works best on a particular ticker and session.

admin - 16-3-2018 at 05:37 PM

Quote: Originally posted by Carl  
GSB already has the possibililty to switch off/on the "secondary filter".

I would like to have the possibility to switch off the "primary filter", to see what kind of secondary filter works best on a particular ticker and session.

I dont think thats going to work, but im not sure.
You can turn off possible all but one primary filters.
I still think you going to need both pri and secondary for testing.
Much work to be done on Secondary filters in the next few months

admin - 16-3-2018 at 06:05 PM

Quote: Originally posted by Carl  
GSB already has the possibililty to switch off/on the "secondary filter".

I would like to have the possibility to switch off the "primary filter", to see what kind of secondary filter works best on a particular ticker and session.

Bottom line is in most markets nothing comes close to closeD>close filter.

Carl - 17-3-2018 at 01:13 AM

Hi Peter,

Thanks for version 44.09 and adding the WF data into the TS script.

Would be nice if the IS, OOS and VAL date ranges were added to the TS script.

Thanks.







cyrus68 - 18-3-2018 at 10:46 PM

The Sharpe ratio is already calculated in GSB and is reported in the performance stats. It would be extremely useful to have it available in the panel, alongside the other performance metrics, so that we could rank systems according to their Sharpe-ratio score.

The Sharpe ratio calculates return, per unit of risk - where risk is defined as the standard deviation of returns. It is the best overall measure of the quality of a system.

It would also be useful to have the Sharpe ratio reported in the WF results, for the OOS and Current curves.

admin - 18-3-2018 at 11:22 PM

Quote: Originally posted by cyrus68  
The Sharpe ratio is already calculated in GSB and is reported in the performance stats. It would be extremely useful to have it available in the panel, alongside the other performance metrics, so that we could rank systems according to their Sharpe-ratio score.

The Sharpe ratio calculates return, per unit of risk - where risk is defined as the standard deviation of returns. It is the best overall measure of the quality of a system.

It would also be useful to have the Sharpe ratio reported in the WF results, for the OOS and Current curves.

This seems a reasonable idea. I'm open to doing this, but don't want to clutter the GUI more.
You can use fitness of sharp ratio but I prefer NP*AT fitness.
What about making one field user definable? Ie default my be % profitable, but it can be changed to any of the other metrics.

rws - 19-3-2018 at 09:56 AM



https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2745220


Quote: Originally posted by cyrus68  
The Sharpe ratio is already calculated in GSB and is reported in the performance stats. It would be extremely useful to have it available in the panel, alongside the other performance metrics, so that we could rank systems according to their Sharpe-ratio score.

The Sharpe ratio calculates return, per unit of risk - where risk is defined as the standard deviation of returns. It is the best overall measure of the quality of a system.

It would also be useful to have the Sharpe ratio reported in the WF results, for the OOS and Current curves.

rws - 19-3-2018 at 10:25 AM

I have no opinion on this but just red it a while ago.

Quote: Originally posted by rws  


https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2745220


Quote: Originally posted by cyrus68  
The Sharpe ratio is already calculated in GSB and is reported in the performance stats. It would be extremely useful to have it available in the panel, alongside the other performance metrics, so that we could rank systems according to their Sharpe-ratio score.

The Sharpe ratio calculates return, per unit of risk - where risk is defined as the standard deviation of returns. It is the best overall measure of the quality of a system.

It would also be useful to have the Sharpe ratio reported in the WF results, for the OOS and Current curves.

zdenekt - 19-3-2018 at 01:32 PM

It would be nice to have a "Win/Loss ratio" as fitness.

admin - 19-3-2018 at 09:48 PM

Quote: Originally posted by zdenekt  
It would be nice to have a "Win/Loss ratio" as fitness.

It can be done.

My belief is np*at is best fitness, but performance metrics is what you want to be very tight.
Also the more metrics we calculate, the slower GSB gets.
ie if commission on fitness <> commission on results, gsb has to do all its maths twice. Slows GSB down about 12%


cyrus68 - 19-3-2018 at 09:52 PM

Peter: I like the idea of a user definable field. To be able to switch between % profitable and the Sharpe ratio would be ideal.
Also, if it would be possible to have the Sharpe ratio displayed, after WF, for the OOS and Current curves. At the bottom of the parameters table perhaps.

rws: I can't comment on the ssrn paper until I've read it.

admin - 19-3-2018 at 09:57 PM

Quote: Originally posted by cyrus68  
Peter: I like the idea of a user definable field. To be able to switch between % profitable and the Sharpe ratio would be ideal.
Also, if it would be possible to have the Sharpe ratio displayed, after WF, for the OOS and Current curves. At the bottom of the parameters table perhaps.

rws: I can't comment on the ssrn paper until I've read it.

Assuming the programmer can do it ok, we can do this. There is a long list of small tweaks like this, so I will add it. Every few builds you probably notice some little gui tweaks etc

jptann - 3-5-2018 at 10:56 PM

Peter:

I am using the GSB a lot for the ES markets and trading them with good results. One recommendation that I have to fix a limitation of the program is to add more sophistication in Stops and Profit targets. Just having a fixed number is no longer good enough. Maybe a suggestion would be to handle custom stop and profit target code like you handle custom indicator codes. This would allow me to add some sophisticated stops and profit targets (actually, never use profit targets) but would love to iterate Break even ratchet type stops, or others. There are a number of standard ones and you could look on the TS Forums for examples. Look for LeBeau_Stops and also scale in and scale out logics. If you allow for more flexibility here for stops, scaling in and out, profit targets, etc. it would take the package to the next level. A methodology similar to the "custom indicator" section would be excellent here. Look at _StopsFlexible function in TS by MarkSanDiego. It may give you some ideas. Thanks in advance

admin - 3-5-2018 at 11:03 PM

Quote: Originally posted by jptann  
Peter:

I am using the GSB a lot for the ES markets and trading them with good results. One recommendation that I have to fix a limitation of the program is to add more sophistication in Stops and Profit targets. Just having a fixed number is no longer good enough. Maybe a suggestion would be to handle custom stop and profit target code like you handle custom indicator codes. This would allow me to add some sophisticated stops and profit targets (actually, never use profit targets) but would love to iterate Break even ratchet type stops, or others. There are a number of standard ones and you could look on the TS Forums for examples. Look for LeBeau_Stops and also scale in and scale out logics. If you allow for more flexibility here for stops, scaling in and out, profit targets, etc. it would take the package to the next level. A methodology similar to the "custom indicator" section would be excellent here. Look at _StopsFlexible function in TS by MarkSanDiego. It may give you some ideas. Thanks in advance


This has been on the short term to do list for some time, but gets deferred due to some more pressing issues like Nth and multi time frame support. Exits will be done at the same time as additional secondary filters. The two of these is a big job so will be a decent bit of time to do. Other users are asking for this too.
Scaling is going to be extremely complex and less likely to happen.
However any existing GSB code can generally scale as is if you change the properties in the workspace.

rws - 4-5-2018 at 10:14 AM

Here a nice description of Lebeau

http://stockcharts.com/school/doku.php?id=chart_school:techn...

I have tested it on pricepatterns and sofar it is the best exit I found.
Still I am trying to find better exits like other pricepatterns.

admin - 4-5-2018 at 04:33 PM

Quote: Originally posted by rws  
Here a nice description of Lebeau

http://stockcharts.com/school/doku.php?id=chart_school:techn...

I have tested it on pricepatterns and sofar it is the best exit I found.
Still I am trying to find better exits like other pricepatterns.

I will add the to the to exit list

DStat exit

Petzy - 7-5-2018 at 03:19 AM

DStat is a stop that is mainly used for daily swing trade strategies. It tends to give smooth equity curves together with high hit-rate strategies.
(For example RSI2)

I am not sure if it will be good for GSB and intraday strategies but I think it might be a good idea to try it.

The strategy comes from E2 Trading in Sweden. (e2trading.com)


The exit works like this.

1. Exit on first close that is profitable. (Current Close > Entry price)
2. Always Exit on close at bar 5. Even if the trade is not profitable

/Peter

rws - 7-5-2018 at 05:27 AM

I use A x ATR(days) ^x
I found that while optimizing x is often 0.5 which means square root.



Quote: Originally posted by Petzy  
DStat is a stop that is mainly used for daily swing trade strategies. It tends to give smooth equity curves together with high hit-rate strategies.
(For example RSI2)

I am not sure if it will be good for GSB and intraday strategies but I think it might be a good idea to try it.

The strategy comes from E2 Trading in Sweden. (e2trading.com)


The exit works like this.

1. Exit on first close that is profitable. (Current Close > Entry price)
2. Always Exit on close at bar 5. Even if the trade is not profitable

/Peter

Petzy - 7-5-2018 at 12:05 PM

Quote: Originally posted by Petzy  
DStat is a stop that is mainly used for daily swing trade strategies. It tends to give smooth equity curves together with high hit-rate strategies.
(For example RSI2)

I am not sure if it will be good for GSB and intraday strategies but I think it might be a good idea to try it.

The strategy comes from E2 Trading in Sweden. (e2trading.com)


The exit works like this.

1. Exit on first close that is profitable. (Current Close > Entry price)
2. Always Exit on close at bar 5. Even if the trade is not profitable

/Peter


I realized that I can get a somewhat simular effect with a profit target and a time exit. I think the original DStat exit will be better though.

I tested on @FDAX 30 minutes. Exchange time 1400 - 1700. After a very quick test it looks like it is a good kind of exit.


Attachment: Login to view the details

admin - 8-5-2018 at 12:56 AM

Quote: Originally posted by Petzy  
Quote: Originally posted by Petzy  
DStat is a stop that is mainly used for daily swing trade strategies. It tends to give smooth equity curves together with high hit-rate strategies.
(For example RSI2)

I am not sure if it will be good for GSB and intraday strategies but I think it might be a good idea to try it.

The strategy comes from E2 Trading in Sweden. (e2trading.com)


The exit works like this.

1. Exit on first close that is profitable. (Current Close > Entry price)
2. Always Exit on close at bar 5. Even if the trade is not profitable

/Peter


I realized that I can get a somewhat simular effect with a profit target and a time exit. I think the original DStat exit will be better though.

I tested on @FDAX 30 minutes. Exchange time 1400 - 1700. After a very quick test it looks like it is a good kind of exit.



I see merit to this idea and have used some of it before.

cyrus68 - 5-6-2018 at 09:25 PM

It would be extremely useful to enable the exporting of the WF trade report as a csv file.

Of course, it is possible to get the report via TS. But it's quicker and more convenient to do it directly from GSB, when you want to test many systems.

admin - 5-6-2018 at 10:15 PM

Quote: Originally posted by cyrus68  
It would be extremely useful to enable the exporting of the WF trade report as a csv file.

Of course, it is possible to get the report via TS. But it's quicker and more convenient to do it directly from GSB, when you want to test many systems.

From memory, you can export the trade list as .pa file (Portfolio analyst)
This gives report similar to TS, and has csv export option too

cyrus68 - 6-6-2018 at 02:01 AM

Yes, I realise you can export to PA and then Excel. However, this is a 2-step procedure. And you are left with a lot of redundant files in PA that need to be cleaned up.

The files you would want in PA are the few that have passed all tests and have the best potential for portfolio inclusion. I need to do many tests on multiple WF results before I get to that point.

If there isn't a lot of programming involved, exporting directly from GSB to csv would be helpful.

admin - 6-6-2018 at 02:13 AM

Quote: Originally posted by cyrus68  
Yes, I realise you can export to PA and then Excel. However, this is a 2-step procedure. And you are left with a lot of redundant files in PA that need to be cleaned up.

The files you would want in PA are the few that have passed all tests and have the best potential for portfolio inclusion. I need to do many tests on multiple WF results before I get to that point.

If there isn't a lot of programming involved, exporting directly from GSB to csv would be helpful.

This can be done, and its a reasonable idea.Not sure on the eta. I will put it on the to do list.

emsjoflo - 8-6-2018 at 10:22 AM

I would like to have Nth profitable exits added to GSB -- similar to the Dstat exit Petzy mentioned. In Mechanical Trading Systems, Beann has several systems that exit after 2 or 3 profitable bars (or days) or after 5 unprofitable. That has the advantage of scaling the stops to the volatility of the market.

admin - 8-6-2018 at 04:06 PM

Quote: Originally posted by emsjoflo  
I would like to have Nth profitable exits added to GSB -- similar to the Dstat exit Petzy mentioned. In Mechanical Trading Systems, Beann has several systems that exit after 2 or 3 profitable bars (or days) or after 5 unprofitable. That has the advantage of scaling the stops to the volatility of the market.

I can see merit to this on exiting after nth daily bars.
For intra-day trading, i'm unclear what merit this will give.
Do you have intra-day or daily in mind. If intra day can you test the concept in TS on a few systems and explain what happened?

emsjoflo - 8-6-2018 at 09:34 PM

I really want it for nth profitable days but if bars are easier, I could make that work too. I haven't tried it in TS yet

admin - 8-6-2018 at 11:14 PM

Quote: Originally posted by emsjoflo  
I really want it for nth profitable days but if bars are easier,
I could make that work too. I haven't tried it in TS yet


Do some testing to see if it is useful. I dont see use for this on MOC systems, but could be wrong
Anyone else got comments on it?

boosted - 16-6-2018 at 05:15 PM

I've been using Standalone up til now. With Petzy's help I got Manager and Workers up and running.

I currently max Workers (95ish %) at 4 with i7 7700 4.2Ghz 65GB RAM

Take my wish with a grain of salt since I just started using Workers, but it would be nice if there was either a background color (ie green) that highlights Unique Systems row
so at a glance you know when all Workers are done tranferring their systems to Manager OR do something like this:

Unique Systems: 4,500 of 6423 (so you can get an idea how many were created and how many left to be finished)

or

maybe 4500/6423

or

Percentage done (ie 67%)

Something simple but from my first use of Workers it would of been nice to know how much longer I had til I could do further work in Manager.

bill897 - 16-6-2018 at 10:13 PM

I would think drawdown percentage instead of profit targets and stops would be more beneficial. You have to protect your bottom line. If I've made a certain profit and hits a drawdown, I would think that it would lock in your profit. Profit targets are hypothetical. Let your profits run, cut your losses. How do you do that? The EA is suppose to handle that based on your indicators. But, if I'm sitting at my Tradestation, I can see if I'm green 10 and all I have to do is hit red 10. Is there drawdown percentage in GSB?

Petzy - 17-6-2018 at 02:26 PM

Quote: Originally posted by boosted  
I've been using Standalone up til now. With Petzy's help I got Manager and Workers up and running.

I currently max Workers (95ish %) at 4 with i7 7700 4.2Ghz 65GB RAM

Take my wish with a grain of salt since I just started using Workers, but it would be nice if there was either a background color (ie green) that highlights Unique Systems row
so at a glance you know when all Workers are done tranferring their systems to Manager OR do something like this:

Unique Systems: 4,500 of 6423 (so you can get an idea how many were created and how many left to be finished)

or

maybe 4500/6423

or

Percentage done (ie 67%)

Something simple but from my first use of Workers it would of been nice to know how much longer I had til I could do further work in Manager.


Nice that you are up and running.
The way I usually setup GSB Manager is that I have restarts=1000. That will make GSB run "forever". After a day or two I Pause the manager and go through the systems that GSB found. If I find enough systems that are good I transfer them to TradeStation to double check that they work out of sample. If I think I need more systems then I resume GSB Manager again for a day or two.
So in this scenario I don't expect the worker to ever "be done". I just run until I have enough good systems.

Just a side note. The way I verify if my systems are good is this:
1. I export data from Tradestation for as long time back as I can get. The end date is 2018-01-01. (Sometimes 2018-03-31).

2. I run GSB Manager with Dates 2015-12-31 - 2100-01-01. And then I chose Dates Mode to Not Tradable. (See picture)

3. When I verify I Pause manager and then I change all systems to "Tradable". Alla systems that are ok Out Of Sample I put in Favorite.

4. I change all systems that I put in Favorite to Dates Mode=All and then I run Walk Forward Optimazation on them

5. All systems that are stabgle in WFO I transfer to Tradestation so I can get the final OOS from Tradestation.

6. All systems that I might want to trade I do WFO in tradestation to find out good values and Stop Loss.

7. Then I hit Resume on GSB Manager and let GSB find more systems. Or if I am happy with the systems I change to another market to find other systems in other markets




Skärmklipp.JPG - 20kB

admin - 17-6-2018 at 04:22 PM

Quote: Originally posted by bill897  
I would think drawdown percentage instead of profit targets and stops would be more beneficial. You have to protect your bottom line. If I've made a certain profit and hits a drawdown, I would think that it would lock in your profit. Profit targets are hypothetical. Let your profits run, cut your losses. How do you do that? The EA is suppose to handle that based on your indicators. But, if I'm sitting at my Tradestation, I can see if I'm green 10 and all I have to do is hit red 10. Is there drawdown percentage in GSB?

When to stop a system is something all traders I have spoken too find hard.
Ive had systems doing poorly out of sample all 2017, but I kept trading.
Made a killing in 2018. You have to factor in market conditions.
If you want to stop a system after draw-down of x, I would code this in TS.
My feeling is its got to be a bit over 2 x previous historical draw-down. Features like this are in portfolio analyst - but the features are very immature, and I don't have much faith in the concept. There might be improvements in the features over time, but the programmer concerned is focused on PA cloud.
see http://trademaid.info/pa.htm


boosted - 18-6-2018 at 09:21 AM

Quote: Originally posted by Petzy  
Quote: Originally posted by boosted  
I've been using Standalone up til now. With Petzy's help I got Manager and Workers up and running.

I currently max Workers (95ish %) at 4 with i7 7700 4.2Ghz 65GB RAM

Take my wish with a grain of salt since I just started using Workers, but it would be nice if there was either a background color (ie green) that highlights Unique Systems row
so at a glance you know when all Workers are done tranferring their systems to Manager OR do something like this:

Unique Systems: 4,500 of 6423 (so you can get an idea how many were created and how many left to be finished)

or

maybe 4500/6423

or

Percentage done (ie 67%)

Something simple but from my first use of Workers it would of been nice to know how much longer I had til I could do further work in Manager.


Nice that you are up and running.
The way I usually setup GSB Manager is that I have restarts=1000. That will make GSB run "forever". After a day or two I Pause the manager and go through the systems that GSB found. If I find enough systems that are good I transfer them to TradeStation to double check that they work out of sample. If I think I need more systems then I resume GSB Manager again for a day or two.
So in this scenario I don't expect the worker to ever "be done". I just run until I have enough good systems.

Just a side note. The way I verify if my systems are good is this:
1. I export data from Tradestation for as long time back as I can get. The end date is 2018-01-01. (Sometimes 2018-03-31).

2. I run GSB Manager with Dates 2015-12-31 - 2100-01-01. And then I chose Dates Mode to Not Tradable. (See picture)

3. When I verify I Pause manager and then I change all systems to "Tradable". Alla systems that are ok Out Of Sample I put in Favorite.

4. I change all systems that I put in Favorite to Dates Mode=All and then I run Walk Forward Optimazation on them

5. All systems that are stabgle in WFO I transfer to Tradestation so I can get the final OOS from Tradestation.

6. All systems that I might want to trade I do WFO in tradestation to find out good values and Stop Loss.

7. Then I hit Resume on GSB Manager and let GSB find more systems. Or if I am happy with the systems I change to another market to find other systems in other markets






Thanks for sharing your process.

I did have a few questions though.

You mention
"After a day or two I Pause the manager and go through the systems that GSB found. If I find enough systems that are good I transfer them to TradeStation to double check that they work out of sample."

Are you doing this after your steps 1-4 or prior?

I would of figured you would of had GSB do the OOS which would mean no need to put into TS for OOS check, unless you wanted to confirm the GSB OOS results are truly what they should be and in fact work in TS too, as they should without error.

Regarding your step #2 it seems you would have GSB take care of that automatically by setting your validation period to closely match your dates noted therefore not needing to take the extra step(s) of placing your Favorites list of strategies into TS, since the results can be seen immediately in the GSB OOS portion. Maybe I am not understanding the reasoning behind that step. Please elaborate.

What is the purpose of doing a final WFO in TS if GSB has already completed a WFA on your list of stable strategies that passed GSB WF process? That would seem to be a very long time consuming process unless you instead use EWFO.
I like your thorough process but trying to understand the reasoning behind your steps since some of them seem to be something GSB takes care of internally and quicker with EWFO vs TS WFO.

Again, thanks for sharing your process like to understand some of the thought process behind it.

Thanks.

Petzy - 18-6-2018 at 01:40 PM

Quote: Originally posted by boosted  
Quote: Originally posted by Petzy  
Quote: Originally posted by boosted  
I've been using Standalone up til now. With Petzy's help I got Manager and Workers up and running.

I currently max Workers (95ish %) at 4 with i7 7700 4.2Ghz 65GB RAM

Take my wish with a grain of salt since I just started using Workers, but it would be nice if there was either a background color (ie green) that highlights Unique Systems row
so at a glance you know when all Workers are done tranferring their systems to Manager OR do something like this:

Unique Systems: 4,500 of 6423 (so you can get an idea how many were created and how many left to be finished)

or

maybe 4500/6423

or

Percentage done (ie 67%)

Something simple but from my first use of Workers it would of been nice to know how much longer I had til I could do further work in Manager.


Nice that you are up and running.
The way I usually setup GSB Manager is that I have restarts=1000. That will make GSB run "forever". After a day or two I Pause the manager and go through the systems that GSB found. If I find enough systems that are good I transfer them to TradeStation to double check that they work out of sample. If I think I need more systems then I resume GSB Manager again for a day or two.
So in this scenario I don't expect the worker to ever "be done". I just run until I have enough good systems.

Just a side note. The way I verify if my systems are good is this:
1. I export data from Tradestation for as long time back as I can get. The end date is 2018-01-01. (Sometimes 2018-03-31).

2. I run GSB Manager with Dates 2015-12-31 - 2100-01-01. And then I chose Dates Mode to Not Tradable. (See picture)

3. When I verify I Pause manager and then I change all systems to "Tradable". Alla systems that are ok Out Of Sample I put in Favorite.

4. I change all systems that I put in Favorite to Dates Mode=All and then I run Walk Forward Optimazation on them

5. All systems that are stabgle in WFO I transfer to Tradestation so I can get the final OOS from Tradestation.

6. All systems that I might want to trade I do WFO in tradestation to find out good values and Stop Loss.

7. Then I hit Resume on GSB Manager and let GSB find more systems. Or if I am happy with the systems I change to another market to find other systems in other markets






Thanks for sharing your process.

I did have a few questions though.

You mention
"After a day or two I Pause the manager and go through the systems that GSB found. If I find enough systems that are good I transfer them to TradeStation to double check that they work out of sample."

Are you doing this after your steps 1-4 or prior?

I would of figured you would of had GSB do the OOS which would mean no need to put into TS for OOS check, unless you wanted to confirm the GSB OOS results are truly what they should be and in fact work in TS too, as they should without error.

Regarding your step #2 it seems you would have GSB take care of that automatically by setting your validation period to closely match your dates noted therefore not needing to take the extra step(s) of placing your Favorites list of strategies into TS, since the results can be seen immediately in the GSB OOS portion. Maybe I am not understanding the reasoning behind that step. Please elaborate.

What is the purpose of doing a final WFO in TS if GSB has already completed a WFA on your list of stable strategies that passed GSB WF process? That would seem to be a very long time consuming process unless you instead use EWFO.
I like your thorough process but trying to understand the reasoning behind your steps since some of them seem to be something GSB takes care of internally and quicker with EWFO vs TS WFO.

Again, thanks for sharing your process like to understand some of the thought process behind it.

Thanks.



I do step 1 and 2 first. That is the starting point you might say.
after step 2 I let gsb run for a couple of days and then I go to step 3.

The reason I do yet another OOS in step 5 in TS is because it makes me feel even more comfortable with the strategies. If you noticed I didn't export data all the way up until todays date in step 1. That way I have a true OOS test in TS with completly new data.
I have never had a problem that GSB don't show the same result in GSB as in TS. That have never been an issue for me.

Regarding the question about using Validation to check OOS automatically instead of using the Tradable/Not tradable function. -There was an issue some time ago that GSB might overfit strategies if using the Validation function. (That is probably true about all programs that automatically finds strategies). I think it was most obvious in Crude Oil strategies(?). Using the method in step 3 is better.
(If you haven't yet. Read this thread: http://trademaid.info/forum/viewthread.php?tid=117

The reason I do a final WFO in TS is because I use EWFO. The WFO in TS produce the data you later import into EWFO. I don't do many WFO in TS. Just the systems I am considering trading so it is a limited amount.
WFO in both GSB and TS have a fitness goal of NetProfit. In EWFO I can experiment with different settings to get a more straight equity curve and less drawdown which I like. GSB WFO is very good so you don't really need to do this step. But since I can, I do. And it's fun :)







admin - 18-6-2018 at 04:04 PM

"BOOSTED. Something simple but from my first use of Workers it would of been nice to know how much longer I had til I could do further work in Manager. "
You can do work any time you like in the manager, and if more systems come in later, this doesnt matter. CPU usage will also tell you when they have stopped.
The exception to this rule is if you are testing market validation nth feature. Systems coming in later will screw the stats.
This is described in market validation video. http://www.trademaid.info/video.htm

Petzy - 26-6-2018 at 01:51 AM

One thing to add to the wish list

Some markets works better with Short trades only and some with Long only. And some with both long and short.

When validating a market I would like to have the Performance tab show long, short and both in three different columns. It would be a fast way to see if the market is very bias to one sort of trade or not.

admin - 26-6-2018 at 02:30 AM

Quote: Originally posted by Petzy  
One thing to add to the wish list

Some markets works better with Short trades only and some with Long only. And some with both long and short.

When validating a market I would like to have the Performance tab show long, short and both in three different columns. It would be a fast way to see if the market is very bias to one sort of trade or not.


Its a good idea, we will try to do it.
Showing the Long only metrics on Long short system is not the same as building long only systems, but it likely show the market bias.
The test could then be repeated with say long only of the bias appeared long

ProbTrader - 19-7-2018 at 03:29 AM

Hi

First of all, thanks Peter for unrivaled support of and dedication to GSB. You have a unique product (I have tried many, many platforms...) and its great to see how quickly and in what direction GSB is evolving. As opposed to others out there, you can tell that this is largely driven by the users, not just the developer. And also super important that the guy at the helm trades himself.

Having said that, one thing I belive would be very beneficial for the process would be the ability to control the IS/OOS periods in greater detail. You currently have the option to set IS/OOS/validation as a %, and you can also play around with trd/No trd in the date window.

Now, if I am testing a system for 2000-2018, I may want the years 2001, 2008 and 2011 to be out of sample. Given this, I would want to see the accumulated OOS results for these periods, and the accumulated IS data for the other periods (ie 2000, 2002-2007, 2009-2010, 2012-2018) so that you can evaluate the system in a more meaningful way. Just to clarify, for the Spearman corr coef it could look something like this:


Period: Spearman:
IS (2000, 2002-2007, 2009-2010, 2012-2018): 0.998
OS (2001, 2008, 2011) 0.991

(The dates above are just randomly picked by me to illustrate this)

I have found that looking at different scenarios like this gives a lot of useful information. The point here is that you'd be able to see how the results change when you put the systems under adverse pressure. For example, how has a short NG system performed during the last five heat waves? If it performs well OOS for these dates it is a great vote of confidence that should make you much more comfortable with the negative tail risks etc.

Thanks.

cotila1 - 19-7-2018 at 04:50 AM

:);)

admin - 20-7-2018 at 12:54 AM

Sorry for the delay on this post
You can chose dates, and then choose weather to trade or not trade them.

then you can build systems. GSB will only look at the dates shown.
Then you can right click and change dates to non trade-able.
Then all the dates out of sample will be seen.
I'm lost on your spearman comment sorry. Spearman applies to walk forward only and is not applicable here. Spearman is only for comparison of WF data over the same dates, but with the parameters varying.


DATES-GSB.png - 44kB dates2.png - 34kB

ProbTrader - 20-7-2018 at 02:01 AM

Thanks for your response Peter.

This is a good workaround, but it forces you to use the entire data set which you may not want to do. This also means that you don't have full control over start and end dates, which, for example, is relevant for seasonal commodities and scenario based trading. An example of this would be NG. Winter and summer contracts are different beasts, and should in most cases be treated as such (ie contract based and not as rollling nearbies - this is a different subject of course). So if you are trying to construct a "NG winter system", you'd want the IS and OS to cover a specific date range for each year, not the entire calendar year. The ability to specifically control IS and OS dates would allow this.

(Never mind the Spearman comment. It was there to show that it is useful to see ONE acccumulated number for ALL periods.)

admin - 20-7-2018 at 02:16 AM

Quote: Originally posted by ProbTrader  
Thanks for your response Peter.

This is a good workaround, but it forces you to use the entire data set which you may not want to do. This also means that you don't have full control over start and end dates, which, for example, is relevant for seasonal commodities and scenario based trading. An example of this would be NG. Winter and summer contracts are different beasts, and should in most cases be treated as such (ie contract based and not as rollling nearbies - this is a different subject of course). So if you are trying to construct a "NG winter system", you'd want the IS and OS to cover a specific date range for each year, not the entire calendar year. The ability to specifically control IS and OS dates would allow this.

(Never mind the Spearman comment. It was there to show that it is useful to see ONE acccumulated number for ALL periods.)

You have 100% control of dates with this, but not in the context of walk forward. This however is just out of sample testing, not WF

ProbTrader - 20-7-2018 at 03:37 AM

WF: yep - understand how this works.


OOS: In that case I must have misunderstood how the Trd/NoTrd logic works and how to control it.

Let me take an example to show why I am confused. Lets say I want to accomplish the following (never mind the reason, this is just an example):

- IS = 2001 and 2003 ONLY
- OOS = 2008 and 2010 ONLY

How would I accomplish this specifically? If I for example set the dates to 1/1/2001-12/31/2001 and 1/1/2003-12/31/2003 to "Trd", I will only see data for 2001 and 2003. So far so good. But what's next? If I change the dates to "NoTrd" ALL other dates will be included in the output/equity curve, ie ALL dates for which there is data, except 2001 and 2003. But I ONLY want to use 2008 and 2010 as OOS, and I want the stats to be the accumulated stats for these two years ONLY.

I could obvioulsy save the systems and do a complete workaround where I re-run everything for a new set of dates with the systems that I choose. But my point is that I want to be able to RUN the IS and OOS on specific dates without having to run sims twice and manually change this. I think the NG example I mentioned above also illustrates this.

But perhaps I have completely misunderstood something here...

Thanks again.

admin - 20-7-2018 at 06:11 AM

Quote: Originally posted by ProbTrader  
WF: yep - understand how this works.


OOS: In that case I must have misunderstood how the Trd/NoTrd logic works and how to control it.

Let me take an example to show why I am confused. Lets say I want to accomplish the following (never mind the reason, this is just an example):

- IS = 2001 and 2003 ONLY
- OOS = 2008 and 2010 ONLY

How would I accomplish this specifically? If I for example set the dates to 1/1/2001-12/31/2001 and 1/1/2003-12/31/2003 to "Trd", I will only see data for 2001 and 2003. So far so good. But what's next? If I change the dates to "NoTrd" ALL other dates will be included in the output/equity curve, ie ALL dates for which there is data, except 2001 and 2003. But I ONLY want to use 2008 and 2010 as OOS, and I want the stats to be the accumulated stats for these two years ONLY.

I could obvioulsy save the systems and do a complete workaround where I re-run everything for a new set of dates with the systems that I choose. But my point is that I want to be able to RUN the IS and OOS on specific dates without having to run sims twice and manually change this. I think the NG example I mentioned above also illustrates this.

But perhaps I have completely misunderstood something here...

Thanks again.

Your asking something very unusual. You could hack the csv file to exclude periods, and then use the verify price data option with other dates in your alternative csv file

ProbTrader - 20-7-2018 at 09:17 AM

I am not so sure that testing systems for certain periods only (seasonality of contracts), and/or stress testing it for specific historical periods/events is that unusual (I happen to know and have worked with many traders that do just that).

As I was alluding to above, I believe that this approach is preferred if you are developing systems on seasonal products, especially those where the contract specs de facto differ between different months of delivery, I think anyone will miss out by treating all contracts the same way, essentially as one continuous data series. Since they are different in their specs, have different fundamentals etc, they also have different price behaviour/distributions/volatility etc. I guess one analogy I would make is with gold/silver. You may find a system that works for both - great if you do as it is likely robust then - but realistically you are probably better off with two different systems. Another analogy would be to treat all hours of trading the same for something like ES, which you concluded is a bad idea in your session time video (lthanks for putting together that video btw - loots of good takeaways in it).

Also, for stress testing any system I find this to be a very practical approach (eg if a long only system survives the last 20 big drops OOS, it may be a winner).

I realize that not all system developers think in these terms, but please do keep it under consideration during the develpment of the optimization options.. Again, I find it superior to the current % settings for IS/OOS/Verification, and it is an addition I feel others would find useful as well.

(Also, I do understand that you can hack a CSV file, but there are obviously lots of issues with this. Not only is this inconvenent, but you would have to transform the data as you end up with price gaps etc etc.)

Many thanks.

admin - 20-7-2018 at 03:38 PM

Quote: Originally posted by ProbTrader  
I am not so sure that testing systems for certain periods only (seasonality of contracts), and/or stress testing it for specific historical periods/events is that unusual (I happen to know and have worked with many traders that do just that).

As I was alluding to above, I believe that this approach is preferred if you are developing systems on seasonal products, especially those where the contract specs de facto differ between different months of delivery, I think anyone will miss out by treating all contracts the same way, essentially as one continuous data series. Since they are different in their specs, have different fundamentals etc, they also have different price behaviour/distributions/volatility etc. I guess one analogy I would make is with gold/silver. You may find a system that works for both - great if you do as it is likely robust then - but realistically you are probably better off with two different systems. Another analogy would be to treat all hours of trading the same for something like ES, which you concluded is a bad idea in your session time video (lthanks for putting together that video btw - loots of good takeaways in it).

Also, for stress testing any system I find this to be a very practical approach (eg if a long only system survives the last 20 big drops OOS, it may be a winner).

I realize that not all system developers think in these terms, but please do keep it under consideration during the develpment of the optimization options.. Again, I find it superior to the current % settings for IS/OOS/Verification, and it is an addition I feel others would find useful as well.

(Also, I do understand that you can hack a CSV file, but there are obviously lots of issues with this. Not only is this inconvenent, but you would have to transform the data as you end up with price gaps etc etc.)

Many thanks.

I'm going to look into this more. Gaps are not an issue if you dont allow trading before 500 bars (1 month approx on 30 min 830 to 1500 session) to occur after a gap

admin - 20-7-2018 at 11:43 PM

Quote: Originally posted by ProbTrader  
I am not so sure that testing systems for certain periods only (seasonality of contracts), and/or stress testing it for specific historical periods/events is that unusual (I happen to know and have worked with many traders that do just that).

As I was alluding to above, I believe that this approach is preferred if you are developing systems on seasonal products, especially those where the contract specs de facto differ between different months of delivery, I think anyone will miss out by treating all contracts the same way, essentially as one continuous data series. Since they are different in their specs, have different fundamentals etc, they also have different price behaviour/distributions/volatility etc. I guess one analogy I would make is with gold/silver. You may find a system that works for both - great if you do as it is likely robust then - but realistically you are probably better off with two different systems. Another analogy would be to treat all hours of trading the same for something like ES, which you concluded is a bad idea in your session time video (lthanks for putting together that video btw - loots of good takeaways in it).

Also, for stress testing any system I find this to be a very practical approach (eg if a long only system survives the last 20 big drops OOS, it may be a winner).

I realize that not all system developers think in these terms, but please do keep it under consideration during the develpment of the optimization options.. Again, I find it superior to the current % settings for IS/OOS/Verification, and it is an addition I feel others would find useful as well.

(Also, I do understand that you can hack a CSV file, but there are obviously lots of issues with this. Not only is this inconvenent, but you would have to transform the data as you end up with price gaps etc etc.)

Many thanks.

Programmer says
if we modify date from the left grid and tick “override original settings” from the lower grid
You can use this to have alternative dates like what your asking.

saycem - 21-7-2018 at 04:07 PM

When sorting results I would like to be able to shift select multiple column headings so for eg you could sort by avg trade and then # of trades etc. Similar to excel.

admin - 23-7-2018 at 01:06 AM

Quote: Originally posted by saycem  
When sorting results I would like to be able to shift select multiple column headings so for eg you could sort by avg trade and then # of trades etc. Similar to excel.

I will look into it if this can be done.

admin - 23-7-2018 at 05:26 PM

Quote: Originally posted by saycem  
When sorting results I would like to be able to shift select multiple column headings so for eg you could sort by avg trade and then # of trades etc. Similar to excel.

This will be done, likely in the beta builds in the next 2 weeks Im hoping.
Its a good idea. thanks for your contribution.

edgetrader - 30-7-2018 at 07:08 AM

I was studying Rob Carver and one of his themes is to separate some of the fitting/optimization from the PnL producing trades. In GSB one way to do this would be to target certain forecasting windows, e.g. 20 bars ahead or until the close of the day. Then the GSB output would be optimized with something like RMSE against the correct target values taken from "future" price data. After this type of fitting, higher GSB output values would correspond to higher predicted price moves over the next 20 bars. Another layer would then take over and translate the forecasts into entries, the simplest being if output > X go long. One benefit would be that most of the fitting can be done on all in-sample bars even if the resulting system only trades very sparsely in order to produce high avg trade.

admin - 31-7-2018 at 12:24 AM

Quote: Originally posted by edgetrader  
I was studying Rob Carver and one of his themes is to separate some of the fitting/optimization from the PnL producing trades. In GSB one way to do this would be to target certain forecasting windows, e.g. 20 bars ahead or until the close of the day. Then the GSB output would be optimized with something like RMSE against the correct target values taken from "future" price data. After this type of fitting, higher GSB output values would correspond to higher predicted price moves over the next 20 bars. Another layer would then take over and translate the forecasts into entries, the simplest being if output > X go long. One benefit would be that most of the fitting can be done on all in-sample bars even if the resulting system only trades very sparsely in order to produce high avg trade.

This is complex and I dont understand the finer detail. I also dont know what rmse is. GSB does have separate trades via the PNL using nth and date features. I think that is a great concept.

edgetrader - 1-8-2018 at 06:40 AM

Quote: Originally posted by admin  
This is complex and I dont understand the finer detail. I also dont know what rmse is. GSB does have separate trades via the PNL using nth and date features. I think that is a great concept.


Here's an example. The blue line is standard TS moving average with length 20 displace 10. This means it peaks 10 bars into the "future" to draw the perfect line.

You'd give the 1bar momentum of that blue line to GSB as targets. If the line was 2808 a bar ago and now it's 2810, your momentum is +2. You'd want the GSB output on this bar to be +2. If it's 0.5 you'd have an error of 1.5. RMSE is just a fitness function, you could use others.
https://en.wikipedia.org/wiki/Root-mean-square_deviation

Then once you're done with this, another layer would take the GSB output and go long if it's above +3, flat if below +1 (for example).

ES chart.png - 72kB TS indicator.png - 6kB

edgetrader - 1-8-2018 at 07:14 AM

When GSB can build its own bars from 1min source data, a great feature would be to support MC custom resolutions. For example, add custom range bars that calc the 20bar ATR on daily data and form a new bar if its high-low range, or open to close range as a variant, exceeds 5% of ATR. Force bar completion at user specified session end e.g. 1500. Always evaluate at full minute ends and don't cut minutes into half or add prices that weren't traded.

TS also has advanced bar types that in my testing however couldn't be used for systems as they all added phantom prices or peeked into the 'future' to some extent. With MC you have control over the COM object's source code that's your custom bar plugin, so you could make advanced bars that are fully backtestable.

https://www.multicharts.com/trading-software/index.php/Custo...

admin - 1-8-2018 at 03:59 PM

Quote: Originally posted by edgetrader  
When GSB can build its own bars from 1min source data, a great feature would be to support MC custom resolutions. For example, add custom range bars that calc the 20bar ATR on daily data and form a new bar if its high-low range, or open to close range as a variant, exceeds 5% of ATR. Force bar completion at user specified session end e.g. 1500. Always evaluate at full minute ends and don't cut minutes into half or add prices that weren't traded.

TS also has advanced bar types that in my testing however couldn't be used for systems as they all added phantom prices or peeked into the 'future' to some extent. With MC you have control over the COM object's source code that's your custom bar plugin, so you could make advanced bars that are fully backtestable.

https://www.multicharts.com/trading-software/index.php/Custo...

I will run that by one of the experienced MC users. Some bars even on MC were not usable.

Advanced Bar Types

Gregorian - 1-8-2018 at 04:22 PM

I've been working exclusively with Advanced Bar Types in MC and TS since just after GSB debuted. Here is a summary of what I've learned:

In TS, Kase bars are the only type that do not create phantom bars. TS' implementation of range and Renko bars always generate phantom bars. Point-and-figure and Kagi bars are by definition completely unusable. Stick to Kase bars and you'll be OK.

In MC, Point Original bars (look them up - it's a hidden bar type, only selectable via the Command Line), Flex Renko (when configured not to generate phantom bars), and the brand-new Kase bars in v12 are usable. I've had inconsistent results with Point bars, MC's version of range bars, therefore I do not recommend them. So far I am having the best results with MC's Kase bars, for which GSB generates more strategies than it does for TS' Kase bars. Clearly MC's implementation of Kase bars differs from TS', though I don't know how.

I've never experimented with developing Custom Bar Types. That would be a whole new world.

Note that with any of these, you must take into account gaps that can occur between bars. For example, there can be a 1 tick difference between the close of one bar and the open of the next, so you should add at least 1 tick of slippage in the Report Slippage to get a fair idea of what to expect in the real world.

I'm very grateful that GSB uses "on close" orders in TS/MC, as that is the only order type that works reliably with Advanced Bar Types. Competitive products use "next bar at market", which makes some bar types unusable.

The advantage of Advanced Bar Types is that you can focus on price action better and thereby generate more profitable strategies. The disadvantage is that there are so many more bars, that you cannot viably backtest for as long a duration. I believe the tradeoff is worth it. Others hold different opinions.

JasonT - 1-8-2018 at 06:34 PM

Quote: Originally posted by Gregorian  
I've been working exclusively with Advanced Bar Types in MC and TS since just after GSB debuted. Here is a summary of what I've learned:

In TS, Kase bars are the only type that do not create phantom bars. TS' implementation of range and Renko bars always generate phantom bars. Point-and-figure and Kagi bars are by definition completely unusable. Stick to Kase bars and you'll be OK.

In MC, Point Original bars (look them up - it's a hidden bar type, only selectable via the Command Line), Flex Renko (when configured not to generate phantom bars), and the brand-new Kase bars in v12 are usable. I've had inconsistent results with Point bars, MC's version of range bars, therefore I do not recommend them. So far I am having the best results with MC's Kase bars, for which GSB generates more strategies than it does for TS' Kase bars. Clearly MC's implementation of Kase bars differs from TS', though I don't know how.

I've never experimented with developing Custom Bar Types. That would be a whole new world.

Note that with any of these, you must take into account gaps that can occur between bars. For example, there can be a 1 tick difference between the close of one bar and the open of the next, so you should add at least 1 tick of slippage in the Report Slippage to get a fair idea of what to expect in the real world.

I'm very grateful that GSB uses "on close" orders in TS/MC, as that is the only order type that works reliably with Advanced Bar Types. Competitive products use "next bar at market", which makes some bar types unusable.

The advantage of Advanced Bar Types is that you can focus on price action better and thereby generate more profitable strategies. The disadvantage is that there are so many more bars, that you cannot viably backtest for as long a duration. I believe the tradeoff is worth it. Others hold different opinions.


Advanced bars are based on tick data? Is that right? I'm not sure about TS and MT but in Ninjatrader that is the case. Can you go back in time far enough to do suitable IS/OOS backtest and then anchored walk forward? One of the key benefits I like about GSB (and minute bars generally) that you can use data going back over a long period of time and test how a strategy would have worked in various markets.

Also I agree with avoiding 'virtual' bars like renko, range bars etc where they fill in gaps to make the chart look nice. You get massive disparity between backtested results and live trading, because of the slippage.

Thanks for sharing your findings.

Gregorian - 1-8-2018 at 08:39 PM

Quote: Originally posted by JasonT  
Advanced bars are based on tick data? Is that right? I'm not sure about TS and MT but in Ninjatrader that is the case. Can you go back in time far enough to do suitable IS/OOS backtest and then anchored walk forward?


Yes, in order for Advanced Bar Types to produce replicatable results, you need to base them on tick data. In both TS and MC using 1 tick data is mandatory for some Advanced Bar Types and optional for others.

TS provides 6 months of tick data. In MC it depends on the data provider; IQFeed provides 6 months, others can be less. With 6 months of tick data, that can be hundreds of thousands of bars, depending on the Advanced Bar Type, so it's a lot of data. But it's not a very long time period, hence the tradeoff.

admin - 2-8-2018 at 01:03 AM

I'm going to talk the bar types over with the programmer when we come to rebuild the data manager. I would like feedback if any other GSB users want the feature.

JasonT - 2-8-2018 at 03:30 AM

Quote: Originally posted by admin  
I'm going to talk the bar types over with the programmer when we come to rebuild the data manager. I would like feedback if any other GSB users want the feature.


Depending on your data provider you get 360 days of tick data with Ninjatrader. You can buy up to about ten years of historical tick data for some instruments for ninja with some online providers.

Despite the large number of bars that you can get in a 6 month or 360 day period, for me that is insufficient time (years) to capture enough different types of market conditions and prove system resiliency. I've produced (without GSB) a lot of different volume bar based strategies for ninjatrader, and have only been able to back test over 360 days. None of them passed by incubation testing. Perhaps the strategies were bad, or perhaps there was not enough data to test them adequately. Maybe both.

Further I note that you need to be really careful about time stamping of each tick of the tick data - ie the data provider must use it and you've got to ensure that your historical tick data is time stamped in the same way that your live tick data is. Otherwise your back testing will be inaccurate. I've seen volume charts on two different computers (one on a VM in the US and one on a PC in Australia) and, for the same instrument, the volume bars build differently. This was due to the different sequence of arrival of the ticks due to IP routing and long trip times. Refreshing the charts fixed the problem, but this is something that needs to be considered for unsupervised auto trading.

For those reasons my preference currently is to use minute based bars and many years worth of data for in sample and out of sample testing.

admin - 2-8-2018 at 03:35 AM

Quote: Originally posted by JasonT  
Quote: Originally posted by admin  
I'm going to talk the bar types over with the programmer when we come to rebuild the data manager. I would like feedback if any other GSB users want the feature.


Depending on your data provider you get 360 days of tick data with Ninjatrader. You can buy up to about ten years of historical tick data for some instruments for ninja with some online providers.

Despite the large number of bars that you can get in a 6 month or 360 day period, for me that is insufficient time (years) to capture enough different types of market conditions and prove system resiliency. I've produced (without GSB) a lot of different volume bar based strategies for ninjatrader, and have only been able to back test over 360 days. None of them passed by incubation testing. Perhaps the strategies were bad, or perhaps there was not enough data to test them adequately. Maybe both.

Further I note that you need to be really careful about time stamping of each tick of the tick data - ie the data provider must use it and you've got to ensure that your historical tick data is time stamped in the same way that your live tick data is. Otherwise your back testing will be inaccurate. I've seen volume charts on two different computers (one on a VM in the US and one on a PC in Australia) and, for the same instrument, the volume bars build differently. This was due to the different sequence of arrival of the ticks due to IP routing and long trip times. Refreshing the charts fixed the problem, but this is something that needs to be considered for unsupervised auto trading.

For those reasons my preference currently is to use minute based bars and many years worth of data for in sample and out of sample testing.

Im very sympathetic to your comments. Can we do some custom bar types with 1 minute data instead of tick? It might resolve most of these issues.

edgetrader - 2-8-2018 at 06:29 AM

Thanks for the interest and comments on this idea. With Kase bars in TS, you can set them to a target range of 2 points and have them built from 1 minute data. The only issue I found in my testing is that TS peeks one bar into the future to construct the bars. For example, your current bar has a range of 1.75. The next minute bar that comes in has a range of 2.50. TS uses future knowledge to complete the current bar at 1.75 and build the next bar with 2.50.

The correct thing to do is leave the current bar open at 1.75 and wait for the next minute to complete, then make a bar with 4.25 range. The occasionally larger bars like this one with 4.25 range are what you have to accept when correctly building advanced bars out of 1min data. The big advantage will be that most GSB users have access to up to 20 years of 1min data and systems can be live traded with MC custom resolutions.

Kase TS.png - 15kB

admin - 2-8-2018 at 05:33 PM

Quote: Originally posted by edgetrader  
Thanks for the interest and comments on this idea. With Kase bars in TS, you can set them to a target range of 2 points and have them built from 1 minute data. The only issue I found in my testing is that TS peeks one bar into the future to construct the bars. For example, your current bar has a range of 1.75. The next minute bar that comes in has a range of 2.50. TS uses future knowledge to complete the current bar at 1.75 and build the next bar with 2.50.

The correct thing to do is leave the current bar open at 1.75 and wait for the next minute to complete, then make a bar with 4.25 range. The occasionally larger bars like this one with 4.25 range are what you have to accept when correctly building advanced bars out of 1min data. The big advantage will be that most GSB users have access to up to 20 years of 1min data and systems can be live traded with MC custom resolutions.

Im not clear on this. If ts peaks into the future its useless. Even if GSB fixes this issue, we cant trade it in TS. If not wrong in my comment, please help me understand this better.

edgetrader - 2-8-2018 at 06:26 PM

Yes that's right, you can't trade it in TS unless you do a massive workaround that involves recreating the custom bars on user controlled arrays and recoding all indicators to work on these arrays.

So the idea is to have it in GSB and let the users try it. If they find it worthwhile and want to trade custom bar strategies, they can do it on MC or another platform that allows to program the bar formation, such as NinjaTrader.

I'm not thrilled about TS10 and believe MC .Net (for various reasons) is the future anyway. So what I suggest is that GSB provides MC custom resolution plugins to match GSB's custom bars. We can then live trade the strategies on MC .Net and EL edition.

admin - 2-8-2018 at 06:42 PM

Quote: Originally posted by edgetrader  
Yes that's right, you can't trade it in TS unless you do a massive workaround that involves recreating the custom bars on user controlled arrays and recoding all indicators to work on these arrays.

So the idea is to have it in GSB and let the users try it. If they find it worthwhile and want to trade custom bar strategies, they can do it on MC or another platform that allows to program the bar formation, such as NinjaTrader.

I'm not thrilled about TS10 and believe MC .Net (for various reasons) is the future anyway. So what I suggest is that GSB provides MC custom resolution plugins to match GSB's custom bars. We can then live trade the strategies on MC .Net and EL edition.

There is merit to what you sugest,but its likely to come later in GSB development. There is much more GSB user demand for secondary filters and other exit types. Ninja trader likely the next platform we will work on, so that might be a better timing. Whats the big plus in mc .net? Im avoiding ts10 for as long as possible, and there are no features I need that arnt in ts9.5

edgetrader - 3-8-2018 at 11:55 AM

The paradigm is different as it's object oriented unlike usual EL, giving you more flexibility to solve complex tasks. C# is a great and standard programming lauguage. You can use Visual Studio and a real debugger. You can interact from MC .Net with a standalone .Net program (GSB?) and trigger actions in both directions.

Yes you're doing well with TS9.5, in combination with custom programming you had done, like IB Link. Some of these features are supported by MC .Net, including:

- a strategy can trade simultaneously with more than one broker and on more than one instrument
- sending unmanaged orders and have your own order management system
- access to the status of orders, positions, accounts, logs from the .Net script

Also you have better data access and don't have to go through adding data2, adding data3 etc. The features include:

- indicators/strategies can programmatically access data for symbols that aren't charted
- access to the list of symbols in the database
- ability to use third-party databases (SQL Server, Mongo DB)

When TS cuts off 9.5, I think moving to MC .Net will be better long term vs. TS10.

jptann - 3-8-2018 at 11:58 AM

The only reason I like MC.Net is that you can own it and have a number of life time licenses. Same with MC. I am phasing out my use of TS since I don't like their brokerage operation. Before I go, I'm downloading long histories in 1M time frames so as to use this in MC to build real time charts. MC makes this very easy and when you have a contract month change, you just have to use their custom instrument feature. It is pretty easy but have not tried it for real yet. I will have to wait till next month when I move from Sep to Dec for the ES contract.

I am teaching myself MC.Net now but that is just for fun. Needed to learn C# anyway. I'm retired and just finished with VBE so neet to keep my mind working. I am assuming once the GSB will be ready for Ninja, with some easy modifications it can move to MC.net, but that is just an assumption on my side with no background.

If not, I can always go to Ninja but really like the support I have been getting from MC over the years. I was an early user of their platform and did trade large sizes of ES 200 to 400 per trade, not limit, and only experienced 1/2 tick slippage on average. Of course that only works with ES and TY. the other instruments you have to use limit trades but I don't want to add another risk into my day trading and walk forward analysis that can skew the results, so market trades is it for me.


tmlong18 - 9-8-2018 at 01:59 AM

It would be great to add matrix optimization for EWFO.

admin - 9-8-2018 at 04:20 PM

Quote: Originally posted by tmlong18  
It would be great to add matrix optimization for EWFO.

Can you explain? You mean the table of results of runs vs periods etc than can out in the last build of TS wfo.exe years ago.
I dont see the need for it as if you have hit parameter stability, there it will make no difference.

tmlong18 - 13-8-2018 at 06:14 AM

Quote: Originally posted by admin  
Quote: Originally posted by tmlong18  
It would be great to add matrix optimization for EWFO.

Can you explain? You mean the table of results of runs vs periods etc than can out in the last build of TS wfo.exe years ago.
I dont see the need for it as if you have hit parameter stability, there it will make no difference.

I mean the matrix table of different fitness criteria weight.
Sometimes it get a great result with NP(1)+ Avg Trade(1) but mess up with NP(1)+ Avg Trade(2) / NP(2)+ Avg Trade(1).
A matrix table may easily evaluate the stability.

admin - 13-8-2018 at 06:12 PM

Quote: Originally posted by tmlong18  
Quote: Originally posted by admin  
Quote: Originally posted by tmlong18  
It would be great to add matrix optimization for EWFO.

Can you explain? You mean the table of results of runs vs periods etc than can out in the last build of TS wfo.exe years ago.
I dont see the need for it as if you have hit parameter stability, there it will make no difference.

I mean the matrix table of different fitness criteria weight.
Sometimes it get a great result with NP(1)+ Avg Trade(1) but mess up with NP(1)+ Avg Trade(2) / NP(2)+ Avg Trade(1).
A matrix table may easily evaluate the stability.

Have you seen this? Its fully programmable as to what fitness's you load.

stabscore.png - 132kB

engtraderfx - 14-12-2018 at 05:05 PM

Couple of suggestions..

Take Profit / Stop optimising - following the guide to optimise using no stop loss / TP, would it be useful to run a chosen system after setting SL / TP & also rerun an optimisation & WF for SL / TP while in GSB ?

Long / short chart - might be useful to give option to trend long vs short?

admin - 14-12-2018 at 05:15 PM

Quote: Originally posted by engtraderfx  
Couple of suggestions..

Take Profit / Stop optimising - following the guide to optimise using no stop loss / TP, would it be useful to run a chosen system after setting SL / TP & also rerun an optimisation & WF for SL / TP while in GSB ?

Long / short chart - might be useful to give option to trend long vs short?

You mean have stop / pt values genetically modified and adjust in WF?
You mean performance graphs have a optional line for long, short and both?
We have performance metrics for long short and both already

engtraderfx - 14-12-2018 at 07:34 PM

You mean have stop / pt values genetically modified and adjust in WF? [At a basic level, just wondering if can enter TP / SL values in parameters after selecting a system & rerun in GSB, & then yes, run an optimisation or WF to determine appropriate values. Would be useful to use GSB than have to rereun in TS / MC].

You mean performance graphs have a optional line for long, short and both? [Yes just show a equity curve of short vs long as quick way to see comparison]

admin - 16-12-2018 at 04:59 PM

Quote: Originally posted by engtraderfx  
You mean have stop / pt values genetically modified and adjust in WF? [At a basic level, just wondering if can enter TP / SL values in parameters after selecting a system & rerun in GSB, & then yes, run an optimisation or WF to determine appropriate values. Would be useful to use GSB than have to rereun in TS / MC].

You mean performance graphs have a optional line for long, short and both? [Yes just show a equity curve of short vs long as quick way to see comparison]


I will ask programmer about this.

zdenekt - 25-12-2018 at 05:29 AM

I wish the fitness function "Avg win / Avg loss ratio". Is it possible?

admin - 25-12-2018 at 05:44 PM

Quote: Originally posted by zdenekt  
I wish the fitness function "Avg win / Avg loss ratio". Is it possible?


That can be done, look out of it in a beta build coming up. Not sure when but its not a big task.

admin - 25-12-2018 at 07:17 PM

Quote: Originally posted by zdenekt  
I wish the fitness function "Avg win / Avg loss ratio". Is it possible?

Its in build 50.54. Not released yet

adcardoso01 - 26-12-2018 at 10:32 AM

Peter, I got a beginners question:

As per Carl post, the development process is as follows:
1. run GSB
2. select good looking strat in GSB and perform WF in GSB
3. export code to TS
4. WF opt in TS
5. WF analysis in EWFO

Does that mean that the EWFO has much more capabilities than the Built in WF in GSB? In summary, when buying GSB one should also consider buying EWFO in addition or when buying GSB you get all the functionalities of EWFO?

Thx!

admin - 26-12-2018 at 02:34 PM

Quote: Originally posted by adcardoso01  
Peter, I got a beginners question:

As per Carl post, the development process is as follows:
1. run GSB
2. select good looking strat in GSB and perform WF in GSB
3. export code to TS
4. WF opt in TS
5. WF analysis in EWFO

Does that mean that the EWFO has much more capabilities than the Built in WF in GSB? In summary, when buying GSB one should also consider buying EWFO in addition or when buying GSB you get all the functionalities of EWFO?

Thx!

Very few people wf out side of GSB. The only time this needs to be done is when you have added new - non gsb code. To do a WF outside of GSB takes a really big amount of CPU and human time.
Only buy ewfo if you need to WF non GSB or modified GSB code.

cyrus68 - 28-12-2018 at 05:37 AM

Would it be possible to enable GSB to enter trades at the open of the bar instead of the close? i.e. the user will be able to select whether trades are executed at the open or the close of the bar. This will enable swing trading daily bars for stocks, without facing problematic execution issues at the brokerage.
Thanks

admin - 28-12-2018 at 05:42 AM

Quote: Originally posted by cyrus68  
Would it be possible to enable GSB to enter trades at the open of the bar instead of the close? i.e. the user will be able to select whether trades are executed at the open or the close of the bar. This will enable swing trading daily bars for stocks, without facing problematic execution issues at the brokerage.
Thanks

is this in the context of daily bars, or say 30 min bars you want to enter say at 830 instead of 900 on ES?
I think the concept is ok, but will come after the additional secondary filters. (work starting fairly soon)

rws - 28-12-2018 at 12:49 PM

Be carefull with future peaks if you have bars endtime and using
them with the open in a system.

Quote: Originally posted by admin  
Quote: Originally posted by cyrus68  
Would it be possible to enable GSB to enter trades at the open of the bar instead of the close? i.e. the user will be able to select whether trades are executed at the open or the close of the bar. This will enable swing trading daily bars for stocks, without facing problematic execution issues at the brokerage.
Thanks

is this in the context of daily bars, or say 30 min bars you want to enter say at 830 instead of 900 on ES?
I think the concept is ok, but will come after the additional secondary filters. (work starting fairly soon)

adcardoso01 - 28-12-2018 at 02:17 PM

Peter, regarding the WF within GSB, is there a way to do the following?

1) Choose to do Anchored or Rolling WF and select the Rolling period;

2) Optimize WF periods, ie, Optimize 1yr with OOS of 2mo, then Optimize 1.5 yrs with OOS of 2mo and choose which works best for example? Here I'm a little skeptical due to the excessive risk of curve fitting, but I'd like to hear your thoughts on it. What is your take on it?

Thx!

admin - 28-12-2018 at 04:04 PM

Quote: Originally posted by adcardoso01  
Peter, regarding the WF within GSB, is there a way to do the following?

1) Choose to do Anchored or Rolling WF and select the Rolling period;

2) Optimize WF periods, ie, Optimize 1yr with OOS of 2mo, then Optimize 1.5 yrs with OOS of 2mo and choose which works best for example? Here I'm a little skeptical due to the excessive risk of curve fitting, but I'd like to hear your thoughts on it. What is your take on it?

Thx!

With GSB we can have some objectify.i
ie wf say 100 systems, apply wf parameters and check oos by dates.
My tests showed anchored is better than rolling, but not every test is better.
But to do the test validly, you would have to do it several times with say different oos years. if all oos years were just 2018 - it would be comparing anchored to rolling that use the year before 2018 parameters on 2018. Thats not a fair test.
I see less need for wf not we have market validation etc but i dont have conclusive view on this. (yet)
What your talking about is a bit like cluster analysis. I think its less needed when you looked for parameter stability in WF. (covered in wf videos)

adcardoso01 - 28-12-2018 at 04:23 PM

My point here is: What PERIODS (IS and OOS) result in best parameters when doing WF analysis. After that, the question that follow is: Are these parameters stable overtime?

Im asking you because a thought that occurred to me was: Can we improve parameters stability somehow? Is it possible to find out what periods of WF result in more parameter stability?

If we can run WF tests using steps of 1 month (for example: IS: 1yr / OOS 1mo, then IS: 0.9yr / OOS 1mo, then IS: 0.8yr / OOS 1mo, etc) and compare the parameter stability of those. That possibly could give insights of what is the optimum period (in terms of parameter stability) to re-optimize a Model... Just food for thought...

admin - 28-12-2018 at 04:37 PM

Quote: Originally posted by adcardoso01  
My point here is: What PERIODS (IS and OOS) result in best parameters when doing WF analysis. After that, the question that follow is: Are these parameters stable overtime?

Im asking you because a thought that occurred to me was: Can we improve parameters stability somehow? Is it possible to find out what periods of WF result in more parameter stability?

If we can run WF tests using steps of 1 month (for example: IS: 1yr / OOS 1mo, then IS: 0.9yr / OOS 1mo, then IS: 0.8yr / OOS 1mo, etc) and compare the parameter stability of those. That possibly could give insights of what is the optimum period (in terms of parameter stability) to re-optimize a Model... Just food for thought...

Your question looks good but way to hard for me to interpret correctly.
by period. do you mean dates, nth setting, nth day setting.
are you taking the wf runs and oos% etc. Best give me specific example , maybe with screen shot.
It sounds like you are talking about cluster analysis like in ts wfo.exe
No one has yet done cluster analysis and stability of parameters.
On CL with a year or so oos, i found wf increased fitness, np at the expensive of pf and at. This showed it was valid but the non wf parameters were fine collectively.
Im very open to ideas but I feel we dont need more work in this direction.
Im still grappling with several valid approaches to system building. But want objective large scale tests to do this. This takes me some time to do.
This thread is another valid method too
https://trademaid.info/forum/viewthread.php?tid=204


 Pages:  1  2    4  5