Inicio

PorIvan

Python: borrar nans desde Pandas.

df.dropna() # borrará las filas con valores nulos

df.dropna(1) # borrará las columnas con valores nulos.

df.dropna(inplace=True) # Mantiene el DataFrame con entradas válidas en la misma variable

Ref: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html

PorIvan

TALLER: Como crear y optimizar un robot para Forex. p.2

Parte.2

En esta segunda sección del articulo, aprenderemos a:

  • Optimizar el asesor experto en metatrader 5.
  • Analizar su comportamiento VS otros robots con el lenguaje Python.
  • Modificar nuestro robot y crear nuevos.

Recordamos que para este primer taller no es necesario ningún software de pago, está diseñado para poder crear el asesor experto (o robot), optimizarlo y ponerlo en funcionamiento.

El objetivo final es entender las bases para el diseño de un robot flexible al mercado, a la vez que tenemos un acercamiento a Metatrader 5, Fxdreema y Python.

Optimización:

FASE 1- INSTALACIÓN.

Para el siguiente ejercicio, necesitaremos copiar nuestro robot RSI de ejemplo, el cual te lo facilité en la primera parte, lo podrás encontrar AQUI. Lo instalaremos en la carpeta de metatrader 5 en la ruta siguiente: C:\TU_RUTA DE INSTALACION\MQL5\Experts\Advisors

Te adjunto la siguiente imagen para acceso rápido desde metatrader, tan solo tenemos que ir a Archivo / Abrir Carpeta de Datos , luego tendrás que navegar por MQL5 Experts y llegar a Advisors.

Si tus conocimientos son mínimos en Metatrader 5, te recomiendo una lectura rapida a https://www.metatrader5.com/es/automated-trading .

FASE 2- OPTIMIZACIÓN.

Antes de optimizar, vamos a destacar varios conceptos; la optimización de metatrader 5 se basa en cruzar los datos que tenemos en nuestro robot, de manera que va creando mutaciones genéticas hasta encontrar el individuo que cumple mejor con las expectativas. Si te interesa esta parte, ya sabes https://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico .

Traducido al castellano, coge las variables de entrada de nuestro robot, hace unos pasos aleatorios y conforme va obteniendo buenos resultados, se centra en esas variables que dieron buenos resultados sin tener que perder el tiempo en recorrer una a una. Pueden ser variables o simplemente una zona concreta de la variable.

Ejemplo:

Supongamos que los mejores resultados se estan obteniendo con RSI entre 60 y 70, Metatrader se centrará en ese rango y quitará prioridad a rangos como 0 y 59 .

Bien, ahora vamos a proceder al ajuste; para la siguiente prueba activaremos el Probador de estrategias, desde las opciones Ver, y seleccionaremos las siguientes opciones:

  • Experto, seleccionamos nuestro robot RSI.
  • símbolo EURUSD.
  • Periodo, tan solo 1 mes (para hacer la prueba mas rapida).
  • Velas H1.
  • Modelado: Solo precios de apertura.
  • Deposito : 1000 euros
  • Optimización: Rapida algoritmo genético.

Adjunto imagen:

Acto seguido iremos a parámetros de entrada y colocaremos la siguiente configuración básica para optimizar.(ver imagen).

Ya podemos darle al botón verde EMPEZAR!

Esto, optimizará las horas y los periodos de RSI para nuestro robot, lo importante no serán los resultados, si no saber si vamos en el buen camino a la hora de diseñar nuestro robot.

Para esto una vez finalizado, iremos a resultados de optimización y dando al botón derecho del ratón exportaremos el fichero de resultados como XML de excel, guardaremos el fichero donde queramos recordando la ubicación.

El objetivo es descartar rápidamente si un sistema tiene potencial o no en ese Activo o si es peor que otro Asesor Expertos que tengamos. Esto lo haremos con un estudio sencillo en Python.

FASE 3- ANÁLISIS CON PYTHON.

Bien, ya tenemos un fichero XML con nuestra optimización, ya que Metatrader tiene muchas carencias de análisis, vamos a apoyarnos en Python. Para esto he desarrollando unas sencillas lineas de código (he intentado que el código sea lo mas escueto y fácil de leer para todo aquel que no tenga conocimientos) para analizar nuestro fichero de optimizaciones haremos un ultimo paso para no meter mas código en Python y perder el objetivo del ejercicio.

Abriremos el fichero de optimizaciones XML con el Excel o cualquiera compatible y lo guardaremos como CSV.

PorIvan

Pandas:Añadir un DataFrame a otro DataFrame

 Tenemos dos DataFrames:
 In [7]: df1
 Out[7]:
 A B
 0 a1 b1
 1 a2 b2
 In [8]: df2
 Out[8]:
 B C
 0 b1 c1
Anexar un DataFrame a otro:
 In [9]: df1.append(df2)
 Out[9]:
 A B C
 0 a1 b1 NaN
 1 a2 b2 NaN
 0 NaN b1 c1
Evitar indices duplicados, en este caso el 0:

 In [10]: df1.append(df2, ignore_index = True)
 Out[10]:
 A B C
 0 a1 b1 NaN
 1 a2 b2 NaN
 2 NaN b1 c1

Ref:  https://riptutorial.com/es/pandas/topic/6456/anexando-a-dataframe 
PorIvan

BLOG

Todo aquello que encuentro interesante en mi dia a dia, está publicado en el Blog, encontrareis aportaciones propias o bien algún resumen interesante o solución a algún problema que encontré en mi dia a dia.

La idea principal es recopilarlo y luego le iré dando forma.

PorIvan

TALLER: Como crear y optimizar un robot para Forex.

Parte.1

En esta primera sección del articulo, aprenderemos a crear un sencillo robot para forex, no es necesario conocimientos de programación y se dará acceso al robot para poder modificarlo vosotros mismos y así hacer vuestras pruebas, el robot será vuestro.

Para este primer taller no es necesario ningún software de pago, está diseñado para poder crear el asesor experto (o robot), optimizarlo y ponerlo en funcionamiento.

Los únicos requisitos serán los siguiente:

  1. Tener el software metatrader 5. (gratuito)
  2. Disponer de una cuenta Demo en cualquier broker. (gratuito).
  3. Registrarse en la versión (gratuita) Fxdreema.

Si necesitas ayuda en alguno de estos puntos, te adjunto la siguiente pagina con los links a cada punto: https://www.asesoresexpertos.com/info-taller-de-robots/ .

La propuesta es: Robot con RSI y filtros horarios.

Para este primer robot (el inicio de muchos), usaremos el software Fxdreema, el cual nos permite de forma gratuita crear hasta 10 condiciones y 10 robots. Esto es mas que suficiente para iniciarse y crear nuestro pequeño laboratorio.

Accediendo al siguiente link; https://fxdreema.com/shared/gNNoNtsI podemos ver la estructura y las reglas de nuestro robot, así como modificarlo y compilarlo, para usarlo en metatrader 5.

Las reglas son sencillas:

  1. El asesor se activa cada vez que recibe una vela nueva, si estamos en Timeframe de 30 minutos, pasado ese tiempo el robot analiza el mercado.
  2. Filtro horario: determinaremos en que horario queremos trabajar, si no lo sabemos podemos ver en que franja horaria abren los grandes mercados, un ejemplo seria de 8.00 a 10.00 aperturas Europeas.
  3. Filtro RSI: La regla es muy sencilla dado un Rsi > 70, al decaer de este nivel 70, efectuaremos una venta y esta se cerrará al tener un nivel inferior a 40. Para las compras seria Rsi<30 y cierre en Rsi>60.

Las reglas son sencillas para usarlo como introducción a una optimización correcta, como veremos en los siguientes pasos, los cuales serán en la parte.2 del Taller de robots.

De momento os dejamos con esta primera impresión, para quien quiera ir experimentando, próximamente adjuntaremos vídeo explicativo.

PorIvan

ANÁLISIS DE DATOS: Varianza.

La varianza o variancia es una medida de la dispersión de una variable aleatoria (valores que se obtienen de manera aleatoria). Es ampliamente utilizada en el área de estadística expresando, a través de un número, la variabilidad de dicha dispersión.

Ronald Fisher, un matemático, físico, biólogo y estadístico inglés, en 1918 fue el primero en introducir el termino varianza, en uno de sus estudios publicado sobre biometría. A su vez introdujo los estudios sobre el análisis de varianza.

Referencia:

PorIvan

ANÁLISIS DE DATOS: Correlación.

En probabilidad y estadística, la correlación indica la fuerza y la dirección de una relación lineal y proporcionalidad entre dos variables estadísticas. Se considera que dos variables cuantitativas están correlacionadas cuando los valores de una de ellas varían sistemáticamente con respecto a los valores homónimos de la otra: si tenemos dos variables (A y B) existe correlación entre ellas si al disminuir los valores de A lo hacen también los de B y viceversa

REF: https://es.wikipedia.org/wiki/Correlaci%C3%B3n

PorIvan

ANALISIS DE DATOS: Desviación típica

También conocida como STD.

Una desviación estándar baja indica que la mayor parte de los datos de una muestra tienden a estar agrupados cerca de su media aritmética (también denominada el valor esperado), mientras que una desviación estándar alta indica que los datos se extienden sobre un rango de valores más amplio.

En resumen: Debemos encontrar modelos que tengan la capacidad de condensar los datos dentro de su media, una gran dispersión sería igual a resultados fuera de control, «inesperados».

Mas info: https://es.wikipedia.org/wiki/Desviaci%C3%B3n_t%C3%ADpica

PorIvan

Taller de Robots

en nuestro canal de youtube y telegram tendrás todo lo necesario.