Página 1 de 2

Graficar un spread con amibroker.

Publicado: 07 Mar 2006 01:16
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.

Publicado: 07 Mar 2006 09:33
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

Publicado: 07 Mar 2006 15:20
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.

Publicado: 08 Mar 2006 08:29
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.

Publicado: 08 Mar 2006 09:14
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

Publicado: 08 Mar 2006 09:55
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.

Publicado: 08 Mar 2006 10:16
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

Publicado: 08 Mar 2006 10:47
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.

Publicado: 08 Mar 2006 10:52
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

Publicado: 08 Mar 2006 11:14
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.

Publicado: 08 Mar 2006 12:20
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

Publicado: 08 Mar 2006 16:34
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.

Publicado: 08 Mar 2006 16:49
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.

Publicado: 08 Mar 2006 17:25
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

Publicado: 08 Mar 2006 21:39
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.