Timing / Stock Pick Duality Strategy

Months ago I came up with an idea.

How about building a portfolio where choosing positions and a holding period is interchangeable?

Weird right?

Let me explain.

Academics assume day over day returns have little to do with each other and that markets are more or less efficient. So increasing your holding period results in more risk but it tails off exponentially (at the rate of the square root of time).

That's why longer holding periods are advantageous, day to day jumps get flattened over longer periods of time, ending up with smoother long term returns.

A large diversified portfolio has a similar effect, but each stock added is directly tied to the others, so the marginal risk isn't reduced as quickly as 'diversifying over time' with longer holding periods.

How about if stocks were independent of each other, however?

If we took a stock and took away the market movement component, leaving just the stock specific movements, that would give us roughly independent stock returns.

weight.STOCK = 1 weight.INDEX_DJI = -b * weight.STOCK;

A priori, each day's volatility looks more or less like another's. So let's make our stock's volatility uniform by dividing our daily holding weights in each stock by the stock's recently realised volatility.

weight.STOCK = 1 / stock_vol weight.AMEX_SPY = -b * weight.STOCK;

Which means, if our realised volatility is sticky, each stock's volatility should be about the same.

The upshot?

Here are the Sharpe Trajectories of such a portfolio of the current DJIA constituents and the S&P 500.

The Sharpe of the S&P 500 has been ~0.25 over that period.

An equal weighted portfolio of the current DJIA constituents has a Sharpe of ~0.4.

The 'Timing / Stock Pick Duality' strategy has a Sharpe of 1 and a positive skew.

In effect, with this thought experiment, we can think about market timing and stock picking strategies as two expressions of the same thing.

More stocks in such a portfolio will result a risk profile which looks similar to having a longer holding period and possibly vice versa.

One proviso, I picked the current DJIA constituents out of convenience - it would be useful to repeat the test with more random samples of stocks - and see whether there is a consistent pattern of improvement across the board.

It is good to see that the Lazy Backtesting IDE has improved enough so that I can finally test these old ideas. Code for the strategy is here.