Página 4 de 5

Re: Fondo mínimo

Publicado: 10 Dic 2015 12:30
por Rafa7
Guille escribió: Yo estoy metido en forex, y suponiendo un sistema aplicado a una cuenta de 10000 eur y que mi DD máx histórico es de 1500 eur, según la fórmula de Ratio F, lo ideal para operar con ese sistema me sale 3,3 %
Entonces el número de contratos me sale
N=3,3 % x 10000 /1500 = 0,21 lotes= 20000 unidades
Gracias, Guille.



Ya está aclarado lo del 3,3% al decirme que es la f-óptima del sistema que pretendes explotar.

Aunque creo que has tecleado mal el número de lotes porque a mi me salen exactamente (sin necesidad ni de redondeo, ni de truncamiento) 0,22 lotes: N=3,3 % x 10.000 /1.500 = 3,3 / 100 * 10.000 / 1.500 = 3,3 * 10.000 / 150.000 = 3,3 / 15 = 0,22

¿De donde salen las 20.000 unidades? ¿Qué entiendes por unidad?



Saludos.

Re: Fondo mínimo

Publicado: 10 Dic 2015 14:37
por sk_c7
20000 unidades de la moneda base

Re: Fondo mínimo

Publicado: 10 Dic 2015 14:40
por Rafa7
sk_c7 escribió:20000 unidades de la moneda base
Gracias, sk_c7.



O sea que si hablamos de euros, son 20.000 euros, y si hablamos de dólares, 20.000 dólares.
Por lo que dices, entiendo que la moneda base es la moneda que está denominada la cuenta.

Pero sigo sin entender de donde sale que 2,2 lotes coprresponden a 20.000 unidades.
(Tal vez no entiendo porque nunca he invertido en Forex).



Saludos.

Re: Fondo mínimo

Publicado: 10 Dic 2015 19:59
por sk_c7
moneda base me refiero a la divisa que está a la derecha del par en el caso del eurusd es el usd ya que el euro se está midiendo en base al dolar. Un lote son 100000 unidades de la divisa base por lo que sus 0,21 lotes serían 21000 dólares puede que usará el 20000 para redondear o para la divisa en euros haciendo ya el cambio

Re: Fondo mínimo

Publicado: 11 Dic 2015 09:43
por Rafa7
sk_c7 escribió:moneda base me refiero a la divisa que está a la derecha del par en el caso del eurusd es el usd ya que el euro se está midiendo en base al dolar. Un lote son 100000 unidades de la divisa base por lo que sus 0,21 lotes serían 21000 dólares puede que usará el 20000 para redondear o para la divisa en euros haciendo ya el cambio
Gracias, sk_c7.

Re: Fondo mínimo

Publicado: 11 Dic 2015 13:32
por Rafa7
Guille,



La fórmula no iterativa del algoritmo de Cárpatos, que compratí: se podría simplificar:
n = Ln(2 * (Capital - CapitalInicial) / Delta) / Ln(2) + 1 = Ln(2 * Equity / Delta) / Ln(2) + 1 = (Ln(2) + Ln(Equity / Delta)) / Ln(2) + 1 = Ln(Equity / Delta) / Ln(2) + 2 = Log2(Equity / Delta) + 2

O sea:


Si Equity <= Delta, operar con 1 solo contrato.
Si Equity > Delta, operar con contratos = Log2(Equity / Delta) + 2


Claro que si tu plataforma no tiene la función logartimo en base 2. puedes aplicar esta:
contratos = Ln(Equity / Delta) / Ln(2) + 2



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 13:59
por Rafa7
Guille escribió:Imaginemos que nuestro sistema es uno intradía a bastante corto plazo que se basa , por ejemplo, sobre un contrato de futuros determinado, digamos sobre el futuro del Bund, donde cada punto son 10 euros. Y nuestro drawdown máximo lo calculamos en 300 puntos, es decir, 3000 euros. Somos agresivos y aplicamos como delta el 50% del drawdown. Nuestra delta, por tanto, será el 50% de ese drawdown o , lo que es igual, 150 puntos o 1500 euros.
1. No pasaremos de un contrato mientras no se gane la delta, es decir, al menos 1500 euros o 150 puntos seguiremos siempre con un contrato.
2. Si gana más de 1500 euros pase a dos contratos.
3. Para pasar a tres contratos, necesitará ganar dos veces la delta, es decir, tener un beneficio acumulado de 3000
4. Para pasar a cuatro contratos, necesitaremos tener cuatro veces la delta o 6000 euros de beneficio acumulado.
Evidentemente, en todos los casos si se tiene pérdidas y se rebasa a la baja el mínimo capital de beneficio acumulado necesario para operar con esos contratos, se baja un escalón y se vuelve a operar con menos.
...//...
y hasta aquí Rafa7, luego el autor hace un par de consideraciones como poner un límite al numero de contratos por mucho que se esté ganando y que cada primeros de año se haga un "reset" y se empiece todo de nuevo desde el principio.
Hola Guille,



Te explñico como finalmente se puede deducir que el algoritmo de Cárpatos se puede expresar con una fórmula no iterativa.

El algoritmo de Cárpatos en forma iterativa sería este:
Si Equity < Delta, operar con 1 contrato.
Si Equity > Delta, Equity(2) = Delta y Equity(n + 1) = 2 * Equity(n).

Equity(3) = 2 * Equity(2) = 2^1 * Delta
Equity(4) = 2 * Equity(3) = 2^2 * Delta
Equity(5) = 2 * Equity(4) = 2^3 * Delta
...
Deduzco que Equity(n) = 2^(n - 2) * Delta

Vamos a demostrarlo por inducción:

Caso n = 2) Equity(2) = Delta
2^(2 - 2) * Delta = 2^0 * Delta = 1 * Delta = Delta
Demostrado para n = 2

Caso n ==> n + 1)
Supongamos que Equity(n) = 2^(n - 2) * Delta para un determinado n >= 2.
Queremos demostrar que Equity(n + 1) = 2^(n - 1) * Delta.
Equity(n + 1) = 2 * Equity(n) = 2 * 2^(n - 2) * Delta = 2^(n - 1) * Delta.
Demostrado.

Por lo tanto, para todo n >= 2 se cumple que Equity(n) = 2^(n - 2) * Delta

Ahora pasemos a logaritmos neperianos:
Ln(Equity) = (n - 2) * Ln(2) + Ln(Delta)
Despejemos n:
n = (Ln(Equity) - Ln(Delta)) / Ln(2) + 2 = Ln(Equity / Delta) / Ln(2) + 2 = Log2(Equity / Delta) + 2

Por lo tanto:
n = Log2(Equity / Delta) + 2, para todo n > 1.


Si Equity <= Delta, operar con 1 solo contrato.
Si Equity > Delta, operar con contratos = Log2(Equity / Delta) + 2


Si tu plataforma no tiene logaritmos en base 2, pero sí logaritmos neperianos, puedes aplicar:
Si Equity <= Delta, operar con 1 solo contrato.
Si Equity > Delta, operar con contratos = Ln(Equity / Delta) /Ln(2) + 2



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 14:30
por Rafa7
Guille escribió: Yo estoy metido en forex, y suponiendo un sistema aplicado a una cuenta de 10000 eur y que mi DD máx histórico es de 1500 eur, según la fórmula de Ratio F, lo ideal para operar con ese sistema me sale 3,3 %
Entonces el número de contratos me sale
N=3,3 % x 10000 /1500 = 0,21 lotes= 20000 unidades

Esta será mi posición inicial.
Guille,



Te corrijo N=3,3 % x 10000 /1500 = 0,22 lotes exactamente.

El algoritmo de Cárpatos está pensado para empezar operar con 1 contrato.
Si quieres empezar a operar con Ni contratos, hay que retocar la fórmula:
En lugar de N = Log2(Equtiy / Delta) + 2, esta otra:
N = (Log2(Equtiy / (Delta * Ni)) + 2) * Ni

Ahora lo explico:
Si empezando a operar con 1 contrato nos basamos en la Delta, para empezar con un bloque de Ni contratos hay que basamos en Ni * Delta (en el denominador).

Entonces en M = (Log2(Equtiy / (Delta * Ni)) + 2), M sería el número de bloques de Ni contratos. Pero si queremos que N sea el número de contratos, hemos de multiplicar por Ni: M = N * Ni = (Log2(Equtiy / (Delta * Ni)) + 2) * Ni

Vamos a tu ejemplo.
DD máx. histórico = 1.500.
Delta = 750 (La mitad ddel DD máx hitórico, tal como recomienda Ryan Jones para un trader neutro).
Posición inicial: Ni = 0,22 lotes (Lo que calculastes como posición inicial).
Entonces, tu algoritmo sería:
N = (Log2(Equity / (Delta * Ni)) + 2) * Ni = N = (Log2(Equity / (750 * 0,22)) + 2) * 0,22 = (Log2(Equity / 165) + 2) * 0,22
DD Máx. histórico operando con 1 lote = 1.500
Delta = 750 (para bloques de 1 lote).
Ni = 0,22 lotes

Si Equity <= 165, operar con 0,22 lotes.
Si Equity > 165, operar con N = (Log2(Equity / 165) + 2) * 0,22 lotes
Por favor, si alguien ve algún error, que nos lo explique.



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 15:05
por Rafa7
Guille,



Entonces cada vez que hagas un reset anual, puedes poner la equity a cero y recalcular la posición inicial, Ni, para establecer el algoritmo correspondiente, N = (Log2(Equtiy / (Delta * Ni)) + 2) * Ni, si Equity > Delta * Ni.

Aunque tampoco es mala idea que el Ni sea dinámico (basado en las estadísticas de los últimos 12 meses) y el reset anual consista en simplemente poner Equity a cero.



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 15:41
por Rafa7
Sres. foristas,



Como he dicho en otro hilo, el término Equity no lo utilizo adecuadamente. Donde vean Equity me estoy refiriendo a Net Profit = Capital actual - Capital inicial. O sea, Beneficio acumulado.

O sea, que el algoritmo queda así:

Si NetProfit <= Delta * Ni, operar con Ni contratos.
Si NetProfit > Delat * Ni, operar con N contratos, siendo N = (Log2(NetProfit / (Delta * Ni)) + 2) * Ni

Siendo Ni el número de contratos iniciales, con la sugerencia de Guille que sea Ni = f-óptima * Capital / (DD máx. histórico), número de contratos iniciales, y Delta = (DD máx. histórico) / 2.

Si la sugerencia de Guille es adecuada o no, está por analizar. De entrada me parece buena.

Aunque Ni podría ser también: Ni = Capital / (3 * DD máx. histórico), o deducirlo por Simulación de Montecarlo.



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 18:55
por Rango Starr
3

Re: Fondo mínimo

Publicado: 11 Dic 2015 19:23
por Rafa7
Rango Starr escribió: (los contratos de futuros o contratos de alto apalancamiento, funcionan perfectamente bien con la formula que expuse, que te pese o no, es el fixed ratio de Mr Jones. Sobre todo, porque si a cada variante del original que te encuentres vas a llamarle por otro nombre, al mio entonces le llamas fixed ratio de Rango Starr, :lol: :lol: :lol: ).
Gracias, Rango.



En este hilo ya he dicho (un par de veces por lo menos) que el algoritmo que compartiste es bueno.
Qué conste en acta.
Rango Starr escribió: La formula de la raíz cuadrada, es mas apropiada para shares, en el que la atomización, hace que calcular uno por uno el share sea antiproductivo.
Cierto. Como invierto en shares, me resulta más útil una fórmula no iterativa precisamente por lo que dices.

Entiendo que no te gusten las fórmulas no iterativas (sobre gustos no hay nada escrito, dicen), pero si alguna vez quisieras programar MM en ProRealTime seguro que te interesarán porque facilitan la programación (en especial cuando hay que reducir el número de contratos a causa de un DrawDown).
Rango Starr escribió: Como anécdota, hay una variante de la raíz cuadrada, que se convierte en raíz enésima, que te encontraras si alguna vez utilizas el MSA de Adaptrade
Gracias. Tal vez te refieras al Generalized Ratio, que es una generalización del Fixed Ratio, o sea:
n = (1 + (1 + 8 * NetProfit / Delta)^m) / 2
Donde m es un número real entre 0 y 1.
Por ejemplo, con m = 0,5 sería, exactamente, el Fixed Ratio, y con m = 1 sería muy parecido al Fixed Fractional.
Con m = 1 / 9, en el Generalized Ratio, tendríamos la raíz novena.



Saludos.

Re: Fondo mínimo

Publicado: 11 Dic 2015 20:10
por Rango Starr
Rafa,

Re: Fondo mínimo

Publicado: 11 Dic 2015 20:20
por Rafa7
Rango Starr escribió: Entiendo que las dos ultimas entradas en el foro del articulo de Andres, son tuyas.
Acertaste, Rango.

Re: Fondo mínimo

Publicado: 14 Dic 2015 04:25
por Guille
Rafa7 escribió:Guille,



La fórmula no iterativa del algoritmo de Cárpatos, que compratí: se podría simplificar:
n = Ln(2 * (Capital - CapitalInicial) / Delta) / Ln(2) + 1 = Ln(2 * Equity / Delta) / Ln(2) + 1 = (Ln(2) + Ln(Equity / Delta)) / Ln(2) + 1 = Ln(Equity / Delta) / Ln(2) + 2 = Log2(Equity / Delta) + 2

O sea:


Si Equity <= Delta, operar con 1 solo contrato.
Si Equity > Delta, operar con contratos = Log2(Equity / Delta) + 2


Claro que si tu plataforma no tiene la función logartimo en base 2. puedes aplicar esta:
contratos = Ln(Equity / Delta) / Ln(2) + 2



Saludos.
Hola Rafa7,

Una cuestión: en otro hilo que abriste tu, y dedicado exclusivamente al Fixed Ratio, expones otra fórmula para no iterativa para el calculo del capital requerido (que en realidad debe beneficio total y no capital requerido) para operar con n contratos (para n>=2) siendo la fórmula:
NetProfit=n(n-1)*Delta/2

¿Cuál de las dos es la válida? ¿ o son ambas?

Gracias