Replication data for "Shrinking factor dimension: A reduced-rank approach"
This is the replication data for "shrinking factor dimension: A reduced-rank approach", published in Management Science.
The "data" folder includes all data files.
The "codes" folder includes four folders with coding scripts: "Matlab for Main", "Python for Figures", "R", and "Matlab for LASSO Factors"
***** Data*****
Main data files:
Portfolio_returns.xlsx: data of riskfree rate, anomalies, FF48 portfolios, 202 characteristic managed portfolios
stock_ret.mat: common stock returns
stock_ret_nomicro: common stock returns (exclude micro caps)
intermediate data files:
S2_1.xlsx, S2_3.xlsx, S2_5.xlsx, S2_6.xlsx: new weighting matrix W2, used for generating alternative RRA factors in Table 4. Run "weighting matrix.R" in folder "codes\R" to create.
FGX_factors.mat: LASSO selected factors using Feng, Giglio, and Xiu (2020) method. Run "FGK_factors.m" in folder "codes\Matlab for LASSO Factors" to create.
SCS_IS.mat: LASSO selected factors using Kozak, Nagel, and Santosh (2020) method. Run "KNS_factors.m" in folder "codes\Matlab for LASSO Factors" to create.
figures.xlsx:
spreadsheet "factor weights 48": weights of PCA, PLS, and 1 to 5 RRA factors. Run "Fig_factors_weights.m" in folder "codes\Matlab for Main" to create.
spreadsheet "alphas 48" : absolute alphas of 48 industry portfolios. Run "Fig_alphas.m" in folder "codes\Matlab for Main" to create.
***** How to Replicate ******
Tables: all main codes are in folder "codes\Matlab for Main"
1. Run "Main_code_for_Table1" to create Table 1 (summary statistics of factor proxies).
2. Run "Main_code_for_Table2_Table3" to create Table 2 (performance of different factor models: in-sample) and Table 3 (PLS and RRA factors using alternative basis assets).
Estimated running time:27 mins
3. Run "Main_code_for_Table4" to create Table 4 (an alternative estimation of RRA factors), besides main data files, also needs S2_1.xlsx, S2_3.xlsx, S2_5.xlsx, S2_6.xlsx.
Estimated running time:4 mins
4. Run "Main_code_for_Table5" to create Table 5 (performance of different factor models: out-of-sample).
Estimated running time:3 mins 29 secs
5. Run "Main_code_for_Table6" to create Table 6 (performance of RRA factors estimated with a pricing error restriction).
Estimated running time:17 mins 30 secs
6. Run "Main_code_for_Table7" to create Table 7 (performance of different factor models with pre-specified FF five factors).
Estimated running time:13 mins
7. Run "Main_code_for_Table8" to create Table 8 (performance of alternative PCA factors).
Estimated running time:13 mins
8. Run "Main_code_for_Table9" to create Table 9 (performance of LASSO selected factors), besides main data files, also needs FGX_factors.mat and SCS_IS.mat.
Estimated running time:9 mins
Figures: run "Fig1_3.py" in folder "Python for Figures" to create figure 1, 2, and 3. Needs figures.xlsx. Please install openpyxl before running.
History
Confidential or personally identifiable information
- I confirm that the uploaded data has no confidential or personally identifiable information.