Carteras Blog        Login      Registrarse        

Síguenos en:   RSS   Facebook  Twitter   Linkedin   

Resultados 1 al 4 de 4
  1. #1
    Administrator Avatar de mbolsia
    Fecha de ingreso
    16 nov, 11
    Mensajes
    3,762
    Thanks
    573
    Thanked 615 Times in 505 Posts
    Poder de reputación
    10

    Trading Forex con Python

    En los últimos años se ha puesto de moda un lenguaje que lleva muchos años, pero los avances en librerías, entornos gratuitos, existencia de muchos ejemplos, ha conseguido hacerse un hueco respecto a java, C#, php...

    Lo mejor del lenguaje es que se puede aprender fácilmente, y sobre todo la cantidad de ejemplos para hacer trading.

    Uno de esos ejemplos que me ha sorprendido bastante es el siguiente:

    https://towardsdatascience.com/detec...n-baedc44c34c9

    Con una pocas líneas de código podemos hacer cosas como esta:

    Trading Forex con Python-soportes.png

    Yo todavía no he probado el código, pero tiene muy buena pinta, dado que permitiría obtener los posibles soportes (seguro que hay un retardo) para obtener señales de trading.

    La ventaja del python respecto a otros lenguajes es la simplicidad para hacer prototipos.

    Cuando implemente el código y lo aplique al EURUSD lo pondré aquí, un saludo.
    Última edición por mbolsia; 25/09/2022 a las 12:36

  2. #2
    Administrator Avatar de mbolsia
    Fecha de ingreso
    16 nov, 11
    Mensajes
    3,762
    Thanks
    573
    Thanked 615 Times in 505 Posts
    Poder de reputación
    10

    Re: Trading Forex con Python

    Uno de los problemas que muchos de los que intentan hacer modelos cuantitativos , es intentar ajustar un modelo con muchas variables que explique el pasado.

    Internet está lleno de vende humos que se dedican a venderte modelos que no funcionan , desde redes neuronales (en bolsia hace casi 20 años ya intentaban venderte esos modelos ) , algoritmos genéticos , árboles de decisión . Esos modelos son buenos , pero no sirven para datos financieros que cambian constantemente .

    El problema de los modelos es que se basan en datos pasados, y eso es como utilizar una media móvil siempre vas a llegar tarde a todos los lados.

    En España hay empresas que te vende un software carísimo que no sirve para nada, se trata de utilizar muchos indicadores técnicos y construir un modelo en base los que han funcionado, ese modelo te funcionará bien un tiempo, pero va a fracasar seguro.

    Los modelos cuantitativos que suelen funcionar son aquellos que identifican un mercado y operan de manera simple, por ejemplo mercado alcista, bajista o lateral.

    Esos modelos pueden funcionar bastante bien en el futuro, pero a cambio de soportar drawdowns.
    Última edición por mbolsia; 25/09/2022 a las 22:32

  3. #3
    Administrator Avatar de mbolsia
    Fecha de ingreso
    16 nov, 11
    Mensajes
    3,762
    Thanks
    573
    Thanked 615 Times in 505 Posts
    Poder de reputación
    10

    Re: Trading Forex con Python

    Bajar datos de divisas de Yahoo

    Voy a poner una serie de código que después quiero hacer una serie de videos donde explico como se pueden bajar cotizaciones, realizar matrices de correlaciones, y analizar de manera estadística los distintos pares de divisas.

    Una de las primeras cosas que tenemos que hacer es generar un MAPA DE CORRELACIÓN DE LAS DIVISAS

    He realizado este mapa de correlaciones a partir de datos bajados de Yahoo desde el 1 de enero del 2020 hasta ahora.

    Si buscamos el EURUSD, vemos la correlación con otros pares, por ejemplo la correlación con el USDJPY es de -0.85

    Es decir cuando sube el EURUSD el par USDJPY baja, es decir que si compráramos la misma cantidad de dólares el riesgo solo sería el 15% de si compráramos el EURUSD.

    Es importante tener clara las correlaciones porque permite disminuir bastante el riesgo.


    Código Python:
    Código PHP:
    import pandas as pd
    import seaborn 
    as sns
    from matplotlib import pyplot
    from pandas_datareader import data 
    as wb

    # Set the ticker as 'EURUSD=X'
    tickers=['JPY=X','CHFUSD=X','EURUSD=X','EURJPY=X','EURCHF=X','EURCAD=X','EURGBP=X','EURJPY=X','NZDUSD=X','AUDUSD=X','GBPUSD=X']
    start_date='2020-1-1'
    end_date='2022-10-23'


    df pd.DataFrame()

    #bucle en ticker
    t=0
    for ticker in tickers:
       
    data=wb.DataReader(ticker'yahoo',start_dateend_date)['Adj Close']
       if(
    t==0):
         
    df pd.DataFrame(data)
         
    df.rename(columns = {'Adj Close':ticker}, inplace True)
         
    t=t+1
       
    else:
         
    df[ticker] = data
          
    corr
    =df.corr() 
    Trading Forex con Python-corre.jpg
    Última edición por mbolsia; 24/10/2022 a las 00:44

  4. #4
    Administrator Avatar de mbolsia
    Fecha de ingreso
    16 nov, 11
    Mensajes
    3,762
    Thanks
    573
    Thanked 615 Times in 505 Posts
    Poder de reputación
    10

    Re: Trading Forex con Python

    Una vez tenemos el mapa de correlaciones se puede realizar una calculadora simple que nos diga el riesgo que tenemos con nuestras posiciones, posteriormente dicha calculadora la iremos complicando. El problema de las correlaciones es que dependen del tiempo que utilicemos para calcularlas, por lo tanto hay que optimizar cual es el tiempo que da mejores resultados.

    Correlaciones últimos 2 Años:

    Trading Forex con Python-corre2yr.jpg



    Correlaciones último Año:

    Trading Forex con Python-corre1yr.jpg


    Correlaciones 6 meses:

    Trading Forex con Python-corre6m.jpg


    Como se observa las correlaciones de 2 a 1 año son similares, en 6 meses cambia bastante respecto a los periodos de 1 a 2 años.

    ¿Qué matriz es mejor?

    Para ello sería hacer un backtesting, la matriz de correlación se utiliza para calcular el riesgo de las posiciones que tenemos, por ejemplo que riesgo tenemos ante un las variaciones de las cotizaciones. Esto sería el RIESGO DE MERCADO, que lo podemos calcular de manera paramétrica, y necesitamos la matriz de correlación.

    Resumiendo el VaR consiste en calcular con una confianza del 95% o 99% que perdida tendríamos, si consideramos una confianza del 100% sería perder toda la posición. Al final si tenemos una cuenta con 1000 dólares, y la probabilidad a un día con una confianza del 95% es perder 500 dólares como máximo, eso tal vez es que estamos asumiendo demasiado riesgo.

    Trading Forex con Python-var-1-.jpg



    VaR explicado en el blog de Bolsia: http://www.bolsia.com/blog/var-value-risk/

    En está web explican lo que es el VaR: https://gsnchez.com/blog/article/Var...dida-de-riesgo


    Dentro del trading lo primero es tener claro tener una herramienta que nos diga el riesgo que tenemos en ese momento, y sobre todo el riesgo que vamos a tener después de tomar una nueva posición.

    Imaginaros que no sabemos si vender una posición en el EURUSD o vender USDJPY pues una de ellas incrementará el riesgo, y otra tal vez lo disminuye.

    Con esta herramienta en cualquier momento podremos saber el riesgo, y sobre todo podremos limitar nuestro riesgo diario a un limite de VaR.

    Un saludo.
    Última edición por mbolsia; 24/10/2022 a las 02:31

Información de tema

Usuarios viendo este tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •