Short-term and long-term performance of C/P strategy
Cashflow-to-Price
In this project, I replicate Cashflow-to-Price as one of the set of stock market anomalies discussed in class for the period 1985 to 2017. I use a WRDS account along with Python and R to process data and implement the portfolios. The project has two stages, the first is to replicate the main result from “Contrarian Investment, Extrapolation, and Risk”” (Lakonishok, Shleifer and Vishny 1994). Secondly, I sorting stocks into decile portfolios by the Cashflow-to-Price and Book Value-to-Market in every month t and calculating average returns on these portfolios at time t + 1 and computing the returns that are long-short the extreme deciles and calculating the t-stat for that average long-short return.
Dataset
The WRDS Compustat data and CRSP data for all stocks contains the fundamental and trading informations we need. To use both datasets, we need to link them by matching the CCM-LinkTable provided by WRDS. Then, the book-to-market ratio (B/M) and cashflow-to-price ratio (C/P) are created according to the formula below. The data is collected from 1959 through 2017. Besides, to supplement the lack of Book Equity in early years of the time period, I use Davis’s Book Value Dataset.
Compustat Data Fetching
We notice that due to financial report format, some items may be missing in the record. Therefore, following the Fama & French’s methodology and WRDS methodology, we can calculate the alternatives as our desired values. Therefore, alternative values in the financial statements are queried as well.
CRSP Data Fetching
The stock universe is defined as common stocks (share codes 10 and 11) listed in New York Stock Echange, American Stock Exchange, or the Nasdaq Stock Exchange (exchange codes 1, 2, and 3) from year 1959 through year 2017.
Data Processing
To form decile portfolio based on lag variable, we calcualte one-month lag varaibles corresponding to C/P and B/M ratios. According to LSV 1994
, the portfolios are formed at the end of April each year. Then we subset the period between April 1968 to March 1989 as defined in the paper. Finally the datasets are saved for further portfolio construction in Python
.
Performance Analysis
This section composes of two sub-section. First we shall replicate the result in the LSV 1994 paper and extend the results into recent 32 years, then we examine the monthly long-short decile portfolio to see if C/P anomalies significant in different periods.
Replication
As defined in LSV 1994, $R_t$ is the average return in year $t$ after formation. $AR$ is the average annual return over 5 postformation years. $CR_5$ is the compounded 5-year return assuming annual rebalancing.
Panel A
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
R1 | 0.055 | 0.084 | 0.119 | 0.136 | 0.142 | 0.149 | 0.167 | 0.180 | 0.185 | 0.197 |
R2 | 0.040 | 0.094 | 0.103 | 0.121 | 0.144 | 0.146 | 0.156 | 0.173 | 0.180 | 0.176 |
R3 | 0.060 | 0.110 | 0.132 | 0.158 | 0.150 | 0.155 | 0.169 | 0.196 | 0.204 | 0.200 |
R4 | 0.069 | 0.110 | 0.134 | 0.160 | 0.161 | 0.160 | 0.186 | 0.189 | 0.202 | 0.198 |
R5 | 0.097 | 0.135 | 0.154 | 0.161 | 0.173 | 0.169 | 0.188 | 0.185 | 0.187 | 0.186 |
AR | 0.064 | 0.107 | 0.128 | 0.147 | 0.154 | 0.156 | 0.173 | 0.185 | 0.191 | 0.191 |
CR5 | 0.379 | 0.628 | 0.878 | 1.031 | 1.049 | 1.170 | 1.261 | 1.455 | 1.459 | 1.592 |
Panel B
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
R1 | 0.085 | 0.127 | 0.128 | 0.161 | 0.165 | 0.172 | 0.177 | 0.169 | 0.182 | 0.184 |
R2 | 0.085 | 0.116 | 0.120 | 0.136 | 0.155 | 0.165 | 0.154 | 0.168 | 0.186 | 0.193 |
R3 | 0.097 | 0.125 | 0.156 | 0.151 | 0.168 | 0.172 | 0.180 | 0.195 | 0.191 | 0.210 |
R4 | 0.123 | 0.126 | 0.151 | 0.155 | 0.164 | 0.182 | 0.174 | 0.191 | 0.200 | 0.204 |
R5 | 0.132 | 0.147 | 0.163 | 0.169 | 0.165 | 0.172 | 0.179 | 0.177 | 0.198 | 0.190 |
AR | 0.104 | 0.128 | 0.143 | 0.154 | 0.163 | 0.173 | 0.173 | 0.180 | 0.191 | 0.196 |
CR5 | 0.581 | 0.938 | 0.906 | 1.220 | 1.290 | 1.357 | 1.379 | 1.364 | 1.444 | 1.404 |
In addition, following LSV 1994 methodology, I separate the firms having negative cashflow-to-price ratio as extra decile 0
. Let’s take a look at their performance as a portfolio.
- Decile Portfolio Size in Replication Period
As we see above, by excluding the negative C/P stocks in our portfolio, the stock universe loses 1/3 of its size. Then we track the performance of this decile portfolio over the period. We observe some extremely high return and average annual return of 10% over 1968-1989.
- Annual Return of Negative C/P Portfolio
Monthly Decile Long-Short Portfolio
To examine the short-term performance of the C/P strategy, we construct monthly long-short strategies based on B/M and C/P sorting.
- Monthly Return of B/M Long-Short Portfolio
One Sample t-test Result Alternative Hypothesis: true mean is not equal to 0
t = 4.9883, df = 251, p-value = 1.139e-06
95 percent confidence interval: [0.007612749, 0.017545834]
sample estimates: mean of $x = 0.01257929$
In comparison to B/M strategy, monthly C/P strategy performance:
- Monthly Return of C/P Long-Short Portfolio
One Sample t-test Alternative Hypothesis: true mean is not equal to 0
t = 5.8377, df = 251, p-value = 1.63e-08
95 percent confidence interval: [0.007099405, 0.014328576]
sample estimates: mean of $x = 0.01071399$
Extension to Recent Period
Following the methodology, I calculate the metrics for the portfolios from year 1985 to year 2017. As defined in LSV 1994, $R_t$ is the average return in year $t$ after formation. $AR$ is the average annual return over 5 postformation years. $CR_5$ is the compounded 5-year return assuming annual rebalancing.
Panel A
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
R1 | 0.091 | 0.116 | 0.150 | 0.157 | 0.154 | 0.168 | 0.165 | 0.165 | 0.184 | 0.207 |
R2 | 0.108 | 0.143 | 0.139 | 0.149 | 0.166 | 0.161 | 0.161 | 0.148 | 0.167 | 0.204 |
R3 | 0.122 | 0.150 | 0.146 | 0.141 | 0.152 | 0.149 | 0.145 | 0.164 | 0.174 | 0.183 |
R4 | 0.138 | 0.158 | 0.146 | 0.155 | 0.150 | 0.169 | 0.165 | 0.160 | 0.196 | 0.188 |
R5 | 0.150 | 0.151 | 0.170 | 0.161 | 0.152 | 0.160 | 0.153 | 0.174 | 0.177 | 0.186 |
AR | 0.122 | 0.144 | 0.150 | 0.153 | 0.155 | 0.161 | 0.158 | 0.162 | 0.180 | 0.194 |
CR5 | 0.345 | 0.593 | 0.849 | 0.925 | 0.924 | 1.030 | 1.019 | 1.033 | 1.183 | 1.272 |
Panel B
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
R1 | 0.139 | 0.145 | 0.157 | 0.161 | 0.154 | 0.162 | 0.154 | 0.175 | 0.187 | 0.212 |
R2 | 0.152 | 0.144 | 0.132 | 0.148 | 0.151 | 0.153 | 0.160 | 0.175 | 0.179 | 0.210 |
R3 | 0.159 | 0.150 | 0.162 | 0.142 | 0.156 | 0.144 | 0.155 | 0.164 | 0.169 | 0.199 |
R4 | 0.195 | 0.165 | 0.159 | 0.153 | 0.147 | 0.163 | 0.164 | 0.168 | 0.180 | 0.198 |
R5 | 0.168 | 0.192 | 0.145 | 0.165 | 0.168 | 0.159 | 0.170 | 0.150 | 0.191 | 0.197 |
AR | 0.162 | 0.159 | 0.151 | 0.154 | 0.155 | 0.156 | 0.161 | 0.166 | 0.181 | 0.203 |
CR5 | 0.728 | 0.772 | 0.909 | 0.985 | 0.950 | 0.972 | 0.885 | 1.103 | 1.213 | 1.386 |
Similarly, I separate the firms having negative cashflow-to-price ratio as extra decile 0
. Let’s take a look at their performance as a portfolio.
- Decile Portfolio Size in Recent Period
Then we track the performance of this decile portfolio over the period. We observe some extremely high return and average annual return of 10% over 1985-2017.
- Annual Return of Negative C/P Portfolio in Recent Period
Monthly Decile Long-Short Portfolio
- Monthly Return of B/M Long-Short Portfolio in Recent Period
One Sample t-test Alternative Hypothesis: true mean is not equal to 0
t = 5.396, df = 383, p-value = 1.197e-07
95 percent confidence interval: [0.00705787, 0.01514992]
Sample estimates: mean of $x = 0.01110389$
In comparison to B/M strategy, monthly C/P strategy performance:
- Monthly Return of C/P Long-Short Portfolio in Recent Period
One Sample t-test alternative hypothesis: true mean is not equal to 0
t = 4.6553, df = 383, p-value = 4.466e-06
95 percent confidence interval: [0.005571137, 0.013717897]
Sample estimates: mean of $x = 0.009644517$
Conclusion
In this article, I examine the conclusion from LSV 1994 paper by replicating the portfolio returns over the same period. To check if the anomalies still exist in recent period, I construct portfolios following same methodlogy. Given evidence in previous section, high C/P stocks are identified as value stocks in both short-run and long-run because their decile returns are following increasing order and the decile long-short portfolio has significant positive return.
Code for Portfolio Construction
R Code for Compustat Data Fetch
1 |
|
R Code for CRSP Data Fetch
1 |
|
R Code for Data Processing
1 |
|
R Code for Sorting Preparation
1 |
|
Python Code for Portfolio Construction
1 |
|