Archive for the ‘colaborar no programadores’ Category

Es tan sencillo hacer un indicador con Ninja Trader, que lo voy a explicar rápidamente, y con suerte los no programadores pueden hacer indicadores también!

Ninja Trader es gratuito, los indicadores se programan en C#, pero en realidad para hacer cosas sencillas, no hace falta saber programar mucho y se puede aprender sobre la marcha, preguntad que responderé… Incluso lo mas básico!

Voy a exponer los pasos que he seguido para hacer un indicador llamado DailyVolatility, que consiste en ver la diferencia entre el máximo y el mínimo de un día…
Es algo sencillisimo de hacer, como no se veía una tendencia con ese Indicador, he creado otro indicador que muestra la Media Móvil del anterior indicador, a este lo he llamado SMADailyVolatility (SMA de Simple Moving Average).
Lo primero es descargar el NinjaTrader, meter el código de registro y descargar históricos de yahoo, todo gratis, y muy simple, si alguien tiene dudas de como hacerlo que comente y le explicare mas.
Después hay que crear un nuevo Indicador, darle a aceptar a todo lo que te pregunta y cuando aparece el código fuente, simplemente hacer las modificaciones que se pueden ver en las
imágenes, para cada uno de ellos!

Listo ya tenemos ambos indicadores, solo necesitamos crear un chart nuevo y ponerle los indicadores que queramos…
Se puede ver el código fuente de los indicadores que vienen por defecto y aprender de ahí, también hay excelentes tutoriales y ayuda online (En ingles).

Lo siguiente que quiero hacer es un indicador que muestre la suma histórica de todos datos que tengamos en los que coincida el día y el mes, después haré otro similar pero en este caso haré que coincida la posición en el día del mes.
Para testear todo esto tendré que crear una estrategia, todavía no he mirado eso, pero seguro que es igual de sencillo!

Una vez que tenga todo esto, quiero repetir lo mismo en Visual Chart y poner los pasos aquí, pero que todo el que tenga ganas pueda repetirlo y hacer otros indicadores, y quien tenga dudas de como hacer tal o cual cosa, solo tiene que preguntar y lo iremos comentando, aunque se tengan que explicar las nociones mas simples de programación.
Hacer indicadores y estrategias permite ver mas gráficamente los resultados que el Excel y ademas permite ahorrar mucho tiempo, atrás cosas probablemente se hagan mejor en Excel, pero creo que los indicadores de Ninja Trader y VisualChart pueden ser de mucha ayuda!
Un indicador que simule el sistema de las tortugas? Indicadores para algunos de los sistemas de Gekko? Venga… Entre todos nos hacemos un montón y publicamos los resultados que salgan de aplicar las estrategias!



“Defy Human Nature: Do it yourself!”

Ya tenemos una carpeta en los servidores de Rankia donde colocar los históricos que descarguemos, tenemos tres descargadores funcionando, solo tenemos que crear los batch para descargar todo lo que queremos, podemos empezar con:

- Un batch para el IBEX 35
- Un batch para el Eurostoxx50
- Un batch para todo el mercado continuo
- Un batch de índices
- Un batch de ETFs
- Un batch de los valores del S&P500
- Un batch de los valores del NASDAQ
- Otros que se propongan
Estas son tareas para los no programadores, el que se anime que me lo diga y coja uno. Tenemos que coordinar quien descargara y subirá por FTP todos los días las actualizaciones, yo no puedo ahora mismo porque me estoy mudando de piso y tendré que pedir internet y esos líos, así que no me quiero comprometer hoy mismo, quizás dentro de 2 semanas si. Esta tarea debería de ser automática prácticamente y cuestión de unos clicks, esperar 10 min a que descargue y listo!
Como crear un batch?
Tenemos dos tipos de batch, uno para descargar la información por primera vez, entre dos fechas y otro para actualizar el archivo desde la fecha mas reciente.
Para seguir un formato común pondremos el nombre del tipo IBEX_RETRIEVE.batch para obtener los datos por primera vez y otro IBEX_UPDATE.batch para actualizarlos diariamente.
Tenemos ejemplos de batch para actualizar y para importar en el post lab 4.
Para crear un batch solo se necesita Notepad, ved los ejemplos:
Crear un batch desde BolsaMadrid

Seguid las flechas hasta llegar a los historicos, ver el codigo fuente y usar el isdn como dato necesario para los batch, el ticker sera el nombre.
En este caso seria:
name=”nombre” value=”ABENGOA
name=”isin” value=”ES0105200416
RETRIEVE VALUE ES0105200416 FROM BOLSAMADRID INITDATE 01/01/2006 ENDDATE 04/04/2006 TICKER ABENGOA
UPDATE VALUE ES0105200416 FROM BOLSAMADRID TICKER ABENGOA
Crear un batch desde Yahoo

Seguid las flechas hasta llegar a los historicos, presionar update, y obtener el dato para el batch de la URL.
RETRIEVE VALUE %5EIBEX FROM YAHOO INITDATE 01/01/2006 ENDDATE 04/04/2006 TICKER IBEX
UPDATE VALUE %5EIBEX FROM YAHOO TICKER IBEX
Crear un batch desde Google

Seguir las flechas hasta llegar a los historicos, presionar update, y obtener el dato para el batch de la URL.
RETRIEVE VALUE 99624 FROM GOOGLE INITDATE 01/01/2006 ENDDATE 04/03/2006 TICKER CISCO
UPDATE VALUE 99624 FROM GOOGLE TICKER CISCO
En todos los RETRIEVE tendremos que intentar buscar las fechas con mayores valores posibles.
Queda claro que este proyecto colaborativo tiene la finalidad de buscar pautas de inversión y especulación mediante estadísticas y todos los métodos que se nos ocurran, necesitando históricos para empezar a trabajar en ello, dado que ninguno de nosotros recibimos un sueldo por hacer este trabajo, sino que es un hobby, no hay obligación de hacer tareas ni de cumplir plazos de tiempo, cada cual tiene su propio trabajo, familia y quehaceres varios…
Si se cree que se va a tener tiempo se toma una tarea mas larga, sino una mas corta si se ha tomado una tarea y no se tiene mas tiempo se deja un mensaje diciéndolo y otra persona puede continuar con la tarea.
Yo personalmente he dedicado varias decenas de horas en las ultimas semanas al proyecto y probablemente pueda dedicar muchas menos en los próximos meses debido a las condiciones de mi trabajo, voy a gestionar usuarios de sourceforge y responder dudas, y si tengo tiempo escribiré código y si no, lo dejare para mas adelante.
Creo que colaborar en el proyecto es beneficioso para todos aparte de mostrar una iniciativa por parte de la persona que es muy valorada, colaborar en un proyecto Open Source es algo que yo pondría en mi CV, aparte del beneficio que pueda obtener de los resultados del propio proyecto en si.
Comentario para los programadores:
Yo creo que se podría considerar hacer las pautas mediante scripting:http://www.beanshell.org/manual/bshmanual.html
Da mucho juego con las funcionalidades remotas, consola etc… Y las pautas de cada uno serian importables como fichero de texto.
Mirad el manual y me decís que os parece!
Juanmi apuesta por poner varios lenguajes de scripting… A gusto del programador, al menos uno!
NOTA: Como entiendo que para la gente que no sabe programar y que tiene conocimientos muy básicos de informática, es complicado colaborar, estoy trabajando en un interfaz gráfico, que sea ejecutable con un .exe normal desde windows y no necesite instalar java sino que ya lo lleve incluido (por supuesto la aplicación a descargar será mas pesada.)

NOTA 2: Tengo pensado hacer un coloquio con Francisco Llinares dentro de unas semanas, cuando tengamos mas funcionalidad y lo haya probado mas gente, para poder hablar de que el lo que quiere cada uno, y de las tareas que quiere hacer cada uno, con estos últimos posts hay material mas que de sobra para colaborar y en dos o tres semanas anunciamos el coloquio, ya que tendremos mas gente colaborando activamente y el sistema estará probado y conocido por otros muchos, eso espero…

Subscribete por Email:




Sigueme en InBestia

Dalamar Pics
    http://dalamarblog.tumblr.com/post/85202904577http://dalamarblog.tumblr.com/post/85202822342

Archivo
Categorias