EURUSD a largo plazo (I)

Para crear Robots de Forex rentables, una de las variables que tenemos que introducir al modelo econométrico (la econometría es la ciencia que se basa en la utilización de herramientas matemáticas y estadísticas para estimar las relaciones económicas) es la tendencia, saber si nos encontramos en mercado alcista, lateral o bajista.

1: Alcista
0: Lateral
-1: Bajista

Actualmente nos encontramos en un mercado alcista del EURUSD
 es decir tenemos más probabilidades de acertar realizando ordenes buy que sell.

Ha habido un cambio claro de tendencia bajista por una tendencia alcista, muy relacionada con el cambio de la inflación.

Nuestro modelo tendría que considerar que estamos en un mercado alcista, variable 0, aunque en menos de un mes podremos cambiar a mercado alcista.

¿Por qué es tan importante saber en que mercado nos encontramos?

La explicación es simple, porque las probabilidades se incrementan a la hora de hacer operaciones, no tiene sentido en un mercado bajista realizar ordenes buy, y al revés.

Mi indicador también detecto hace una semanas que entrabamos en un mercado bajista, ahora me falta hacer un backtesting con más datos.

Indicadores de Volatilidad Propio (I)

Para tener éxito en el Forex hay que saber programar, partiendo de cosas que puedes encontrar en libros, foros, internet, tienes que coger ideas para crearte tus propios indicadores y optimizarlos. Estoy creando en la actualidad un indicador basado en la volatilidad que creo que puede dar muy buen resultado. El backtesting lo voy a hacer en Python a partir de datos que me voy a bajar de un broker como es Oanda o ICMarkets.

El indicador que he encontrado es el de la imagen que hay posterior al texto en inglés, se trata de unas bandas que se estrechan cuando aumenta la volatilidad, pudiendo ser un buen predictor de un momento de compra o venta.

En la siguiente imagen se puede observar el indicador que estoy programando en la actualidad:

Aquí os dejo el código para calcular las bandas Bollinger en Python. Es algo bastante simple, pero por algo se empieza, la clave es calcular la volatilidad correctamente. En este ejemplo no se tiene en cuenta los rangos de cada vela, pero lo iremos complicando. Creo que la forma de calcular la volatilidad es aplicar true-range con un factor de decaimiento. Lo voy a programar en Matlab que va a ser más rápido, después habrá que calibrar los distintos factores para aplicarlo al EURUSD.

Ejemplo de código en Python para crear las bandas de Bollinger:

import numpy as np
import pandas as pd
import pandas_datareader as pdr
import matplotlib.pyplot as plt

def get_sma(prices, rate):
    return prices.rolling(rate).mean()

def get_bollinger_bands(prices, rate=20):
    sma = get_sma(prices, rate)
    std = prices.rolling(rate).std()
    bollinger_up = sma + std * 2 # Calculate top band
    bollinger_down = sma - std * 2 # Calculate bottom band
    return bollinger_up, bollinger_down


symbol = 'AAPL'

df = pdr.DataReader(symbol, 'yahoo', '2021-07-01', '2022-07-01')
df.index = np.arange(df.shape[0])
closing_prices = df['Close']

sma = get_sma(closing_prices, 20) # Get 20 day SMA
bollinger_up, bollinger_down = get_bollinger_bands(closing_prices)
plt.title(symbol + ' Bollinger Bands')

plt.xlabel('Days')
plt.ylabel('Closing Prices')
plt.plot(closing_prices, label='Closing Prices')
plt.plot(bollinger_up, label='Bollinger Up', c='g')
plt.plot(sma, label='Moving Average', c='g')
plt.plot(bollinger_down, label='Bollinger Down', c='r')
plt.legend()
plt.show()

En la siguiente entrada intentaré tener otros ejemplos en Matlab, porque el ejemplo anterior no sirve para hacer trading, hay que tener un software más potente, que permita conectarlo para hacer backtesting y nos diga si vale la pena o no.

Un saludo.

Robot de Forex

RobotdeForex.net es un blog para aprender a programar Bots de Forex desde cero, se pueden utilizar muchas tecnologías desde lo más simple como es un bot con mql4 ( el lenguaje de Metatrader 4), a python con Metatrader 5, o C# con un bridge que permite hacer software más profesional.

Programar un bot es lo último que se tiene que hacer, una vez a partir de muchos datos hemos construido un programa que consigue obtener una ventaja estadística en el trading, que compense las comisiones y el spread que pagamos al Broker.

La Inteligencia Artificial, no sirve en general para nada, es una herramienta más, no existe un software que apretas un botón y te hace un robot que te hace ganar dinero mientras duermes. En este mundo del trading, y principalmente trading automático esta lleno de «Vende humos» que van a intentarte venderte programas y cursos carísimos que no sirven para nada.

Me dedico a las finanzas cuantitativas, trabajando desde hace más de 16 años en una entidad financiera en el área de riesgos, programación y valoración de instrumentos financieros. Tengo tres masters en finanzas y actualmente estoy cursando uno en Inteligencia Artificial.

Ejemplo de Metatrader 4

Esta web se hace para compartir mis inquietudes en el mundo del trading automático, os pido perdón por mi gramática y puntuación, suelo ser muy desordenado. Gracias por llegar a mi modesta Web !!!!!