Skip to contents

Monthly U.S. log equity premium (in percent) and the 14 binary technical-indicator predictors of Neely, Rapach, Tu, and Zhou (2014), "Forecasting the Equity Risk Premium: The Role of Technical Indicators." The macroeconomic predictors of the same paper are not included; for those, see rz2013.

Usage

nrtz2014

Format

A data frame with 733 rows and 16 variables. Sample period is 1950-12 to 2011-12 (monthly).

date

First-of-month Date.

eq_prem

Log equity premium, in percent: \(100 \cdot [\log(1 + r_t) - \log(1 + rf_{t-1})]\).

MA_1_9, MA_1_12, MA_2_9, MA_2_12, MA_3_9, MA_3_12

Moving-average signals MA(s,l) for \(s \in \{1,2,3\}\), \(l \in \{9,12\}\).

MOM_9, MOM_12

Momentum signals MOM(m) for \(m \in \{9,12\}\).

VOL_1_9, VOL_1_12, VOL_2_9, VOL_2_12, VOL_3_9, VOL_3_12

On-balance-volume signals VOL(s,l) for \(s \in \{1,2,3\}\), \(l \in \{9,12\}\).

Source

Replication archive of Neely et al. (2014): https://github.com/GabboCg/nrtz2014. The underlying price and volume data are from Amit Goyal's website (http://www.hec.unil.ch/agoyal/).

Details

Indicators are constructed from monthly S&P 500 closing prices and trading volume (Goyal-Welch updated dataset) following the rules in the paper:

  • MA(s,l) – 1 if the \(s\)-month moving average of the price exceeds the \(l\)-month moving average, else 0.

  • MOM(m) – 1 if today's price is at or above the price \(m\) months ago, else 0.

  • VOL(s,l) – 1 if the \(s\)-month moving average of on-balance volume exceeds the \(l\)-month moving average, else 0.

References

Neely, C. J., Rapach, D. E., Tu, J., and Zhou, G. (2014). Forecasting the equity risk premium: The role of technical indicators. Management Science, 60(7), 1772-1791.

Examples

data(nrtz2014)
head(nrtz2014)
#>         date   eq_prem MA_1_9 MA_1_12 MA_2_9 MA_2_12 MA_3_9 MA_3_12 MOM_9
#> 1 1950-12-01  5.281084      1       1      1       1      1       1     1
#> 2 1951-01-01  6.195734      1       1      1       1      1       1     1
#> 3 1951-02-01  1.332518      1       1      1       1      1       1     1
#> 4 1951-03-01 -1.877134      1       1      1       1      1       1     1
#> 5 1951-04-01  4.677429      1       1      1       1      1       1     1
#> 6 1951-05-01 -3.166181      1       1      1       1      1       1     1
#>   MOM_12 VOL_1_9 VOL_1_12 VOL_2_9 VOL_2_12 VOL_3_9 VOL_3_12
#> 1      1       1        1       1        1       1        1
#> 2      1       1        1       1        1       1        1
#> 3      1       1        1       1        1       1        1
#> 4      1       1        1       1        1       1        1
#> 5      1       1        1       1        1       1        1
#> 6      1       1        1       1        1       1        1
# Fraction of months each technical indicator equals 1
colMeans(nrtz2014[, -(1:2)])
#>    MA_1_9   MA_1_12    MA_2_9   MA_2_12    MA_3_9   MA_3_12     MOM_9    MOM_12 
#> 0.6753070 0.7025921 0.6807640 0.7012278 0.6862210 0.7066849 0.7012278 0.7203274 
#>   VOL_1_9  VOL_1_12   VOL_2_9  VOL_2_12   VOL_3_9  VOL_3_12 
#> 0.6643929 0.6930423 0.6616644 0.6875853 0.6793997 0.6903138