Acceder

Se necesitan programadores para trabajar gratis

Se requiere buena presencia y espíritu de sacrificio. 

Se ofrece la posibilidad de ahorrarse el dinero que no se gastarán en juergas mientras estén trabajando gratis.

 

RESUMEN DE LOS ACONTECIMIENTOS

Uno de los lectores de este blog, AX0X0, me ha mandado un trabajo que ha desarrollado sobre la curva de intereses del dólar. Ha hecho una estadística de cómo se comportan los spreads de GE en los últimos 6 meses antes del vencimiento.

 Hemos estado comentando el tema y me pareció interesante, pues yo nunca había estudiado ese tramo debido a que, durante ese plazo de la curva, los intereses están en manos del capitoste que corta el bacalao en la Reserva Federal. Por supuesto, unido a los amos del mundo por un cordón umbilical de cáñamo.

El estudio que ha hecho AX0X0 demuestra que ese tramo de la curva no es tan aleatorio como se pudiera suponer y que hay sesgos aprovechables.

Al hablar de todo esto, vimos que es posible que haya otros tramos de la curva que presenten algo parecido. Y la única manera de saberlo es currándose la curva en tramos de 3 meses.

Como desde que faltan unos 3 años hasta que falta un año y medio la cosa está bastante clara (hay que estar comprados del spread), ahora falta averiguar con detalle los pormenores del último año y medio. Aquí es donde entra la petición de programadores, pues AX0X0 se ha pegado la paliza de hacer la Excel que se adjunta casi toda a mano.

La idea es hacer casi el mismo trabajo que ha hecho AX0X0, pero en periodos de tres meses desde un año y medio antes de vencer hasta los últimos tres meses. Los interesados en colaborar pueden proponerse en los comentarios y ya quedaremos para concretar los detalles.

El estudio de la curva de intereses puede ser sólo el primer paso de un proyecto más amplio. Siempre que haya voluntarios, se puede hacer algo parecido, pero con diferentes objetivos sobre otros productos.

 

DESCRIPCIÓN DE LA EXCEL QUE HA HECHO AX0X0

La idea es ver cómo evolucionan los futuros sobre los tipos de interés del dólar (GE). En este caso estudio cómo evoluciona el diferencial entre dos contratos entre los que hay un año. Me explico: edz83 - edz84 o edm97 contra edm98. Es decir, hago el spread entre diciembres, marzos, septiembres y junios consecutivos (dic contra dic, marzo contra marzo, junio contra junio, septiembre contra septiembre) y miro cómo se comporta este spread cuando queda menos de medio año para su vencimiento.
 
Esto empezó porque, al ver gráficos, veía que el spread de diciembre, cuando le quedaba menos de medio año, tendía a caer (la estadística se hace con el contrato cercano menos el lejano). He decidido graficar todos estos spreads desde el 83 (que es hasta donde llega la base de datos de mfgloblalfutures) y pasar esa información a una Excel. El procedimiento es sacar el gráfico y visualmente ver la apertura, el máximo, mínimo y cierre del spread. Esto se hace  cuando le quedan 6 meses de vida al contrato que vence antes. El proceso para sacar los datos no es muy fiable y puede que no sean del todo exactos. La idea no es saber la información exactamente sino ver si existe un sesgo en estos spreads.
 
En la Excel he puesto toda esta información y en estas líneas voy a intentar explicarlo brevemente.
 
En la columna A muestro si el contrato es D (DICIEMBRE), M (MARZO), J (JUNIO), S (SEPTIEMBRE).


En las columnas B y C están los años de los contratos. Siempre compramos el cercano y vendemos el lejano.


De las columnas D a la G están la apertura (en el periodo), máximo, mínimo y cierre.


En la columna H está la diferencia entre el cierre y la apertura (apertura-cierre).


En la columna I están aquellos casos que, independientemente del vencimiento de los contratos, el resultado es positivo, es decir, vendes el spread y a vencimiento lo compras más barato. Si es 1, el resultado ha sido >0 y viceversa.


En la columna J están los casos en que el resultado es negativo. Si es 1, el resultado ha sido < 0 y viceversa.


En la columna K están los resultados que han sido positivos y en la columna L están los casos negativos.


La fila 3 de las columnas  I, J, K y L nos muestra el sumatorio de sus respectivas columnas y por lo tanto: el total de casos positivo, el total de casos negativos, el total que se gana en las operaciones positivas y el total que se pierde con las operaciones negativas.


En la fila 2 y en las mismas columnas (I, J, K y L) se saca la probabilidad de aciertos (I2= I2/(I3+J3)), la probabilidad de fallos (J2= 1-H2), el ratio b/P (K2=K3/ABS(L3)) y el retorno medio (L2=I2*k3+j2*L3). 

En la H3 está el resultado total de la estrategia para cualquier vencimiento.

En las columnas H a la L incluidas se muestra la información de la estrategia para los vtos de diciembre, marzo, junio y septiembre. Si queremos ver el resultado de la estrategia para cada uno de estos vencimientos, la podemos ver en las siguientes columnas.
 

En las columnas N a R están los resultados de los vtos de diciembre.
En las columnas T a X están los resultados de los vtos de marzo.
En las columnas Z a AD están los resultados de los vtos de junio.
En las columnas AF a AJ están los resultados de los vtos de septiembre.
 
Después de todos los datos, la estrategia (vender el spread), donde mejor funciona es con los contratos de diciembre, donde tiene una tasa de acierto del 70% y por cada USD perdido se ganan 4,5.

 

Aquí se puede descargar la Excel

96
Lecturas relacionadas
Carteras 2015: Sistema Extreme, Sistema Letras, Correlación entre sistemas (parteII)
Carteras 2015: Sistema Extreme, Sistema Letras, Correlación entre sistemas (parteII)
Operando Spreads
Operando Spreads
Controlando al detalle nuestras operaciones bursátiles
Controlando al detalle nuestras operaciones bursátiles
  1. en respuesta a Ax0x0
    -
    #60
    04/08/10 19:09

    Ax0x0
    estoy haciendo un setup del programa que he hecho y lo voy a subir a mi web por si te lo quieres descargar.

    Puedes enviarme el fichero a oriol.esteve (at) gmail (dot) com - no quiero que sniffers me pillen el correo y me manden mas SPAM :)

    Asi veo el formato que has hecho y me adapto a el

  2. en respuesta a Horus76
    -
    #59
    04/08/10 19:04

    No se como enviarte el spread de esos dos año para qeu chekeemos

  3. en respuesta a Ax0x0
    -
    #58
    04/08/10 19:03

    Buenas Ax0x0

    En los ficheros que ha pasado Orion, algunos ficheros no tienen precio apertura (son 0) y por eso los spreads hechos con el precio de apertura salen raros.

    Ejemplo:
    07/23/08,0,94.3,94.27,94.27,2291520,9709340

    Por cierto, deberiamos poner la fecha en el fichero que vamos a generar? o con orden los estas grabando tu?

  4. en respuesta a Horus76
    -
    #57
    04/08/10 19:01

    Horus76
    tengo ya los resultados. he hecho el cieere de 15 - cierre de 16, es decir, comprado de 15 y vendido de 16. la primera columna son las fechas y la segunda los precios.

    lo que no es como subirlo aqui

    si no lo consgio te digo algo

    slaudos

  5. en respuesta a Dniutan
    -
    #56
    04/08/10 18:56

    No se, estaras mirando los primeros ficheros (los del 1982, 83 ) etc que cuando calculo los spreads no me sale ningun valor pues no coinciden. Pero Si, tienes razon. Cuando fabrico los spreads solo "coinciden" el ultimo año. Si quieren 1 año y medio pues no valen esos datos... pero el programa eso no le importa pues hace el spread con los datos que tenga y fuera

    por ejemplo: 2009Z - 2008Z el spread que me da son valores del 19/12/2007 al 15/12/2008

    Tienes razon.. voy a darles la vuelta pues sino los valores saldrian negados.

  6. #55
    04/08/10 18:50

    Hola a todos

    Siento no tener ni idea de programación pero podèis contar conmigo para cualquier tarea que no sea especializada.

  7. en respuesta a Horus76
    -
    #54
    04/08/10 18:33

    Hola Horus76,

    Se esta pidiendo el último año y medio, de modo que hace falta que en los dos archivos de cada vencimiento haya una correspondencia del último año y medio. Como el segundo vencimiento acaba un año mas tarde, solo hay 1 año de correspondencia.

    Por cierto el spread es al revés, comprado el vencimiento mas cercano y vendido el mas lejano (2015M - 2016M).

    Saludos,

  8. en respuesta a Dniutan
    -
    #53
    04/08/10 18:16

    Buenas Dnituan,

    con los dos ultimos años es mas que suficiente pues en años anteriores como dice Llinares siempre van subiendo de valor. el problema esta en el ultimo año donde hacen cosas raras pero por lo que parece ser siempre bajan y por eso quieren el programa... para entender "como bajan"

  9. en respuesta a Ax0x0
    -
    #52
    04/08/10 18:07

    Hola Ax0x0

    yo ya he conseguido hacer los spreads. Los he hecho con el precio de cierre pues con el los precios de apertura me daban valores realmente raros pero si quieres les dejo y asi comparamos. No se si es que algunos valores de precio de apertura estan mal o soy yo.
    ok, pues generare un csv con dos columnas (spread precio apertura/spread precio cierre) y al fichero le podemos llamar con el nombre del spread (???). yo ahora mismo como tomo el nombre de los ficheros mis spreads se llaman por ejemplo 2016M - 2015M. A malas al guardarlo a fichero le puedo llamar GE16M-GE15M.

  10. en respuesta a Orion
    -
    #51
    04/08/10 17:59

    Hola Orion,

    Me he estado mirando los archivos y veo que está el historico de los 2 últimos años de cada vencimiento.

    Con estos datos no sería suficiente ya que para hacer el estudio en este spread es necesario comparar los últimos 6 trimestres del primer vencimiento con el del segundo. Y en el histórico del segundo vencimiento solo está la correspondencia del último año.

    No se si me explico muy bien pero, en definitiva, necesitariamos el historico de los últimos 2 años y medio para cada vencimiento.

    Saludos,

  11. en respuesta a Horus76
    -
    #50
    04/08/10 17:47

    Hola Horus76

    En principio para formar spreads queria coger cierre ( pero pensaba hacer la opcion de qeu se eligira como hacerlo). Por lo tanto la idea es genera una excel con dos columnas una para la fecha y otra para el valor del spread en ese dia( diferencia de los contratos en esa fecha). Eso pensaba hacer yo para el tratameeinto de la informacion de Orion.

    Espero esto responda tu pregunta.

    caundo lo tenga te digo algo y chekemoas.

    Saludos

  12. en respuesta a Ax0x0
    -
    #49
    04/08/10 17:34

    Buenas ax0x0

    felicidades por el curro pues soy informatico y con el Excel no sabria ni por donde empezar :)

    Yo tambien estoy haciendo el c++ que se creen los spreads de los contratos de los ficheros que se entren en el programa (solo estoy haciendo el spread con el del año anterior y mismo vencimiento si esta disponible). Pero no creo que sea curro perdido si lo haces en Excel pues permitirá "testear" los resultados.

    Si tu defines el formato de salida que te va mejor, luego se comparan con ficheros que genere yo con tu mismo formato y si todos los ficheros con spreads son iguales (ese programita es facil) es que no ha habido errores.

  13. en respuesta a Francisco Llinares
    -
    #48
    04/08/10 16:30

    Buenas francisco

    La excel que tengo terminada te permite desde "n" ficheros ( se entienden que hay tantos como historicos tienes de ese contrato, ej, gez2000 gez2001 gez2002,...) los convierte en excel y te clacula el sesgo en ese periodo de tiempo del contrato. tambien se puede calcular el sesgo entre dos fechas( esto lo hice a raiz de la conversacion contigo).
    El txt los bajaba de mfgloblafutures que al sacar sreads los 4 campos qeu te daba eran iguales con lo cual la macro se olvidaba de 3 de esos campos.

    Como Orion subio el histoirco por contrato estoy fabrindo otra excel que te fabrique el spread de dos contratos y que sea el mismo formato que en la excel anterio. la idea de que fabrique un spread ya esta hecha y ahora la desarrollo para que entre dos años ( desde el 2000 al 2010 p ej. ) te lo haga de forma recursiva).

    Esto es lo que tengo a falta de chequeuarlo todo un par de veces.

    De todas formas si alguien lo pouede hacer en algun otro formato mas portable como java c#... me parece mejor pq sera mas robusto el resultado.

    Un saludo

  14. en respuesta a Francisco Llinares
    -
    #47
    04/08/10 16:05

    Necesitamos un jefe de proyectos :-P

    Cosas que tengo que he hecho hoy y de otro programa que hace graficos de hace tiempo

    a) descarga un fichero de internet en formato csv (porque yo tomaba los datos de yahoo)

    b) ahora he hecho la parte que escanea todos los ficheros de un directorio (supone que todos los ficheros son del mismo producto) y lo carga en memoria y a partir de ahi exportarlo es facil... yo lo he exportado a access porque nunca lo habia hecho y me picaba la curiosidad, pero se puede exportar a csv o cualquier otro formato que quedemos

    c) ahora estaba haciendo en el programa que me diera a elegir todos los spreads posibles ( con los datos que ha importado ) y mostrarlos en una tabla en pantalla. Eso supongo que lo tendre acabado esta tarde pues no creo que sea muy dificil.

    NOTA: esta todo programado en MFC y Visual C++

  15. Top 100
    #46
    04/08/10 15:53

    El post era para reclutar gente para trabajar, pero antes de empezar a hacer nada deberíamos organizar las cosas para que no se hagan trabajos dobles.

    También habría que designar cada trabajo a quíen lo pueda hacer en menos tiempo, debido a los programas que tenga hechos o la facilidad para hacerlos.

    Otra posibilidad es hacer programas que descarguen datos o que recojan datos automáticamente de muchos spreads y que otros usuarios usen esos programas para analizar todos los mercados. Tener en cuenta que la idea es hacer estudios de todos los productos y no sólo de la curva de tipos.

    Pienso que antes de hacer nada hay que planificar quién va a hacer cada cosa y quien va a hacer la comprobación de los resultados (que puede ser gente que no sepa programar).

    Los resultados de los estudios no necesariamente tienen que volcarse en Excel. Pueden hacer un listado en un fichero de texto normal y corriente. Lo digo para facilitar las cosas a quien no domine la Excel.

    Yo propongo lo siguiente:

    Alguien hace un programa para descargar datos o aporta alguno que ya tiene hecho.O se encarga de la recogida de ficheros y los deja a disposición como ha hecho Orion.

    Otro hace un programa que lee los archivos de datos, fabrica cualquier spread, y toma nota de los datos que se le pidan de ese spread en un archivo o una excel.

    Cuando tengamos las herramientas, distribuimos el trabajo de investigación de cada producto.

    Llegados a este punto, lo ideal sería que los implicados en el experimento nos reunieramos en una sala de voz para concretar detalles.

  16. #45
    Daanek
    04/08/10 15:19

    Hola,

    Aunque imagino que el hecho de buscar programadores es para no tener que utilizar tanta mano de obra sin cualificar dispuesta a trabajar gratis picando datos, y que lo haga todo una m'aquina, en caso de que haga falta alguien con buena voluntad, pod'eis contar conmigo.

  17. #44
    04/08/10 15:14

    Pero nos tendriamos que repartir el trabajo, no?

    Yo como estaba en el curro "aburrido" me he puesto a programar y he hecho un programa ( VC++ con MFC ) que importa todos los ficheros de un directorio (los que ha subido Orion), los carga en memoria y se pueden exportar a un MDB.

    Ahora con los datos en memoria voy a releer el post para ver que se tiene que hacer :-P

    Si alguien quiere el MDB que me avise

    es una access con los siguientes campos

    clave primaria: contrato + fecha

    contrato: cadena de caracteres (ej: 1982H)
    fecha: numero (ej: 19810912)
    precio open: float (ej: 86,72)
    precio close: float (ej: 86,4)

  18. #43
    04/08/10 14:23

    Muchas gracias por compartir el estudio. Yo tampoco sé programar pero puedo picar datos a velocidad de crucero.

  19. en respuesta a Dniutan
    -
    #41
    04/08/10 12:25

    se me ha ido la olla
    pensaba que los ficheros que habia subido orion eran excel tambien

    los he descargado y son txt... no me hagas caso :-P