Saltar al contenido

DarwinexDownload v0.0.1

    Descargar los datos siempre es la primera tarea si queremos hacer un análisis de datos, y en Darwinex no ha sido nunca una tarea fácil. Por esta razón, y después de la buena acogida del artículo para descargar datos de esta plataforma he creado darwinexDownloader, una librería para python que con solo instalarla y ejecutar una línea nos devolverá los datos que queremos.

    No pensaba publicarla tan pronto, pero creo que aun estando en una fase tan temprana ayudará a mucha gente a descargar código, y a mí a que la vosotros encontréis fallos, propongáis mejoras y nuevas funcionalidades que igual a mi no se me han ocurrido.

    dd pypi

    La librería se encuentra en el repositorio de Github donde podéis ver el código fuente con el que se hace la librería y el paquete para la instalación se encuentra en Pypi, donde también tenéis una breve documentación de como funciona la herramienta.

    Sin más os paso a presentar la herramienta con la que podemos descargar datos desde Darwinex en solo 3 líneas!

    Instalación

    La herramienta darwinexDownloader se instala de forma muy sencilla utilizando pypi. Para instalarla solo deberemos hacer:

    pip install darwinexDownloader

    Con esto ya tendremos la librería instalada en nuestro entorno y lista para funcionar a partir de este momento.

    Funcionamiento

    Con la librería ya instalada solo nos queda importarla en nuestro código para empezar a funcionar con ella. Esto se realiza de la siguiente forma:

    import DarwinexDownloader

    Una vez importado lo siguiente que debemos hacer es inicializar la librería que vamos a utilizar, esto se hace con el siguiente código:

    dwnx = DarwinexDownloader.Connection('your_user', 'your_password')

    Donde ya tendremos en la variable dwnx la conexión con la que vamos a poder realizar la descarga. Como se puede ver en el código la forma de conexión es muy sencilla utilizando darwinexDownloader ya que solo tenemos que pasarle el usuario y contraseña que nos da Darwinex para realizar la descarga del código a través de su FTP..

    Acto seguido ya podemos realizar la descarga de código de una forma muy sencilla a través del método “download”:

    data = dwnx.download('EURUSD', "28-06-2022", "29-06-2022", '15Min')

    En el código podemos ver que necesitamos cuatro datos para la descarga de los datos:

    1. Ticker: que lógicamente debe de existir dentro de Darwinex para poder ser descargado, como podemos comprobar en la web de Darwinex.
    2. Fecha de inicio: Fecha desde la cual se quiere empezar a descargar los datos. El formato de la fecha tiene que ser dd-mm-yyyy.
    3. Fecha de Fin: Fecha hasta la que descargaremos los datos. El formato de la fecha, al igual que en la anterior, tiene que ser dd-mm-yyyy.
    4. Frecuencia: la temporalidad con la que queremos ver los datos de Darwinex una vez descargados.

    Una vez que se ejecute este comando ya tendremos los datos en la variable data de esta forma:

    DateopenhighlowcloseVolume
    2022-06-28 00:00:001.057971.058501.057891.05810952330000.0
    2022-06-28 00:15:001.058121.058521.058071.05825549950000.0
    2022-06-28 00:30:001.058241.058531.057731.05779503900000.0
    2022-06-29 23:30:001.052181.052381.052041.05237244950000.0
    2022-06-29 23:45:001.052361.052381.052171.05220291050000.0

    Para la frecuencia con la que se pueden descargar los datos utilizamos los timeframes de la librería pandas. Los que más utilizaremos para descargar los datos de trading serán las siguientes:

    • ‘1Min’
    • ‘5Min’
    • ’15Min’
    • ’30Min’
    • ‘1H’
    • ‘4H’
    • ‘1D’
    • ‘Week’
    • ‘Month’

    Pero si miráis en la librería de timeframes podéis poner los datos en el formato que vosotros queráis.

    Prueba rápida

    Si quereís realizar alguna prueba de como funciona la librería de forma rápida podéis hacerlo desde google colab.

    En la primera celda poner:

    !pip install darwinexDownloader

    Y en la segunda celda podeis poner lo siguiente:

    import darwinexDownloader
    dwnx = darwinexDownloader.Connection('igarciaferreira', 'T8059Bb39v238p')
    data = dwnx.download('EURUSD', "28-06-2022", "29-06-2022", '15Min')
    data

    Con solo esto ya podéis hacer pruebas de librería para ver como funciona y como os devuelve los datos.

    Preguntas, sugerencias y problemas

    Si durante la ejecución de la librería surge algún problema podéis ir poniéndola en el github de darwinexDownloader e iré resolviendo los errores según vaya pudiendo. Para abrir un nuevo error se hace sobre el botón “New issue” con vuestra cuenta de github abierta:

    new issue

    Una vez pulsado irás a otra pantalla donde ya puedes poner el problema que has encontrado y así yo podré solucionarlo lo antes posible:

    issue

    Al igual que con los problemas, si veis alguna funcionalidad que os falta y que pudiera hacer mejor la librería también la podeis poner en el mismo Github y de la misma forma, y en cuanto pueda subiré una nueva versión con los cambios que se han producido, tanto al github como a pypi para que os lo podáis descargar sin problemas.

    Conclusiones

    Aunque es una versión muy temprana de la herramienta y soy consciente de que todavía le queda mucho por mejorar espero que os pueda ayudar a la descarga de los datos y que os haga la vida más sencilla al no tener que preocuparos de esta parte de código.

    Como veis ahora con darwinexDownloader es muy sencillo descargar los datos históricos directamente desde Darwinex:

    1. Importar la librería
    2. Inicializarla con nuestros datos
    3. Descargar los datos que queremos.

    Esta librería hará que solo os tengáis que preocupar de analizar los datos para como lo hacen nuestros amigos de Quantdemy en su artículo sobre backtesting o simplemente para realizar cualquier estrategia como esta esta con LSTM que ya hemos visto en el blog.

    Como siempre, y más en este caso, cualquier duda o aclaración no dudéis en ponerla en los comentarios o enviarme un mensaje por cualquiera de los medios y os contestaré lo antes posible.

    2 comentarios en «DarwinexDownload v0.0.1»

    1. Ivan,
      Tu blog una joia, y el descargador de datos una herramienta imprescindible.
      No obstante, a menudo es necesario conocer si la operación se ha cruzado en el bid o en el ask.

      ¿Sabes si hay alguna forma de tener datos tick del bid y del ask?
      Gracias
      Ferran

      1. Hola Ferrán,

        Gracias por tus palabras. 🙂

        Actualmente el script solo descarga datos del BID, pero me apunto para la siguiente versión (que sacaré a principios del próximo mes), que se pueda decidir entre la descarga de BID, ASK o ambos para hacer comparaciones y estadísticas.

        Un saludo.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *