Author: shyam

Book Review: Why Nations Fail

In Why Nations Fail: The Origins of Power, Prosperity and Poverty (Amazon,) authors Daron Acemoglu and James A. Robinson compress over 15 years of research on what drives the growth of nations.

Some hard-hitting excerpts:

  • Poor countries are poor because those who have power make choices that create poverty. They get it wrong not by mistake or ignorance but on purpose.
  • Growth moves forward only if not blocked by the economic losers who anticipate that their economic privileges will be lost and by the political losers who fear that their political power will be eroded.
  • Many of the micro-market failures that are apparently easy to fix may be illusory: the institutional structure that creates market failures will also prevent implementation of interventions to improve incentives at the micro level.

India is a bit like the hapless victim in the old Ajit joke, immersed in a vat of liquid oxygen. The liquid will not let it live and the oxygen will not let it die.

Recommendation: must read!

The futility of market timing?

We recently came across an article put out by Albert Bridge Capital titled the “The futility of market timing.” You can read it here. The authors use the S&P 500 index to show that the gap between perfect market timing (always buying at the lows) vs. the worst market timing (always buying at the highs) doesn’t matter over long periods of time (20+ years.)

We were curious about how returns from the NIFTY 50 would look like if we ran the same experiment. We looked at consecutive 10- and 20-year rolling periods starting from 1991 where an investor buys Rs. 1 lakh of the index every year at

  1. the highest level of that year (H)
  2. the lowest level of that year (L)
  3. some random day (R)

We added the random scenario (#3) because that is more-or-less the opposite of trying to time the market.

10-year rolling-period returns:
nifty.market-timing.10.annual
20-year rolling-period returns:
nifty.market-timing.20.annual

Unlike the S&P 500, the NIFTY 50 has been an extremely volatile beast. And given the wide gap in terminal wealths, there is always going to be a temptation to try and time the NIFTY 50.

Code on github.

Stock and Bond Correlations and Volatility

Stocks and Bonds are not correlated. They are not negatively correlated. And neither are they positively correlated. One doesn’t “zig” when the other “zags.” This is exactly why portfolio allocations start with stocks and bonds – the diversification math works on uncorrelated asset classes. When you combine the two assets together you get lower portfolio volatility.

Here are some charts that show how the two asset classes differ:

S&P 500 and 3-month t-bills

sp500.tbill.correlation.1mo

sp500.tbill.volatility.1mo

Nifty 50 and 0-5 year TRI

nifty50.z5.correlation.1mo

nifty50.z5.volatility.1mo

Global Equities Momentum

A brief introduction to Global Equities Momentum and a look at various alternative scenarios.
Read: Part I

Could it work on value indices?
Read: Part II

Swapping momentum at the final step boosts returns significantly.
Read: Part III

Averaging out returns over different formation periods boosts returns and reduces drawdowns.
Read: Part IV

Track the virtual portfolios we setup using these strategies and follow the trades on our Slack channel.
Details: Trades and Portfolio

Global Equities Momentum, Part IV

Our GEM backtest in Part III used a 12-month formation period to measure momentum. Here, we look at alternative formation periods with an eye on drawdowns.

6- through 12-month formation periods

GEM.6-12mo.cumulative

Even though the 10-month version has higher returns, the 6-month one has lower peak drawdowns.

The average of all

The problem with picking one formation period out of 6 is that it smells of data-mining. What happens if you average them all out?

GEM.avg.cumulative

The average works in reducing drawdowns compared to the traditional 12-month version.

GEM.avg.dd

GEM.m12.dd

We will setup a virtual portfolio for this “averaging” strategy and post the link here when it is up and running.

Code and more charts on github.