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  ..  9    11    13  ..  17
Author: Subject: Wish List
coccigelus
Junior Member
**




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 28-6-2019 at 05:16 AM


Hello Peter,

I have a wish list request for PA:

I would like to get incorporated a metric that account the weight of each system in the generation of NP/maxDD AT the portfolio level, TAKING in consideration the time since the first system in the portfolio traded.

Example: (here considering 2018 end of year keeping simple example)

System A: started to trade in the 2000 with a NP of 100k and MaxDD of 10k.

System B: started to trade in the 2009 with a NP of 100k and MaxDD of 10k.


In this case the weight of system A related to NP & DD would be 1 for each metric. (weightDD and weightNP). However the weight for system B would be 2 for weightDD and weightNP.
So the system that trade at earlier date would be always 1 for both metrics.

Calculation SYS A : 100 NP/18 Years= 5.555 ///// norm: 5.555/5.555 = 1 // Same process for DD calculation

Calculation SYS B : 100 NP/9 Years= 11.111 ///// norm: 11.111/5.555 (sys A divisor) = 2 // Same process for DD calculation


I think would be an add on extremely useful in the construction of balanced portfolio where We want balanced weight systems within it that take in consideration the starting time of the portfolio.


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 28-6-2019 at 05:27 AM


The request is meant for PA PRO.

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-7-2019 at 05:41 AM


Quote: Originally posted by coccigelus  
The request is meant for PA PRO.


I will look into this later in the week.


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 1-7-2019 at 05:44 AM


Thank You!

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 3-7-2019 at 08:27 PM


Quote: Originally posted by coccigelus  
Hello Peter,

I have a wish list request for PA:

I would like to get incorporated a metric that account the weight of each system in the generation of NP/maxDD AT the portfolio level, TAKING in consideration the time since the first system in the portfolio traded.

Example: (here considering 2018 end of year keeping simple example)

System A: started to trade in the 2000 with a NP of 100k and MaxDD of 10k.

System B: started to trade in the 2009 with a NP of 100k and MaxDD of 10k.


In this case the weight of system A related to NP & DD would be 1 for each metric. (weightDD and weightNP). However the weight for system B would be 2 for weightDD and weightNP.
So the system that trade at earlier date would be always 1 for both metrics.

Calculation SYS A : 100 NP/18 Years= 5.555 ///// norm: 5.555/5.555 = 1 // Same process for DD calculation

Calculation SYS B : 100 NP/9 Years= 11.111 ///// norm: 11.111/5.555 (sys A divisor) = 2 // Same process for DD calculation


I think would be an add on extremely useful in the construction of balanced portfolio where We want balanced weight systems within it that take in consideration the starting time of the portfolio.



Im not 100% clear what you want.
Pretend we made the pa files only from the dates systems went live, and we maximise the portfolio to find best np/dd - is that what you want?
But have reporting that includes all dates


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 4-7-2019 at 01:09 PM


See the excel attached.

This doesn't want to be an efficient way to bet for each component as is already explained nicely in many books related to size - betting. This is an idea that want to be efficient in a scenario where we have x systems with different performance AND we want to reach a calibrated optimum where a component of the portfolio may fail.

Again this is just an idea. Perhaps It would be more useful to use the AVG 5 MAXDD for each system instead of just the MAXDD which however can't be obtained through the strategy performance report.

At the beginning just put the metrics from your backtest: NP - %MAXDD - Years of backtesting.
The column to calibrate the whole pack is the net profit which would also mean regulate the size of each component. This probably regarding futures could be achieved through micro contracts. I also suspect using MAXDD would cause massive spike changing the netprofit that could be smoothed using an avg of MaxDD.

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 5-7-2019 at 02:13 AM


Quote: Originally posted by coccigelus  
Hello Peter,

I have a wish list request for PA:

I would like to get incorporated a metric that account the weight of each system in the generation of NP/maxDD AT the portfolio level, TAKING in consideration the time since the first system in the portfolio traded.

Example: (here considering 2018 end of year keeping simple example)

System A: started to trade in the 2000 with a NP of 100k and MaxDD of 10k.

System B: started to trade in the 2009 with a NP of 100k and MaxDD of 10k.


In this case the weight of system A related to NP & DD would be 1 for each metric. (weightDD and weightNP). However the weight for system B would be 2 for weightDD and weightNP.
So the system that trade at earlier date would be always 1 for both metrics.

Calculation SYS A : 100 NP/18 Years= 5.555 ///// norm: 5.555/5.555 = 1 // Same process for DD calculation

Calculation SYS B : 100 NP/9 Years= 11.111 ///// norm: 11.111/5.555 (sys A divisor) = 2 // Same process for DD calculation


I think would be an add on extremely useful in the construction of balanced portfolio where We want balanced weight systems within it that take in consideration the starting time of the portfolio.


What going to happen when systems are new, or going for just a few months?
I suspect there will be issues when we do this.


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 5-7-2019 at 08:59 AM


Did You see the excel file? It seems no according to the answer received..

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 6-7-2019 at 02:12 AM


Hi coccigelus,

How are you going to maintain the numbers in your Excel sheet?
Monitor the performance of the systems A,B,C and update the statistics in Excel to get the new weights?
And repeat this step every month for all systems?


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 9-7-2019 at 09:48 AM


Hello Carl,

Please accept my apologize for late answer I had a long week end. Yes what You have mentioned is my thought. Probably You can update even less frequently if You are not going to add any new system or You do not get any new major change of the metrics used in the excel file (NP-Years-Maxdd).

However I would like to use a different metric than MaxDD which at the end of the day is just a spike. For instance, to declare the exhaustion of a system (fail) I am using a MaxDD retrieved from a montecarlo simulation using the Avg win/loss and their SD over N simulations and then I am using this metric to eventually shut it down a system that suffered a notable deterioration of the performance. This make a lot of sense If You are sure Your system is not overoptimized otherwise You are going to add aggravation at your account. Another parameter that I would like to add in the equation is the correlation of each system.

Let me know If You would be interested to discuss it in a greater detail.



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 10-7-2019 at 03:16 AM


Hi coccigelus,

Your method doesn't include the correlation between the different strategies.
I think correlation is the most important in portfolio building.

Instead of monitoring every strategy separately you can also periodic rebalance your portfolio by using PA.
For example rebalance every month or every 10% change in capital so see which strategies are selected by PA for the new portfolio.
This way a deteriorating strategy will be replaced by anothebetter one.


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




Posts: 73
Registered: 11-7-2018
Member Is Offline

Mood: No Mood

[*] posted on 10-7-2019 at 08:33 AM


Hi Carl,

I would love to agree with You regarding correlation but here the reason why I do not think should be given more relevance (if any) than other variables mentioned:

Excerpt from Vince book - The handbook of portfolio Mathematics:

...
Here, we are measuring the correlation of binomially distributed outcomes(heads or tails), and the outcomes are random, not generated byhuman emotions. In other types of environments, such as market prices, correlation coefficients begin to exhibit a very dangerous characteristic. When a large move occurs in one component of the pairwise combination, there is a tendency for correlation to increase, often very dramatically. Additionally, since I am speaking here of, say, market A making the large move, and its correlation to B, then too can I expect A and C to see an increase in their correlation coefficient in those time periods of the large move, and hence between B and C during those periods where I see a large move in A. In short, when the big moves come, things tend to line up and move together (to a far greater degree than the correlation coefficient implies).
In incidental time periods, which are most time periods, the correlation coefficients tend back toward zero.
....
////////

The correlation of components along a time horizon does not provide any meaningful insight on the bet size. What provide the insight is when there are moves from a component/s of the portfolio beyond 3 sigma. When that event happens than the correlation We thought was the case dramatically and tragically (if You rely on that for the bet size) increase toward 1.
The correlation data provided by PA is very useful in relation to the detection of system that basically do the same thing.





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 12-7-2019 at 03:49 AM


You can also use more diversified types of strategies.

Trendfollowing and mean reverting strategies.
Day trading and swing trading.
This way you can try to keep the correlation at lower levels.


View user's profile View All Posts By User
Daniel UK1
Member
***




Posts: 470
Registered: 4-6-2019
Member Is Offline


[*] posted on 8-10-2019 at 06:42 AM


I think it would be interesting to be able to produce random clones of price for verification on a price series as we can today, BUT with a possibility to adjust the clone 1-10 toward more mean reversion or trending characteristics.. i think it could make it possible to test robustness depending on market changes for the symbol in question... perhaps i am out of depth there.. but i think it could open up to further testing possibilities

Thoughts?


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 8-10-2019 at 07:12 PM


Quote: Originally posted by Daniel UK1  
I think it would be interesting to be able to produce random clones of price for verification on a price series as we can today, BUT with a possibility to adjust the clone 1-10 toward more mean reversion or trending characteristics.. i think it could make it possible to test robustness depending on market changes for the symbol in question... perhaps i am out of depth there.. but i think it could open up to further testing possibilities

Thoughts?

In excel, can you make such a file, and do some testing to see if its superior to the current method?
Your request for the directory tree of contracts got added to the job que today, but the job que for programmer #2 is bigger than normal as he took leave and just got back. My contracts section is a mess thats hard to navigate, so I like the idea.


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




Posts: 35
Registered: 25-10-2019
Member Is Offline


[*] posted on 15-11-2019 at 03:27 AM


Hi Peter,

I want to be able to do this in GSB:

Run a macro that for every system in Fav.A does this:
* saves system into .gsbsystem file somewhere on disk;
* saves system statistics (Full Period Net Profit, e.t.c.) somewhere on disk;
* runs "Genetic Algorithm to EWFO" to prepare EWFO intermediate files;
* calls an external command to process this data (for example, runs a python script with some parameters).

The idea is that I want to be abel to run a Python script for every pre-selected system in Fav.A, so that this script can automatically do EWFO cluster-analysis and, maybe, do some other tests to assess systems robustness. And then this script produces only .gsbsystem files that pass some formal robustness tests.

This should allow users to generate fully automatic workflows using GSB + EWFO.

Currently I can only run "Genetic Algorithm to EWFO" for all systems in Fav.A as a one single operation from a macro (but this exhausts disk space quickly). And there is no option to run an external command for every cell, and no macro command or command parameter to save .gsbsystem file on disk.

Probably, for the start, it would be nice to add a new parameter to WalkForward macro command, something like "run an external command after WF finishes: python.exe somescript.py %EWFO_output_dir%". This should allow user to write a script that runs EWFO, checks the results and then deletes EWFO intermediate files so that preserve the disk space.

Then we can add to this an ability to save .gsbsystem file on disk and export system params. from a macro command.


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 15-11-2019 at 04:30 AM


Quote: Originally posted by Sten  
Hi Peter,

I want to be able to do this in GSB:

Run a macro that for every system in Fav.A does this:
* saves system into .gsbsystem file somewhere on disk;
* saves system statistics (Full Period Net Profit, e.t.c.) somewhere on disk;
* runs "Genetic Algorithm to EWFO" to prepare EWFO intermediate files;
* calls an external command to process this data (for example, runs a python script with some parameters).

The idea is that I want to be abel to run a Python script for every pre-selected system in Fav.A, so that this script can automatically do EWFO cluster-analysis and, maybe, do some other tests to assess systems robustness. And then this script produces only .gsbsystem files that pass some formal robustness tests.

This should allow users to generate fully automatic workflows using GSB + EWFO.

Currently I can only run "Genetic Algorithm to EWFO" for all systems in Fav.A as a one single operation from a macro (but this exhausts disk space quickly). And there is no option to run an external command for every cell, and no macro command or command parameter to save .gsbsystem file on disk.

Probably, for the start, it would be nice to add a new parameter to WalkForward macro command, something like "run an external command after WF finishes: python.exe somescript.py %EWFO_output_dir%". This should allow user to write a script that runs EWFO, checks the results and then deletes EWFO intermediate files so that preserve the disk space.

Then we can add to this an ability to save .gsbsystem file on disk and export system params. from a macro command.


re - saves system statistics (Full Period Net Profit, e.t.c.) somewhere on disk;
Would the save trade list do for this? or all the details in the performance tab?


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




Posts: 35
Registered: 25-10-2019
Member Is Offline


[*] posted on 15-11-2019 at 11:10 AM


Quote: Originally posted by admin  
re - saves system statistics (Full Period Net Profit, e.t.c.) somewhere on disk;
Would the save trade list do for this? or all the details in the performance tab?


Yes, list of trades is enough - if needed the script can calculate stats from the list of trades (however it would be convenient to have all the parameters that are listed in Unique-Systems window: F-F, NP-F, DD-F, AT-F e.t.c. so that not to calculate them again. But that is not required.).

The only catch is that an external script needs the way to tell which trades came from In-Sample period and which are from OOS period. As, obviously, these are two different statistics which need to be analyzed separately.


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 15-11-2019 at 03:22 PM


Quote: Originally posted by Sten  
Quote: Originally posted by admin  
re - saves system statistics (Full Period Net Profit, e.t.c.) somewhere on disk;
Would the save trade list do for this? or all the details in the performance tab?


Yes, list of trades is enough - if needed the script can calculate stats from the list of trades (however it would be convenient to have all the parameters that are listed in Unique-Systems window: F-F, NP-F, DD-F, AT-F e.t.c. so that not to calculate them again. But that is not required.).

The only catch is that an external script needs the way to tell which trades came from In-Sample period and which are from OOS period. As, obviously, these are two different statistics which need to be analyzed separately.

worst case could the external script could be programed to have the oos date of say 2015.6.30 in it?


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 15-11-2019 at 04:29 PM


Hi Sten,
Assuming we do what you request, are you sure you are happy with your workflow? IE test manually. I would not want to commit to this to find it not used.
Users like you with unique requirements make my job harder, but are the very things that collectively enrich GSB to make it even better.
Hence you are valued.


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




Posts: 35
Registered: 25-10-2019
Member Is Offline


[*] posted on 16-11-2019 at 04:24 AM


Quote: Originally posted by admin  
worst case could the external script could be programed to have the oos date of say 2015.6.30 in it?


Yes, in the worst case the script could be programmed with hard-coded IN and OOS dates. Actually, list of trades and system stats are the lowest priority items in my feature request. I can leave even without them.

The priorities are as following:

- An ability to run an external script with parameters from a macro when each WFO tests finishes. That already allows me to do some automation [Highest Priority].
- An ability to export the system being processed into .gsbsystem file (I can use AutoSave feature to automatically save all most-interesting systems and then use system ID to find the system on disk from a script). So in the worst case I can leave without this feature. [Middle Priority]
- Export list of trades and/or system statistics into external file from a macro for every WFO. Since I'm able to filter and select best systems from a macro, and place them into Fav.A, I can live without access to system stats in an external script. Also, I looked into uncompressed .gsbsystem file and found it already includes all system statistics for Full and Training periods, and the file is in a JSON format. I didn't find stats for test segment inside .gsbsystem file, probably as I'm using "Training: 100% with Nday: 80 settings". Anyway, this item is [Lowest Priority].

So, what I need the most is an ability to run an external script to process every WFO test results from a macro.


Quote: Originally posted by admin  
Hi Sten,
Assuming we do what you request, are you sure you are happy with your workflow? IE test manually. I would not want to commit to this to find it not used.
Users like you with unique requirements make my job harder, but are the very things that collectively enrich GSB to make it even better.
Hence you are valued.


That's a valid point. Surely, you can wait while I finish GSB Trial version evaluation before implementing all this (but just to add a parameter to run an external command should be extremely easy).

Currently I am rerunning the process from the scratch. And I'm waiting for the results. I'll probably report soon a few more severe bugs I noticed.


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 16-11-2019 at 05:39 AM


Hi Sten
are you saying after every wf ->ewfo we run a exe?
its simplier to run all the wf via the macro, and the macro runs your exe after that.
Your exe could sweep all the folders and do its stuff.
very messy to do it after each wf as its outside the scope of what macros do - if done the other way.
Plus the macro programmer is not the same programmer as did gsb wf - so out side his area of expertise.



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




Posts: 35
Registered: 25-10-2019
Member Is Offline


[*] posted on 16-11-2019 at 06:42 AM


Quote: Originally posted by admin  
Hi Sten
are you saying after every wf ->ewfo we run a exe?
its simplier to run all the wf via the macro, and the macro runs your exe after that.
Your exe could sweep all the folders and do its stuff.
very messy to do it after each wf as its outside the scope of what macros do - if done the other way.
Plus the macro programmer is not the same programmer as did gsb wf - so out side his area of expertise.


Hi, Peter,

Yes, ideally I want to run an exe after each WF is finished. The problem with running all WF and then running a macro is that we can run out of disk space before the process is finished.

Let's do a quick calculation. Right now I have one system exported from GSB to EWFO, and ewfoFiles\20191114-122400-417309-l7X2q folder with intermediate EWFO binary files consumes 362 Mb disk space.

Now, let's assume I want to do a cluster analysis for top 250 systems from Fav.A, and I run a macro that does "Genetic Algorithm WF to EWFO" for all 250 systems in Fav.A and then runs an external exe file.

I need at least:

362 Mb * 250 == 90500 Mb == 88.38 Gb

88.38 Gb of free disk space for this process. And what if I want to run EWFO on top 1000 or top 2000 systems? Free disk space requirements go up quickly.

Surely, in practice I can find around 100 Gb disk space to process top 250 systems. So if you just add a separate macro command to run an exe file, that would already be some sort of solution.

But, ideally, I prefer to be able to run an exe after every WF finishes so that to have an option to delete intermediate EWFO files and to free up a disk space.


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 18-11-2019 at 03:04 AM


Hi Sten.

you could massively cut down the amount of WF you do. When you break down to families
see https://trademaid.info/gsbhelp/Createupdatefamily.html

Disk space is now very cheap too, do I dont see the issue of 88gb.
If you want speed, last I checked - nothing beats a samsung m2 ssd as far as bang for buck goes.
minor problem with deleteing files, is if you want to refer to them again - they are gone. You could also move to backup storage.


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




Posts: 35
Registered: 25-10-2019
Member Is Offline


[*] posted on 18-11-2019 at 03:17 AM


Hi Peter,

Ok, that's fine. Thanks for tip on using Families.


View user's profile View All Posts By User
 Pages:  1  ..  9    11    13  ..  17

  Go To Top

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