library(knitr)
library(printr)
## Registered S3 method overwritten by 'printr':
##   method                from     
##   knit_print.data.frame rmarkdown
library(jtools)
library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.2. https://CRAN.R-project.org/package=stargazer

Ejemplo 2

El modelo de precios de activos de capital (CAPM) es un modelo importante en el campo de las finanzas. Explica las variaciones en la tasa de rendimiento de un valor en función de la tasa de rendimiento de una cartera que consiste en todas las acciones que cotizan en bolsa, lo que se denomina cartera de mercado. En general, la tasa de rendimiento de cualquier inversión se mide en relación con su costo de oportunidad, que es la rentabilidad de un activo libre de riesgo. La diferencia resultante se llama la prima de riesgo, ya que es la recompensa o el castigo por hacer una inversión arriesgada. El CAPM dice que la prima de riesgo sobre la seguridad j es proporcional a la prima de riesgo en la cartera de mercado. Es decir,

\[ r_{j}-r_{f}=\beta_{j}(r_{m}-r_{f}) \]

Donde \(r_j\) y \(r_f\) son los retornos del security j y la tasa libre de riesgo, respectivamente, \(r_m\) es el rentorno de la cartera de mercado, y \(\beta_j\) es el valor beta del j-ésimo valor. El beta de una acción es importante para los inversores, ya que revela la volatilidad de la acción. Mide la sensibilidad del retorno del security j a la variación en todo el mercado de valores. Como tal, los valores beta inferiores a 1 indican que el stock es “defensivo” ya que su variación es menor que la del mercado. Un beta mayor que 1 indica una ‘’acción agresiva’‘. Los inversores generalmente quieren una estimación del beta de una acción antes de comprarla. El modelo CAPM mostrado anteriormente es el’‘modelo económico’’ en este caso. El “modelo econométrico” se obtiene incluyendo un intercepto en el modelo (aunque la teoría dice que debe ser cero) y un término de error,

\[ r_{j}-r_{f}=\alpha_{j}+\beta_{j}(r_{m}-r_{f})+e \]

  1. Explique por qué el modelo econométrico anterior es un modelo de regresión simple.

El modelo es un modelo de regresión simple porque puede ser escrito como

\[ y = \beta_0 + \beta_1x+e \]

donde \(y=r_{j}-r_{f}\), \(x=r_{m}-r_{f}\), \(\beta_0=\alpha_j\) y \(\beta_1=\beta_j\).

  1. En el archivo de datos Ejemplo2 figuran datos sobre los rendimientos mensuales de seis empresas (Microsoft, GE, GM, IBM, Disney y Mobil-Exxon), la tasa de rendimiento de la cartera de mercado (\(mkt\)) y Tasa de rendimiento del activo libre de riesgo (\(riskfree\)). Las 132 observaciones abarcan desde enero de 1998 hasta diciembre de 2008. Estime el modelo CAPM para cada empresa y comente sus valores beta estimados. ¿Qué empresa parece más agresiva? ¿Qué empresa parece más defensiva?
library(foreign)
capm<-read.dta("Datos/Ejemplo2.dta")
head(capm)
date dis ge gm ibm msft xom mkt riskfree
19980130 0.080884 0.056218 -0.046296 -0.056153 0.154255 -0.030644 0.004529 0.004188
19980227 0.047368 0.003226 0.198490 0.059620 0.136154 0.081728 0.073230 0.004268
19980331 -0.046343 0.112379 -0.017226 -0.005386 0.056047 0.060784 0.051322 0.004358
19980430 0.168337 -0.011603 -0.005535 0.115523 0.006983 0.080407 0.010862 0.003940
19980529 -0.090818 -0.021277 0.074212 0.015922 -0.058946 -0.029461 -0.025755 0.003806
19980630 -0.072296 0.089955 -0.070435 -0.022872 0.277819 0.012411 0.031954 0.003919
capm$mktfree<-capm$mkt-capm$riskfree
capm$msftfree<-capm$msft-capm$riskfree
capm$disneyfree<-capm$dis-capm$riskfree
capm$gefree<-capm$ge-capm$riskfree
capm$gmfree<-capm$gm-capm$riskfree
capm$ibmfree<-capm$ibm-capm$riskfree
capm$xomfree<-capm$xom-capm$riskfree
microsoft<-lm(msftfree ~ mktfree,data=capm)
GE<-lm(gefree~mktfree,data=capm)
GM<-lm(gmfree~mktfree,data=capm)
IBM<-lm(ibmfree~mktfree,data=capm)
DISNEY<-lm(disneyfree~mktfree,data=capm)
MOBIL<-lm(xomfree~mktfree,data=capm)
stargazer(microsoft, GE, GM, IBM, DISNEY, MOBIL, type="latex")
% Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu % Date and time: Wed, Apr 06, 2022 - 22:36:13
Dependent variable:
msftfree gefree gmfree ibmfree disneyfree xomfree
(1) (2) (3) (4) (5) (6)
mktfree 1.319*** 0.899*** 1.261*** 1.188*** 0.898*** 0.414***
(0.161) (0.099) (0.202) (0.126) (0.124) (0.090)
Constant 0.006 -0.001 -0.012 0.006 -0.001 0.008*
(0.008) (0.005) (0.010) (0.006) (0.006) (0.004)
Observations 132 132 132 132 132 132
R2 0.341 0.389 0.230 0.405 0.289 0.141
Adjusted R2 0.336 0.385 0.224 0.400 0.283 0.134
Residual Std. Error (df = 130) 0.089 0.055 0.112 0.070 0.068 0.050
F Statistic (df = 1; 130) 67.288*** 82.874*** 38.909*** 88.321*** 52.744*** 21.292***
Note: p<0.1; p<0.05; p<0.01

Las acciones de Microsoft, General Motors e IBM son agresivas y Microsoft es la más agresiva con un valor beta de \(\beta_1= 1.319\). General Electric, Disney y Exxon-Mobil están a la defensiva, siendo Exxon-Mobil la más defensiva con un valor beta de \(\beta_1 = 0.414\).

  1. La teoría financiera dice que el parámetro de intersección \(\alpha_{j}\) debe ser cero. ¿Esto parece correcto dado sus estimaciones? Para el stock de Microsoft, trace la línea de regresión ajustada junto con la dispersión de datos.

Todas las estimaciones de \(\alpha_j\) son cercanas a cero y, por lo tanto, son consistentes con la teoría financiera. La línea de regresión ajustada y la dispersión de datos para Microsoft se representan en la siguiente figura

library(ggplot2)
ggplot(data=capm,aes(mktfree,msftfree))+geom_point(color="blue") +
  geom_smooth(method='lm',formula=y~x,color="red")

  1. Estimar el modelo para cada empresa bajo la suposición de que \(\alpha_{j}=0\). ¿Las estimaciones de los valores beta cambian mucho?

Los estimadores para \(\beta_j\) dado \(\alpha_j =0\) son los siguientes

microsoft1<-lm(msftfree ~ mktfree - 1,data=capm)
GE1<-lm(gefree~mktfree - 1,data=capm)
GM1<-lm(gmfree~mktfree - 1,data=capm)
IBM1<-lm(ibmfree~mktfree- 1,data=capm)
DISNEY1<-lm(disneyfree~mktfree - 1,data=capm)
MOBIL1<-lm(xomfree~mktfree - 1,data=capm)
stargazer(microsoft1, GE1, GM1, IBM1, DISNEY1, MOBIL1, type = 'latex')
% Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu % Date and time: Wed, Apr 06, 2022 - 22:36:15
Dependent variable:
msftfree gefree gmfree ibmfree disneyfree xomfree
(1) (2) (3) (4) (5) (6)
mktfree 1.319*** 0.899*** 1.262*** 1.188*** 0.898*** 0.413***
(0.161) (0.098) (0.203) (0.126) (0.123) (0.091)
Observations 132 132 132 132 132 132
R2 0.340 0.389 0.229 0.403 0.289 0.137
Adjusted R2 0.335 0.385 0.223 0.398 0.283 0.131
Residual Std. Error (df = 131) 0.089 0.054 0.112 0.070 0.068 0.050
F Statistic (df = 1; 131) 67.440*** 83.489*** 38.840*** 88.313*** 53.144*** 20.865***
Note: p<0.1; p<0.05; p<0.01

La restricción \(\alpha_j = 0\) ha llevado a pequeños cambios en el \(\hat \beta_j\); No ha cambiado el carácter agresivo o defensivo de la acción.

Ejemplo 3

Los propietarios de un motel descubrieron que se utilizaba un producto defectuoso en su construcción. Tardaron siete meses en corregir los defectos, durante los cuales 14 habitaciones en el motel de 100 unidades fueron sacadas de servicio por 7 meses (a partir del mes 17). El motel perdió beneficios debido a estos cierres, y se desea saber cómo calcular las pérdidas. Para este ejercicio, utilice los datos en motel.dat.

motel<-read.csv("Datos/Ejemplo3.csv",sep=',')
head(motel)
time days motel_rate comp_rate motel_pct comp_pct repair relprice
1 31 54.81 71.63 66.7 57.1 0 0.765182
2 30 53.59 74.21 95.6 54.8 0 0.722140
3 31 53.37 74.57 95.8 61.3 0 0.715703
4 30 53.83 77.66 96.2 76.9 0 0.693150
5 31 56.83 83.70 94.5 78.4 0 0.678973
6 31 58.50 81.32 89.2 81.4 0 0.719380
  1. La tasa de ocupación del motel dañado es motel_pct, y la tasa de ocupación del competidor es comp_pct. En el mismo gráfico, trace estas variables en función de time. ¿Cuál tenía la mayor ocupación antes del período de reparación? ¿Cuál tuvo la mayor ocupación durante el período de reparación?

Las gráficas de las tasas de ocupación para el motel y sus competidores para el período de 25 meses se muestran en la siguiente figura.

library(ggplot2)
ggplot(data=motel,aes(time)) + 
  geom_line(aes(y=motel_pct, colour="motel_pct")) + 
  geom_line(aes(y=comp_pct, colour="comp_pct")) + 
  geom_vline(xintercept = c(17,23))

El período de reparación comprende esos meses entre las dos líneas verticales. La evidencia gráfica sugiere que el motel dañado tuvo la mayor tasa de ocupación antes y después del período de reparación. Durante el período de reparación, el motel dañado y los competidores tuvieron tasas de ocupación similares.

  1. Trazar motel_pct vs comp_pct. ¿Parece haber una relación entre estas dos variables? Explique por qué tal relación podría existir.
ggplot(data=motel,aes(comp_pct,motel_pct))+geom_point()

Parece haber una relación positiva entre las dos variables. Tal relación puede existir ya que tanto el motel dañado como el competidor (es) enfrentan la misma demanda de habitaciones de motel. Es decir, las tasas de ocupación de los competidores reflejan la demanda general en el mercado de habitaciones de motel.

  1. Estimar una regresión lineal con \(y = motel\_pct\) y \(x = comp\_pct\). Discuta el resultado.
modelo1<-lm(motel_pct~comp_pct,data=motel)
summary(modelo1)
## 
## Call:
## lm(formula = motel_pct ~ comp_pct, data = motel)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -23.876  -4.909  -1.193   5.312  26.818 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  21.4000    12.9069   1.658 0.110889    
## comp_pct      0.8646     0.2027   4.265 0.000291 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.02 on 23 degrees of freedom
## Multiple R-squared:  0.4417, Adjusted R-squared:  0.4174 
## F-statistic: 18.19 on 1 and 23 DF,  p-value: 0.0002906

La regresión estimada es:

\[ \widehat {motel\_pct} = 21.4+0.8646comp\_pct \]

Las tasas de ocupación de los competidores se relacionan positivamente con las tasas de ocupación de motel, como se esperaba. La regresión indica que para un aumento de un punto porcentual en la tasa de ocupación de la competencia, se espera que la tasa de ocupación del motel dañado aumente en 0.8646%.

  1. Calcule los residuos de mínimos cuadrados de los resultados de la regresión en (c). Trace estos residuos versus el tiempo. ¿El modelo sobrestima, subestima o predice con precisión la tasa de ocupación del motel durante el período de reparación?
residuos1<-modelo1$residuals
ggplot(data=motel,aes(time,residuos1))+geom_point(color="blue") + 
   geom_hline(yintercept = 0) +
   geom_vline(xintercept = c(17,23))

Los residuos durante el período de ocupación son aquellos entre las dos líneas verticales. Todos excepto uno son negativos, lo que indica que el modelo ha sobreestimado la tasa de ocupación del motel durante el período de reparación.

  1. Considere una regresión lineal con \(y = motel\_pct\) y \(x = relprice\), que es la relación del precio por habitación cargada por el motel en cuestión en relación con sus competidores. ¿Qué signo predice el coeficiente de la pendiente? ¿Por qué?

Esperamos que el coeficiente de pendiente de una regresión lineal de \(motel\_pct\) en \(relprice\) sea negativo, ya que cuanto mayor sea el precio relativo de las habitaciones dañadas del motel, menor será la demanda de esas habitaciones, manteniendo constantes otros factores.

¿El signo de la pendiente estimada está de acuerdo con su expectativa?

modelo2<-lm(motel_pct~relprice,data=motel)
summary(modelo2)
## 
## Call:
## lm(formula = motel_pct ~ relprice, data = motel)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -33.779  -6.181   4.003   8.842  21.760 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   166.66      43.57   3.825 0.000868 ***
## relprice     -122.12      58.35  -2.093 0.047589 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.52 on 23 degrees of freedom
## Multiple R-squared:   0.16,  Adjusted R-squared:  0.1234 
## F-statistic:  4.38 on 1 and 23 DF,  p-value: 0.04759

La regresión estimada es

\[ \widehat {motel\_pct} = 166.66- 122.12*relprice \]

El signo de la pendiente estimada es negativo, como se esperaba.

  1. Considere la regresión lineal con \(y = motel\_pct\) y \(x = repair\), que es una variable indicadora, tomando el valor 1 durante el período de reparación y 0 de otro modo. Discutir la interpretación de las estimaciones de mínimos cuadrados. ¿El motel parece haber sufrido una pérdida de ocupación, y por lo tanto beneficios, durante el período de reparación?

La regresión lineal con una variable indicador es

\[ motel\_pct = \beta_0 + \beta_1 repair + e \]

De esta ecuación tenemos que:

\[ E(motel\_pct) = \beta_0 + \beta_1 repair = \begin{cases}\beta_0 + \beta_1 & \mbox{si }repair = 1\\ \beta_0 & \mbox{si } repair=0\end{cases} \]

La tasa de ocupación esperada para el motel dañado es \(\beta_0 + \beta_1\) durante el período de reparación; Es \(\beta_0\) fuera del período de reparación. Por lo tanto, \(\beta_1\) es la diferencia entre las tasas de ocupación esperadas para el motel dañado durante los períodos de reparación y no reparación.

modelo3<-lm(motel_pct~repair,data=motel)
summary(modelo3)
## 
## Call:
## lm(formula = motel_pct ~ repair, data = motel)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -26.91 -10.55  -0.55  10.99  16.85 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   79.350      3.154  25.158   <2e-16 ***
## repair       -13.236      5.961  -2.221   0.0365 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.38 on 23 degrees of freedom
## Multiple R-squared:  0.1765, Adjusted R-squared:  0.1407 
## F-statistic: 4.931 on 1 and 23 DF,  p-value: 0.03651

La regresión estimada es:

\[ \widehat {motel\_pct} = 79.35 - 13.236* repair \]

En el período de no reparación, el motel dañado tenía una tasa de ocupación estimada del \(79.35\)%. Durante el período de reparación, la tasa de ocupación estimada fue de \(79.35 - 13.24 = 66.11\)%. Por lo tanto, parece que el motel sufrió una pérdida de ocupación y ganancias durante el período de reparación.

  1. Calcular la tasa media de ocupación del motel y los competidores cuando no se realizaron las reparaciones (llamar \(motel_0\) y \(comp_0\)), y cuando se estaban realizando (\(motel_1\) y \(comp_1\)). Durante el período de no reparación, ¿cuál fue la diferencia entre las ocupaciones promedio, (\(motel_0 - comp_0\))? ¿Esta comparación apoya las reclamaciones del motel sobre los beneficios perdidos durante el período de reparación?

De la regresión anterior, tenemos

\[ \begin{array}{lclcll} \overline{motel_0} & = & \beta_0 & = & 79.35\% & \\ \overline{motel_1} & = & \beta_0 + \beta_1 &= & 79.35 - 13.24 & = 66.11\% \end{array} \]

\(\overline{motel_0} = \beta_0=79.35\%\)

\(\overline{motel_1} = \beta_0 + \beta_1=79.35 - 13.24 = 66.11\%\)

Para los competidores, la regresión estimada es:

modelo4<-lm(comp_pct~repair,data=motel)
summary(modelo4)
## 
## Call:
## lm(formula = comp_pct ~ repair, data = motel)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.471  -7.689  -1.189  10.411  20.529 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  62.4889     2.6697  23.407   <2e-16 ***
## repair        0.8825     5.0453   0.175    0.863    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.33 on 23 degrees of freedom
## Multiple R-squared:  0.001329,   Adjusted R-squared:  -0.04209 
## F-statistic: 0.0306 on 1 and 23 DF,  p-value: 0.8627

\[ \widehat {comp\_pct} = 62.4889 + 0.8825* repair \]

Así,

\(\overline{comp_0} = \beta_0=62.49\%\) \(\overline{comp_1} = \beta_0 + \beta_1=62.49 + 0.88 = 63.37\%\)

Durante el período de no reparación, la diferencia entre las ocupaciones promedio fue:

\[ \overline{motel_0}- \overline{comp_0}=79.35-62.49=16.86\% \]

Durante el período de reparación fue

\[ \overline{motel_1}- \overline{comp_1}=66.11-63.37=2.74\% \]

Esta comparación respalda la reclamación del motel por ganancias perdidas durante el período de reparación. Cuando no hubo reparaciones, su tasa de ocupación fue un \(16.86\)% más alta que la de sus competidores; Durante las reparaciones solo fue \(2.74\)% mayor.

  1. Estime un modelo de regresión lineal con \(y = (motel\_pct - comp\_pct)\) y \(x = repair\). ¿Cómo se relacionan los resultados de esta regresión con el resultado de la parte (g)?
motel$diferencia<-motel$motel_pct-motel$comp_pct
modelo5<-lm(diferencia~repair,data=motel)
summary(modelo5)
## 
## Call:
## lm(formula = diferencia ~ repair, data = motel)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.743  -4.861  -2.261   5.139  23.939 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   16.861      2.109   7.993 4.35e-08 ***
## repair       -14.118      3.986  -3.542  0.00174 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.949 on 23 degrees of freedom
## Multiple R-squared:  0.3529, Adjusted R-squared:  0.3248 
## F-statistic: 12.54 on 1 and 23 DF,  p-value: 0.001742

La regresion estimada es

\[ \widehat {diferencia} = 16.861 -14.118* repair \]

La estimación de intercepción en esta ecuación (\(16.86\)) es igual a la diferencia en ocupaciones promedio durante el período de no reparación, \(motel_0 - comp_0\). La suma de las dos estimaciones de coeficientes (\(16.86 + (-14.12) = 2.74\)) es igual a la diferencia en las ocupaciones promedio durante el período de reparación, \(motel_1 - comp_1\).