Arbitraje para los amantes de forex

Trading en los mercados de divisas
Responder
Avatar de Usuario
IaM
Mensajes: 449
Registrado: 08 Feb 2009 12:23

Arbitraje para los amantes de forex

Mensaje por IaM »

Un amigo me pasó esta web:

http://uva.onlinejudge.org/index.php?op ... problem=40

ahi hay un problema interesante sobre arbitraje de forex. Por si a alguien le inspira :)

Saludos,

PD: No se si debería ir en la sección de sistemas de trading pero también encaja aquí.
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Avatar de Usuario
IaM
Mensajes: 449
Registrado: 08 Feb 2009 12:23

Re: Arbitraje para los amantes de forex

Mensaje por IaM »

Está en mantenimiento hasta el sábado, básicamente hay que desarrollar un software que haga esto:

Arbitraje Triangular de Monedas

Otra forma de realizar arbitraje en el FOREX sería mediante el denominado arbitraje triangular de monedas. Dadas tres divisas, se debe dar una relación entre sus cotizaciones. Por ejemplo, si 1€ = 1,2$ y a la vez 1€ = 0,8Libras, entonces 1,2$ = 0,8 L, o lo que es lo mismo, 1$ = 0,6666 Libras. Si en algún momento esta igualdad no se cumpliera existiría una oportunidad de arbitraje sin riesgo. Veamos un ejemplo:

En un momento dado tenemos estas cotizaciones en el mercado FOREX:

1€ = 1,2$
1$ = 0,68 L
1€ = 0,8L

Vendemos 1000€ y nos dan 1200$, que vendemos para obtener 816 Libras que cambiamos nuevamente por 1020 €. Obtenemos un beneficio por arbitraje de 20€ , o el 2% sin riesgo alguno.

Los arbitrajes sólo son posibles ante ineficiencias del mercado.

http://www.infoforex.es/forex-glosario/arbitraje
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: Arbitraje para los amantes de forex

Mensaje por Spirit »

En este foro a ese arbitraje se le llama "anillos" y se ha hablado bastante del mismo en otras ocasiones.

Este verano está de moda en forex.es.
http://www.forex.es/arbitraje-t4011.html

Por no hablar del mítico hilo de kreslik, donde no puede haber más información al respecto.
http://www.kreslik.com/forums/viewtopic.php?t=307
Avatar de Usuario
IaM
Mensajes: 449
Registrado: 08 Feb 2009 12:23

Re: Arbitraje para los amantes de forex

Mensaje por IaM »

Gracias Spirit :)
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Avatar de Usuario
IaM
Mensajes: 449
Registrado: 08 Feb 2009 12:23

Re: Arbitraje para los amantes de forex

Mensaje por IaM »

Creo que fuiste tú, Spirit, quien me pasó este enlace en el pasado y lo estuve leyendo. Imagino que me aburrí del tema y lo dejé debido a su complejidad y comisiones supongo que me desanimé.
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).

Karlo
Mensajes: 134
Registrado: 19 May 2011 23:33

Re: Arbitraje para los amantes de forex

Mensaje por Karlo »

Hola, os dejo el codigo de un EA que he realizao que calcula la divergencia en anillos de pares de divisas. si quereis añadir alguna basta con poner un linea nueva en la tabla de variables donde se cumpla que el primer par por el segundo dividido por el tercero sea igual a 1.

"USDCAD","CADCHF","USDCHF",
en esta linea que os he pegado se cumple que el USDCAD multiplicado por CADCHF = USDCHF.

y si añaís algun par más enconces incrementar en uno la variable "int total_anillos = 7;" y añadir uno a la dimension de la tabla de anillos. "anillos[7,3]"

//+------------------------------------------------------------------+
//| anillos.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
string anillos[7,3]={"EURGBP","GBPUSD","EURUSD",
"EURUSD","USDCHF","EURCHF",
"USDCAD","CADCHF","USDCHF",
"EURCAD","CADJPY","EURJPY",
"EURUSD","USDTRY","EURTRY",
"GBPAUD","AUDCAD","GBPCAD",
"GBPAUD","AUDUSD","GBPUSD"};
int total_anillos = 7;
string anillo1;
string anillo2;
string anillo3;

double comprar,vender;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{


return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int coord_y =330;
string objeto="ob";
color colorobc,colorobv;

double ask1,ask2,ask3,bid1,bid2,bid3;
for (int x=0;x<total_anillos;x++)
{


anillo1 = anillos[x,0];
anillo2 = anillos[x,1];
anillo3 = anillos[x,2];
ask1 = MarketInfo(anillo1,MODE_ASK);
bid1 = MarketInfo(anillo1,MODE_BID);
ask2 = MarketInfo(anillo2,MODE_ASK);
bid2 = MarketInfo(anillo2,MODE_BID);
ask3 = MarketInfo(anillo3,MODE_ASK);
bid3 = MarketInfo(anillo3,MODE_BID);
comprar = (ask1 * ask2) / bid3;
vender = (bid1 * bid2) / ask3;

if (comprar < 0.9990 || vender > 1.0009)
{
if (comprar < 0.9990)
{
colorobc = Green;
}
if (vender > 1.0009)
{
colorobv = Red;
}
}
else
{
colorobc = DeepSkyBlue;
colorobv = DeepSkyBlue;
}

objeto = objeto + DoubleToStr(x,0) ;
creaobjeto(objeto,200,coord_y,DeepSkyBlue,anillo1+"/"+anillo2+"/"+anillo3);
objeto = objeto + DoubleToStr(x,0) ;
creaobjeto(objeto,150,coord_y,colorobc,DoubleToStr(comprar,Digits));
objeto = objeto + DoubleToStr(x,0);
creaobjeto(objeto,100,coord_y,colorobv,DoubleToStr(vender,Digits));

coord_y = coord_y + 10;
}
return(0);
}
void creaobjeto(string name,int X,int Y,color Color,string text)
{
for ( int i=ObjectsTotal()-1; i>-1; i--)
{
if (StringFind(ObjectName(i),name) >= 0) ObjectDelete(ObjectName(i));
}
if(!ObjectCreate(name, OBJ_LABEL,0,0,0))
{
Print("error: can't create text_object! code #",GetLastError());
return(0);
}
ObjectSet(name,OBJPROP_XDISTANCE,X);
ObjectSet(name,OBJPROP_YDISTANCE,Y);
ObjectSet(name,OBJPROP_CORNER,1);
if(!ObjectSetText(name, text,8,"Courier New", Color))
{
Print("error: can't set text_object! code #",GetLastError());
return(0);
}
}
Avatar de Usuario
IaM
Mensajes: 449
Registrado: 08 Feb 2009 12:23

Re: Arbitraje para los amantes de forex

Mensaje por IaM »

Hola Karlo,

Entonces, es posible obtener beneficios con eso? te resulta rentable? mmm tengo entendido que en Interactive Brokers existen pares de acciones , spreads ya hechos, tal vez se podría aplicar toda esta teoría ahí. Seguiré investigando :)
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Karlo
Mensajes: 134
Registrado: 19 May 2011 23:33

Re: Arbitraje para los amantes de forex

Mensaje por Karlo »

IaM escribió:Hola Karlo,

Entonces, es posible obtener beneficios con eso? te resulta rentable? mmm tengo entendido que en Interactive Brokers existen pares de acciones , spreads ya hechos, tal vez se podría aplicar toda esta teoría ahí. Seguiré investigando :)

Hola IaM,

Yo solo he colgado el EA para quien tenga curiosidad por ver las divergencias, personalmente creo que no se puede ganar dinero con esto a nivel de retail.

Yo aun no he localicado una divergencia que se pueda aprovechar pues el nivel de spreads suele matar las divergencias adecuadas para esto, sin hablar del HFT.

Un saludo.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Forex”