0% encontró este documento útil (0 votos)
780 vistas16 páginas

Python para Finanzas Cuantitativas

Python es un lenguaje de programación interpretado y de propósito general que se ha convertido en el estándar para la computación científica y las finanzas cuantitativas debido a su simplicidad, código abierto y gran cantidad de bibliotecas. Se instala normalmente a través de distribuciones como Anaconda, que incluyen Python, herramientas de gestión de paquetes y entornos, y bibliotecas científicas populares como NumPy, SciPy y matplotlib. Python puede ser utilizado por desarrolladores profesionales, científicos

Cargado por

Johan Tisoy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
780 vistas16 páginas

Python para Finanzas Cuantitativas

Python es un lenguaje de programación interpretado y de propósito general que se ha convertido en el estándar para la computación científica y las finanzas cuantitativas debido a su simplicidad, código abierto y gran cantidad de bibliotecas. Se instala normalmente a través de distribuciones como Anaconda, que incluyen Python, herramientas de gestión de paquetes y entornos, y bibliotecas científicas populares como NumPy, SciPy y matplotlib. Python puede ser utilizado por desarrolladores profesionales, científicos

Cargado por

Johan Tisoy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 16

Python para Finanzas

Cuantitativas
Introducción, por qué Python, entorno, estructura, instalaciones
Introducción
• Python fue desarrollado inicialmente por Guido van Rossum en la
década de 1990 quien era un gran fan de Monty Python's Flying
Circus1, así que el nombre no tiene ninguna relación con ninguna gran
serpiente
• Python es un lenguaje de programación dinámico e interpretado
(compilado en bytecode) de propósito general
• Esto significa que podemos escribir declaraciones en el intérprete y se ejecutan
inmediatamente a diferencia de otros lenguajes como Java y C que son
lenguajes compilados
1 Serie
de sketches cómicos de la BBC emitida a finales de los 60 y principios de los 70, fue concebida, escrita e interpretada por los genios de la comedia conocidos colectivamente como
Monty Python (o simplemente Los Python)

Gabriela Facciano, FRM, CQF 2


Lenguaje interpretado vs complilado
Interpretado Compilado
• Los programas se ejecutan de forma • Es el lenguaje más convencional
indirecta mediante un programa • Los programas se convierten en código
intérprete que lee el código fuente y lo máquina mediante un compilador y
traduce en movimiento, en una serie de luego se ejecutan directamente. Este
cálculos y llamadas al sistema archivo ejecutable puede ejecutarse sin
• El código fuente tiene que ser necesidad de consultar el código fuente.
reinterpretado (y el intérprete presente) • Ofrecen un excelente rendimiento con un
cada vez que se ejecuta el código acceso limitado al sistema operativo y al
• Más lento que el compilado, con acceso hardware subyacentes
limitado al sistema operativo y al hardware • Pueden ser difíciles de programar
subyacentes • La mayor parte del software que utilizamos
• Más fácil de programar se entrega como binarios compilados, de un
• Menos estricto con los errores de software que el usuario no ve
codificación

Gabriela Facciano, FRM, CQF 3


Por qué Python?
• Python se está convirtiendo rápidamente en el estándar de la computación
científica, recibiendo mucha atención la aplicación de Python a las finanzas
matemáticas
• Su atractivo sigue creciendo tanto en el mundo académico como en la
industria. Entre sus características destacan:
• Lenguaje muy sencillo de aprender y fácil de mantener
• Lenguaje de código abierto y gratuito
• Creciente cantidad de módulos complementarios (add-ons)
• Multiplataforma: disponible en Windows, Mac OS, Linux y casi todos los sistemas
operativos (Android también) utilizado por Google, YouTube, Instagram, NASA, CERN,
Disney
• Especialmente fácil de interconectar con C++
• Potente lenguaje que puede utilizarse ampliamente para resolver problemas de
finanzas, economía y análisis de datos

Gabriela Facciano, FRM, CQF 4


Algunas características
• Código abierto
• Python y la mayoría de las bibliotecas y herramientas de apoyo disponibles sonde
código abierto y generalmente vienen con licencias bastante flexibles y abiertas
• Interpretado
• La implementación de referencia de CPython es un intérprete del lenguaje que traduce
el código Python en tiempo de ejecución a código byte ejecutable
• Multiparadigma
• Python soporta diferentes paradigmas de programación e implementación, como la
orientación a objetos y la programación imperativa, funcional o procedimental
• Multipropósito
• Python puede utilizarse para el desarrollo rápido e interactivo de código, así como para
aplicaciones de gran tamaño; puede utilizarse para operaciones de sistemas de bajo
nivel de bajo nivel, así como para tareas de análisis de alto nivel

Gabriela Facciano, FRM, CQF 5


Algunas características
• Multiplataforma
• Python está disponible para los sistemas operativos más importantes, como Windows,
Linux y macOS. Se utiliza para crear aplicaciones de escritorio y web aplicaciones web,
y se puede utilizar en los clústeres más grandes y los servidores más servidores, así
como en dispositivos tan pequeños como la Raspberry Pi
• Escritura dinámica
• Los tipos en Python se infieren en general en tiempo de ejecución y no se declaran
estáticamente como en la mayoría de los lenguajes compilados
• Consciente de la sangría
• A diferencia de la mayoría de otros lenguajes de programación, Python utiliza la sangría
para marcar los bloques de código en lugar de paréntesis, corchetes o punto y coma
• Recolección de basura
• Python ha automatizado la recolección de basura, evitando la necesidad de que el
programador gestione la limpieza de la memoria

Gabriela Facciano, FRM, CQF 6


El ecosistema de Python
• Disponibilidad de un gran número de paquetes y herramientas
• Generalmente tienen que ser importados
• Importar significa hacer que un paquete esté disponible para el espacio de nombre actual y el proceso de
interpretación de Python actual
• El propio Python ya viene con un gran conjunto de paquetes y módulos que
mejoran el intérprete básico en diferentes direcciones
• Biblioteca Estándar de Python
• Por ejemplo, los cálculos matemáticos básicos pueden realizarse sin ninguna importación,
mientras que las funciones matemáticas más especializadas deben importarse a través del
módulo math
• Ejemplos de librerías
• NumPy y SciPy: fines matemáticos generales
• EarthPy: ciencias de la tierra
• AstroPy: Astronomía
• Pygame: escritura de videojuegos; admite arte, música, sonido, proyectos de vídeo, interacción con el ratón
y el teclado

Gabriela Facciano, FRM, CQF 7


El ecosistema de Python
• Existen diferentes distribuciones de Python (Python oficial, Anaconda Python,
Enthought Canopy, pythonxy)
• Cada distribución proporciona herramientas específicas: editores, paquetes preinstalados,
soporte para una plataforma determinada, etc.
• IPython se presentó originalmente en dos versiones populares: una versión de
shell y otra basada en el navegador (el Notebook)
• ¿Qué significa el término shell?
• En informática, el shell o intérprete de órdenes​ o intérprete de comandos es el programa informático que
provee una interfaz de usuario para acceder a los servicios del sistema operativo.
• La variante del Notebook resultó ser tan útil y popular que evolucionó hasta
convertirse en un proyecto independiente y agnóstico del lenguaje, ahora llamado
Jupyter
• Teniendo en cuenta estos antecedentes, no es de extrañar que Jupyter Notebook
herede la mayoría de las características beneficiosas de IPython, y ofrezca mucho
más, por ejemplo, en lo que respecta a la visualización

Gabriela Facciano, FRM, CQF 8


La batería bibliotecas científicas
• NumPy
• Proporciona un objeto arreglo multidimensional para almacenar datos homogéneos u homogéneos o heterogéneos
• También proporciona funciones/métodos optimizados para operar sobre este objeto arreglo
• SciPy
• Es una colección de subpaquetes y funciones que implementan importantes funcionalidades estándar a menudo necesarias en
ciencia o finanzas
• Por ejemplo, se encuentran funciones para la interpolación spline cúbica así como para la integración numérica
• matplotlib
• Paquete de trazado y visualización más popular para Python, que proporciona capacidades de visualización tanto en 2D como
en 3D
• pandas
• Se basa en NumPy y proporciona clases más ricas para gestionar y analizar series temporales y datos tabulares
• Está estrechamente integrado con matplotlib para el trazado y PyTables para el almacenamiento y la recuperación de datos
• scikit-learn
• Popular paquete de Machine Learning (ML) que proporciona una interfaz de programación de aplicaciones (API) unificada para
muchos algoritmos de ML diferentes, como para la estimación, la clasificación o la agrupación

Gabriela Facciano, FRM, CQF 9


El espectro de usuarios
• Desarrolladores de software profesionales
• Desarrolladores científicos o los expertos en la materia
• Programadores ocasionales
• Programadores principiantes

Gabriela Facciano, FRM, CQF 10


Instalando Python
• Por su sencilla interfaz utilizaremos Anaconda
• Se trata de una plataforma de ciencia de datos de código abierto de CONTINUUM
que cuenta con muchas herramientas
• una distribución de Python,
• un gestor de paquetes conda,
• una forma de gestionar el entorno y
• muchas bibliotecas y paquetes preinstalados: por ejemplo, NumPy, SciPy y Jupyter notebooks
• El uso de Anaconda facilita enormemente el proceso de aprendizaje y evita
muchos problemas a los que se enfrentan los nuevos programadores de Python
• Y lo que es más importante, es excelente para la enseñanza en el aula
• Para descargarlo, simplemente busca en Google Python Anaconda y serás llevado a
https://www.anaconda.com/download/

Gabriela Facciano, FRM, CQF 11


Instalando Anaconda

Gabriela Facciano, FRM, CQF 12


Cómo saber si su PC/portátil es un sistema de
32 o 64 bits?
• Linux uname -a y si ves x64 entonces 64-bit sino 32-bit
• Mac uname -a también
• Windows hacer clic en Inicio, haga clic con el botón derecho en Mi PC y
luego haga clic en Propiedades si ve 64 bits es un sistema de 64 bits
• Windows 11 hacer clic en Inicio, clic en Sistema, clic Información

Gabriela Facciano, FRM, CQF 13


Anaconda

Gabriela Facciano, FRM, CQF 14


Qué es el Jupyter Notebook?
• El Jupyter Notebook (antes conocido como IPython) es una aplicación web
que permite crear y compartir documentos que contienen código en vivo,
ecuaciones, visualizaciones y texto explicativo
• Sus usos incluyen: limpieza y transformación de datos, simulación numérica,
modelización estadística, aprendizaje automático y mucho, mucho más
• Los notebooks tienen la extensión .ipnb, aunque es posible guardarlos como
archivo .py u otros formatos (pdf, html)
• Utilizar un Jupyter Notebook tiene una serie de ventajas:
• Es interactivo
• Es fácil de documentar y compartir los resultados
• Se puede acceder a múltiples kernels (o lenguajes, por ejemplo, R)

Gabriela Facciano, FRM, CQF 15


Google colab
• Google Colab o Google Colaboratory es una nueva interfaz para ejecutar código
Python creado por Google
• los cuadernos se pueden compartir fácilmente con otros para colaborar (de ahí el nombre) en el
proyecto de programación
• La plataforma es gratuita y se puede acceder a ella utilizando la cuenta de Gmail
• Paso 1: Crear un Drive en https://drive.google.com/
• Paso 2: Una vez creado el Drive, se puede acceder a la nueva ficha y se puede
acceder a múltiples kernels (lenguajes - por ejemplo, R)
• Al pulsar la pestaña Nuevo para crear un nuevo documento utilizando la opción de Google hay
que buscar el Colaboratorio de Google, suele estar en la opción más abajo
• Una vez que se encuentra el Google Colaboratory, se puede seleccionar
• Paso 3: Nombrar el cuaderno pulsando al lado del ipynb situado en la parte
superior derecha

Gabriela Facciano, FRM, CQF 16

También podría gustarte