The low volatility effect in Equities refers to that stocks which previously exhibited lower volatility will earn higher risk-adjusted returns than those with higher volatility. This algorithm extends the study of the low volatility effect to U.S stocks with higher market capital.


Universe Selection

To construct the investment universe which consists of US large cap stocks, first in coarse universe selection, we exclude stocks without fundamental data and the price is below 5. A universe of 100 stocks is selected based on the dollar volume. In fine universe selection, we pick 50 stocks from the coarse universe with the highest market cap.

Calculate the Volatility

We create SymbolData class and use a RollingWindow to store the close price daily return data (via RateOfChange indicator) for symbols returned by fine universe. The lookback period is 252 trading days. First, we request historical data to initialize the RollingWindow for the added symbols and update the ROC indicator with the closing price every day in OnData(). The indicator update handler then update the RollingWindow with the new indicator data point (daily return).

The standard deviation is the typical statistic used to measure volatility. It is defined as the square root of the average variance of the data from its mean. We use the closing price return series in RollingWindow to calculate the volatility.

Trading stocks

The trading logic is we go long 5 stocks with the lowest volatility and liquidate stocks in the portfolio which does not in the lowest volatility list. The portfolio is rebalanced at the first trading day each month by a Scheduled Event.


  1. Quantpedia - Volatility Effect in Stocks - Long-Only Version