2 votos

Replicar el índice CAPE de Shiller

Entonces, Robert Shiller solía actualizar su archivo de índice CAPE mensualmente. Parece que dejó de hacerlo en septiembre de 2023. Aquí está el enlace: http://www.econ.yale.edu/~shiller/data.htm

Para calcular este índice, necesita 4 series temporales de datos:

  1. Nivel del S&P 500
  2. Ganancias del S&P 500
  3. Datos del IPC
  4. Tasa de interés a largo plazo (GS10)

Ahora, el número (3) y el número (4) son fáciles de obtener. Son literalmente estas dos series temporales de FRED:

Lo que me resulta difícil es encontrar una fuente confiable para las ganancias del S&P500. Idealmente me gustaría una fuente directamente de S&P Global (https://www.spglobal.com/en/) o de WRDS (la base de datos académica de Wharton).

Ahora soy consciente de este enlace en stackexchange Qué fuentes de datos están disponibles en línea. No encontré lo que necesito allí y estoy buscando una respuesta más directa a mi pregunta.

https://fred.stlouisfed.org/series/CPIAUCSL

5voto

BigCanOfTuna Puntos 210

S&P parece publicar las ganancias en https://www.spglobal.com/spdji/en/documents/additional-material/sp-500-eps-est.xlsx (aunque no suelo utilizar esta fuente regularmente, por lo que no sé qué tan estable es esa fuente). Hay un enlace en https://www.spglobal.com/spdji/en/indices/equity/sp-500/#overview (ver "Información Adicional"). [Ten en cuenta que puedes obtener datos de precios en el mismo sitio, utilizando la opción "Exportar" en el gráfico de rendimiento].

Los datos de ganancias de Robert Shiller, con los últimos dos trimestres marcados (los meses que no son del trimestre son interpolados):

Datos de Shiller

Los datos de S&P con los últimos números trimestrales marcados:

Datos de S&P

Junio difiere ligeramente, pero quizás no todas las empresas han informado cuando el Profesor Shiller actualizó por última vez el archivo.

Para el nivel de precios, al menos en el pasado, creo que utilizó un precio promedio para el mes. Siguiendo el comentario de @nbbo2, aquí hay una rápida comprobación (en R), comparando los datos de Robert Shiller con Yahoo:

library("NMOF")
library("tseries")
library("zoo")

## Obtener datos del sitio web de Robert Shiller:
shiller <- Shiller(tempdir())
shiller.date <- format(shiller[["Date"]], "%Y-%m")
shiller.price <- shiller[["Price"]>

## Obtener datos del S&P 500 de Yahoo:
yhoo <- get.hist.quote("^SPX", quote = "Close")
yhoo <- tapply(coredata(yhoo), FUN = mean,
               format(index(yhoo), "%Y-%m"))
yhoo <- yhoo[names(yhoo) %in% shiller.date]

## Comparar datos
keep <- shiller.date %in% names(yhoo)
data.frame(Shiller = shiller.price[keep],
           Yahoo = yhoo,
           Difference = round(shiller.price[keep] - yhoo, 2))
##          Shiller     Yahoo Difference
## 1991-01  325.490  325.4855       0.00
## 1991-02  362.260  362.2632       0.00
## 1991-03  372.280  372.2790       0.00
## 1991-04  379.680  379.6786       0.00
## 1991-05  377.990  377.9923       0.00
## ....
## 1997-07  925.290  925.2945       0.00
## 1997-08  927.240  927.7357      -0.50
## 1997-09  937.020  937.0243       0.00
## ....
## 2002-03 1153.790 1153.7910       0.00
## 2002-04 1111.930 1112.0345      -0.10
## 2002-05 1079.250 1079.2673      -0.02
## 2002-06 1014.020 1014.0480      -0.03
## 2002-07  903.590  903.5855       0.00
## ....
## 2022-11 3917.489 3917.4886       0.00
## 2022-12 3912.381 3912.3810       0.00
## 2023-01 3960.657 3960.6565       0.00
## 2023-02 4079.685 4079.6847       0.00
## 2023-03 3968.559 3968.5591       0.00
## 2023-04 4121.467 4121.4674       0.00
## 2023-05 4146.173 4146.1732       0.00
## 2023-06 4345.373 4345.3728       0.00
## 2023-07 4508.076 4508.0755       0.00
## 2023-08 4457.359 4457.3587       0.00
## 2023-09 4515.770 4409.0950     106.68

He suprimido la mayoría de la salida: para la mayoría de los meses, la diferencia entre la serie de precios promedio del S&P y Shiller es cero.

summary(round(shiller.price[keep] - yhoo, 2))
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -6.530   0.000   0.000   0.258   0.000 106.680 

La única gran desviación de 106 ocurre en septiembre de 2023, porque el archivo no había sido actualizado.

2voto

user1914692 Puntos 113

No puedo hablar sobre la veracidad de esta serie de datos, pero encontré estos datos para (1) el nivel del S&P 500 y (2) las ganancias del S&P 500

(1) https://finance.yahoo.com/quote/%5EGSPC/history

https://www.multpl.com/s-p-500-historical-prices/table/by-month

(2) https://www.multpl.com/s-p-500-earnings/table/by-month

El cuarto enlace de la siguiente búsqueda descarga una hoja de cálculo con las ganancias trimestrales del S&P 500 de lo que parece ser spglobal.com.

https://www.google.com/search?q=s%26p+500+earnings+per+share&sca_esv=f685e4e4fadb486b&ei=z3DNZauSAfzgkPIPsoyoMA&oq=sp500+earnings+data&gs_lp=Egxnd3Mtd2l6LXNlcnAiE3NwNTAwIGVhcm5pbmdzIGRhdGEqAggEMgQQABhHMgQQABhHMgQQABhHMgQQABhHMgQQABhHMgQQABhHMgQQABhHMgQQABhHSJdZUABYAHAAeAGQAQCYAUigAUiqAQExuAEByAEA4gMEGAAgQYgGAZAGCA&sclient=gws-wiz-serp

Otra forma de llegar a las ganancias es dividir el nivel del índice por la relación precio/ganancia (PE). Las relaciones PE se pueden encontrar en https://www.multpl.com/s-p-500-pe-ratio/table/by-Year por año y https://www.multpl.com/s-p-500-pe-ratio/table/by-month para datos mensuales.

0voto

Corey Goldberg Puntos 15625

El Sr. Schumann ya mostró cómo se pueden encontrar las Ganancias Reportadas del S&P 500 para 2023.03 y 2023.06 en la hoja de cálculo de SPGLOBAL. (Tiene sentido, por cierto, que SPGLOBAL sea la fuente de estos datos, después de todo son los propietarios de la marca comercial S&P 500).

La información en la hoja de SPGLOBAL (sp-500-eps-est.xlsx) es trimestral (es decir, para marzo, junio, septiembre y diciembre). Solo queda entender cómo el Prof. Shiller es capaz de dar valores mensuales.

La respuesta parece ser que los valores no trimestrales son estimados por interpolación lineal. Por ejemplo, para 2023.04 Shiller tiene 177.17.

Esto se encuentra a partir de los valores trimestrales de la siguiente manera:

175.17 + (1/3) * (181.17 - 175.17) = 177.17

De manera similar, el valor para 2023.05 se encuentra como

175.17 + (2/3) * (181.17 - 175.17) = 179.17

Espero que esto ayude.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X