Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Hoy en día, Python es sin duda una de las principales plataformas tecnológicas estratégicas del sector financiero. Cuando empecé a escribir la primera edición de este libro en 2013, todavía tenía muchas conversaciones y presentaciones en las que defendía sin descanso las ventajas competitivas de Python en las finanzas frente a otros lenguajes y plataformas. A finales de 2018, esto ya no es una cuestión: las instituciones financieras de todo el mundo ahora simplemente intentan hacer el mejor uso de Python y su potente ecosistema de paquetes de análisis de datos, visualización y aprendizaje automático.
Más allá del ámbito de las finanzas, Python también es a menudo el lenguaje elegido en los cursos introductorios de programación, como en los programas de informática. Más allá de su sintaxis legible y su enfoque multiparadigma, una de las principales razones es que Python también se ha convertido en un ciudadano de primera clase en las áreas de inteligencia artificial (IA), aprendizaje automático (AM) y aprendizaje profundo (AD). Muchos de los paquetes y bibliotecas más populares en estas áreas están escritos directamente en Python (como scikit-learn
para ML) o disponen de envoltorios de Python (como TensorFlow
para DL).
Las propias finanzas están entrando en una nueva era, y dos fuerzas principales están impulsando esta evolución. La primera es el acceso programático a básicamente todos los datos financieros disponibles; en general, esto ocurre en tiempo real y es lo que conduce a las finanzas basadas en datos. Hace décadas, la mayoría de las decisiones de negociación o inversión se basaban en lo que los operadores y gestores de carteras podían leer en el periódico o conocer a través de conversaciones personales. Entonces aparecieron terminales que llevaban los datos financieros en tiempo real a las mesas de los operadores y gestores de cartera a través de ordenadores y comunicación electrónica. Hoy en día, las personas (o los equipos) ya no pueden seguir el ritmo de las enormes cantidades de datos financieros que se generan ni siquiera en un minuto. Sólo las máquinas, con su velocidad de procesamiento y potencia de cálculo cada vez mayores, pueden seguir el ritmo del volumen y la velocidad de los datos financieros. Esto significa, entre otras cosas, que la mayor parte del volumen actual de operaciones bursátiles mundiales está dirigido por algoritmos y ordenadores, y no por operadores humanos.
La segunda fuerza principal es la creciente importancia de la IA en las finanzas. Cada vez más instituciones financieras intentan sacar partido de los algoritmos de ML y DL para mejorar las operaciones y sus resultados de negociación e inversión. A principios de 2018, se publicó el primer libro dedicado al "aprendizaje automático financiero", lo que subraya esta tendencia. Sin duda, vendrán más. Esto conduce a lo que podría llamarse las finanzas de la IA primero, en las que algoritmos flexibles y parametrizables de ML y DL sustituyen a la teoría financiera tradicional, una teoría que puede ser elegante pero que ya no es muy útil en la nueva era de las finanzas basadas en datos y en la IA primero.
Python es el lenguaje de programación y el ecosistema adecuados para afrontar los retos de esta era de las finanzas. Aunque este libro abarca algoritmos básicos de ML para el aprendizaje supervisado y no supervisado (así como redes neuronales profundas, por ejemplo), se centra en las capacidades de procesamiento y análisis de datos de Python. Para tener plenamente en cuenta la importancia de la IA en las finanzas -ahora y en el futuro- es necesario otro tratamiento en forma de libro. Sin embargo, la mayoría de las técnicas de IA, ML y DL requieren tal cantidad de datos que, de todos modos, dominar las finanzas basadas en datos debería ser lo primero.
Esta segunda edición de Python para Finanzas es más una mejora que una actualización. Por ejemplo, añade una parte completa(Parte IV) sobre negociación algorítmica. Este tema ha adquirido recientemente bastante importancia en la industria financiera, y también es bastante popular entre los operadores minoristas. También añade una parte más introductoria(Parte II) en la que se presentan temas fundamentales de programación y análisis de datos en Python antes de aplicarlos en partes posteriores del libro. Por otra parte, se han suprimido por completo algunos capítulos de la primera edición. Por ejemplo, el capítulo sobre técnicas y paquetes web (como Flask
) se ha suprimido porque hoy en día existen libros más dedicados y centrados en estos temas.
Para la segunda edición, he intentado abarcar aún más temas relacionados con las finanzas y centrarme en las técnicas de Python que son especialmente útiles para la ciencia de los datos financieros, el trading algorítmico y las finanzas computacionales. Al igual que en la primera edición, el enfoque es práctico, en el sentido de que la implementación y la ilustración van por delante de los detalles teóricos y, por lo general, me centro en el panorama general más que en las opciones de parametrización más arcanas de una determinada clase, método o función.
Una vez descrito el planteamiento básico de la segunda edición, conviene subrayar que este libro no es una introducción a la programación en Python ni a las finanzas en general. Existe un gran número de excelentes recursos para ambas cosas. Este libro se sitúa en la intersección de estos dos apasionantes campos, y asume que el lector tiene cierta formación en programación (no necesariamente en Python), así como en finanzas. Estos lectores aprenderán a aplicar Python y su ecosistema al ámbito financiero.
Puedes acceder y ejecutar los cuadernos Jupyter y los códigos que acompañan a este libro a través de nuestra Plataforma Quant. Puedes registrarte gratuitamente en http://py4fi.pqp.io.
Mi empresa (The Python Quants) y yo mismo proporcionamos muchos más recursos para dominar Python para la ciencia de datos financieros, la inteligencia artificial, el comercio algorítmico y las finanzas computacionales. Puedes empezar visitando los siguientes sitios:
De todas las ofertas que hemos creado en los últimos años, estoy muy orgulloso de nuestro Programa de Certificación en Python para el Comercio Algorítmico. Ofrece más de 150 horas de formación en directo y grabada, más de 1.200 páginas de documentación, más de 5.000 líneas de código Python y más de 50 cuadernos Jupyter. El programa se ofrece varias veces al año y lo actualizamos y mejoramos con cada cohorte. El programa en línea es el primero de su clase, ya que los participantes que lo superan obtienen un certificado universitario oficial en cooperación con la Universidad de Ciencias Aplicadas htw saar.
Además, recientemente he puesto en marcha The AI Machine, un nuevo proyecto y empresa para estandarizar la implementación de estrategias de trading algorítmico automatizado. Con este proyecto, queremos implementar de forma sistemática y escalable lo que hemos ido enseñando a lo largo de los años en este campo, con el fin de capitalizar las muchas oportunidades en el campo del trading algorítmico. Gracias a Python -y a las finanzas basadas en datos y centradas en la IA- este proyecto es posible hoy en día incluso para un equipo pequeño como el nuestro.
Cerré el prefacio de la primera edición con las siguientes palabras:
Me entusiasma que Python se haya establecido como una tecnología importante en el sector financiero. También estoy seguro de que desempeñará un papel aún más importante allí en el futuro, en campos como los derivados y el análisis de riesgos o la informática de alto rendimiento. Mi esperanza es que este libro ayude a profesionales, investigadores y estudiantes por igual a sacar el máximo partido de Python cuando se enfrenten a los retos de este fascinante campo.
Cuando escribí estas líneas en 2014, no podía predecir lo importante que llegaría a ser Python en las finanzas. En 2018, me siento aún más feliz de que mis expectativas y esperanzas se hayan superado con creces. Quizá la primera edición del libro haya tenido algo que ver en ello. En cualquier caso, quiero dar las gracias a todos los incansables desarrolladores de código abierto, sin los cuales no se podría haber escrito la exitosa historia de Python.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas de :
- Cursiva
-
Indica nuevos términos, URL y direcciones de correo electrónico.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a paquetes de software, lenguajes de programación, extensiones de archivo, nombres de archivo, elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
El material complementario de (en particular, los cuadernos Jupyter y los scripts/módulos de Python) está disponible para su uso y descarga en http://py4fi.pqp.io.
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 un CD-ROM de 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 significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero no exigimos, la atribución . Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Python para Finanzas, 2ª Edición, por Yves Hilpisch (O'Reilly). Copyright 2019 Yves Hilpisch, 978-1-492-02433-0".
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 http://bit.ly/python-finance-2e.
Para hacer comentarios o preguntas técnicas sobre este libro, envía un correo electrónico a bookquestions@oreilly.com.
Para obtener noticias y más información sobre nuestros libros y cursos, consulta nuestro sitio web en http://www.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
Quiero dar las gracias a a todos los que han contribuido a hacer realidad este libro, en particular al equipo de O'Reilly, que realmente ha mejorado mi manuscrito en muchos aspectos. Quiero dar las gracias a los revisores técnicos, Hugh Brown y Jake VanderPlas. El libro se benefició de sus valiosos comentarios y de sus numerosas sugerencias. Cualquier error restante, por supuesto, es mío.
Michael Schwed, con quien colaboro estrechamente desde hace más de diez años, merece un agradecimiento especial. A lo largo de los años, me he beneficiado de innumerables maneras de su trabajo, apoyo y conocimientos de Python.
También quiero dar las gracias a Jason Ramchandani y Jorge Santos, de Refinitiv (anteriormente Thomson Reuters), por su continuo apoyo no sólo a mi trabajo, sino también a la comunidad del código abierto en general.
Al igual que la primera edición, la segunda edición de este libro se ha beneficiado enormemente de las docenas de charlas sobre "Python para las finanzas" que he impartido a lo largo de los años, así como de los cientos de horas de formación sobre "Python para las finanzas". En muchos casos, los comentarios de los participantes ayudaron a mejorar mis materiales de formación, que a menudo acabaron siendo capítulos o secciones de este libro.
Escribir la primera edición me llevó aproximadamente un año. En general, escribir y actualizar la segunda edición también me llevó alrededor de un año, bastante más de lo que esperaba. Esto se debe principalmente a que el tema en sí me mantiene muy ocupada en lo que se refiere a viajes y negocios, por lo que estoy muy agradecida.
Escribir libros requiere muchas horas en soledad y esas horas no se pueden pasar con la familia. Por ello, gracias a Sandra, Lilli, Henry, Adolf, Petra y Heinz por toda vuestra comprensión y apoyo, no sólo en lo que respecta a la escritura de este libro.
Dedico la segunda edición de este libro, como la primera, a mi encantadora, fuerte y compasiva esposa Sandra. Ella ha dado un nuevo significado a lo largo de los años a lo que realmente es la familia. Gracias.
Get Python para Finanzas, 2ª Edición 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.