MÓDULO 1: Introducción a Python (7 horas)
- Instalación de Python, Jupyter Notebook y JupiterLab y entornos virtuales (Collaborate)
- Sintaxis básica: variables, tipos de datos, estructuras de control
- Manipulación de listas, diccionarios y funciones
- Introducción a librerías: numpy, pandas, matplotlib
MÓDULO 2: Análisis de Datos Económicos con Pandas (7 horas)
- Estructuras de datos en pandas: Series y DataFrames
- Importación y manipulación de datos (CSV, Excel, bases de datos)
- Filtrado, ordenación y agregación de datos
- Análisis de datos macroeconómicos (PIB, inflación, tasas de interés)
- Creación de gráficos con matplotlib y seaborn
MÓDULO 3: Estadística y Econometría con Python (7 horas)
- Introducción a statsmodels y scipy
- Estadística descriptiva aplicada a datos financieros
- Distribuciones de probabilidad y simulaciones de Montecarlo
- Regresión lineal y modelos econométricos básicos
- Evaluación de modelos y diagnóstico de regresión
MÓDULO 4: Finanzas Cuantitativas y Series Temporales (7 horas)
- Introducción a yfinance y pandas_datareader para obtener datos bursátiles
- Cálculo de rentabilidad, volatilidad y riesgo financiero
- Modelado de series temporales con statsmodels.tsa
- Análisis de correlaciones entre activos
MÓDULO 5: Valoración de Activos y Gestión de Carteras (7 horas)
- Modelo de Valoración de Activos Financieros (CAPM)
- Frontera eficiente y teoría de Markowitz
- Cálculo de Beta y Sharpe Ratio
- Optimización de carteras con scipy.optimize
- Simulación de escenarios de inversión
MÓDULO 6: Proyecto Final (10 horas)
- Definición de un problema económico financiero a resolver
- Recolección y limpieza de datos
- Análisis e interpretación de resultados
- Presentación del proyecto con visualización interactiva
https://gabors-data-analysis.com/chapter-details/
Los lenguajes naturales (inglés, español, chino, etc.) son los que hablamos las personas. No fueron diseñados, sino que evolucionaron de manera espontánea. Son ambiguos, redundantes y usan metáforas o expresiones figuradas.
Los lenguajes formales, en cambio, son creados por las personas con fines específicos (ej. notación matemática, fórmulas químicas, lenguajes de programación). Tienen reglas estrictas de sintaxis, que incluyen:
Tokens: elementos básicos (números, símbolos, elementos químicos).
Estructura: la forma en que esos tokens se combinan.
Por ejemplo, 3+3=6 es correcto en matemáticas, pero 3=+6$ no lo es porque contiene un token inválido ($) y un error de estructura.
La interpretación de estas reglas se llama parsing: descomponer una frase o instrucción en sus partes para entender su semántica (significado).
Diferencias principales:
Ambigüedad: alta en lenguajes naturales, casi nula en los formales.
Redundancia: común en los naturales para evitar malentendidos; mínima en los formales.
Literalidad: los formales significan exactamente lo que dicen; los naturales permiten metáforas e ironías.
Una comparación útil:
Poesía: ambigua y cargada de efectos sonoros o emocionales.
Prosa: más clara, pero aún con ambigüedad.
Programas: completamente literales y analizables por tokens y estructura.
Consejo: leer lenguajes formales requiere atención al detalle, reconocer tokens y estructuras, y evitar errores mínimos de sintaxis que pueden cambiar por completo el significado.
---
Tradicionalmente, el primer programa que se escribe en un nuevo lenguaje se llama Hello, World!, porque lo único que hace es mostrar en pantalla las palabras Hello, World!.
En Python, el código fuente es:
print("Hello, World!")
Este es un ejemplo de la función print, que no imprime en papel, sino que muestra un valor en la pantalla. El resultado es:
Hello, World!
Las comillas en el programa indican el inicio y el final del texto, pero no aparecen en el resultado.
Algunas personas juzgan la calidad de un lenguaje de programación por lo simple que es escribir Hello, World!. Según ese criterio, Python es uno de los lenguajes más sencillos.
-------------
activecode
Un entorno único que permite ejecutar Python directamente desde un navegador web.
algoritmo
Una lista de pasos, ordenados, que si se siguen exactamente resuelven un problema.
bug
Un error en un programa.
bytecode (código intermedio)
Un lenguaje intermedio entre el código fuente y el código objeto. Muchos lenguajes modernos primero compilan a bytecode y luego lo interpretan con una máquina virtual.
codelens
Un entorno interactivo que permite controlar la ejecución paso a paso de un programa en Python.
comentario
Información dentro de un programa destinada a otros programadores; no afecta a la ejecución.
compilar
Traducir un programa de un lenguaje de alto nivel a uno de bajo nivel de una sola vez, para su posterior ejecución.
depuración (debugging)
Proceso de encontrar y corregir errores en un programa (de sintaxis, semánticos o de ejecución).
excepción
Otro nombre para un error en tiempo de ejecución.
ejecutable
Otro nombre para el código objeto que ya está listo para ejecutarse.
lenguaje formal
Lenguaje diseñado por personas para un fin específico (ej. matemáticas, programación).
lenguaje de alto nivel
Lenguaje de programación como Python, pensado para ser fácil de leer y escribir por humanos.
interpretar
Ejecutar un programa en lenguaje de alto nivel traduciéndolo línea por línea.
lenguaje de bajo nivel
Lenguaje diseñado para ser fácil de ejecutar por un ordenador (ej. lenguaje máquina, ensamblador).
lenguaje natural
Lenguas habladas que evolucionaron de forma natural (ej. español, inglés).
código objeto
Resultado que produce un compilador tras traducir el programa.
parsear (análisis sintáctico)
Examinar un programa y analizar su estructura sintáctica.
portabilidad
Propiedad de un programa que permite ejecutarlo en distintos tipos de computadoras.
función print
Función en Python que muestra un valor en pantalla.
resolución de problemas
Proceso de definir un problema, encontrar una solución y expresarla claramente.
programa
Secuencia de instrucciones que especifican a una computadora qué hacer.
lenguaje de programación
Vocabulario y reglas gramaticales para dar instrucciones a una computadora.
shell de Python
Interfaz interactiva de Python donde se pueden escribir comandos y ejecutarlos inmediatamente (>>>).
error en tiempo de ejecución
Error que ocurre mientras el programa se está ejecutando y lo detiene.
error semántico
Error que hace que el programa haga algo distinto de lo que pretendía el programador.
semántica
El significado de un programa.
modo shell
Forma de usar Python escribiendo expresiones directamente en la consola y viendo el resultado inmediato.
código fuente
Instrucciones escritas en un lenguaje de alto nivel, antes de compilarse o interpretarse.
sintaxis
La estructura de un programa.
error de sintaxis
Error que impide analizar e interpretar el programa.
token
Elemento básico de la sintaxis de un programa (similar a una palabra en un idioma natural).