Ya he terminado de estudiar el sistema TPS, por lo que voy a pasar a daros los resultados. Para los que no sepáis de que va este sistema, hay un par de entradas recientes en el blog que lo explican.
Si ponemos en funcionamiento el sistema el 01/01 de 2000 hasta nuestros días, tanto para largo como para corto, sobre el índice SP500 y entrando en cada señal con máximo 100 cfds (recordad 10,20,30 y 40), los resultados son los siguientes:
Yo destacaría de las estadísticas como positivo el porcentaje de aciertos 90 % y el profit factor 4,32 y como negativo que dio perdidas en el año 2011 y la relación CAR/MDD 0,64, es decir poco beneficio para el draw down que tiene.
Pero esto es operando este sistema con un capital inicial de 100.000 $. Y resulta que al ser un índice el activo que operamos, podemos ir apalancados. ¿Que pasaría si operásemos este sistema tal cual lo hemos planteado pero con un capital inicial de 10.000 $ ?. Vamos a verlo.
El gráfico de arriba nos muestra la curva de capital en función de las veces que operemos el sistema (porcentualmente):
- Nos indica que el 0,2 % de las veces que operemos este sistema con 10.000 $ nos arruinaremos.
- El 95 % de las veces acabaríamos con un capital superior a 72.000 $, lo que representaría un 13 % de beneficio anual medio.
- La mitad de las veces el capital superaría los 96.000 euros
- Y sólo un 5 % de las veces conseguiríamos que nuestro capital acabase por encima de los 118.000 $ lo que representaría algo más de un 17 % anual.
¿Y que pasa con el draw down?:
- El 5 % de las veces el MDD será inferior al 5 %.
- La mitad de las veces será inferior al 16 %
- Y el 95 % de las veces será inferior al 50 %
Esta es la parte negativa del sistema, pero es así, el sistema se mete con más capital cuanto peor se ponen las cosas y claro cuando la operación sale mal (muy pocas veces) el capital perdido es grande.
El estudio está hecho sin ningún tipo de stop loss, pues es como mejores resultados obtiene.
No quiero despedirme sin deciros que he tocado los stop loss del sistema «A mi criterio». Podéis ver los ajustes en su correspondiente hoja de cálculo.
Saludos.
lunes, enero 13th 2014en12:53
Gran trabajo de investigacion, personalmente durante este fin de semana estuve haciendo pruebas, con diversos mercados, y siempre me encontraba alguna operación un poco «complicada», lo que esta claro es que una cosa es la estadistica y despues la vida real, cuando empiezas a meter contratos y no para de subir o bajar, te crea muchas dudas, pero esta claro que el sistema TPS funciona
sábado, febrero 1st 2014en16:06
Hola. Ramón , estoy tratando de programar el sistema TPS en amibroker, no se como hacerlo, tengo la base de el programado por Howard Bandy, no se como indicar para comprar el 10,20,30,40% cada que baja el precio y como indicar el stop loss en 9 %.
Me podrías ayudar a programarlo ?
RSILength = 2;
MALength = 200;
RSIBuyLevel = 25;
RSISellLevel = 70;
CloseAboveLongTermMA = C > MA( C, MALength );
RSI2 = RSIa( C, RSILength );
Buy = RSI2 RSISellLevel;
Saludos
John
sábado, febrero 1st 2014en19:22
Hola John, se bienvenido.
En la parte de código que has puesto arriba, el sistema compraría cuando el RSI(2) cayera por debajo de 25 (te falta el signo < ), sin embargo el TPS compra cuando lleva 2 días por debajo de 25. Lo aclaro para que no hayan dudas.
De todas formas el código lo tienes aquí:
http://www.amibroker.com/library/detail.php?id=1380
Saludos.
lunes, febrero 3rd 2014en17:07
Buenas tarde, por casualidad no tendrias el codigo para aplicar el sistema TPS al prorealtime, estoy aplicando en diversos valores el sistema, y lo estoy haciendo a ciegas, gracias por tu tiempo
lunes, febrero 3rd 2014en19:36
Hola Juan Carlos.
Lo siento, pero para PRT no tengo el código.
Saludos.
domingo, noviembre 9th 2014en00:36
Codigo para PRT
// Definición de los parámetros del código
DEFPARAM CumulateOrders = True // Acumulación de posiciones desactivada
indicator0 = Average[200](close)
// Condiciones para entrada de posiciones largas
indicator1 = CALL «Ejemplo RSI»[2]
c11 = (indicator1 <= 20[1]) and (indicator1[1] indicator0)
IF LONGONMARKET=0 THEN
IF c11 and c10 THEN
BUY 1 SHARES AT MARKET
ENDIF
ELSE
IF close = 75) and (indicator3[1] >= 75)
c30 = (close close[BarIndex – TradeIndex] and c30 THEN
IF COUNTOFSHORTSHARES=1 THEN
SELLSHORT 2 SHARES AT MARKET
ENDIF
ENDIF
IF COUNTOFSHORTSHARES=3 THEN
SELLSHORT 3 SHARES AT MARKET
ENDIF
IF COUNTOFSHORTSHARES=6 THEN
SELLSHORT 4 SHARES AT MARKET
ENDIF
ENDIF
// Condiciones de salida de posiciones cortas
indicator4 = CALL «Ejemplo RSI»[2]
c4 = (indicator4 CROSSES UNDER 30)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
jueves, marzo 12th 2015en20:36
lo siento lo siento no haber visto antes tu mensaje Rafa, uno revisa la pagina todo los dias, pero no vuelve a los temas tratados con anterioridad, te pido mil disculpas, gracias por la formula