Introduction

Small caps are typically defined as companies with market caps that are less than $2 billion. The advantage of investing in small cap companies is that they are young companies with significant growth potential. However, the risk of failure is greater with small-cap stocks than with large-cap and mid-cap stocks. In this algorithm, we will explore the performance of the small-capitalization investment.

Method

The first step is coarse universe selection. We create an investment universe with stocks that have fundmental data and with a price greater than $5.

return [x.symbol for x in coarse if x.has_fundamental_data and x.price > 5]

In fine universe selection, we sort the stocks in the universe by the market capitalization and choose 10 stocks with the lowest market cap.

def fine_selection_function(self, fine):
    ''' Selects the stocks by lowest market cap '''
    sorted_market_cap = sorted([x for x in fine if x.market_cap > 0],
        key=lambda x: x.market_cap)

    return [x.symbol for x in sorted_market_cap[:self.count]]

In OnData(), we buy 10 stocks in the list of lowest market-cap. The portfolio is rebalanced every year.



Reference

  1. Quantpedia - Small Capitalization Stocks Premium Anomaly