Archivos de la etiqueta: PRT
Publicado por Blai5 - 17/06/2011 a las 07:00:43
Me complace anunciar la disponibilidad del código de la media de Kaufman [Kaufman's Adaptive Moving Average - KAMA] para los usuarios de ProRealTime. El código es público y gratuito, y se puede acceder a él desde este link.
Diseñada por Perry J. Kaufman el concepto de esta media fue publicado por primera vez en 1995 en “Smarter Trading“, aunque su máxima difusión la obtuvo tras su inclusión en el libro “Trading Systems and Methods, 3rd Edition” en 1998.
Kaufman, a partir de una media convencional, diseñó un método para adaptar mejor su recorrido a la tendencia, disminuyendo en lo posible las oscilaciones atribuibles fundamentalmente al ruido del mercado.
Básicamente, KAMA intenta descubrir si existe tendencia o no. En el caso de una situación de mercado fuertemente tendencial, se ajusta al precio, mientras que cuando se lateraliza, se separa intentando minimizar el efecto de las oscilaciones y disminuir al mínimo las falsas señales. Incorpora un factor de corrección denominado SC [Smoothing Constant] basado en el ajuste de la volatilidad.
Admite todas las aplicaciones y formas de uso de las medias convencionales, mejorando sus resultados.

En el caso concreto del gráfico superior se trata de dos sistemas simples de medias aplicados sobre GRF en periodicidad diaria. El sistema inferior genera señal [de compra o venta] cuando el cierre atraviesa la media aritmética asociada. El sistema superior hace lo propio pero cuando el cierre cruza la media KAMA. Ambas medias son de idéntica periodicidad, por lo que sus trazados y resultados son comparables.
La diferencia más manifiesta se puede observar en el menor número de falsas entradas generadas por la KAMA con respecto a la media convencional.
Más información y descarga del código de KAMA para ProRealTime
Publicado por Blai5 - 08/06/2011 a las 11:03:15
Semana de trabajo intenso en ciertos aspectos de la web, laboriosos y algo aburridos, pero que me habían sido reclamados con toda justicia.
El primero era la reconstrucción del apartado Catálogo [accesible desde el botón superior "Mis Indicadores"] donde se pueden encontrar de forma ordenada todas las herramientas disponibles, tanto por herramienta como por plataforma y he incluido como novedad en qué tipo de formato de descarga están disponibles [gratuita, en forma de código para usuarios registrados o por donación]. En total y a día de hoy, 21 indicadores/herramientas; 5 ProScreners y 2 entornos de trading para 6 plataformas. No está mal. Pronto habrá más.
Por ejemplo, buen momento para anunciar la disponibilidad del indicador derivado Gatillo7 para Visual Chart 5, diseñado originalmente por PaqueteTrader y adaptado a la plataforma por el colega Morcego. Gracias a ambos los usuarios de VC5 ya disponen de una nueva herramienta de trading a su disposición.

Para los usuarios registrados hemos agrupado los códigos para ProRealTime disponibles en un nuevo apartado denominado Códigos, separados entre Indicadores y ProScreeners para que sean más fáciles de localizar y descargar.
Lo dicho, trabajo en favor de la navegabilidad y mejor acceso a todos los recursos disponibles. Esperamos que os resulte útil.
Fecha de publicación: junio 8, 2011
Categorias: FAQs - Preguntas frecuentes, General, Indicadores, ProRealTime, Visual Chart, Web blai5.net
Tags: Etiquetas: Código, Indicador, ProScreeners, PRT, Webs
Publicado por Blai5 - 23/05/2011 a las 07:05:19
La curva de Coppock es un indicador de [por defecto] periodicidad mensual, especialmente útil para inversores a largo plazo o para detectar suelos y giros en tendencias bajistas. Este indicador, aplicado sobre el histórico de los grandes y veteranos índices americanos se muestra muy fiable para indicar los finales de las tendencias bajistas. Así es una buena referencia que no deberíamos obviar, ya que si por alguna razón seguimos pensando en bajista, una vez que la curva de Coppock emite señal, quizás deberíamos replantearnos nuestra visión del mercado.

Desarrollada por E.S. Coppock en 1962, fue incialmente publicada en Barron’s, aunque su popularización no se dío hasta noviembre de 1994 cuando E. Middleton habló de ella en la revista Stocks & Commodities. Inicialmente recibió el nombre de “Tredex Model” y, aplicada sobre el SP, la curva de Coppock ha emitido 24 señales en 90 años de las cuales 22 han sido correctas y solo 2 han sido fallos, aunque esos fallos han sido seguidos rápidamente por la señal buena.

La señal la genera cuando se gira al alza siempre que se encuentre en terreno negativo. No hay ningún indicador que puede dar una plena garantía de nada, pero cuando la curva de Coppock genera una señal de suelo, las probabilidades de girar hacia un nuevo mercado alcista son altas, aunque en ocasiones se generan falsas señales previas tal y como sucedió en 1941, 1947 y en el 2001.
He programado este indicador para ProRealTime para su utilización en gráficos mensuales [opción por defecto], tal y como se indica en toda la documentación técnica disponible, aunque como la periodicidad más habitual es la de gráfico diario, he habilitado la opción de obtener la misma curva en gráfico diario sobre cualquier valor o índice sin distorsión activando la casilla correspondiente.
Publicado por Blai5 - 19/05/2011 a las 07:07:35
Título alternativo: EL BARNIZ DE LA OPTIMIZACIÓN
“Optimizar” resulta un verbo muy complicado para conjugar en cuanto al diseño de sistemas. El diccionario lo define como “lograr el resultado óptimo [en un proceso físico, industrial, etc.]”
Una vez más, si estuviéramos en un proyecto honesto y hubiésemos obtenido un sistema ganador en la mayor parte de los casos y prudente en el manejo de las pérdidas, podríamos intentar ajustar al máximo su funcionamiento mediante técnicas de optimización. Pero, no es el caso. Ahora sólo pretendo demostrar cómo no es complicado “fabricar” la mejor curva posible de beneficios incluso para un mal sistema como este.
Partiremos del gráfico del último sistema propuesto, aquel que habíamos denominado %V y que comparamos con el primero:

Comprobar, simplemente, que hemos pasado de un tramposo beneficio inicial del 4,95% a un mucho más tramposo 61,7%. Pues vamos a mejorarlo todavía más.
La técnica es sencilla. Como el sistema es muy simple en su lógica [cierres por encima o por debajo de una determinada media exponencial generan compras y ventas], vamos a incluir el cálculo de la mejor media posible en cada caso, es decir, aquella que nos ofrecerá en este caso y temporalidad, los mayores beneficios.
Para ello, pulsaremos sobre Propiedades del último ProBacktest [%V] y en el botón Modificar ProBacktest, y empezaremos el proceso para incluir una variable de optimización.
En la línea de código:
si = close > ExponentialAverage[20](close)
sustituiremos el valor “20” por una “x”, para que quede de este modo:
si = close > ExponentialAverage[x](close)
Ahora, a la derecha podemos observar el espacio “Optimización de variables”. Pulsamos sobre el botón Añadir y la configuraremos tal y como muestra la imagen siguiente:

En pocas palabras, eso significa que tomará todos los valores pares de medias entre 6 y 120 y nos devolverá el de la media con la que obtendremos mayores beneficios. Pulsamos en Aceptar e, inmediatamente, ProRealTime se encargará de hacer los cálculos. El resultado [para mí y en este caso] es que la media exponencial que mejores resultados da para este valor y temporalidad concreta es la de periodo 12.
Pues ya está obrado el milagro. Acabamos de fabricar una gráfica de beneficios para un pésimo sistema que nos ofrece unos resultados de un 108,7% de beneficios, con una bonita pendiente que lo hace pasar por un sistema fiable y con pocas posibilidades de pérdida.

Sólo nos hace falta corregir un último detalle que, además, es uno de los principales problemas para que la mayor parte de usuarios exploten correctamente un sistema tendencial.
Llamo tu atención sobre el primer tramo de ambas curvas. Más o menos entre el 1 de enero y el 15 de marzo la primera genera pérdidas, cosa que corregimos en la segunda para que no mostrase [aunque también las genera, porque recuerden que pusimos a cero los costos operativos].
Esto es una constante y un axioma en todos los sistemas tendenciales. Hasta que el activo no coge una buena primera tendencia, pierden dinero. Esa fase es desesperante y, la mayoría, renuncian al sistema mucho antes de esos tres meses y medio [en este caso, que a veces puede ser más]. La paciencia no es precisamente la principal virtud del trader.
Pues bien, para acabar toda la gama de trucos trileros que he visto por ahí, voy a desplazar el gráfico justo hasta el inicio de la primera tendencia y les voy a ahorrar la contemplación de esa primera fase agonística para hacerles creer que este sistema ofrece resultados maravillosos desde el primer día, tal y así:

¿Alguien se daría cuenta de ese desplazamiento interesado? A que no. Bueno, más o menos hasta ahí las artimañas más simples que deberían servir para convencer a un usuario medio que se encuentra ante un sistema de gran calidad.
Ahora, las moralejas de este largo cuento:
- NO JUZGUEMOS jamás un sistema SÓLO por un gráfico de beneficios.
- La manera de conocer la bondad de un sistema está en el INFORME DETALLADO NUMÉRICO [queda pendiente para otra serie explicar el qué y el cómo]
- No te fíes de un sistema que no puedas probar. Cuando tengas uno, PRUÉBALO EN DISTINTOS ACTIVOS, MERCADOS Y TEMPORALIDADES; y aplícalo SOLO a aquellos casos a los que mejor se adapte.
- HASTA LOS MEJORES SISTEMAS DEPENDEN de la SITUACIÓN DEL MERCADO. En una situación desfavorable todos los sistemas parecerán mediocres, en una favorable cualquiera parecerá bueno.
- NO ES SIEMPRE MEJOR SISTEMA el que más BENEFICIOS proporciona; hay más factores. Aumentar la posibilidad de beneficios en un 50% aumentando el riesgo en un 100% no sólo es un mal negocio, sino que puede ser ruinoso.
- TODOS LOS SISTEMAS TENDENCIALES ganan en las tendencias y pierden en los laterales y, además, pueden tardar un tiempo indeterminado [hasta la primera tendencia larga] en entrar en beneficios. Requieren paciencia.
- ES MUY IMPORTANTE que los COSTOS OPERATIVOS estén correctamente contemplados, porque ahí se dará cuenta que los sistemas que operan poco son mejores para usted y peores para su bróker. [Hay mucho sistema por ahí que parece directamente diseñados por brokers y comisionistas, pues sólo a ellos les benefician siempre porque operan MUCHO siempre].
- ACTUALMENTE ESTAMOS EN LATERALIDAD, por lo que no encontrará NINGÚN SISTEMA TENDENCIAL puro [que son la mayoría] que ahora mismo le ofrezca grandes resultados. Paciencia, es el mercado quien siempre manda.
Y creo que ya hay suficiente. Espero que todo esto le resulte útil a alguien .
Publicado por Blai5 - 17/05/2011 a las 07:21:38
Título alternativo: TUNEANDO LA CURVA DE BENEFICIOS
En este punto, no tengo más remedio que anticiparme al final para lanzar la moraleja de todo este largo folletín por entregas: NUNCA JAMÁS JUZGUEN UN SISTEMA SÓLO POR LA CURVA DE BENEFICIOS. Es mucho mejor hacerlo a través del informe numérico detallado.
El gráfico esconde la mayor parte de datos y somos capaces de apreciar [con nuestro ojo poco cultivado] sólo TRES aspectos: el resultado final, la pendiente y el trazado.
Cuánto más empinado y más regular sea el trazado, consideramos que el sistema es mejor, aunque creo que este ejercicio debería servir para demostrar que no siempre tiene por qué ser así y que fabricarse un trazado a medida es fácil para cualquiera un poco ejercitado. [Algunos ejemplos –inocentes- los pueden encontrar en algunos foros, y no son más que simples ejercicios de vanidad. Nadie con un sistema brutal alardea de él; simplemente lo pone en práctica y se enriquece –si es inteligente- en silencio].
Estas técnicas que voy a utilizar y mostrarles ahora me van a servir para, en primer lugar, corregir en la medida de lo posible los dientes de sierra que señalan periodos de pérdidas entre las ganancias. Voy a intentar moderarlos para que este desastroso sistema tenga todavía un aspecto mejor.
Puedo utilizar dos técnicas, tramposas en el contexto que las utilizo, aunque bien válidas para moderar las pérdidas de cualquier sistema. Para empezar, voy a generar un tercer sistema, copia del segundo [basta con editar el segundo y cambiarle el nombre; en mi caso lo llamaré Media E 20 MC%V]
Primera técnica para aplanar la curva: Como el informe detallado me informa que este sistema produce un valor Drow down [pérdida máxima en la curva de beneficios] de más de 2500 euros, voy a aplicarle un stop de pérdidas y a observar si eso, aplana mi curva sin mermarme muchos beneficios.
Para ello, voy a propiedades de este tercer sistema, pulso en Modificar ProBacktest y, luego en el botón Stops del grupo 2 – Money Manegement.

Voy directamente a la primera pestaña Stop Loss y, después de probar varios valores, escojo aplicar un valor de stop loss de 300 euros que, al mismo tiempo que mejora los resultados, aplana algo la curva.
Esto que sería una técnica perfectamente legítima, deja de serlo desde el momento en que le hemos eliminado el cálculo de los costos operativos, pues operaremos casi un 20% más. Por lo tanto, si fuésemos honestos, del beneficio obtenido deberíamos descontar los costos operativos.
Pero todavía hay una segunda fullería que, por más que pueda parecer una auténtica burla, es uno de los trucos trileros más ampliamente difundidos: NO CERRAR JAMÁS CON PÉRDIDAS. Escoges un valor/temporalidad que dé beneficios [aunque sea la excepción] y le obligas a no cerrar ninguna operación con pérdidas cosa que, por supuesto, hará que la curva muestre de una pendiente impecable. Pero, ¿qué significa eso?
En primer lugar, que estás dispuesto a permitir que el sistema te arruine en todas y cada una de las entradas, pues no le pones un límite de pérdidas. Confiar que el mercado SIEMPRE volverá a una situación favorable sin agotar antes tus recursos, [especialmente teniendo en cuenta que, en el sistema del ejemplo, estamos invirtiendo el 95% de tu capital en cada una de ellas], es un auténtico suicidio estadístico.
Lo crean o no, hay multitud de sistemas “ganadores” basados simplemente en la técnica del “nunca cerrar en pérdidas”. Eso sí, sus curvas son impecables…, en esos activos que nos muestran, desde donde nos muestran [un buen punto de principio] y hasta donde nos quieren mostrar.
Bueno, yo no voy a ser TAN sinvergüenza, y les voy a mostrar otra técnica alternativa, algo más sutil para hacer eso sin que se note tanto. Ya que he eliminado los costos operativos [comisiones] me voy a permitir el lujo de cerrar con un stop si el precio vuelve al punto de entrada. Es casi lo mismo, pero la curva parece más natural [tiene subidas y bajadas, aunque nunca entra en perdidas]. Podría parecer un buen sistema.
Para ello utilizamos en PRT la sentencia:
SET STOP ENTRYQUOTE
Con lo que tendremos un código para este tercer sistema tal y como éste:
//———CODIGO——–
// Sistema Media 20 EXP%V
si = close > ExponentialAverage[20](close)
IF si THEN
buy 95%CAPITAL at market
SET STOP ENTRYQUOTE
ENDIF
IF NOT si THEN
sellshort 95%CAPITAL at market
SET STOP ENTRYQUOTE
ENDIF
//———FIN CODIGO——–
Puedes quitar o anular el anterior Stop Loss incluido en el apartado Stops porque, al incluir esta orden el código no llegará a actual nunca y, por lo tanto es inútil.
Una vez más, el truco está en trabajar sin cálculo de gastos operativos, porque esto dobla el costo en comisiones al operar el doble de veces. Pero la curva está mucho menos dentada y parece realmente un sistema cuidado para no sufrir grandes oscilaciones [lo parece, pero no lo es].

Publicado por Blai5 - 13/05/2011 a las 07:15:28
Título alternativo: SOÑEMOS QUE TODO ES GRATIS
Reconozco que de todos los trucos, tretas y artimañas tramposas, esta que voy a explicar ahora es la que más me enerva. Cuando veo que alguien recurre a esta treta tramposa para maquillar un sistema me gustaría agarrarlo por el cuello y apretar un poquito.
La muestro primero y después la comento.
Vamos a tomar ese segundo sistema, en el que cambiamos la operativa a proporcional y que ya llevamos hasta casi el 57% de beneficios [ficticios y manipulados, por supuesto]. Apuntemos ahora el resultado en una hoja de papel [en el caso de nuestro ejemplo = 15.686].
Vamos a hacer ahora un sutil movimiento. Vayamos a propiedades del ProBacktest / Modificar ProBacktest y Gestión Capital, donde deberíamos ver esto:

Bien, la primera matización es que, si no estuviésemos jugando a ser unos trileros tramposos, este apartado estaría equivocado. En la mayor parte de brokers nos cobrarían más de 3 euros por operaciones proporcionales del 95% de nuestro capital, que [en este caso concreto] rondaría entre los 9000 y los 13000 euros. Lo correcto sería poner el costo real en comisiones de cada cual pero, como media, entre 5 y 6 euros por operación podría ser adecuado.
Pues bien, uno de los trucos más sucios en el “maquillaje” de sistemas es eliminar el cálculo de los costos operativos. Esto es especialmente grave en algunos sistemas scalp y en el mercado FOREX. Algunos de estos sistemas pasan de unos resultados espectacularmente buenos directamente a pérdidas simplemente incorporándoles el costo real de comisiones/horquillas. Son sistemas que realizan cientos de pequeñas operaciones al día para EXCLUSIVA felicidad de brokers y comisionistas.
Entrar en algunos sitios centrados en sistemas sobre FOREX [paradigma del apalancamiento y del scalp más rabioso] y estudiar los sistemas allí ofertados haría sonrojarse de vergüenza al mismísimo Alí Babá.
Bueno, en nuestro caso la diferencia no será tan extrema, pero, ¿en cuánto piensa que mejoraría [arteramente, por descontado] nuestro ya tramposo sistema obviar el cálculo de las comisiones? Pues vamos a comprobarlo. En esa ventana vamos a poner un cero en los valores de Comisión por orden y Comisión mínima.
Damos a aceptar y comprobamos que, por obra de magia, lo que antes era 15.686 ahora ya es 15.800, con lo que este simple truco [indetectable mirando sólo el gráfico de liquidez] nos acaba de proporcionar un 2% extra de beneficios.
¿No te sientes ya como un auténtico sinvergüenza?
Pues aún podemos exprimirlo más. Pero eso será en la próxima entrega…
Publicado por Blai5 - 11/05/2011 a las 07:09:21
Título alternativo: ¿BAJAR RÁPIDO ES DESPEÑARSE?
Decía mi rústico pero entrañable abuelo, con la boina calada hasta las orejas, que no había manera más rápida de bajar la montaña que despeñarse, pero que él no lo recomendaba.
Aunque yo les presente estas técnicas como de “maquillaje”, algunas de ellas son muy útiles para pulir y mejorar los sistemas. El tema está en que todas ellas tienen tantas ventajas como inconvenientes y hay que conocerlos. Son como la conocida manta corta, que siempre te deja los pies al fresco.
Pero como ahora lo que les estoy mostrando es precisamente cómo fabricar un gráfico epatante, que les induzca a pensar que se encuentran ante un sistema maravilloso, no voy a tener nada de eso en cuenta.
Hemos escogido nuestra tramposa excepción, simplemente porque el histórico del activo se ajusta al sistema [y no al revés, como debería] y vamos a generar un segundo sistema. Ahora que la bruja ya no lo parece, vamos a convertirla [aparentemente] en una bella doncella.
Empezaremos por replicar el sistema cambiándole el nombre. Para ello pulsaremos sobre Nuevo Backtest y escribiremos [fíjese en que, simplemente añadimos el símbolo % al final del nombre]:
Nombre: Media E 20 MC%
//———CODIGO——–
// Sistema Media 20 EXP
si = close > ExponentialAverage[20](close)
P = 1000
IF si THEN
buy p cash at market
ENDIF
IF NOT si THEN
sellshort p cash at market
ENDIF
//————-FIN CODIGO———-
En Gestión Capital:
Cap. Inicial = 10000
Por orden = 3 €
Comisión Min. = 3 €
Reinvertir Beneficios = Marcado
Acumular Posiciones = No Marcado
Ahora explicaré el código antes de cambiarlo.
Fíjate en que este sistema, tal como está ahora, compra [o vende] una cantidad fija de dinero en cada operación a mercado siendo esa cantidad de 1000 euros [p = 1000]:
buy p cash at market
Cuando se diseña un sistema, es preferible tener elementos de valoración simples y estables para comprobar su buen funcionamiento.
Por supuesto, si invirtiendo en paquetes de 1.000 obtenemos X beneficios; si invertimos 2.000 obtendremos 2X y si son 5.000, 5X. Hasta ahí es fácil. [En el sistema bastaría cambiar la cantidad de P=1000 por otra cantidad y todo seguiría funcionando a la perfección].
Truco nº 2: si sabes que va a salir bien, exagéralo
Pero, ya saben, nuestra tarea es ahora aplicar capas de “maquillaje matemático”, así que vamos a cambiar el sistema de compras y ventas de cantidades fijas a proporcionales, con lo utilizaremos la palanca incremental. Con eso nos basta para que parezca pasar de “bueno” a “una maravilla” siendo exactamente el mismo. Como ya sabemos que, en este caso concreto, el sistema es ganador, vamos a operar, en cada ocasión, el 95% de nuestro capital. Así que cambiaremos el código anterior por este:
//———CODIGO——–
// Sistema Media 20 EXP
si = close > ExponentialAverage[20](close)
IF si THEN
buy 95%CAPITAL at market
ENDIF
IF NOT si THEN
sellshort 95%CAPITAL at market
ENDIF
//———FIN CODIGO——–
Así obtenemos una curva idéntica pero, eso sí, maximizando los resultados positivos.

Ya ves, otro truquito sencillo pero muy efectivo. Hemos pasado de un 4,9% de beneficio a un 56,8%. Pero [por lo de la manta y en la misma proporción], también pasaríamos de pérdidas de -5% a más del -50%.
Esto no es gestión de capital. No se confundan. Esto es lo que decía mi abuelo: despeñarse por el barranco como camino más rápido de bajada. Hay otros métodos mejores que, simplemente, apostarlo todo [o casi] en cada jugada. Sólo cabe hacerlo sin pudor si somos unos tramposos y conocemos anticipadamente que resultado será positivo.
Pero, puesto sobre el gráfico, ¿a que encandila?
En la próxima entrega prometo ser todavía más trilero y tramposo, pero mejoraré aún más estos resultados embusteros…