This project is based upon the paper: Frazzini, A. & Pedersen, L. (2014). Betting against beta. (referred to as "the paper" in the following content)
-
Data
folder stores the fetched data andData.py
. -
Data.py
consists of 2 parts: save tickers, get data. Tickers are processed through website information, data are fetched using 'pandas-datareader'.
-
main.py
contains all the functions. -
figure.py
is for drawing plots.
The strategy was back-tested on SP500 stocks and TSX (Toronto Stock Exchange) stocks and compared with two other similar factors presented in the Fama French 3-factor model: one is the SMB (small minus big), the other is the HML (high minus low). (SMB and HML data are collected from Ken French’s data library
Cumulative Return with $1 invested in the beginning in the SP500 (shown as US) equity market (in comparison with the SMB and HML factors)
Cumulative Return with $1 invested in the beginning in the TSX (shown as CAN) equity market (in comparison with the SMB and HML factors)
-
Trading cost: Looking at the actual weights the strategy puts on stocks with different market cap, we find out small-cap stocks are overweighted, causing significant implementation issues because the smallest stocks usually have limited capacity and are expensive to trade.
-
Set some threshold regarding the market capitalization when assigning weights
-
Mitigate risk using diversification
-
Explore the relationship between the strategy and market states, and refine it by incorporating the judgment of market trends into the strategy
- Andrea Frazzini and Lasse Heje Pedersen. Betting against beta. Journal of Financial Economics, 111(1):1–25, 2014