Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Python se estaba convirtiendo rápidamente en el lenguaje de facto para la ciencia de datos, el aprendizaje automático y el procesamiento del lenguaje natural; abriría nuevas fuentes de innovación. Python nos permitiría comprometernos con su considerable comunidad de código abierto, aportando tecnología punta a la empresa con rapidez, al tiempo que permitía la personalización.1
Kindman y Taylor (2021)
¿Por qué este libro?
Las tendencias tecnológicas como las plataformas de negociación en línea, el software de código abierto y los datos financieros abiertos han reducido significativamente o incluso eliminado por completo las barreras de entrada a los mercados financieros mundiales. Las personas que sólo disponen de una cantidad limitada de dinero pueden iniciarse, por ejemplo, en el comercio algorítmico en cuestión de horas. Los estudiantes y académicos de disciplinas financieras con un poco de conocimientos previos de programación pueden aplicar fácilmente las innovaciones de vanguardia en aprendizaje automático y profundo a los datos financieros, en los ordenadores portátiles que llevan a sus clases de finanzas. En cuanto al hardware, los proveedores de la nube ofrecen capacidades profesionales de computación y procesamiento de datos a partir de 5 USD al mes, facturadas por horas y con una escalabilidad casi ilimitada. Hasta ahora, la educación financiera académica y profesional sólo ha reaccionado parcialmente a estas tendencias.
Este libro enseña tanto finanzas como el lenguaje de programación Python desde la base. Hoy en día, las finanzas y la programación en general son disciplinas estrechamente entrelazadas, y Python es uno de los lenguajes deprogramación más utilizados en el sector financiero. El libro presenta fundamentos relevantes -de las matemáticas, las finanzas y la programación- de forma integrada pero no demasiado técnica. Tradicionalmente, las finanzas teóricas y las finanzas computacionales han sido disciplinas más o menos separadas. El hecho de que las clases de programación (porejemplo, en Python, pero también en C++) se hayan convertido en parte integrante del Máster en Ingeniería Financiera y de programas universitarios similares, demuestra lo importantes que se han vuelto los conocimientos de programación en este campo.
Sin embargo, los fundamentos matemáticos, las finanzas teóricas y las técnicas básicas de programación se siguen enseñando con bastante frecuencia de forma independiente y sólo más tarde en combinación con las finanzas computacionales. Este libro adopta un enfoque diferente, ya que los conceptos matemáticos -por ejemplo, del álgebra lineal y la teoría de la probabilidad- proporcionan el trasfondo común sobre el que se introducen tanto las ideas financieras como las técnicas de programación. De este modo, los conceptos matemáticos abstractos se motivan desde dos ángulos diferentes: las finanzas y la programación. Además, este enfoque permite una nueva experiencia de aprendizaje, ya que tanto los conceptos matemáticos como los financieros pueden traducirse directamente en código ejecutable que luego puede explorarse de forma interactiva.
Varios lectores de otro de mis libros, Python for Finance (2ª ed., 2018, O'Reilly), señalaron que no enseña ni finanzas ni Python desde cero. De hecho, se espera que el lector de ese libro tenga al menos cierta experiencia tanto en finanzas como en programación (Python). Teoría Financiera con Python cierra esta brecha en la medida en que se centra en conceptos más fundamentales tanto de las finanzas como de la programación en Python. En ese sentido, los lectores que terminen este libro pueden progresar de forma natural hacia Python para las Finanzas para seguir construyendo y mejorando sus conocimientos de Python aplicados a las finanzas. En el capítulo final se ofrece más orientación.
Público objetivo
He escrito varios libros sobre Python aplicado a las finanzas. Mi empresa, The Python Quants, ofrece una serie de clases de formación en vivo y en línea sobre Python para finanzas. Para todos mis libros anteriores y las clases de formación, se espera que los lectores del libro y los participantes en la formación tengan ya algunos conocimientos previos tanto de finanzas como de programación en Python o un lenguaje similar.
Este libro parte completamente de cero, con la única expectativa de que el lector tenga algunos conocimientos básicos de matemáticas, en particular de cálculo, álgebra lineal y teoría de la probabilidad. Aunque el material del libro es casi autocontenido en cuanto a los conceptos matemáticos introducidos, se recomienda un libro de introducción a las matemáticas como el de Pemberton y Rau (2016)2 para obtener más detalles si es necesario.
Dado este enfoque, este libro se dirige tanto a estudiantes como a académicos y profesionales que quieran aprender sobre teoría financiera, modelización de datos financieros y el uso de Python para las finanzas computacionales. Es una introducción sistemática al campo sobre la que construir a través de libros o programas de formación más avanzados. Los lectores con una formación financiera formal encontrarán los elementos matemáticos y financieros del libro bastante sencillos y directos. Por otra parte, los lectores con una sólida formación en programación encontrarán los elementos de Python bastante sencillos y fáciles de entender.
Aunque el lector no tenga intención de pasar a temas más avanzados de finanzas computacionales, negociación algorítmica o gestión de activos, los conocimientos de Python y finanzas adquiridos con este libro pueden aplicarse provechosamente a problemas estándar de finanzas, como la composición de carteras de inversión según la teoría moderna de carteras (TPM). Este libro también enseña, por ejemplo, a valorar opciones y otros derivados mediante métodos estándar como las carteras de réplica o la fijación de precios neutral al riesgo.
Este libro también es adecuado para ejecutivos del sector financiero que quieran aprender sobre el lenguaje de programación Python aplicado a las finanzas. Por otra parte, también pueden leerlo quienes ya dominen Python u otro lenguaje de programación y quieran aprender más sobre la aplicación de Python a las finanzas.
Visión general del libro
El libro consta de los siguientes capítulos:
- Capítulo 1
-
El primer capítulo sienta las bases para el resto del libro. Proporciona una historia concisa de las finanzas, explica el enfoque del libro sobre el uso de Python para las finanzas y muestra cómo configurar una infraestructura básica de Python adecuada para trabajar con el código proporcionado y los Cuadernos Jupyter que acompañan al libro.
- Capítulo 2
-
Este capítulo abarca el modelo de economía más sencillo, en el que es posible el análisis de las finanzas bajo incertidumbre: sólo hay dos fechas relevantes y dos estados futuros inciertos posibles. A veces se habla de una economía estática de dos estados. A pesar de su simplicidad, el marco permite introducir nociones básicas de las finanzas como el valor actual neto, la rentabilidad esperada, la volatilidad, los derechos contingentes, la replicación de opciones, la fijación de precios de arbitraje, las medidas de martingala, la completitud del mercado, la fijación de precios neutral al riesgo y las carteras de varianza media.
- Capítulo 3
-
Este capítulo introduce un tercer estado futuro incierto en el modelo, analizando una economía estática de tres estados. Esto nos permite analizar nociones como el mercado incompleto, la indeterminación de las medidas martingala, la superreplicación de los créditoscontingentes y la replicación aproximada de los créditos contingentes. Tambiénintroduce el Modelo de Fijación de Precios de los Activos de Capital como enfoque de fijación de precios de equilibrio para los activos financieros.
- Capítulo 4
-
En este capítulo se presentan los agentes con sus problemas de decisión individuales. El análisis de este capítulo se basa principalmente en el paradigma dominante en finanzas para la toma de decisiones bajo incertidumbre: la maximización de la utilidad esperada. Sobre la base del llamado agente representativo, se introducen nociones de equilibrio y se ilustra la conexión entre la optimalidad y el equilibrio, por un lado, y las medidas martingala y la fijación de precios neutral al riesgo, por otro. El agente representativo es también una forma de superar las dificultades que surgen en las economías con mercados incompletos.
- Capítulo 5
-
Este capítulo generaliza las nociones y resultados anteriores en un entorno con un número finito, pero posiblemente grande, de estados futuros inciertos. Se requiere un poco más de formalismo matemático para analizar esta economía estática general.
- Capítulo 6
-
Partiendo del análisis de la economía estática general, este capítulo introduce la dinámica en el arsenal de modelización financiera, para analizar dos casos especiales de economía dinámica en tiempo discreto. La idea básica es que la incertidumbre sobre los estados futuros de una economía en general se resuelve gradualmente con el tiempo. Esto puede modelizarse mediante el uso de procesos estocásticos, un ejemplo de los cuales es el proceso binomial, que puede representarse visualmente mediante un árbol binomial.
- Capítulo 7
-
El capítulo final proporciona una gran cantidad de recursos adicionales para explorar en los campos de las matemáticas, la teoría financiera y la programación en Python. También proporciona orientación sobre cómo proceder una vez que el lector haya terminado este libro.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Importante
Este elemento indica información importante.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://finpy.pqp.io.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativade código de ejemplo de este libro en la documentación de tu producto sí requierepermiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo, este libro se atribuiría como "Teoría Financieracon Python por Yves Hilpisch (O'Reilly). Copyright 2022 Yves Hilpisch, 978-1-098-10435-1".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/fin-theory-with-python.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para obtener noticias e información sobre nuestros libros y cursos, visita http://oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly.
Síguenos en Twitter: http://twitter.com/oreillymedia.
Míranos en YouTube: http://www.youtube.com/oreillymedia.
Agradecimientos
Este libro se ha beneficiado de los valiosos comentarios de los delegados de nuestros Programas de Certificación en Python para Finanzas. Han señalado numerosas mejoras a lo largo del tiempo.
Agradezco varios comentarios útiles que he recibido de los revisores técnicos.
También agradezco la ayuda y el apoyo que he recibido de todo el equipo de O'Reilly.
Dedico este libro a mi esposa Sandra. Eres el amor de mi vida.
1 Kindman, Andrew y Tom Taylor, "Por qué reescribimos en Python nuestra plataforma de gestión de activos de 30.000 millones de USD". (29 de marzo de 2021), https://oreil.ly/GghS6.
2 Encuentra la referencia completa de este título en el capítulo 7.
Get Teoría Financiera con Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.