Se dispone del precio oficial medio a nivel provincial con frecuencia trimestral desde 1995T1 hasta 2021T3.
Ventaja: son precios oficiales, y la serie es suficientemente larga como para plantear un modelo econométrico de previsión de precios.
Inconvenientes:
Necesitaríamos mayor detalle (municipal).
Algunas series tienen valores faltantes (Cuenca, Huesca, etc.).
Las series presentan cierto ruido en su evolución, sobre todo en las provincias con menos transacciones (Burgos, Orense, etc.).
En ocasiones el precio presenta una evolución “poco creible” (e.g. Albacete, Cáceres).
Hay provincias donde el precio todavía continúa cayendo.
Serie de precios oficinales
Las series de precios se reconstruyen para rellenar los valores faltantes.
Serie de precios oficinales reconstruida
Una característica de este modelo es que sólo depende de la propia serie de precios, y no de variables exógenas. Justamente por eso no se necesita un histórico de datos muy grande, ya que no perdemos tantos grados de libertad como en otros modelos multivariantes con varias variables independientes (renta, población, oferta viviendas, etc.).
La siguiente figura representa la evolución del precio estimada por el modelo ARIMA para Islas Baleares:
Estimación del precio en Islas Baleares. Modelos Arima
Vamos a plantear un modelo a partir de la serie de precios trimestral nacional.
Objetivo: estima el precio unitario a 3 años vista.
Variables: a partir del propio precio, como variable explicativa se incluye el precio del trimestre anterior, la variación en los 2 y 4 últimos trimestres (2 para tendencia “en corto”, y 4 para el tendencia anual), y media móvil para los mismo trimestres. Además, interacción entre algunas de estas variables.
Modelo econométrico stepwise: como no todas las variables son siempre signficativas, se aplica un modelo de regresión stepwise que selecciona de manera automática las variables significativas y excluye el resto.
En primer lugar planteamos un modelo con todas las variables consideradas. R2 muy bueno, pero hay que quitar variables no significativas para simplificar.
##
## Call:
## lm(formula = precio_3_anyo ~ precio_lag_1 * variacion_precio_1t +
## precio_lag_1 * variacion_precio_2t + precio_lag_1 * variacion_precio_4t +
## precio_lag_1 * precio_media_movil_2 + precio_lag_1 * precio_media_movil_4,
## data = zona_precios)
##
## Residuals:
## Min 1Q Median 3Q Max
## -153.972 -53.259 5.224 40.626 187.110
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.640e+02 8.441e+01 -6.682 3.01e-09 ***
## precio_lag_1 7.700e+00 1.044e+01 0.738 0.46282
## variacion_precio_1t 9.173e-01 2.772e+00 0.331 0.74161
## variacion_precio_2t -4.032e+00 4.881e+00 -0.826 0.41132
## variacion_precio_4t 4.783e+00 1.559e+00 3.067 0.00296 **
## precio_media_movil_2 NA NA NA NA
## precio_media_movil_4 -5.215e+00 1.043e+01 -0.500 0.61849
## precio_lag_1:variacion_precio_1t -3.058e-03 3.032e-03 -1.009 0.31622
## precio_lag_1:variacion_precio_2t 2.972e-03 3.452e-03 0.861 0.39178
## precio_lag_1:variacion_precio_4t -1.588e-03 1.039e-03 -1.527 0.13065
## precio_lag_1:precio_media_movil_2 -5.461e-03 7.269e-03 -0.751 0.45470
## precio_lag_1:precio_media_movil_4 4.779e-03 7.264e-03 0.658 0.51253
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 76.19 on 79 degrees of freedom
## (17 observations deleted due to missingness)
## Multiple R-squared: 0.9537, Adjusted R-squared: 0.9478
## F-statistic: 162.6 on 10 and 79 DF, p-value: < 2.2e-16
Limpiamos el modelo con la regresión stepwise.
El R2 es prácticamente igual, pero ahora sólo quedan las variables relevantes, que además recogen la evolución del precio en el corto plazo (2 trimestres) y en el medio plazo (4 trimestres, 1 año:
la variación de los 4 últimos trimestres y su interacción con el precio unitario (esto permite que el modelo pueda asumir que las variaciones de precio entre 4 trimestres dependa de en qué nivel esté el precio en ese momento; un cambio de 100 € en el precio no tiene la misma importancia si el precio unitario está en 800 €/m2 que si está en 2.000 €/m2).
la interacción entre el precio unitario y la media móvil “corta” (2 trimestres).
##
## Call:
## lm(formula = precio_3_anyo ~ precio_lag_1 + variacion_precio_4t +
## precio_media_movil_2 + precio_lag_1:variacion_precio_4t +
## precio_lag_1:precio_media_movil_2, data = zona_precios)
##
## Residuals:
## Min 1Q Median 3Q Max
## -152.592 -48.512 5.202 40.153 184.726
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.465e+02 8.130e+01 -6.722 2.02e-09 ***
## precio_lag_1 1.115e+00 1.057e+00 1.055 0.294
## variacion_precio_4t 5.168e+00 5.070e-01 10.193 2.39e-16 ***
## precio_media_movil_2 1.334e+00 1.084e+00 1.231 0.222
## precio_lag_1:variacion_precio_4t -2.088e-03 2.951e-04 -7.076 4.14e-10 ***
## precio_lag_1:precio_media_movil_2 -6.671e-04 4.920e-05 -13.559 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 75.06 on 84 degrees of freedom
## (17 observations deleted due to missingness)
## Multiple R-squared: 0.9522, Adjusted R-squared: 0.9493
## F-statistic: 334.6 on 5 and 84 DF, p-value: < 2.2e-16
¿Y cómo queda todo esto en un gráfico?
¿Y si suavizamos previamente la curva de precios observada?
Por ejemplo, en Albacete justo después del comienzo de la crisis parece que los precios se recuperan. Pero eso no parece que tenga mucho sentido económico, por lo que podría ser más adecuado suavizar la curva. En rojo aparece la curva suavizada, que hace que los cambios de precios entre trimestres sean mucho más suaves.
Pues bien, va a resultar mucho más sencillo aplicar el modelo sobre la curva suavizada que sobre la original, obtendremos un modelo con mucho mejor R2, con menos “picos” en los precios estimados.
En negro: serie de precios original.
En rojo: serie de precios suavizada.
En azul: modelo predicción precio a 3 años.
Para tener un mayor nivel de detalle, el siguiente paso es definir las series de precios con una mayor granularidad que la provincial.
Para eso hacemos uso de las áreas de valor y del historial de ofertas inmobiliarias obtenidas a través de Idealista y Parsebox. Las área de valor ya fueron utilizadas en el informe de actualización de valor para viviendas residenciales. Se definen como la unión de distritos censales de forma que se alcance un número significativo de testigos (50 en promedio por trimestre).
La idea es sustituir una parte de la serie provincial de precios por los precios del área de valor; en concreto, desde el 2018T hasta 20221T (17 trimestres). Y sobre esos datos realizar la predicción del precio a 3 años.
El resultado se puede visualizar en el siguiente mapa de calor:
https://fraguima.shinyapps.io/app_factor_hip/
¿Qué entendemos por una “caída significativa” del precio? ¿Una previsión de caídas en el precio del 10% o más en los próximos 3 años?
A modo de resumen del mapa:
Un 0,7% de los testigos ofertados en portales están en zonas donde la caída del precio es superior al 10%.
Un 12,2% de los testigos están en zonas con previsión negativa en el precio.