Qué lenguaje de computación numérica es el mejor: Julia, MATLAB, Python o R?

Julia, MATLAB, Python y R se encuentran entre los lenguajes de programación numérica más utilizados por los investigadores de economía y finanzas. En este post, se comparan y contrastan en un breve resumen, estos cuatro lenguajes, sobre cuál es el mejor y cuál el peor (subjetivamente hablando).


1. Implementación de los algoritmos de Previsión de Riesgos Financieros: R y MATLAB son los ganadores, con Julia muy por detrás.

2. Características del lenguaje: en términos de características de lenguaje, Julia es la clara ganadora, con R, MATLAB y Python muy por detrás.

3. Velocidad: Cuando se trata de calcular la probabilidad de GARCH, R es la más lenta y Python la más rápida, con Julia no muy lejos.


4. Tratamiento de datos: Python también es bastante bueno en esto, con sus librerías capaces de hacer muchas de las mismas cosas, incluyendo algunas que R no puede hacer. Pero no parece tan fluido como R. Ya que en Python los datos para trabajar en economía y finanzas carecen de nombres de columnas, lo que hace que la recuperación de datos sea menos conveniente. La programación numérica requiere subconfigurar y modificar elementos en las estructuras de datos de forma rápida y eficiente. Es decir, muchas veces el acceso y cambio de elementos requiere una sintaxis especial como y a menudo una conversión de tipo explícito de las series de datos a matrices. MATLAB ha mejorado en términos de soporte de diferentes tipos de datos en actualizaciones recientes, con diferentes tipos de tablas para datos heterogéneos y matrices categóricas. Tiene funciones de importación para los tipos de archivos más comunes. El manejo de datos de Julia es deficiente en términos de tipos de archivos y opciones soportadas en la actualidad. Además, algunos paquetes todavía están siendo reorganizados, como los paquetes CSV y DataFrames para importar archivos CSV. Por lo tanto, cuando se trata del manejo de datos, Julia es la peor, seguida de MATLAB y Python, con R siendo la ganadora.

5. Bibliotecas: Cada uno de estos cuatro idiomas proporciona una infraestructura básica, pero muchas de las funciones especializadas se descargan en bibliotecas externas. MATLAB fue diseñado como un lenguaje numérico y tiene muchas funciones útiles incorporadas. Además, sus bibliotecas disponibles son muy ricas, especialmente para numerosas aplicaciones de ingeniería (por ejemplo, procesamiento de señales). R es aún mejor: probablemente hay una biblioteca para casi cualquier funcionalidad estadística que se pueda utilizar. La desventaja es que algunos de ellos son de baja calidad o están mal documentados, y puede haber múltiples bibliotecas para la misma funcionalidad, a menudo con diferentes especificaciones de argumentos y tipos de salida. Python tiene muchas bibliotecas disponibles, pero no tantas como R o MATLAB. Julia, al ser la recién llegada, es la que menos bibliotecas tiene con diferencia. Así que en términos de bibliotecas, Julia es la peor, seguida de Python y MATLAB, con R la mejor. Dicho esto, Python, Julia y R pueden llamar a las funciones entre sí. Por lo tanto, las bibliotecas en uno pueden ser utilizadas en todos, mitigando un poco el problema. Aunque esto puede ser útil en circunstancias especiales, es más natural y estable trabajar en un solo idioma.

6. Licencias: Tres de estos lenguajes (Julia, Python y R) son de código abierto, mientras que MATLAB es comercial, por lo que en términos de licencias y costes, MATLAB es el peor, y los otros tres iguales.

7. Facilidad de uso: Sin embargo, cuando se trata de facilidad de uso, MATLAB tiene un buen entorno de desarrollo integrado (IDE), el escritorio de MATLAB, con muy buena documentación. R ha recorrido un largo camino, con el RStudio es incluso mejor que el escritorio de MATLAB. Con Shiny permite que las aplicaciones web interactivas y los cuadros de mando se construyan directamente desde R, proporcionando medios de presentación de datos fáciles de usar en línea. R tiene una buena funcionalidad de trazado, con MATLAB no muy lejos. La distribución de Anaconda de Python incluye un buen IDE, Spyder. Los gráficos se realizan principalmente a través de Matplotlib, con una interfaz similar a la de MATLAB. Juno de Julia es un IDE integrado con el editor Atom que se parece y funciona como Spyder. Dicho esto, ocasionalmente experimentamos problemas de dentición, como retroalimentación de errores al no identificar la fuente exacta del error. Plots.jl se utiliza para graficar, a menudo basándose en paquetes de otros idiomas. Siendo bastante nuevos, los paquetes comúnmente usados en Julia todavía están experimentando cambios de vez en cuando. Esto ha dado como resultado una documentación incompleta o escasa. En muchas ocasiones, al traducir código de R/MATLAB a Julia, se tiene que buscar el código fuente para averiguar los ajustes requeridos (si es que existían en primer lugar). Además, muchos paquetes todavía utilizan subrutas obsoletas, con frecuentes advertencias que aparecen cuando se ejecutan. Por lo tanto, en términos de facilidad de uso, especialmente para los usuarios novatos, MATLAB es el mejor. R y Python van un poco por detrás, y Julia tiene mucho camino por recorrer.

En resumen:

Ninguno de estos cuatro idiomas lidera todos los criterios de evaluación. R y MATLAB se benefician de ser los veteranos, uno puede hacer casi cualquier cosa que quiera con ellos. Sin embargo, su edad lo demuestra: los idiomas son anticuados, con un bagaje considerable e ineficiencias. Python es más moderno, pero sus librerías carecen de comparación y la programación numérica es torpe. ¿Y qué hay de Julia? Es un lenguaje moderno, muy elegante y rápido. Lo que le falta en la actualidad es una biblioteca completa para el manejo de datos y cálculos numéricos. Julia ha estado bajo fuerte desarrollo, sin embargo, la versión 1.0 fue lanzada recientemente trayendo consigo estabilidad de la característica, haciendo más seguro el uso de Julia para proyectos a largo plazo. Entonces, ¿hay una clasificación clara? Reconociendo que esta evaluación es muy subjetiva: Para nuestros propósitos, y en general, R es el mejor lenguaje numérico para los investigadores en economía y finanzas.


Comentarios

Entradas populares de este blog

¿Qué significan los números en el triángulo de reciclaje de los plásticos?

Metallica versus Megadeth ¿quien es mejor? la estadística nos da la respuesta

Los programas más usados por economistas