How to put liquidity/size based upper constraints on holdings

I would like to assign maximum Portfolio weights according to size and/or liquidity thresholds. Correct me if I’m wrong, but I don’t think this is currently possible.

For example:

  1. Own up to 10% of outstanding float.
  2. Buy no more than 2% of average daily $ volume in a session.

Obviously, this does not impact large and mid caps, but could impact small and micro cap purchases (depending on how much money one has).

Currently, it is possible to scale Portfolio weights in relationship to one’s holdings (i.e., allocate between 1% and 10% of capital to any single issue). While I could write a rule to not buy small or illiquid issues, I actually want to own stakes in these companies, but not so much that I could be considered a beneficial owner and/or cause massive market impact.

So, am I missing anything? Am I correct in thinking this could be a valuable addition?

You can write this stuff into your rebalancing formula. Take #2, for example, and let’s say you’re investing $500,000 and have an average of 25 positions. Your rebalancing formula would be “Min(1, 0.02*AvgDailyTot(50)/20000).”

Primus,

I think a great solution would be for P123 to allow us to reference ‘portfolio value’ and ‘position value’, or the $ amounts (time-series) of portfolio and positions. Or just the shares and we can compute.

Port value would be awesome for strategy timing. Maybe you run 5 strategies and you can run them together in a book and change allocation amounts based on strategy equity curve.

But the ‘position value’ could be used to determine things like what you are suggesting - the value of our existing position vs. some other factor or value (e.g. 10% of the outstanding shares). But I think we would need additional features that allow small stocks to be accumulated over many days. Set for daily rebalance and it will buy shares up to limit on day one, day two and so forth. This would allow for trading of small stocks in addition to more balanced portfolio accumulation/distribution simulation.

Yuval.

Thanks. But that is a manual process which won’t hold up in simulations… would be awesomer if we were able to access portfolio balance (e.g., “TotMktVal” and other portfolio functions) from the rebalance area.

Also, I am not sure your method actually works the way you intend. As I understand it, “Min(1, 0.02*AvgDailyTot(50)/20000)” will scale positions by the formula, but it will impose no hard limit on the dollar size of positions, especially if other parameters cause position sizes to scale up. You can check this by cross-referencing portfolio holdings alongside a screen report which also shows their average liquidity. When I do this, I get weights which correlated with liquidity, but also far exceed the 2% threshhold.

I actually get much closer to the intended result from pure liquidity rebalancing (e.g., “AvgDailyTot(50)”), but it still will go over 2% in some cases.

Could I be missing something?

hemmerling,

I am on the same page with everything you said. I especially like where you are going from the accumulation standpoint.

//dpa