How to rank country ETFs by it's currency strength?

…and page 18 of this link contains a 112 year backtest!

Regards,
Chaim

Thank you, Chaim!

Chaim,

Thank you for finding these articles. This suggests that this strategy should work in a post QE environment.

Scott

Any idea how to rank ETFs by valuation? It’d be a nice addition to the ranking, but not sure if the data is available directly through this program.

I looked at this topic from 3 years ago and based on Steve’s method developed a model that picks country ETFs based on the performance of their currency ETFs. I think this is a good method, because momentum ranking does not work.
Here is the link to the model description, which can be replicated using information contained in this view-thread.
https://imarketsignals.com/2018/performing-us-market-im-country-rotation-system/


Thanks for the information. I’d like to update and add a risk on/off filter to this country ETF strategy. Unfortunately, I have not been able to get the base system (ranks by weakest currency) to work. Am I right that we create a custom formula? I’ve updated the text above to remove currency ETFs that are no longer available… my feeble simulation attempt is included below :slight_smile:

Ticker(“EWA”)*GetSeries(“FXA”) + Ticker(“EWC”)*GetSeries(“FXC”) + Ticker(“FXI”)*GetSeries(“CNY”) + Ticker(“EWG”)*GetSeries(“FXE”) + Ticker(“EWJ”)*GetSeries(“FXY”) + Ticker(“EWL”)*GetSeries(“FXF”) + Ticker(“EWU”)*GetSeries(“FXB”) + Ticker(“MDY”)*GetSeries(“UUP”)


In what way does it not work?

I tried a copy/paste of your formula and had to replace the quotes - but that could have been a problem created by copy/paste.

Anyway, the ranker seems to work.

How can this work in a ranking system? You are not measuring anything.

You want to measure the performance of the currency ETF over a specific period. For example, 1 year. Then this would be
Close(0,GetSeries(“FXA”))/ Close(252,GetSeries(“FXA”)) instead of GetSeries(“FXA”) .

Change your formula accordingly, with lower being better, and you will have a functioning ranking system based on the one-year performance of the currency ETFs.

Ok, I made a mistake in my prior attempt.

Using the $CurrencySeries formula w/

Close(0, $CurrencySeries) / Close(251, $CurrencySeries) 

in the ranker, doesn’t work. Whatever is getting passed to Close isn’t recognized as a series.

This may work.

Define a formula for each currency - e.g. for FXY

Eval(Ticker("EWJ"),Close(0,GetSeries("FXY"))/Close(250,GetSeries("FXY")),0)

Then rank;
$FXY+$FXA+$FXC

Thank you for your responses, although I still do not understand a good way to do this. I’m willing to brute force calculate the total return for each currency ETF over the past year, then use an Eval function to set the ticker based on the ranking of the currency return (weakest is best). When I use showvar to create a variable for the total currency return I get an error.

showvar(@FXARTN, (Close(0,Getseries"FXA")/Close(252,Getseries"FXA")))

image

That formula is missing parentheses for the GetSeries argument.

1 Like

Would be interesting to use a currency strength rank as part of a stock rank as well.

Doesn’t my suggested solution work?

The typo fixes the currency strength and we get an output which we can compare. It’s notable that there are some distributions which may not be included when just using close price. Then I want to create a variable that buys SPY when UUP is weakest, DXY when FXY is weakest, EWA when FXA is weakest, and FEZ when FXE is weakest. However, the output of the UUPRank showvar is always zero. Any ideas why?


Try putting parentheses around each UUP-FXY, UUP-FXA, UUP-FXE comparison.

Like (@UUPRTN>@FXYRTN) + (@UUPRTN>@FXARTN) + (@UUPRTN>@FXERTN).

This seems to work correctly for the 4 country ETFs SPY,EWA,DXJ,FEZ. TBH, the system isn’t great and doesn’t respond well to an absolute momentum filter. This is a weekly rebal and the system fades with longer rebal times. Ranking by yearly currency change (weak is better) seems to work better than 6 months or 3 months. I’d rather just trade a monthly SPY vs. VEA dual momo system…


How much better is that system?

This is my live model with 24% annualized return since 2009. Does a lot better than SPY despite the larger drawdown during the covid recession.
At least there is a rational to the ranking system, unlike any of the other ETF ranking system which are momentum based.

That is nice! Is the 24% entirely out-of-sample?

Live performance last 4 years: