Key Findings
Strong Cross-Sectional Return Predictability
Machine learning forecasts strongly predict future stock returns with an average excess return of 1.08% per month for the long-short portfolio, demonstrating significant violations of market efficiency
Stable Through Time & Large Stocks
Predictive power remains remarkably stable across different time periods and among the largest 500 stocks, with the long-short portfolio generating 0.72% monthly returns for top 500 stocks
Complex Nonlinear Patterns
The ML forecasting function captures substantial nonlinear and interaction effects distinct from traditional momentum and reversal patterns
Portfolio Performance Across Time
- Strong performance across most subperiods from 1963-2022
- Average monthly returns range from 1.15% to 1.71% in most periods
- Only period of weak performance was 2005-2014 (-0.08%)
Performance Across Market Cap Groups
- Strategy remains effective even among the largest stocks
- Returns decrease only modestly as market cap increases
- Top 500 stocks still generate significant 0.72% monthly returns
Factor Model Performance
- Strategy generates significant alpha across different factor models
- Monthly alphas range from 0.45% to 1.24% depending on the model
- Results robust to controlling for standard risk factors
Contribution and Implications
- Provides strong evidence against the weak-form market efficiency hypothesis by showing profitable trading strategies based solely on past price patterns
- Demonstrates that technical analysis and charting have more merit than previously acknowledged in academic literature
- Shows machine learning can effectively identify complex nonlinear patterns in stock returns that are distinct from known factors
Data Sources
- Subperiod performance chart based on Table 5 showing average returns across different time periods
- Market cap analysis chart based on Table 6 showing returns across different size groups
- Factor model performance chart based on Table 4 Panel A showing alphas across different factor models