Econometría para Finanzas y Contabilidad con R

Autor/a

Catalina B. García-García y Román Salmerón-Gómez

Presentación del material docente

Vivimos en una economía caracterizada por una disponibilidad creciente de información. Las empresas generan diariamente miles de registros contables, las bolsas producen millones de precios de activos financieros y los organismos públicos publican de forma continua indicadores económicos y financieros. Sin embargo, disponer de datos no implica necesariamente disponer de conocimiento.

Una de las principales competencias de un graduado en Finanzas y Contabilidad consiste precisamente en transformar esa información en evidencia útil para la toma de decisiones. Por ejemplo, un analista financiero puede preguntarse si un elevado nivel de endeudamiento reduce la rentabilidad de una empresa. Un director financiero puede querer conocer qué variables explican la liquidez empresarial o qué factores incrementan la probabilidad de impago de un cliente. Del mismo modo, un gestor de inversiones puede intentar identificar qué variables influyen sobre la rentabilidad de una cartera o evaluar el efecto de las variaciones de los tipos de interés sobre los mercados financieros.

Responder a este tipo de preguntas requiere mucho más que observar unos pocos datos o comparar empresas de forma aislada. Es necesario disponer de herramientas que permitan identificar relaciones entre variables, cuantificar su intensidad y evaluar si dichas relaciones responden realmente a un comportamiento económico o si son simplemente consecuencia del azar. La disciplina que proporciona estas herramientas es la Econometría.

A lo largo de este libro aprenderemos cómo construir modelos que permitan explicar fenómenos económicos y financieros utilizando datos reales, interpretar correctamente los resultados obtenidos y valorar la fiabilidad de las conclusiones alcanzadas.

¿Por qué estudiar Econometría?

Muchos estudiantes comienzan un curso de Econometría preguntándose cuál será su utilidad profesional. La respuesta es sencilla: prácticamente todas las decisiones relevantes en el ámbito financiero y contable se apoyan, de una u otra forma, en el análisis de datos.

Un profesional de las Finanzas y la Contabilidad utiliza modelos cuantitativos para responder preguntas como las siguientes:

  • ¿Qué características presentan las empresas más rentables?
  • ¿Cómo afecta el endeudamiento a la rentabilidad económica?
  • ¿Existe una relación entre la liquidez y el riesgo financiero?
  • ¿Qué variables permiten anticipar situaciones de insolvencia?
  • ¿Cómo afectan las variaciones de los tipos de interés a los mercados financieros?
  • ¿Qué factores explican la evolución del precio de una acción?

Estas cuestiones no pueden responderse únicamente mediante la intuición o la experiencia profesional. Es necesario analizar información procedente de un número elevado de empresas o de observaciones temporales y utilizar técnicas estadísticas que permitan extraer conclusiones objetivas. La Econometría proporciona precisamente ese conjunto de herramientas.

La Econometría en Finanzas y Contabilidad

Aunque la Econometría nació ligada al análisis económico, actualmente constituye una herramienta fundamental en numerosos ámbitos relacionados con las Finanzas y la Contabilidad.

Entre sus principales aplicaciones destacan:

  • análisis de la rentabilidad empresarial;
  • valoración de empresas;
  • análisis del riesgo financiero;
  • estimación del coste de capital;
  • predicción de insolvencias;
  • detección de fraude contable;
  • análisis de carteras de inversión;
  • valoración de activos financieros;
  • evaluación del impacto de políticas económicas;
  • elaboración de previsiones financieras.

En consecuencia, la Econometría forma parte del conjunto de competencias que debe dominar cualquier profesional dedicado al análisis financiero, la auditoría, la consultoría o la investigación económica.

ImportanteLo que aprenderás en este libro

Al finalizar este curso serás capaz de:

  • construir modelos econométricos;
  • estimar relaciones entre variables financieras;
  • interpretar coeficientes e indicadores estadísticos;
  • validar modelos econométricos;
  • realizar predicciones;
  • comunicar resultados con rigor técnico.

Estas competencias forman parte del trabajo habitual de analistas financieros, auditores, consultores, gestores de riesgos e investigadores.

Estructura y método

Con el fin de que el estudiante pueda concentrarse en los conceptos econométricos sin cambiar continuamente de contexto, el manual utilizará dos bases de datos como hilo conductor usando un sistema de colores para diferenciarlos, de manera que el bloque azul esta relacionado con una base de datos contables mientras que el bloque verde esta relacionado con una base de datos financieros. Se presentan a continuación ambas bases:

NotaBase de datos 1: Top 100 empresas andaluzas del transporte
  • Tipo de datos: corte transversal.
  • Unidades de observación: 100 empresas.
  • Se han seleccionado las 100 empresas con forma jurídica de sociedad limitada con datos disponibles en el 2024 del sector de transporte (IAE:722) en Andalucía y con mayor volumen de ventas en 2024.
  • Variables principales: ROA, endeudamiento, liquidez corriente, activo y numero de empleados.
  • Aplicación: análisis de la rentabilidad empresarial.
  • Fuente: SABI
TipBase de datos 2: El IBEX35
  • Tipo de datos: serie temporal.
  • Frecuencia: mensual ()
  • Variables principales: Precio de cierre mensual y rendimientos logaritmicos del IBEX 35, S&P500 y Eurostoxx50.
  • Aplicación: análisis de la dependencia del IBEX35 con respecto al mercado financiero europeo y americano.
  • Fuente: Yahoo finance

Estas dos bases de datos aparecerán de forma recurrente en los distintos capítulos, permitiendo aplicar las diferentes técnicas econométricas a problemas reales de Finanzas y Contabilidad.

Importante¿Qué software utilizaremos?

Durante el libro todos los análisis se realizarán mediante R y RStudio.

No es necesario tener conocimientos previos de programación.

Cada capítulo incluirá el código necesario para reproducir completamente los resultados obtenidos.

Instalación y primeros pasos con R y RStudio

Los ejemplos prácticos de este libro se desarrollan utilizando R y RStudio. Para poder reproducir los análisis es necesario tener instalados ambos programas. Se recomienda utilizar una versión reciente de R (por ejemplo, R ≥ 4.2) y la versión actual de RStudio Desktop.

Si nunca has utilizado R, la instalación solo es necesaria una vez. A partir de ese momento, bastará con abrir RStudio para trabajar con los ejemplos del libro.

1. Instalar R

En primer lugar, es necesario instalar R, que es el programa que ejecuta las instrucciones y realiza los cálculos estadísticos.

La descarga se realiza desde la página oficial de R:

Descargar R desde CRAN

Selecciona el sistema operativo de tu ordenador (Windows, macOS o Linux) y sigue las instrucciones de instalación.

2. Instalar RStudio

Aunque R puede utilizarse directamente, en este libro trabajaremos con RStudio, un entorno de desarrollo que facilita la escritura, ejecución y organización del código.

RStudio Desktop puede descargarse gratuitamente desde la página oficial de Posit:

Descargar RStudio Desktop

Una vez instalado, RStudio utilizará la instalación de R que se haya realizado previamente.

3. El entorno de RStudio

Al abrir RStudio se muestran diferentes paneles. El Console permite escribir y ejecutar directamente instrucciones de R. En los ejemplos del libro será habitual introducir el código en un archivo de tipo R Markdown (.Rmd), que permite combinar explicaciones, ecuaciones, resultados y código en un mismo documento.

Por ejemplo, para realizar una operación sencilla podemos escribir:

Código
2 + 2
[1] 4

Al ejecutar el código, R devuelve el resultado:

[1] 4

No es necesario aprender de memoria todas las instrucciones de R. A lo largo del libro se irán introduciendo las funciones necesarias para realizar los análisis econométricos.

4. Instalación de los paquetes

R incorpora numerosas funciones estadísticas de forma predeterminada. Sin embargo, para algunas de las aplicaciones desarrolladas en este libro utilizaremos paquetes adicionales, que amplían las funciones disponibles.

Los paquetes se instalan una sola vez. Por ejemplo, los principales paquetes que utilizaremos son:

Código
install.packages(c(
  "readxl",      # importar archivos de Excel
  "wooldridge",  # bases de datos de Wooldridge
  "car",         # contrastes y herramientas para regresión
  "lmtest",      # contrastes de hipótesis
  "sandwich"     # errores estándar robustos
))

Una vez instalado un paquete, no es necesario volver a instalarlo cada vez que se inicia R. Sin embargo, sí será necesario cargarlo en cada sesión en la que se quieran utilizar sus funciones. Para ello se utiliza la función library():

Código
library(readxl)
library(car)
Loading required package: carData

Por tanto, es importante distinguir entre instalar y cargar un paquete:

  • install.packages() instala el paquete en el ordenador. Se realiza normalmente una sola vez.
  • library() carga el paquete para poder utilizar sus funciones durante la sesión de trabajo.

5. Importar una base de datos de Excel

Una de las tareas más habituales en las aplicaciones de finanzas y contabilidad será trabajar con bases de datos almacenadas en Excel. Para ello utilizaremos el paquete readxl.

Por ejemplo, si disponemos del archivo BD_SABI.xlsx y queremos importar la hoja denominada Datos, podemos utilizar:

Código
library(readxl)

datos <- read_excel(
  "data/BD_SABI.xlsx",
  sheet = "Datos"
)

La instrucción read_excel() importa la información de Excel y la almacena en el objeto datos.

En R, el operador <- se utiliza para asignar un resultado a un objeto. Así, en:

Código
datos <- read_excel("data/BD_SABI.xlsx", sheet = "Datos")

se está indicando que el resultado obtenido al leer el archivo debe almacenarse en el objeto datos.

6. Comprobar que los datos se han importado correctamente

Antes de comenzar cualquier análisis es conveniente realizar una primera comprobación de la base de datos. Tres funciones especialmente útiles son str(), head() y summary().

La función str() permite conocer la estructura de la base de datos:

Código
str(datos)
tibble [100 × 9] (S3: tbl_df/tbl/data.frame)
 $ ROA               : num [1:100] 4.12 1.6 4.65 10.83 4.92 ...
 $ LIQUIDEZ_INMEDIATA: num [1:100] 0.11 0.037 0.042 2.058 0.028 ...
 $ LIQUIDEZ_GENERAL  : num [1:100] 1.007 1.19 1.36 3.814 0.789 ...
 $ ENDEUDAMIENTO     : num [1:100] 63.8 79.3 64.7 11.9 81.2 ...
 $ EBIT              : num [1:100] 3984 829 4230 7475 1540 ...
 $ VENTAS            : num [1:100] 151205 139602 124285 80433 36160 ...
 $ ACTIVOS           : num [1:100] 96688 51679 91036 69025 31330 ...
 $ EMPLEADOS         : num [1:100] 503 208 713 631 193 272 280 32 176 249 ...
 $ PROVINCIA         : chr [1:100] "Almería" "Huelva" "Huelva" "Almería" ...

La función head() muestra las primeras observaciones:

Código
head(datos)
# A tibble: 6 × 9
    ROA LIQUIDEZ_INMEDIATA LIQUIDEZ_GENERAL ENDEUDAMIENTO  EBIT  VENTAS ACTIVOS
  <dbl>              <dbl>            <dbl>         <dbl> <dbl>   <dbl>   <dbl>
1  4.12              0.11             1.01           63.8 3984. 151205.  96688.
2  1.60              0.037            1.19           79.3  829. 139602.  51679.
3  4.65              0.042            1.36           64.7 4230. 124285.  91036.
4 10.8               2.06             3.81           11.9 7475.  80433.  69025.
5  4.92              0.028            0.789          81.2 1540.  36160.  31330.
6 11.1               0.693            3.24           41.2 3136.  40614.  28131.
# ℹ 2 more variables: EMPLEADOS <dbl>, PROVINCIA <chr>

Por último, summary() proporciona un resumen descriptivo de las variables:

Código
summary(datos)
      ROA          LIQUIDEZ_INMEDIATA LIQUIDEZ_GENERAL ENDEUDAMIENTO    
 Min.   :-11.781   Min.   :0.0000     Min.   : 0.357   Min.   :  5.944  
 1st Qu.:  4.043   1st Qu.:0.0305     1st Qu.: 0.935   1st Qu.: 52.103  
 Median :  6.432   Median :0.1390     Median : 1.246   Median : 65.847  
 Mean   :  7.685   Mean   :0.3471     Mean   : 1.667   Mean   : 63.798  
 3rd Qu.: 11.187   3rd Qu.:0.4005     3rd Qu.: 1.705   3rd Qu.: 81.788  
 Max.   : 31.760   Max.   :2.4770     Max.   :11.900   Max.   :102.082  
      EBIT             VENTAS          ACTIVOS        EMPLEADOS     
 Min.   :-1090.0   Min.   :  7129   Min.   : 1243   Min.   :  6.00  
 1st Qu.:  217.9   1st Qu.:  9122   1st Qu.: 4954   1st Qu.: 46.75  
 Median :  513.4   Median : 12316   Median : 7992   Median : 72.50  
 Mean   :  867.4   Mean   : 19402   Mean   :12216   Mean   :104.15  
 3rd Qu.: 1078.0   3rd Qu.: 18263   3rd Qu.:12510   3rd Qu.:117.25  
 Max.   : 7474.6   Max.   :151205   Max.   :96688   Max.   :713.00  
     PROVINCIA  
 Length   :100  
 N.unique :  8  
 N.blank  :  0  
 Min.nchar:  4  
 Max.nchar:  7  
                

También podemos seleccionar únicamente algunas variables. Por ejemplo, si nuestra base contiene las variables ROA, ENDEUDAMIENTO y LIQUIDEZ_INMEDIATA:

Código
summary(
  datos[, c("ROA", "ENDEUDAMIENTO", "LIQUIDEZ_INMEDIATA")]
)
      ROA          ENDEUDAMIENTO     LIQUIDEZ_INMEDIATA
 Min.   :-11.781   Min.   :  5.944   Min.   :0.0000    
 1st Qu.:  4.043   1st Qu.: 52.103   1st Qu.:0.0305    
 Median :  6.432   Median : 65.847   Median :0.1390    
 Mean   :  7.685   Mean   : 63.798   Mean   :0.3471    
 3rd Qu.: 11.187   3rd Qu.: 81.788   3rd Qu.:0.4005    
 Max.   : 31.760   Max.   :102.082   Max.   :2.4770    

Estas tres funciones constituyen una primera comprobación básica que conviene realizar antes de estimar cualquier modelo. Permiten comprobar que la base se ha importado correctamente, conocer qué variables contiene y detectar posibles problemas iniciales en los datos.