International Breath, Industry Breath

Hi,

just wanted to shoot out the following paper https://www.sciencedirect.com/science/article/pii/S0264999319312982

It basically states that breath of countries can be used to build a long only or long / short book that produces nice capital curves.

So as soon as we have more and more international data in the database we can go long countries with the top 10% of breath data and short countries with the worst 10% of breath data and produce a nice cap curve (see page 355).

It works also on industries but the effect is a bit lower (but still very significant!).

So a function to calculate the breath of a country or an industry would be a great addition to buy and sell rules (e.g. only buy stocks of countries in the top 10% of all countries, sell strocks that are not in the top 10%).

The study controlled for other factors and found that breath data on countries and indices find additional alpha (not only alpha that can be
captured by other factors).

The problem for example with momentum on a country or an index or an industry is, that the cap weighting will distort the “under the hood performance” of an index (like last year only a dozen of the nasdaq100 index where up while a ton of stocks where down and the nasdaq100 still produced big gains).

So if the index breath is “bad” the index might be up, but your model is not able to pick good stocks because odds are against you if only a fraction of the index producing the performance.

I know we are not there yet (because we do not have a lot of countries yet) but for industries that could be implemented right away.

Please advise me, if a breath indicator ranking on indexes (in future countries) can be build and how with the current functions of p123.

If not, it would be great if we could implement it (on industries first and on countries later).

Thank you!!!

The formula for market breadth (don’t forget the d in breadth or else it means something totally different!) is simply

(FSum(“Close(0)/Close(21)>1”,#scopeparameter)-FSum(“Close(0)/Close(21)<1”,#scopeparameter))/FSum(“Close(0)/Close(21)<>NA”,#scopeparameter

Now unfortunately, we don’t have a scope parameter for country (yet) in stocks. So the only way to get this for countries is to use the Country command and then use #previous as your scope parameter. For example, to get the market breadth for the US, you’d use the following commands:

country(“usa”)
showvar(@breadth,(FSum(“Close(0)/Close(21)>1”,#previous)-FSum(“Close(0)/Close(21)<1”,#previous))/FSum(“Close(0)/Close(21)<>NA”,#previous))

With ETFs, however, you can specify the country as a parameter, using #country.

You can also do this with industries and sectors using #industry and #sector, and so on.

We will consider introducing #country as a scope parameter for stocks.

Thank you!!!

deleted