- ago
Hello everyone, instead of putting together a portfolio with the dataset in the datamanger, I would like to enter it directly into the building blocks. I used the “Symbol Filter” in the conditions. However, unfortunately I get different results.
You can see it below. Left with symbol filter and right with dataset.
Can you help me please? Thank you very much . Kind regards, Marko :)
0
338
Solved
17 Replies

Reply

Bookmark

Sort
- ago
#1
This looks like a riddle with too many unknowns (to us), like DataSet, data provider, Strategy's complete Settings and Blocks, of course - that's just to start with.
0
Cone8
 ( 24.61% )
- ago
#2
For starters, what's the NSF ratio for both backtests?
If it's not "-" (NSF Count 0), then even the same backtest done the same way can have random results, if you're not assigning Position Priority in a methodical way.
0
- ago
#3
Hi Eugene and cone,
I have the problem with every strategy.
I created (just for you :) to show...) another strategy in 2 Minutes. Very simple and not good just to show the problem. In both NSF is not marked/ NSF Ratio=0.
The only difference in the second strategy is that I didn't create the portfolio with the "Symbols" in the bulding blocks but with the Datamanager. However, the results are different, as you can see.
Thank you for Help in advance.
Marko :)







0
Glitch8
 ( 10.13% )
- ago
#4
You're going to get different results because the WealthData S&P 500 DataSet is DYNAMIC. Symbols will come into and out of the DataSet depending on the dates that they were part of the S&P 500 index.
0
- ago
#5
Hello Glitch,

I thougt both have the same dynamical "charakter", because both portfolios are based on the S&P 500 dynamical portfolio of wealthlab. For example TSLA. First datas of Tesla are there in Juli 2010. Before that, I would not be allowed to have any trades in either strategy, right?
Which strategie is dynamic in your opinion?
My goal is to have a selection of stocks -in my case of the S&P500, that still take the dynamic effect (survivorship bias) into account.
It would be great to get this by using a Symbol Block... are there any possibilities?
0
- ago
#6
QUOTE:
because both portfolios are based on the S&P 500 dynamical portfolio of wealthlab.

No, that's incorrect. Your "Test_set" DataSet is obviously a custom DataSet linked to Wealth-Data and thus it has no dynamic capabilities at all. It's the canned DataSets in the "WealthData" group on top of everyone's DataSets tree - not subject to change - that are survivorship bias free.
0
- ago
#7
Hi Eugene,

and do I have the same effect by using the "Symbol" building block?
I don't understand the difference, if there is one between test_set and symbol block.
0
- ago
#8
Hi Marko,
QUOTE:
and do I have the same effect by using the "Symbol" building block?

If you apply it (in a Strategy running on) to one of those dynamic DataSets (S&P, Dow, Naz, *DAX) then sure, it works as designed. Otherwise please feel free to rephrase your question.
0
Cone8
 ( 24.61% )
- ago
#9
The Historical symbol switching only works for the Wealth-Data DataSets. That's the difference.

For any other DataSet, you need to create your very own DataSet Provider and give it logic for that functionality.
https://www.wealth-lab.com/Support/ExtensionApi/DataSetProvider
0
- ago
#10
Hi Eugene and Cone,

sorry if I describe the question and situation again. Maybe I don't express myself well in English. Please forgive me for this. So, the Wealthlab data is very good and has excellent quality. That's why I want to use them too. I just want to use one track from it. For example, specific stocks from the S&P500 Wealthlab portfolio. And you can do that in Wealthlab using two methods (I think it's great!). The first option is to use the data manager to put together exactly these stocks and the data provider Wealthlab as a portfolio. In my case, a selection of stocks from the S&P 500 that still exist today. A filter, so to speak. And the second option is to directly select the Wealthlab portfolio S&P 500 and enter the stocks in the “Symbol Filter” building block. Also just a filter from the S&P500. Both data sources are the same, right? And therefore the backtest results should be the same, right?
Thank you very much for your help in advance.
Marko :)
0
Glitch8
 ( 10.13% )
- ago
#11
No it’s not the same.

The DataSet that you create that includes the current stocks on the S&P500 does not include the DYNAMIC processing that occurs ONLY with the S&P500 WealthData Dataset itself.

Even though the first DataSet is using WealthData as a source, it will not use the dynamic date ranges that will include and exclude symbols like the native S&P500 DataSet does.
0
Best Answer
- ago
#12
Hi Glitch, Cone and Eugene,

thank you...now I understand, what you meant.
Thank you for your help!

Have a nice weekend.
Marko
1
- ago
#13
Since I was referred to this post (my original post:
https://wealth-lab.com/Discussion/Different-portfolios-in-one-strategy-different-results-11159 ), but it doesn't answer my question, at least I don't understand it, here is my request again:

I have created a strategy that includes a regime switch. I want to trade one side of the switch e.g. in the S&P 100 and the other side of the switch e.g. in the Nasdaq 100. To do this, I have merged the data from the S&P 100 and NQ100 via the order manager. I have now completed the first regime (NQ100). I used the "Symbol Filter" building block for this. I have copied the shares of the NQ100 into it:



If I now carry out a backtest (in the strategy settings I have set the data set from S&P100 and NQ100 and in the building blocks the above-mentioned symbol filter), I get different results than if I remove the symbol filter and use only the NQ100 as the data set. Where does this difference come from? Have I set something wrong? The results should actually be the same (transaction weight is available). I have tried both variants in the Symbol Filter. Once with numbers behind it (if a share was not in the index for the entire period) and once without. However, I always get different results than with a backtest only in the NQ100.

The data set I have compiled comes from the Norgate data current and past. This data is dynamic (without survivorship bias). As I understand it, the selection of stocks is primarily based on the settings in the strategy settings. Since I have adopted the data settings there from Norgate, they should still be dynamic (at least that is how it is displayed in the Data Manager):



The only problem I see is that some stocks are grouped together in the period (e.g. AAPL). Stocks that were in both indices at different times are grouped together for the entire period (which is logical).
I can't get any further using the symbol filter, as I can't specify a time period here. Is there another way to solve this problem? If not, could it be possible to include dates in the symbol filter, as in the data manager like this:



Many thanks for your efforts and patience!
0
- ago
#14
QUOTE:
The data set I have compiled comes from the Norgate data current and past. This data is dynamic (without survivorship bias).


Have you read Post #11 as suggested? Your compiled DataSet is NOT dynamic. Only the original, non-modifiable DataSet can be (except for the new "Make this DataSet Dynamic" but this is offtopic).
0
- ago
#15
Then I had misunderstood Post #11. Thank you Eugene for pointing this out. Does anyone know a solution to the problem I have described? Or is this not representable via the building blocks (I assume that it won't work then)?
0
Cone8
 ( 24.61% )
- ago
#16
AABA won't match AABA-201910, the Norgate symbol, or AABA.20191002.A, the Wealth-Data symbol. And then there are 400 more examples of the same thing (guesstimate). Do you understand now why it's not the same?

Furthermore, as stated in Post #11 (and again in Post #14) even if you created your own DataSet of the same symbols, it's not going to work because the dynamic ranges won't work with your DataSet - unless you make it a dynamic DataSet and specify the ranges for all the symbols, one by one. Not an easy task.

Let me ask, what in the world are you trying to do with this backtest?

Edit - Nevermind, I went back and read Post #13.
You want to combine the S&P 100 and Nasdaq 100 and use their dynamic ranges. There is no solution for that other than making your combined list a dynamic DataSet (with all the proper symbols) and specifying the ranges for all the symbols.

Without doing that, probably the closest you can come is with a MetaStrategy. Since the two lists share symbols, you'll get duplicate trades using the same strategy when their dynamic date ranges overlap.
1
- ago
#17
Thank you very much! I wanted a regime switch. One part trades in the S&P 500 and the other part in the Nadaq. Since it is a regime switch, a meta-strategy makes no sense. So I have to adjust the data manually or stay with one market. Thank you once again for your detailed advice.
0

Reply

Bookmark

Sort