Código
2 + 2[1] 4
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.
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:
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.
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:
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.
Al finalizar este curso serás capaz de:
Estas competencias forman parte del trabajo habitual de analistas financieros, auditores, consultores, gestores de riesgos e investigadores.
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:
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.
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.
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:
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:
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:
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:
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():
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:
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:
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:
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:
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:
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:
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.