Combination Strategy Impressions, Suggestions thread
Author: dansmo
Creation Date: 6/21/2011 9:21 AM
profile picture

dansmo

#1
This really boosts WLD into a new sphere. Maybe I can now get rid of excel for multi-strategy backtests. Well Done, WLD folks! I like what I see with my first (small) test. Thank you!
profile picture

dansmo

#2
Trying to set up my whole portfolio of strategies I get to the first "hurdle":
when combining strategies that make different commission settings necessary: how can this be done?

This is something that did not come up until now, but I think it would be much better to be able to set the commissions for each strategy individually, just as it is done with position sizer for example. From my point of view this should not be managed gobally anymore. With single runs it was possible to change commission settings before a new strategy was tested, but now it is getting much more complicated.
Same is true for slippage.
profile picture

Eugene

#3
QUOTE:
but I think it would be much better to be able to set the commissions for each strategy individually, just as it is done with position sizer for example.

Much better for someone doesn't mean much better for everyone. In general, software can't please everyone. It sometimes happens that when adding more features and more options, the magic and the initial charisma disappears (hopefully WL will avoid that). From another point of view, what you're proposing is not a globally useful feature but a customization for someone's workflow.
profile picture

dansmo

#4
I totally understand your fears. You know that I am willing to programm individual extensions to get things done. Until now I have always combined Slippage & Commission in one Commission Structure. Writing one commission structure that fits all strategies is relatively simple.

Not so with slippage. Certainly you will agree that slippage can differ hugely from strategy to strategy and having only one setting for each strategy in a backtest is not sufficient for realistic testing.
Therefore I suggest the following enhancement:
A remake of the Slippage and Round Lots menu where one can write his own extensions for Slippage, just as for commission.
Then it would be possible to define slippage depending, for example, on strateg name.

What do you think about that?
profile picture

Christos

#5
QUOTE:
From another point of view, what you're proposing is not a globally useful feature


I don't see your reasoning - perhaps you could explain why you think so. Personally, I find it essential since it is highly likely for someone to want to (frequently) combine strategies on various datasets on which different commission and slippage settings should apply. Probably this relates to the inability of the software to provide users with more than one set of Wealth-Lab preferences making the addition of this extra option really hard to implement.
profile picture

Eugene

#6
QUOTE:
Certainly you will agree that slippage

Excuse me but I could not agree: slippage varies from instrument to instrument, and doesn't have to do with my or your strategies.
QUOTE:
Probably this relates to the inability of the software

Actually, everything is possible but overloading WL5 with minor features was exactly the opposite of the designers' intentions back in 2006-2007. Now to the multiple sets of Wealth-Lab Preferences. If you like to operate Wealth-Lab on a single PC but in multi-user environment (like a browser), how about creating multiple Windows user names and configuring WL in each one? Then each user will have her/his own Preferences, and thanks to fast user switching, you can even run them in parallel.
profile picture

dansmo

#7
QUOTE:
Excuse me but I could not agree: slippage varies from instrument to instrument,

You are absolutely right.
How dou you think one should solve this problem when having different data sets/strategies in a combination strategy?
QUOTE:
and doesn't have to do with my or your strategies.

Of course. It has to do with
- order types
- order volume
Both points differ in my strategies and having to set this globally is unrealistic.
profile picture

Eugene

#8
Daniel,

I know you're making a solid point now that Combo strategies bring not just multi-system but actually even multi-portfolio backtesting. Unfortunately, assigning different commission and/or slippage plans wasn't even considered for its first release because first the developers wanted to get the child walking rather than parcouring. :)

Let's discuss and collect possible Combo enhancements here:

1. Be able to assign each child strategy a custom commission plan. That probably would be preferable over building a global commission plan for Combo strategies that considers all possible DataSets. (Would the Preferences dialog override it or vice versa?)

2. Same with slippage but this one's tough given that the Fidelity developers would have to invent a Slippage API first, and I haven't heard of such plans.

3. Be able to affect Aggregate equity based on Aggregate/Child(?) equity performance. Like an "on/off" switch. Would allow for scenarios like "Aggregate equity had an up day? Then keep shadow trading, and take no new positions until the Aggregate equity posts a down day".
profile picture

dansmo

#9
QUOTE:
Unfortunately, assigning different commission and/or slippage plans wasn't even considered for its first release because first the developers wanted to get the child walking rather than parcouring. :)

That´s what I thought. It is a great, new feature. And as every new feature it evolves with the input of its users.
QUOTE:

1. Be able to assign each child strategy a custom commission plan. That probably would be preferable over building a global commission plan for Combo strategies that considers all possible DataSets. (Would the Preferences dialog override it or vice versa?)

Agree with that. On a global basis this could get very overloaded.
QUOTE:
2. Same with slippage but it's tough given that the Fidelity developers would have to invent a Slippage API first, and I haven't heard of such plans.

But I think that would be the way to go. I dont see any logic behind having a possizers, chartstyles, commission API but not one for slippage. I always used commissions instead of slippage + commissions because the slippage options are not enough. An API would solve this.
QUOTE:
3. Be able to affect child strategies (like on/off switch) based on Aggregate/Child equity performance*

I think the possibility of a aggregated position sizing are needed. Just think of portfolio stops etc.

I think your list also indicates the order of relevance.
And I think there will be more things to come for the wish list.

But let me stress my first posting: the ne feature is great and enhances WLD a lot.
profile picture

Eugene

#10
Portfolio stops... Like a "Crash Stop" that terminates all positions after an intraday aggregate equity decline of X%? Would be cool to have but I'm not sure we ever get this given the current design.

At least, this topic is a great candidate for a Sticky Thread once our community forum gets this feature. Just think of it: multi-system multi-portfolio backtesting in a GUI wizard. (In the past and before WL, I saw something like that in a professional addin package which was priced like a cheap sedan and has long been withdrawn from market.) Many thanks to the developers and designers.
profile picture

Roland

#11

Hi Eugene,

“Portfolio stops... Like a "Crash Stop" that terminates all positions after an intraday aggregate equity decline of X%? Would be cool to have but I'm not sure we ever get this given the current design.”

I would vote against such a procedure. One thing for sure; I would never use it. After the May 6th “Flash Crash” of last year, an all out panic button would be like a guaranteed future hair cut just like it was on that day for thousands upon thousands of accounts. Only trades that suffered more than a 60% decline were broken; all the others prevailed. And it could happen again.

The SEC has done little to correct the problem; they only installed short fuse circuit breakers (10 minutes) which is equivalent to saying to market makers: you can drop the stocks but please don’t do it too fast; some of the customers complained last time.

An all out button could be useful for some but not as a portfolio percentage decline stop loss panic button because in my opinion it would be like saying: me, me, take me, please.

My 20 cents.

profile picture

Sammy_G

#12
Re: Slippage

Slippage is NOT universally uniform e.g. is the slippage for Chinese small cap stocks traded in Hong Kong the same as for the Dow megacaps in the US??!!

The best solution would be to re-introduce the 'SetSlippage' argument, as was present in WL4, which would override the generic setting in Prefs. Since the code would be inside each strategy, it would work whether the strategy is run individually or as a combo.

profile picture

dansmo

#13
Another issue I get: system is running out of memory when I try to combine my strategies. I know that this is a hardware issue, but maybe this can be optimized.
profile picture

Eugene

#14
Sure, we live in a material world: for combo strategies, all usual memory requirements /Out of memory problems/ are multiplied by the number of child systems. Not including any overhead. Add the increased position count, and you need another RAM stick.
profile picture

dansmo

#15
QUOTE:
Call Bars.Cache.Clear at the end of your strategy to explicitly clear the internal cache that stores DataSeries and free memory.

In a combination strategy: will Bars.Cache.Clear on the first strategy make memory available for the rest of the strategies?
profile picture

dansmo

#16
Hi Eugene,

did you discuss the Slippage/Commissions topic with the developers?
profile picture

Eugene

#17
Hi Daniel,

When next production cycle starts, those suggestions will be passed on to the decision makers who will then decide what to do next (reject, defer, prioritize).
profile picture

hankt

#18
Eugene/Cone, this is over a year old and I haven't seen an update on slippage or commission.

By default, those of us that have purchased the package are not trading US markets. This means: lot sizes other than 1 (which differ within markets, not just between markets), tick sizes other than 0.01 (which also differ within markets not just between markets) and commissions which vary significantly.

This information needs to resides somewhere like the Market Manager so that a logical slippage (in ticks, not percent) and commission can be applied to backtesting and trade sizing in order for the backtest results to be somewhere near the market adjusted results which I derive from alert & order monitors for staged strategies.

Is there a sticky for what US based folks might call "enhancement requests for paid, international users"? I'd like to add simple portfolio syncing (for tomorrows generated alerts on stops for actual market activity as executed today) and currency normalization (run strategy vs. shekel account while postition sizing and executing trades in K. Won, V. Dong, J. Yen, etc.

These enhancements would allow a single strategy to be executed across a set of securities which span multiple markets.

These few enhancements would really push Wealth-Lab forward (ie. additional sales revenue) as there aren't many systems available with these features for trading global markets.
profile picture

Eugene

#19
Hank,

If you're talking about setting the slippage/commission individually for Combination Strategies (as this thread centers around Combination Strategies and nothing else), then sorry, this is not considered right now but may be reviewed later.

Setting different commissions in Combo strategies may be of interest to a couple of users but we have many other customers who express other requests and request bug fixes. The decision makers had to lay a plan for the product development with regard to the multitude of ideas. Sometimes it takes an effort to lobby just a simple change like Editor version upgrade - and still don't succeed in getting this on time.

Re: portfolio syncing. Sorry, removing portfolio sync was a design decision for Version 5 so a request will not change anything.

Re: currency normalization. Sorry again but that would be an architectural change that can not be considered for the foreseeable future.
profile picture

Eugene

#20
One more candidate feature suggestion (source):

* Conditional dependencies between Combination strategy "children":

"For example, I have strategy A and B in my combination strategy. I don't want strategy B to enter a trade is strategy A is current active or just got triggered today"
profile picture

hankt

#21
My slippage point is on NUMBER OF SPREADS. See, outside of the U-S of Hay, stocks don't trade at 0.01 so setting dollar value or percent for slippage is retarded.

I would really like to see a "paid users requests" one day. Not paid in "incidentally" through a US account with fido, but bought a software license kind of paid. Of course for us on-time-revenue streams, our requests are likely to see lower priority.

I'm not specifically picking on Wealth-Lab for the American centric hard codes into the system (tick and lot size for instance), it is the same with most things created in the US.
profile picture

Eugene

#22
Hank, if you believe you're in the right thread (this one's about Combination Strategies - not just slippage per se), then please see my post from 10/27/2012 5:38 AM. There's absolutely nothing to add to my previous reply here and to your other similar questions re: slippage, commission and so forth on different threads.

To close the question, I don't think that changes to commission/slippage logic would ever be considered. It's a pain to lobby some more innocuous changes (like Editor upgrade drop-in replacement or fix some potentially crashing indicators), plus the effort takes slightly less than eternity.

Sorry.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).