Strict Standards: Non-static method JFactory::getUser() should not be called statically in /homepages/34/d227044908/htdocs/traderninja/foro/joomphpbb_engine2.php on line 688

Strict Standards: Non-static method JLoader::import() should not be called statically in /homepages/34/d227044908/htdocs/traderninja/libraries/loader.php on line 186

Strict Standards: Non-static method JFactory::getSession() should not be called statically in /homepages/34/d227044908/htdocs/traderninja/libraries/joomla/factory.php on line 163
traderninja.com • Ver Tema - Programar criterio de Optimización.

Últimos Mensajes

» encriptar estrategia
Magnolia 17-05 11:17

» APLICACIÓN PARA IPAD
meg 15-05 19:36

» Alarma Cruce Medias
gonzalogj 14-05 18:52

» A alguien le interesa mi licencia N...
valencianito12 10-05 16:16

» Alucinante lo de Mirus Futures
Consultor 10-05 13:43

» duda de sistemas en tiempo real
cavendish 09-05 21:05

» Duda cancelar suscripción NinjaTra...
danirles 09-05 09:28

» 2 CONEXIONES
TraderNinja 09-05 02:33

» Skew de Volatilidad en el VIX, una ...
Consultor 07-05 13:50

» Ayuda parte financiera Broker.
Sett 04-05 20:40

» Separador linea vertical sesiones d...
jaialro 03-05 11:59

» Salida al cierre de la vela
cls 29-04 09:50

banner1_TGCG
cuenta_demo  mas_info

Programar criterio de Optimización.

Preguntas sobre C# y otras cuestiones de programación

Re: Programar criterio de Optimización.

Notapor Johnysurf » Mar, 08 May 2012, 20:36

OK. Estupendo..!

Yo proponía la pendiente (o estimación lineal) por que tiene valores bastante parecidos a los del R2, y haciendo un ratio con estos dos podemos buscar unas curvas de equity muy deseables, como se puede ver haciendo pruebas con el excel que colgué.

Además se obtiene de los mismos valore X Y que el coeficiente R2, y como estos ya están en el código, supongo que “solo” abria que aplicar la formula de la estimación lineal…

Un saludo.
Johnysurf
 
Mensajes: 28
Registrado: Lun, 06 Jun 2011, 16:44

{ SO_SELECT }

Share on Facebook Facebook Share on Twitter Twitter Share on Delicious Delicious

Re: Programar criterio de Optimización.

Notapor daniv » Lun, 14 May 2012, 17:33

Hola,

Creo que el criterio que pretendes optimizar es el que aparece en el libro de kestner "Estrategias de trading cuantitativo" (me parece que es este el libro aunque no estoy seguro del todo).

El autor lo llama el K-ratio y tiene en cuenta la pendiente, el error tipico y el numero de operaciones. Lo invento el para tratar de paliar los "defectos" del Ratio Sharpe.

Trabajo fuera de casa y hasta el finde no vuelvo. Intentare el sabado poner la formula con algun ejemplo y seguro que se ve mas claro.

Saludos
daniv
 
Mensajes: 105
Registrado: Jue, 26 May 2011, 17:37

Re: Programar criterio de Optimización.

Notapor polxx » Dom, 22 Jul 2012, 22:42

Hola a todos, muy buen hilo este.

Yo uso el SQN, que es casi imposible que falle, si hay 2 curvas de beneficio y A tiene SQN mas alto que B, entonces a simple vista la curva de A es o bien de mas pendiente, o bien mas suave. Casi nunca falla, sin embargo como ya sabéis sharpe, profit factor y similares si que fallan.

Lo que busco ahora es una formula que partiendo de la ganancia promedio, desviación estándar de resultados, y similares, me diga el capital necesario para que en el futuro tenga 1 posibilidad entre 100 de ruina. Por ejemplo si indica que se necesitan 20.000 euros por 1 contrato y con eso en los próximos años hay 1 posibilidad entre 100 de ruina, puedo dividir el capital ganado por año, entre 20.000 y obtengo la ganancia porcentual por año, cuanto mas alta mejor, y así se pueden comparar estrategias.

Ademas tiene la utilidad de hacer gestión de capital, indicándote cuantos contratos debes trabajar.

Y no me sirve hacer montecarlo, ya que supone mucho lio.

Estoy intentando sacar una fórmula que se aproxime mediante una simulación en excel, a ver que consigo.
polxx
 
Mensajes: 5
Registrado: Dom, 05 Feb 2012, 10:59

Re: Programar criterio de Optimización.

Notapor TraderNinja » Mié, 25 Jul 2012, 00:47

polxx escribió:Y no me sirve hacer montecarlo, ya que supone mucho lio.


Venga, explícate un poco no?

Un abrazo! ;-)
Avatar de Usuario
TraderNinja
Administrador del Sitio
 
Mensajes: 1557
Registrado: Mar, 28 Dic 2010, 12:46

Re: Programar criterio de Optimización.

Notapor polxx » Vie, 27 Jul 2012, 21:58

A la hora de comprobar si un sistema es bueno o no, uso la fórmula SQN, cuanto mas alto sea mejor, nunca falla.

Pero además uso otra muy básica. Calculo la mayor serie de pérdidas que se han tenido, después la multiplico por 2,5, y después sumo 3000 euros de garantías, y con ello obtengo el capital que aproximadamente se necesita. Puesto que conozco lo que el sistema ha ganado, calculo lo que se gana al año, y por tanto tengo finalmente el % ganado anualmente.

La fórmula es demasiado básica y quiero mejorarla, ya que la mayor serie de pérdidas del pasado, es algo puntual que sucedió en un momento determinado. Seria mejor una fórmula que tenga en cuenta todo el histórico para calcular cuanto capital se necesita. Pero hablo de una fórmula, no simulación de montecarlo ni cosas demasiado complejas, algo aproximado me vale.

Entonces tengo una aproximación que puede valer y paso a contar.

Conocemos estos datos:
Operaciones totales 299
tiempo de simulación 8,5 años
operaciones perdedoras 91
ganado total 85541 euros
de las operaciones perdedoras, de promedio se pierde 1034 euros

y de ahí deducimos:
operaciones al año 35,18
operaciones en 10 años son 351,76
1 operación cada 10 años sucede el 0,2842% del tiempo (1/351,76)
(lo de los 10 años es arbitrario podemos elegir otro periodo de tiempo)
o lo que es lo mismo, en probabilidad 0,002842
las perdedoras son el 30%, osea probabilidad de 0,30

Probabilidad de un suceso ^ número de repeticiones = probabilidad de que se de ese suceso repetidas veces
Por ejemplo 0,5 de que salga cara, 3 veces seguidas, entonces 0,5^3= 0,125 = 12,5% de las veces salen 3 caras seguidas
Conocemos la probabilidad de que salga una operación perdedora, 0,3
Queremos que ese suceso aparezca 1 vez cada 10 años, osea en proporción 0,002842
Probabilidad de perdedora ^ x = probabilidad de que se den x perdedoras seguidas en 10 años
0,3 ^ x = 0,002842
Es decir, x es las veces seguidas que aparece una operación perdedora en 10 años
x = log(0,002842) / log(0,3)
x= 4,9
Como cuando pierde, pierde 1034, entonces
peor serie de perdidas esperada en 10 años = 1034 * 4,9 = 5096
Si queremos que la peor serie de pérdidas represente sólo el 10% de nuestro capital entonces
capital necesario = 5096 * 10 = 50961
ganado al año = 85541 / 8,5 = 12220
% anual = 12220/50961*100 = 23,97

Este sistema tiene un retorno anual del 23,97%
y un SQN de 3,95
polxx
 
Mensajes: 5
Registrado: Dom, 05 Feb 2012, 10:59

Re: Programar criterio de Optimización.

Notapor INtrader » Sab, 11 Ago 2012, 21:34

Hola polxx,

No sabía que le dabas también al Ninja. En cualquier caso me alegro de verte por aquí.

Parece interesante este hilo, lo seguiré con atención ahora que estoy de vacaciones...

Un saludo
INtrader
INtrader
 
Mensajes: 42
Registrado: Dom, 07 Ago 2011, 00:34

Re: Programar criterio de Optimización.

Notapor polxx » Sab, 11 Ago 2012, 22:30

Hola, pues he hecho unas simulaciones con excel y la fórmula es errónea. Lo que calcula es la peor serie de perdidas que sucederá de un tirón, osea de todas perdedoras seguidas, y esa la acierta, pero la peor serie de perdidas tal y como la entendemos todos, no lo calcula.
Es decir si lo peor que sucede en el futuro es perder 10, ganas 2 y perder 5. En verdad es como perder 13, pero te dice que perderás 10 seguidas, no lo acierta clavao, pero estadisticamente si acierta, pero claro ese dato no sirve. Así que no me vale.
polxx
 
Mensajes: 5
Registrado: Dom, 05 Feb 2012, 10:59

Re: Programar criterio de Optimización.

Notapor Fer137 » Sab, 16 Mar 2013, 13:32

Hola. ¿alguien sabe como se accede al TickSize en un criterio de optimizacion?
Es para calcular los ticks de ganancia media por ope (algo muy básico)

Dentro de una estrategia si puedo hacer ese calculo mediante por ejemplo:
double np7 = Performance.AllTrades.TradesPerformance.Points.AvgProfit / TickSize;

Tambien el ticksize se puede acceder en unas velas Custom:
double TickSize1 = bars.Instrument.MasterInstrument.TickSize;

Pero en los OptimizationType no reconoce ticksize. ¿alguna idea de como se hace?
Fer137
 
Mensajes: 27
Registrado: Sab, 24 Mar 2012, 12:01

Re: Programar criterio de Optimización.

Notapor cls » Lun, 18 Mar 2013, 10:58

Hola Fer137,

cuando programas un criterio de optimización heredas de OptimizationMethod, que es una clase abstracta que tiene una propiedad Strategy.

Así que dentro del código de tu clase que herede de OptimizationMethod puedes obtener el tickSize con:

double myTickSize = this.Strategy.Instrument.MasterInstrument.TickSize;

Un abrazo
cls
 
Mensajes: 272
Registrado: Sab, 22 Ene 2011, 12:42

Re: Programar criterio de Optimización.

Notapor Fer137 » Lun, 18 Mar 2013, 21:49

Muchas gracias cls.

Es lo que tiene hacer ninjascript antes que c#. Cuando hice informática no había objetos, solo sujetos y verbos:)
Fer137
 
Mensajes: 27
Registrado: Sab, 24 Mar 2012, 12:01

Anterior

Volver a Cuestiones de Programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron
Bridge by mehdiplugins.com

Strict Standards: Non-static method JFactory::getDBO() should not be called statically, assuming $this from incompatible context in /homepages/34/d227044908/htdocs/traderninja/libraries/joomla/session/storage/database.php on line 84

Strict Standards: Non-static method JTable::getInstance() should not be called statically, assuming $this from incompatible context in /homepages/34/d227044908/htdocs/traderninja/libraries/joomla/session/storage/database.php on line 89

Strict Standards: Non-static method JFactory::getDBO() should not be called statically, assuming $this from incompatible context in /homepages/34/d227044908/htdocs/traderninja/libraries/joomla/database/table.php on line 112