Variable position sizing between 2 ETFs

I am familiar with the common use of the ‘formula weight’ resizing method.
Also the eval rule that sells off a portion of a position if certain conditions are met.

But I can’t seem to figure out how to make anything work with a variable asset allocation system with just 2 ETFs.
Suppose I use just SPY and SHY as my market and bond funds.

I have some custom formula that spits out a number between 0 and 100. A market risk rank.
I want the SHY to have the same allocation as the custom formula with the remaining allocation going to SPY.

Risk rank 10 = 10% allocation to bonds and 90% to SPY
Risk rank 75 = 75% allocation to bonds and 25% to SPY

I can’t figure out how to make formula weighting work like this. Because it is not a stock factor - but a market factor - the rank will try to apply itself equally to both ETFs.
How do I force the sim to allocate according to a formula for one ETF and just throw all the remaining cash in another ETF?

Thank you,
Kurtis

This is a great question, Kurtis!

I asked the same question not long after the current Rebalance module was released, but nobody seemed to know how to accomplish the variable weight objective. I hope you get an answer, as I’m sure it would be very valuable to many in the community.

Curtis,
This can easily be done as follows:

Buy: ticker(“spy,shy”)
Sell: 1

Rebalance:
No. of positions= 2
Reconstitute= weekly
Rebalance= weekly (or longer)

Position Weight Formula example:
Eval($portsum=4 ,8ticker(“spy”)+2ticker(“shy”),Eval($portsum=5 ,9ticker(“spy”)+1ticker(“shy”), Eval($portsum>5 ,10ticker(“spy”)+0.0001ticker(“shy”),2ticker(“spy”)+8ticker(“shy”))))

Where $portsum is a formula which stipulates risk.
In my case $portsum=6 very low risk, and $portsum<4 high risk.


Riffing on Georg’s example but using your “risk rank” from 0 to 100, the system would look like this:

Formula weight; 2 positions; position weight formula: $RiskRank * Ticker (“SHY”) + (100 - $RiskRank) * Ticker (“SPY”).

Buy rule: Ticker (“SPY, SHY”)

Sell rule: 1

Yuval, very elegant solution.

Here is a model based on the ModSum Timer which can have a max value of 6 for lowest risk.
https://imarketsignals.com/2021/the-im-modsum-yieldcurve-timer-model/

Wt. formula: $port_sum*ticker(“spy”) + (6-$port_sum)*ticker(“shy”)

Current holdings: 67%SPY + 33%SHY. Looks like a good risk position for the current market.


Awesome! Thank you so much! Glad I asked.

Your solution worked so well…I have to ask an additional question even though I think the answer is no.

Is there any method to vary position sizes between 2 models? Instead of SPY and IEF, it would be my custom P123 model and IEF that would have varying weights.

I was thinking that if variable position sizing was available in books - it could be done. Not sure how else to mix stock and ETF models.

There is no way to mix stock and ETF models.

Hi Kurtis,

It is limited and ultimately it is probably not what you need. But I saw your Seeking Alpha article about Adaptive Allocation including your use of minimum variance in one of your models. This and other strategies–including using relative strength, moving average cross-overs, and double-momentum while maximizing minimum variance, risk parity and Sharpe Ratio—can be done with Portfolio Visualizer.

One can download data about your P123 port/sim and upload it into Portfolio Visualizer (using a csv file). Just as an example, one can get a portfolio that selects the ETFs/ports with the greatest relative strength and then weighs those assets to get the minimum variance portfolio calculation for those assets with the greatest relative strength. The periods for relative strength, the number of assets as well as the volatility-period for the minimum variance portfolio calculations can be selected.

Again, probably not what you need and you probably already know about Portfolio Visualizer. But I am not sure what you are looking for exactly. For a limited number of timing and Modern Portfolio Theory models, Portfolio Visualizer does the job (with a mix of ports, ETFs and even individual tickers, if you wish).

Just FYI.

Best,

Jim

Kurtis,
This looks like a prefect use for a Book.
1 Sim of SPY, and 1 Sim of SHY.
Add them together in a book.