Portfolio Weight of Two ETFs in Sim

I am trying to figure out how to buy ETFs according to a specified weight of the total portfolio.
Unfortunately, I couldn’t find anything in the forums yet, but maybe I missed something.
Here’s the problem:

I am trying to set up a simulation with two ETFs that rebalance only when the market conditions change (checking weekly).
For example:

  • market conditions are bullish: go to 80% SPY and 20% IEF
  • market conditions are bearish: go to 20% SPY and 80% IEF

Currently, the rebalance frequency of my sim is set to weekly, the Ideal Size of a New Position as % of Total Value is set to 50.

How can I determine the desired portfolio weight when a new market cycle is triggered?

Every time the market turns around, I would like the system to sell everything (or at least as much as needed) and then adjust to the new weight for each ETF.

Any ideas? Thanks!

fips, this is a very good strategy.
I used excel for this analysis: Vanguard Funds With Dynamic Asset Allocation: Which Allocation Is “Right for Your Situation”?
http://www.advisorperspectives.com/dshort/guest/Georg-Vrba-140911-Vanguard-Fund-Dynamic-Allocation.php
As you can see the 80/20 model provides the highest return with the lowest risk for both index- and managed funds.

The up- and down-market signals com from Best(MAC-UPRO)
https://www.portfolio123.com/app/r2g/summary/1208327

Fips,

Because P123 position sizing is so primitive, you would have to do something like use 8 ETF’s, 4 STOCK and 4 BOND. Then use 5 holdings in the sim. When you’re ‘bond rule’ triggers, you set max Equity weight <=25%. When you’re stock rule triggers, you set max Bond weight <=25%. ETFAssetClassWeight will let you do this.

That will work fine to achieve this.

Best,
Tom

geov, thanks for your reply!

I know this kind of strategy seems to be working.

However, I am still looking for a way to implement it correctly on P123.

Whatever market timing system you use, I would like the simulation to

  • sell everything and buy 80% SPY and 20% IEF when the model signals bull markets and
  • sell everything and buy 20% SPY and 80% IEF when the model signals bear markets.

The problem lies in the rebalancing. I have not found a way yet to buy ETFs (or stocks) based on a certain percentage as a partial position.

Maybe this can be achieved by the function “etfclassweight”, but I haven’t figured out how to use it properly yet, I think …

Tomyani,

yes, that’s one possible workaround I was thinking of.

How do I use etfclassweight, though?

Would I have to set up a buy rule like this:

“market timing bull market rule” or (ticker(“spy”) or ticker(“qqq”) & etfclass > 100) or (ticker(“agg”) or ticker(“ief”) & etfclass = 0))

I’m not quite sure about the taxonomy.

And still, if you are only using 5 out 8 ETFs, 3/8th of the portfolio goes to cash, right? That might diminish returns most of the times.

Best,
fips

Will this work?

Run 3 sims.

  1. SPY only.
  2. IEF only.
  3. Timing sim, and hold either SPY, or IEF.

Combine these 3 sims in a Book Simulation, and scale 1, and 2 at 20%each, 3 at 60%.

Best,
Stu

Stu, yes this works. I just tested it and I get similar results as for the 80/20 Vanguard index fund combination. I used RSP, the equal weight ETF of the S&P500 and SPY prior to inception of RSP, for an annualized avg return of about 10%.

Stu,
looking great, thanks!
However, using it in a book is no viable way to convert it to a R2G :frowning:

Geov,
yes, it’s possible to get some pretty results. As you said, the strategy pays off.
How do you switch from SPY to RSP in one sim - by using eval()?

fips, use this buy rule:
Eval(Close(0,GetSeries(“RSP”))=NA, Ticker(“SPY”), Ticker(“RSP”))

Thank you!