Graficar un spread con amibroker.

Foro para tratar todo lo relacionado con AmiBroker y el lenguaje de programación AFL.
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Graficar un spread con amibroker.

Mensaje por jmscalle1 »

Hola soy nuevo en el foro, un saludo a todos.
A raíz de los artículos que x-trader, ha escrito sobre los spreads, me he animado a construirme uno, con los futuros del sp500 vs nasdaq100.
El problema se presenta a la hora de graficar dicho spread, con el amibroker, no se que poner, al añadirle como símbolo.
Lo nombro como ESH6,NQH6-GLOBEX-FUT, también lo he intentado con ES,NQ pero no hay manera.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Saludos JMS, vi tu mensaje, tras ayudarme un poco buscando por la Red, aquí tienes el código:
spread = Foreign("symbol1", "C") - Foreign("symbol2", "C" );

Plot( spread, "Spread", colorBlack );
Plot( MA( spread, 10 ), "MA of spread", colorRed );
Si quieres calcular el spread entre ES y NQ, debes reemplazar symbol1 y symbol2 por sus correspondientes simbolos en AmiBroker. La última línea te grafica además la media móvil del spread, pero puedes eliminarla si quieres ;-)

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Holaa todos, varias preguntas:
Este código, lo creo como una nueva formula, o hay que incluirlo en una formula ya existente.
Al ser una formula, ¿tengo que abrir, uno los dos símbolos del spread?, y luego, insertar la formula.O por el contrario, no tengo que abrir ningún símbolo, solo la formula.
El ratio del spread es 2:1, no se si esto afectara, a la hora de construir la formula.
Un saludo.
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Ya lo he solucionado, perdonar la pregunta, pero estoy empezando con el AmiB.
Pasando a otro tema, quería saber si vosotros, tenéis problemas, con las cotizaciones del spread, ya que a mí desde IB, hay días en los que, la línea del spread, se queda en blanco, y se tira el dia entero, sin aportarme datos.
Un saludo.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Por si acaso no quedo claro (aunque me comentas que ya lo has solucionado):

1. El spread le puedes insertar donde quieras (teniendo o no los gráficos delante) siempre que tengas dados de alta en la base de datos los simbolos que componen el spread.

2. Puedes poner directamente los números en la fórmula; por ejemplo, en tu caso:
spread = Foreign("ESH6-GLOBEX-FUT", "C") - 2*Foreign("NQH6-GLOBEX-FUT", "C" );

Plot( spread, "Spread", colorBlack );
Plot( MA( spread, 10 ), "MA of spread", colorRed );
También puedes parametrizar esos valores
ParamIndex1= Param("ParamIndex1", 1, 1, 500, 1);
ParamIndex2= Param("ParamIndex1", 2, 1, 500, 1);

spread = ParamIndex1*Foreign("ESH6-GLOBEX-FUT", "C") - ParamIndex2*Foreign("NQH6-GLOBEX-FUT", "C" );

Plot( spread, "Spread", colorBlack );
Plot( MA( spread, 10 ), "MA of spread", colorRed );
3. Respecto al tema del spread en la TWS, puedes poner un pantallazo cuando te pase??? Creo que el problema se debe a que tienes que poner el gráfico bid/ask en lugar del de los cierres, también a mi me pasó... ;-)

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."

jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

No me explicado bien.
Hay días que no recibo los datos, los de color violeta del spread, en el workspace
De la TWS, ayer desaparecieron y hoy siguen sin aparecer, tengo la línea del spread, en blanco.
Un saludo.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Lo raro es que los recibas en el workspace del AmiBroker, el código que genera la TWS para los spreads es aleatorio, no se puede graficar en teoría.

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

No, en el Amibroker no los recibo, lo he graficado como tu me comentaste, mediante la formula.
La TWS, que debería generarme los datos aleatorios, me los genero durante todo el dia de antes de ayer, pero ayer y hoy han desaparecido los números de color violeta y la fila del spread esta sin datos continuamente, o sea en blanco.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Hmmm, creo que ya sé por qué es: si estas usando los vencimientos de Marzo, creo que deberías pasarte a los de Junio.

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Los acabo de pasar y nada, sigue sin aparecer, no se si tendrá algo que ver pero hace dos días, me salto un mensaje diciéndome, que faltaban 8 días para el vencimiento de futuros, y si quería cambiar el vencimiento a todos los contratos, una opción de roll over, o algo así.
Le dije que si, pero solo cambio el FUT del EUR.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Mira el siguiente menu, a ver si se te ha desactivado:

Configure -> Feature Selector...

Y ahi mira en Order Management -> Complex Order Types -> Combos/Spreads (si no está marcado, márcalo)

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Perdona He tenido que salir.
Ahora mismo, dispongo de los datos del spread, no se cuanto me van a durar, me han vuelto los datos sin tocar en ningún sitio.
He mirado donde dices y si lo tengo marcado.
Voy a escribir IB, a ver por que puede ser.
Un saludo.
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Tengo una duda que me ronda la cabeza.
Para graficar el spread, y que nos sirva de referencia, hemos restado el sp500 al nasdaq100, en igualdad de condiciones 1:1, y dando como resultado la diferencia entre ambos, mostrando en la grafica una lateralidad mas definida, que la resultante dada, por los futuros por separado, disminuyendo así la volatilidad y el riesgo.
Pero me pregunto, ¿si pudiésemos de alguna manera, cambiar el ratio dentro de la formula del spread, no se 2:1(oficial) o mejor aun 3:2(no oficial), eso se reflejaría en la grafica, aplanando la volatilidad y el riesgo, o por el contrario la grafica seria la misma?
Un saludo.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Te expliqué cómo hacerlo en este mensaje:
X-Trader escribió:Por si acaso no quedo claro (aunque me comentas que ya lo has solucionado):

1. El spread le puedes insertar donde quieras (teniendo o no los gráficos delante) siempre que tengas dados de alta en la base de datos los simbolos que componen el spread.

2. Puedes poner directamente los números en la fórmula; por ejemplo, en tu caso:
spread = Foreign("ESH6-GLOBEX-FUT", "C") - 2*Foreign("NQH6-GLOBEX-FUT", "C" );

Plot( spread, "Spread", colorBlack );
Plot( MA( spread, 10 ), "MA of spread", colorRed );
También puedes parametrizar esos valores
ParamIndex1= Param("ParamIndex1", 1, 1, 500, 1);
ParamIndex2= Param("ParamIndex1", 2, 1, 500, 1);

spread = ParamIndex1*Foreign("ESH6-GLOBEX-FUT", "C") - ParamIndex2*Foreign("NQH6-GLOBEX-FUT", "C" );

Plot( spread, "Spread", colorBlack );
Plot( MA( spread, 10 ), "MA of spread", colorRed );
3. Respecto al tema del spread en la TWS, puedes poner un pantallazo cuando te pase??? Creo que el problema se debe a que tienes que poner el gráfico bid/ask en lugar del de los cierres, también a mi me pasó... ;-)
Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jmscalle1
Mensajes: 21
Registrado: 06 Mar 2006 15:12

Mensaje por jmscalle1 »

Que bueno, no habia visto el 2 con el factor *, efectivamente cambia la grafica, y ahora todavia mas lateral, muestra claramente un triangulo extensivo, y hoy mismo a tocado el suelo.
Un saludo.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “AmiBroker”