- ago

I executed two strategies within MetaStrategy. My initial assumption when utilizing the "common Capital pool" was that the profits and losses from both strategies would be amalgamated into the CurrentEquity for both. However, I observed that each strategy operates autonomously, with no ongoing sharing of the capital pool (no rebalance) except at the outset.

If this is by-design then it might be better just to use Portfolio Weight and rebalance daily if you want to use Common Capital.
0
942
Solved
35 Replies

Reply

Bookmark

Sort
Cone8
 ( 4.98% )
- ago
#1
In "shared Capital Pool" mode, Rebalance is disabled because it's a "shared Capital Pool".

Maybe you should let us know how you observed that "each strategy operates autonomously".

Hint: They do operate "autonomously" but dip into the same equity pool. When multiple strategy transactions are vying for the same buying power, Transaction.Weight determines which strategy trades are processed first.
0
Glitch8
 ( 10.62% )
- ago
#2
Are you talking about in terms of getting the overall equity value for position sizing? I’m making some improvements for Build 53 around this so let’s revisit after that release.
0
- ago
#3
If we use a meta strategy with the new feature "common pool of capital", how are the signals of the individual strategies prioritized among each other?

Example: Strategy A uses RSI as Transaciton Weight, Strategy B uses Stochastic K.
Position size A is 10% of equity, position size B is 20% of equity.

Now there are 12 signals for A and 7 signals for B.

How does the signal selection work if there is only one total equity that both strategies access? How does it work in backtesting and how in live trading?

After all, the Transaction Weight is just a number whose value determines the signals sorting. Does the Transaction Weight therefore have to be the same indicator when I have several stratgies "fighting for the same money"?

I am also just wondering how to trade something like this live? Because either I trade (backtest) several strategies "side by side", which "know nothing about each other" as before = Meta strategy old - or I add different Entry/Exit Buildung Blocks to a Multi Blocks strategy.

But then both Strategies must have the same Transaction Weight for this to work, right? The use case with the shared capital pool I have apparently not understood. Maybe you can provide another video explaining this in the next build, please?
0
Cone8
 ( 4.98% )
- ago
#4
Yes, it's Transaction.Weight. That's the order the signals are processed. When the Backtester runs out of buying power, signals with the lowest Weights become NSF Positions. Keep in mind that Buying power in your live account could be different, especially if your account uses Portfolio Margin.

If you're trading Market order strategies live, you sort the signals by Weight and place those that use up your buying power. You have to consider that exits will add more buying power. If one or more of the systems trades limit orders, then you have to adjust accordingly - all limit orders get placed if there is any buying power left.
0
- ago
#5
QUOTE:
Are you talking about in terms of getting the overall equity value for position sizing? I’m making some improvements for Build 53 around this so let’s revisit after that release.


Yes.
Let's consider two strategies that begin with an initial capital of $100,000 each. One strategy generated a profit of $2,000 in the first month, while the other incurred a loss of $1,000 and subsequently closed all positions for the month. In both cases, if you were to initiate a new position, you would expect to have $101,000 in capital to utilize. However, it appears that the first strategy currently has $102,000 in CurrentEquity, while the second strategy has $99,000.
0
- ago
#6
BLD 53 works as expected.
1
Best Answer
- ago
#7
Adding to the discussion - after experimenting with Meta's sharing capital pool

1 - thank you all for the posts and responses
2 - assuming a meta with 4 strategies, each trading 100% equity for the same symbol; when using shared capital pool, is there any way to force a defined priority onto each of the 4 strategies using weight? ie if strategy 3 has the best performance - how can we prioritize strategy 3 (then 2, 4 and 1) ?
3 - if the priority can be fixed for each strategy - would then the meta's performance be the same for each run?

Appreciate your experiences and views

0
Cone8
 ( 4.98% )
- ago
#8
QUOTE:
2 - assuming a meta with 4 strategies,... if strategy 3 has the best performance
Simple answer is no, there's isn't a "button" for that feature.

The question to yours is ... "if strategy 3 has the best performance" when?

In other words, during the backtest is the idea to re-prioritize each day based on some metric? If so, a solution could be to calculate that metric each day and use it in the Transaction.Weight for signals.

For example, let's say the metric was Sharpe Ratio. A higher Sharpe would give a strategy's transactions a higher priority. (And for priority within the strategy, you could multiply Sharpe by 1000 and add it to RSI or some other value for intra-strategy priority.)
0
- ago
#9
I had not intended a dynamic priority setting since my strategy priority would be set based on backtesting with several metrics (don't yet have a custom indicator for this) but will explore your idea. thanks for the suggestion Cone
1
arflouro828
 ( 4.53% )
- ago
#10
I like the idea of dynamic weighting option for meta strategies.

Question: why doesn't it keep the weights for a shared capital pool that you have for rebalance %?
0
Cone8
 ( 4.98% )
- ago
#11
QUOTE:
keep the weights
What do you mean?

Imagine how you would trade it. Say you've got 3 strategies and 4 signals each (12 signals), but the shared capital only has enough buying power for 6 of them. How would you pick the signals to send to the broker?
0
- ago
#12
Adding a new issue found with position sizer for Metastrategy shared Capital Pool:

Below pic shows positions for a meta with 4 strategies with $100k of initial capital, 100% Equity and 1.2 margin. As it should, the backtest shows orderly positions with full capital use and no overlaps. The 2nd pic shows 2 orders on Nov 7 competing for full capital. The orders actually resulted in a reject for one of the orders by the broker. Looks like Pos Sizer (?) didn't cancel one of them and let both through to the broker.



0
- ago
#13
0
Cone8
 ( 4.98% )
- ago
#14
Per design.
WealthLab will always show you all the signals (even for NSF Positions).
You can choose which to enter, or none at all.

The difference is in the Auto-Trade scenario, which doesn't exist for Meta Strategies. Multiple Signals for the same strategy are pruned, favoring Market orders and then the closest Limit/Stop prices.

Fact check me Glitch - pruning Signals is only for Auto-Trade?
0
Glitch8
 ( 10.62% )
- ago
#15
I don’t see that as an issue. These are singnals. Any number of signals can be issued. Only a certain number can be filled which would be determined on the following bar.
0
- ago
#16
Thank you Cone, Glitch - clear and helpful. I must have been lucky with meta's (not sharing capital) avoiding manual trade selections.
0
Cone8
 ( 4.98% )
- ago
#17
In your TQQQ example, both signals are valid. The Market order would fill first and if there were buying power for the second, it would be placed too. Each strategy would manage its own shares.
0
- ago
#18
QUOTE:
if there were buying power for the second, it would be placed too. Each strategy would manage its own shares.


in my view - this is were things are not working Cone, as the strategies are working under a meta with an overall capital amount that is not being respected by the pooled capital feature, despite NSF not being clicked on. i understand the explanation about seeing all signals - however the issue was about pos sizer not respecting available (meta) capital
0
Cone8
 ( 4.98% )
- ago
#19
QUOTE:
The orders actually resulted in a reject for one of the orders by the broker. Looks like Pos Sizer (?) didn't cancel one of them and let both through to the broker
You said "broker". Are we talking about a brokerage account or we talking about the Backtester?

QUOTE:
with an overall capital amount that is not being respected by the pooled capital feature, despite NSF not being clicked on
I think you're saying that "Retain NSF Positions" was not enabled, right?

If the scenario is a "MetaStrategy Backtest" with "Retain NSF Positions - unchecked" tell us why both of those signals (I assume from 2 different strategies because the image doesn't show all the columns) to Buy TQQQ should not have occurred? We've stated that if the strategy has a Signal, you're going to get the Signals unless you actually program the strategy to remove signals.
0
- ago
#20
is it possible for a Metastrategy to not have open positions and issuing a sell order?

positions (open positions to top)




I have never seen this before - however am testing the shared capital feature coincidentally

0
Glitch8
 ( 10.62% )
- ago
#21
Yes, the positions could be NSF.
0
- ago
#22
even if retain NSF positions is not clicked on?
0
Glitch8
 ( 10.62% )
- ago
#23
MetaStratgies always retain NSF positions
0
- ago
#24
if the Metastrategy is run without sharing Capital pool, then 2 positions are open; of which one corresponds to the sell order (ie fully correct)



0
Glitch8
 ( 10.62% )
- ago
#25
MetaStrategies always retain NSF positions, I need to disable that check box for MetaStrategies to clarify this.
0
- ago
#26
thanks, I keep learning every day. in this case i's really hard to tell when this position was opened
0
Glitch8
 ( 10.62% )
- ago
#27
Can’t you see the position in the Positions list?
0
- ago
#28
No - it's like a ghost position

here is the list, nothing left open. unless it was part of the 9/25/2023 closed position?

0
Glitch8
 ( 10.62% )
- ago
#29
If it’s an NSF position then you can just ignore it. We display NSF exits in all cases because it’s possible your live trading is not in sync with the backtest so we want to make sure you see all potential exits.
0
- ago
#30
Understood. Just my opinion, to the layman it's a ghost trade. Not good for strategy development
0
Glitch8
 ( 10.62% )
- ago
#31
It also wouldn’t be good if you bought the position but for whatever reason the strategy had it as NSF and you missed an exit.

Also NSF exits should be flagged with an N soon so they are easy to distinguish.
0
- ago
#32
check box for MetaStrategies (#25) is now disabled with B70 - thank you

the ghost trade issue remains unresolved however. here is what I think happens (you can track in above pics, with and without capital pool sharing).

1- w/o capital pool sharing the meta opens a UST.PA position on 11/30, still open at present
2- on 11/24 meta opens UST.PA and EXS1.DE positions, close on 12/1 - these positions prevent above 11/30 from opening under pool capital sharing
3- with capital pool sharing - there is no trace of the (NSF) 11/30 UST.PA position - however there is a close at limit order issued every day - this is a bug in my view
4 - a potential solution would be to show under pool capital sharing the 11/30 UST.PA opening as NSF - then the daily close at limit would make sense

0
Glitch8
 ( 10.62% )
- ago
#33
>> there is no trace of the (NSF) 11/30 UST.PA position<<

Where would you expect to see this trace? NSF positions are not shown anywhere.
0
- ago
#34
ideally it would show as open position (NSF), then it makes sense to see attempts to close with limit orders (as done today)
0
Glitch8
 ( 10.62% )
- ago
#35
Showing all of the NSF positions would clog up the positions list, but maybe it could be an optional Visualizer. As it stands, an exit signal marked with the “N” icon already shows you it’s an open NSF position.
0

Reply

Bookmark

Sort