Lista de recursos para aprender Python

aprender python para finanzasEl propósito de este artículo es que quiero compartir una selección de recursos útiles que estoy utilizando para aprender Python y de esta manera crear una guía para todos aquellos que también son novatos en esto.

Mi objetivo es aprender a utilizar Python para el análisis de datos y desarrollo de sistemas de trading, entonces comprenderán que la mayoría de recursos apuntan a estos fines.

La idea es ir completando esta lista poco a poco. Si tienes algún aporte o idea para mejorarla espero tus comentarios al final de la entrada.

Hay muchos recursos en inglés, pero también he encontrado algunas muy buenas opciones en español.

AVISO:  Python y sus librerías tienen actualizaciones frecuentes.  Es por esto que en algunas fuentes, los ejemplos de códigos de programas quedan desactualizados muy rápido. Mi consejo es chequear primero las versiones.


Introducción a Python:
Básicos para familiarizarse con la programación en Python

Libros y documentos gratuitos

La mayoría son con licencias libres, por lo que los puedes descargar sin problemas.

  1. Think Python es un libro de base para aprender a programar. Tiene think python 2 editiondos versiones, el original para Python 2 y la segunda edición adaptada para Python 3.
    Lo puedes descargar libremente o si lo prefieres en papel lo puedes comprar en Amazon.
    ¡Además lo mejor de los mejor es que lo tienes traducido al español! ¡Gracias! aquí tienes la traducción de Think Python (version python 2) como Aprenda a pensar como un programador con Python
  2. Tutorial oficial de Python en español: Es la versión traducida del original de Guido van Rossum http://tutorial.python.org.ar/

2) Cursos en video

Introduction to Computer Science and Programming: Son las grabaciones del 2008 de las clases en el MIT School of Engineering. Es básicamente un curso completo para aprender a programar comenzando desde cero y utilizando Python.
El curso está en inglés pero puedes ver algunos videos con traducción automática al español.
Entre la bibliografía del curso se incluye Think Python, que como te mencionaba más arriba también puedes encontrar este libro traducido al español.

Programming for Everybody (Getting Started with Python): Esta formación la encontrarás en la web de Coursera. Básica pero muy útil.


Cursos interactivos

Este tipo de cursos me gustan porque aplican la filosofía de «aprender haciendo». La idea es que cuando ponemos en práctica los conocimientos, los interiorizamos y comprendemos mejor.

Codecademi propone una aplicación web interactiva para aprender python.
Es de nivel inicial. El curso se divide en unidades, puedes probar la mayoría de las unidades de forma gratuita pero hay algunas que son de pago.

Datacamp propone de forma gratuita y de pago varios cursos interactivos para aprender Python. Lo que me parece interesante de su formula es que además de proponer cursos generales sobre cómo programar en Python y utilizar los diferentes paquetes, también puedes seguir cursos más orientados al análisis de datos.  Por ejemplo: Python for Data Science, Importing & Managing Financial Data in Python, Statistical Thinking in Python, etc.
Los cursos combinan videos con ejercicios interactivos. Generalmente te permite ver y ejercitar los primeros capítulos de cada curso de forma gratuita y después si quieres continuar te proponen un abono mensual.

Dataquest: Similar a DataCamp.

Nota: Tanto en Codeacademi como en Datacamp algunas unidades parecen muy básicas (sobretodo las primeras que son gratuitas), pero lo bueno es que te las puedes saltar y ejercitar sólo las unidades que desees.


Tutoriales:

Datacamp también tiene en su web un apartadado con tutoriales y otro con Cheat Sheets. Personalmente me han resultado muy útiles


Aprender Python: orientación Análisis Cuantitativo

Cursos online y videos gratuitos

Youtube es una fuente casi inagotable de cursos para aprender Python. Los hay de todo tipo. Aquí están seleccionados aquellos que me han parecido más adaptados al enfoque de data analysis.

  • En español: Curso Python para científicos e ingenieros ( parte 1 y 2) de la Universidad de Alicante:

En la descripción de cada vídeo tienes el tema tratado así como los links de descarga a los notebooks de Ipython.

  • Otro en español: el canal de Youtube de Paduel Py donde hay grabaciones de sus webinars como por ejemplo este sobre Backtest con Pandas

    Tienen formado un grupo bastante grande en Telegram Python para Trading.

  • Si te manejas bien con inglés, en el canal Youtube de Sentdex encontrarás cientos de videos sobre programación con Python (gracias Mikel por el dato).
  • Aunque tengo que citar a Datacamp otra vez, puedes ver que en su canal de Youtube tienen esta playlist  Python For Data Science: Introduction bastante útil para un nivel inicial.

  • Esta es la playlist de Youtube del curso de Udacity Machine Learning for Trading . Utiliza python como lenguaje y va desde una introducción general a temas más específicos.


Artículos de algunos blogs:

Español:

Inglés:

  • QuantStart: En esta web encontrarás artículos sobre trading cuantitativo utilizando Python y C++.
    Aviso: Aquí ya dejamos atrás el nivel inicial, te encontrarás con mucha econometría, mates y estadística. Muy recomendable para todos aquellos que deseen profundizar sus conocimientos en trading algorítmico.

Libros

python for financePython for finance de Yves Hilpisch.
Un libro muy completo ( aunque reconozco que algunos códigos que comparte en los ejemplos están desactualizados – La edición que yo tengo es de 2014).
Trabaja bastante el tema de opciones ( valoración y riesgos) así que si operas estos productos puede intersarte.

libro howard bandyQuantitative Technical Analisis de Howard Bandy.
En su último libro, Bandy cambia su enfoque para desarrollar sistemas de trading y utiliza Python para el análisis de datos y machine learning.
Puedes leer nuestra reseña de este libro aquí.

python para analisis cuantitativoPython For Quants  de Pawel Lachowicz. Este libro no lo he encontrado en papel, creo que sólo existe la versión Kindle y de momento sólo está el volumen I.

analisis de datos en python

Python for Data Analysis de Wes McKinney.
Si necesitas trabajar con Pandas, este libro para mí entra en la categoría de imprescindibles.
Lo estoy utilizando principalmente como manual de consulta y me ayuda a resolver muchas de mis dudas para poder «exprimir» mejor los datos.

trading algorítmico

Successful Algorithmic Trading – Applying the scientific method for profitable trading results, de Michel Halls-Moore está orientado a inversores con algo de experiencia, tanto en trading como en programación, que busquen aprender cómo implementar estrategias de trading algorítmico con Python.

Puedes leer mis notas de lectura sobre este libro aquí.


Formación con plataformas

Quantopian: No puedo dejar de mencionar a Quantopian dentro de la lista de recursos.
Si te interesa Python y el trading quantitativo en su web encontrarás muchísimo material y por supuesto, la aplicación web para testear tus algoritmos.

En su apartado learn puedes encontrar algunos scripts que te pueden servir de inspiración, además de una lista de ***Lectures*** donde profundizar en muchos conceptos claves del trading cuantitativo.
También tienen un canal de youtube con tutoriales que van desde temas como «introducción a Python» hasta la creación de algoritmos de trading en su plataforma.


Este listado de recursos aún no está completo.
¿Quieres añadir más propuestas a la lista? Te espero en los comentarios.

11 comentarios en «Lista de recursos para aprender Python»

  1. Hola.
    También estoy en lo mismo. Estudiando tambien Tensorflow para el desarrollo de un sistema inteligente que aprenda por si mismo.

    Podemos trabajar conjuntamente en el tema.

    Responder
      • Buenas Duk, no se si echastes un vistazo a la web de Sent, el caso es que SentDex obtenía los datos de una API de Yahoo que era gratuita (chartapi) y de un día para otro desapareció, realmente era muy util pues fácilmente podias bajar los datos de cualquier accion, estoy buscando alternativas gratuitas, y por ahora lo mejor que he encontrado es quandl y, aunque hay muchísimos datos gratuitos faltan algunos que me interesan especialmente, como pueden ser los valores de nuestro querido IBEX, me preguntaba si conoces alguna alternativa.

        Gracias por tu estupendo blog.

        Responder
        • Hola Mikel,
          Si, he mirado algunos videos de Sentdex y también me modificado el artículo para incluirlo como recurso (aparece en «Cursos online y videos gratuitos»). Gracias por la info.

          Ahora el tema de la API de Yahoo. Desde hace meses que hay problemas para trabajar con los datos desde yahoo y no sólo el tema de la conexión sino que los datos de quotes parecen haber cambiado también ( en agunos tickers yo no hay ajustes cuando antes había, algunas quotes han desaparecido, etc, etc). La verdad es que no he encontrado una solución completa y de momento estoy mezclando fuentes de datos:
          – algunos datos desde google finance
          – para algunos análisis he comenzado a utilizar Quantopian ( solo tienen mercado USA y futuros). Hay una parte de backtest básicas en «algorithms» y pero lo que mas utilizo son los «notebooks» que son iguales a los de Jupyter.
          – algunos datos desde IB

          Ibex, la verdad es que no casi no lo toco. GoogleFinance tiene datos, pero no sé si son de una calidad aceptable.

          Espero que algo de esto te sea útil,
          Un saludo

          Responder
  2. Saludos Duk2, estoy muy interesado en aprender phyton con interés de estrategias de trading. Dado que veo que estas muy vinculado a dicho lenguaje y dado el volumen de información que estas compartiendo; me gustaría saber cual recomendarías como punto de inicio para un principiante con mínimos conocimientos en programación.

    Mil gracias de antemano.

    Responder
  3. Hola Duk2.

    Me gustaría dejar como recurso en español el grupo de Telegram https://t.me/pythontrading , donde compartimos y debatimos recursos de trading algorítmico y cuantitativo usando Python.

    Desde el grupo estamos haciendo una serie de webinars en directo para explicar distintos aspectos del trading con el uso de Python, hasta el momento llevamos 3, cuya grabación se puede ver en YouTube https://www.youtube.com/channel/UCXlC-cwT1KLk5d8JIp6evrg.

    Responder

Deja un comentario

ESTRATEGIAS DE TRADING