martes, 16 de junio de 2009

Migrar datos históricos para tener un contrato del continuo en Ninja Trader (Merge data between futures contracts)

Para poder tener un contrato del continuo al pasar de un vencimiento al otro se tiene que realizar manualmente una migración de datos del antiguo contrato al nuevo y así poder tener datos históricos del antiguo vencimiento en los gráficos del nuevo. Ninja Trader realizará un ajuste automático de los datos históricos*.

Los pasos para realizar la migración de datos son los siguientes:

1. Seleccionar el menú Tools – Historical Data – Merge

2.Aparecerá la siguiente ventana

3.En el cuadro “Merge the following data” de la ventana “Merge Historical Data” mostrada anteriormente seleccionar el instrumento cuyos datos históricos se desean migrar al muevo contrato.
En los campos “From” y “To” del mismo cuadro anterior, seleccionar las fechas de inicio y fin de los datos históricos que se desean migrar al nuevo contrato.
4. En el cuadro “Into” de la ventana “Merge Historical Data” seleccionar el instrumento destino en el cual se desea migrar los datos históricos del antiguo contrato.
5. Seleccione el botón “OK”.


En el ejemplo de la imagen siguiente, se están migrando los datos del antiguo contrato 0606 al nuevo contrato 0909 desde la fecha 13/03/2009 a la fecha 09/06/2009 (el día 13/03/2009 se realizó el cambio de contrato al 0609 y el día 10/09/2009 se realizó el cambio de contrato al 0909)



6.Una vez que se selecciona el botón “OK” aparecerá una ventana que permanecerá abierta unos cuantos minutos hasta que finalice la migración, el mensaje de la ventana irá cambiando, se muestran uno de ellos a continuación.



7.Cuando el proceso de migración haya finalizado aparecerá el siguiente mensaje, Seleccionar el botón “Aceptar”



Los datos aparecerán migrados en los gráficos del contrato que ha entrado en vigor la próxima vez que se realice la conexión al proveedor de datos.

*Los datos de precio del contrato que vence tienen que ajustarse debido a que siempre hay una diferencia entre el precio del contrato que vence y el del contrato que entra en vigor. La fórmula usada para ajustar los datos históricos es la siguiente:

Nuevo precio de los datos históricos (contrato vencido)=Precio antiguo (contrato vencido) + (Precio de apertura del contrato que entra en vigor el día de la migración de datos – Precio de cierre del contrato que vence en el día anterior a la migración de datos)

6 comentarios:

  1. Buenos dias y muchas gracias de antemano por tus aportaciones a traves de este blog a los que empezamos en esto del trading.

    Mi pregunta es: como puedo tener un historico de los ultimos 10 años en el grafico de diario en Ninja?

    Muchas gracias por todo.

    ResponderEliminar
  2. Hola Santi,
    Gracias por visitar el blog y perdona por no haber respondido antes pero he estado fuera la semana pasada sin revisar correo ni blog.
    El NinjaTrader como sabemos no es un proveedor de datos ni de tiempo real ni de históricos. Los datos los suministra proveedores a los cuales se conecta el Ninja y los cuales ofrecen datos históricos como parte de sus servicios.
    En el siguiente enlace encontraras una lista de proveedores a los cuales se puede conectar NinjaTrader y en donde puedes ver cuales ofrecen datos históricos además de datos e tiempo real y en que dimensión de tiempo y para que instrumento financiero:
    http://www.ninjatrader-support.com/HelpGuideV6/helpguide.html?HistoricalData
    Por ejemplo, el Zenfire, además de ofrecer datos en tiempo real suministra datos históricos para la dimensiones de tick y minutos pero no para los gráficos diarios y solo para futuros.
    En este caso si quisiéramos tener un gráfico diario con datos históricos del futuro e-mini S&P 500, tendríamos que crear un gráfico nuevo con el último contrato en vigor para este futuro que es el ES 0909 y utilizar como dimensión 1440 minutos que correspondería a un día. Con este gráfico solo veríamos los datos de este contrato pero no los datos de los contratos de dicho futuro que ya han vencido, ya que el NijaTrader no tiene un contrato continuo como el Visual Chart. Para poder obtener un contrato del continuo habría que migrar los datos de los contratos vencidos al que se encuentra en vigor. Por ejemplo:
    Migrar datos del contrato 0609 desde el 13/03/2009 al 12/06/2009 al contrato 0909
    Migrar datos del contrato 0309 desde el 12/12/2008 al 12/03/2009 al contrato 0909
    Y así sucesivamente con los contratos 1208 y el 0608 que son los que tienen disponibles actualmente.
    Si queremos migrar datos de contratos anteriores habría que cambiar la fecha del ordenador para que aparezcan en la lista de instrumentos del Ninja y poderlos migrar.
    Esto sería el procedimiento manual para poder tener datos históricos en un solo contrato.
    Otra posibilidad es importar un fichero de datos históricos que se puede obtener comprándolos o de alguien que lo tenga y que te lo pueda pasar (mira el blog artenimasnimenos tienen un fichero de histórico desde el 2007: http://artenimasnimenosminisp.wordpress.com/2009/05/14/nuevo-historico-para-el-ninja-trader/)
    También se pueden pasar datos del Visual Chart al NinjaTrader haciendo export e import de datos.
    Yo probé de exportar los datos históricos diarios del Visual Chart al Ninja y me ha funcionado perfectamente y puedes tenerlos desde 1997. Solo que hay que adaptar el fichero de datos para que Ninja lo puede importar.
    Hay varias maneras como puedes ver de conseguir los datos históricos, todo depende de lo que necesites hacer con ellos y buscar la mejor opción.
    Si necesitas más información sobre alguna de las cosas que te comenté anteriormente no dudes en pedírmelo.

    ResponderEliminar
  3. Muchas gracias. Ha sido muy util tu ayuda.

    Un abrazo

    ResponderEliminar
  4. Hola, es la primera vez que escribo aqui. Primero muchas gracias por este blog y por todo lo que cuentas acerca del trading. Es de gran ayuda.

    Me he importado el fichero historico desde 2007 que hay en el blog "arte ni mas ni menos". Como puedo hacer para tener los datos actualizados todos los dias en el grafico continuo (ES ##/##)?

    Es decir, como puedo anyadir los datos que se van generando al continuo para tener el grafico de dimesnsion diara (velas de 1140 minutos) actualizado?

    El procedimiento es como el que has contado aqui? Lo he intentado y no me sale.

    Gracias de antemano y un saludo

    ResponderEliminar
  5. Hola Ruben,
    gracias por visitar el blog y la idea de este es justamente servir de medio para aclarar dudas e intercambiar información.
    Respecto a tu pregunta, el merge de datos a mi me ha funcionado para pasar datos de un contrato del futuro del mini sp que ha caducado a otro que está vigente, pero es cierto que gente que ha probado hacer merge de contratos de futuros mini sp vigentes al contrato ES ##/## no les ha funcionado.
    En este caso hay que probar de hacer un export de datos del contrato actual que tiene los datos que quieres e importarlos en el contrato ES ##/## . El export genera un fichero cuyo nombre tienes que editar para que coincida con el nombre del contrato sobre el que lo vas a importar. Te dejo mi correo para ver si podemos hablar via skype y darte más detalles de cómo se hace.
    Un saludo y es un placer poder o intentar ayudarte.
    bettytrader@gmail.com

    ResponderEliminar
  6. Gracias. Lo he hecho y me ha funcionado perfecto. Te dejo mi mail de todas formas por si quieres que hablemos.
    rugobal@gmail.com

    ResponderEliminar