Cálculo del lote por Vince - página 11

 

Encontrar la fóptima utilizando la media geométrica.

En el comercio real, el tamaño de las pérdidas y las ganancias cambiará constantemente. Así que las fórmulasde Kelly no pueden darnos la fóptima correcta . ¿Cómo encontrar correctamente desde el punto de vista matemático la f óptima , que nos permitirá determinar el número de contratos a negociar? Intentemos responder a esta pregunta. En primer lugar, tenemos que modificar la fórmula para encontrar la HPR para incluir f:

ver además las fórmulas del primer post

más

Hemos visto que el mejor sistema de trading es el que tiene la media geométrica más alta. Para calcular la media geométrica necesitamos conocer f. Así pues, vamos a describir nuestras acciones paso a paso.

1. Tome el historial de transacciones en el sistema de mercado dado.

2. Encuentre el óptimo f observando varios valores de f de 0 a 1. El óptimo f corresponde al valor más alto de TWR.

3. Una vez queencuentre f, tome la raíz del grado N deTWR (N es el número total de operaciones). Esta es su media geométrica para este sistema de mercado. Ahora puede utilizar la media geométrica obtenida para comparar este sistema con otros. El valor f le indicará cuántos contratos debe negociar en este sistema de mercado. Una vez encontrada f, se puede convertir en el equivalente en dinero dividiendo la mayor pérdida por el óptimo negativo/. Por ejemplo, si la mayor pérdida es igual a 100 dólares, y la f óptima = 0,25, entonces -100 dólares / -0,25 = 400 dólares. En otras palabras, debe apostar 1 unidad por cada cuenta de 400 dólares. Para simplificar, puede calcular todo en base a unidades (por ejemplo, una ficha de 5 dólares o un contrato de futuros, o 100 acciones). El número de dólares que debe asignarse a cada unidad puede calcularse dividiendo su mayor pérdida por laf óptima negativa. La f óptima es el resultado de equilibrar la rentabilidad del sistema (basada en 1 unidad) y su riesgo (basado en 1 unidad). Mucha gente piensa que la fracción fija óptima es el porcentaje de la cuenta que se asigna a sus apuestas. Esto es completamente erróneo. Tiene que haber otro paso. La f óptima por sí misma no es el porcentaje de su cuenta que se asigna a la operación, es el divisor de la mayor pérdida. El cociente de esta división es el valor por el que tiene que dividir su cuenta total para saber cuántas apuestas hacer o cuántos contratos abrir en el mercado.

Es decir, AccountFreeMargin()/H, con H=D/(-f).

Así es como se organiza en el código de la cov - ver el trailer.

if (optimal_f) //--- Расчет оптимального f ---
        {   
          
          double Mas_Outcome_of_transactions [10000];        // Массив профитов/убытков закрытых позиций
          int Qnt = 0, Orders = OrdersHistoryTotal();        // Счётчик количества ордеров   
          ArrayInitialize(Mas_Outcome_of_transactions, 0);   // Обнуление массива
          double f, D, SUMM, TWR, G, G_Rez, H,A,B, Pow;
          int orderIndex;
   
          for (orderIndex = 0; orderIndex < Orders; orderIndex++)
          {   
             if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
              {
                Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
                continue;
              }
   
             if (OrderSymbol() != Symbol() || OrderMagicNumber() != MAGICMA || OrderCloseTime()==0)
                continue; 
         
             int lastType = OrderType();
             double lastLots = OrderLots();
             double lastProfit = OrderProfit() + OrderSwap();
      
             if (orderIndex == 0 || lastProfit < D)
                D = lastProfit;
      
             Mas_Outcome_of_transactions[Qnt] = lastProfit;  // Заполняем массив профитом/лоссом по всем закрытым позициям 
             SUMM=SUMM+lastProfit;
             Qnt++;                                          // увеличиваем счетчик закрытых ордеров    
          }   
   
         if (Transaction_number<Qnt) { //при репрезентативном кол-ве ордеров на истории открываемся объемом через оптим-ую f 
            Pow = 1/NormalizeDouble(Orders, 0);
            for (f = 0.01; f<=1.0; f=f+0.01)                   // цикл перебора переменной f для поиска оптимального ее значения,
            {                                                  // при котором TWR - максимально
               G= 1;
               for ( orderIndex = 1; orderIndex < Qnt; orderIndex++) // при заданной f проходим по всем закрытым ордерам
                {                                                     // и считаем среднее геометрическое от TWR
                  TWR = 1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D));
                  G *= NormalizeDouble (MathPow(TWR, Pow),8);
                }
               if (G > G_Rez)  G_Rez = G;// если текущий > результирующего, то результирующий делаем равным текущему
               else break;               // иначе переходим на следующую итерацию цикла по f
            }
               
            
            if (f>0) H=D/(-f); //денежный эквивалент фракций (оптимального f) для торговли 0,1 лотом.
            lot = NormalizeDouble((AccountFreeMargin()/H)*Min_Lot,1);
            if (lot==0)    lot=Min_Lot;
            Print("H=D/(-f): ", H, " lot = ", DoubleToStr (lot,1), "Transaction_number = ", Transaction_number);  
            Print("G_Rez максимальна = ", DoubleToStr (G_Rez,8), " при f = ", f);             
            Print(" Максимальный лосс по позиции, D = ", DoubleToStr(D, 2), " Pow (1/Orders)= ", DoubleToStr(Pow, 8));
            Print("Закрытых позиций = ",   Qnt,
                " Нетто Профит/лосс = ", SUMM,
                " У последней ",         Qnt,
                " закрытой позы профит/лосс = ", Mas_Outcome_of_transactions[Qnt-1]);  
                
            return(lot);         
          }    // Выход из  if (Transaction_number<Qnt)                   
          else {
             lot=Min_Lot; 
             Print("Закрытых позиций = ",   Qnt, " Transaction_number = ", Transaction_number);
             return(lot); 
          } 
  
      }  //Выход из расчета оптимального f     

Así que todo es correcto aquí - Estrictamente por el libro.

Gira esto a tus sOves, prueba, comprueba, comparte los resultados aquí.

Archivos adjuntos:
 
ph3onix:

1. Lo primero que se me ocurre es que el tamaño del lote debe basarse en el stop loss de la siguiente posición,

2. conocer la fracción del deopósito que las matemáticas de Vince recomiendan utilizar en la operación

3...el tamaño del lote utilizado en las pruebas de los EAs en este hilo es un poco erróneo


1. aquí es donde tienes que ir.

2. Usted no está familiarizado con las matemáticas de Vince, él recomienda un enfoque completamente diferente, no estamos hablando de "fracciones" como usted escribe ...

"

El fóptimo en sí mismo no es el porcentaje de su cuenta que se asigna para el comercio, es el divisor de la mayor pérdida. El cociente de esa división es el valor por el que debe dividir su cuenta total para saber cuántas apuestas debe realizar o cuántos contratos debe abrir en el mercado.

"

3. Todo estrictamente de acuerdo con la información de la fuente - leer cuidadosamente, especialmente de la página 31, comparar en sus sOves, comprobar, compartir los resultados.

 

El tema no está cerrado, la continuación sigue...

La función de cálculo de lotes está disponible públicamente aquí en el EA (ver trailer).

Archivos adjuntos:
 

Está claro que estáis pensando demasiado en algo. El TWR es una medida de cuántas veces se ha incrementado la cuenta inicial. La f óptima es el riesgo por operación como porcentaje del depósito. TWR es una derivada de la f óptima. Simplemente calcule el porcentaje de riesgo en el probador de estrategias del 1 al 100% por operación. A partir de un determinado valor, el beneficio final dejará de crecer. Este valor será el valor óptimo de f.

Si se hace semejante lío por simple porcentaje del depósito, entonces da miedo imaginar cómo se empieza a calcular la G óptima (sí, existe).

 
C-4:

Está claro que estáis pensando demasiado en algo. El TWR es una medida de cuántas veces se ha incrementado la cuenta inicial. La f óptima es el riesgo por operación como porcentaje del depósito. TWR es una derivada de la f óptima. Simplemente calcule el porcentaje de riesgo en el probador de estrategias del 1 al 100% por operación. A partir de un determinado valor, el beneficio final dejará de crecer. Este valor será el valor óptimo de f.

Si se crea semejante lío para un simple porcentaje de depósito, da miedo imaginar cómo se empieza a calcular el G óptimo.


Ya está calculado - todos los ritmos, todos probados, ver el hilo primero... :-)

"¿Cómo se calcula la G óptima?" - todo se calcula desde la fuente...

 if (Transaction_number<Qnt) { //при репрезентативном кол-ве ордеров на истории открываемся объемом через оптим-ую f 
            Pow = 1/NormalizeDouble(Orders, 0);
            for (f = 0.01; f<=1.0; f=f+0.01)                   // цикл перебора переменной f для поиска оптимального ее значения,
            {                                                  // при котором TWR - максимально
               G= 1;
               for ( orderIndex = 1; orderIndex < Qnt; orderIndex++) // при заданной f проходим по всем закрытым ордерам
                {                                                     // и считаем среднее геометрическое от TWR
                  TWR = 1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D));
                  G *= NormalizeDouble (MathPow(TWR, Pow),8);
                }
               if (G > G_Rez)  G_Rez = G;// если текущий > результирующего, то результирующий делаем равным текущему
               else break;               // иначе переходим на следующую итерацию цикла по f
            }
               
            
            if (f>0) H=D/(-f); //денежный эквивалент фракций (оптимального f) для торговли 0,1 лотом.
            lot = NormalizeDouble((AccountFreeMargin()/H)*Min_Lot,1);
 
C-4:

...

Si se hace semejante lío por un simple porcentaje del depósito, da miedo imaginar cómo se va a empezar a calcular el G óptimo (sí, existe).

Todavía no me he topado con él, lo buscaré, ¿qué tipo de pájaro es este - óptimo G...?
 
La G óptima es el factor de capitalización de la cartera. Para encontrar la G óptima, hay que optimizar al menos la varianza de la cartera total y dominar la teoría de la cartera de Markowitz. No veo nada de eso en estos cálculos.
 

C-4:
1. Оптимальное G - это фактор капитализации портфеля. Для поиска оптимального G нужно как минимум оптимизировать дисперсию совокупного портфеля и свободно разбираться в портфельной теории Марковица.

2. No veo nada malo en los cálculos anteriores.


1. Ya veo - esto se acerca más al cálculo y al orden de formación de la cartera... Me interesa la pregunta.

2. Esto no está presente aquí. He confundido la G óptima con la G media geométrica, cuyo cálculo está presente aquí... :-)

Ver el primer post de la primera página del hilo.

"

Media geométrica del comercio

Un operador puede estar interesado en calcular su media geométrica de operaciones (es decir, el beneficio medio obtenido por contrato y por operación), suponiendo que los beneficios se reinvierten y que se pueden negociar contratos fraccionados. Esta es la expectativa matemática cuando se negocia en base a una fracción fija. En realidad, se trata de la rentabilidad aproximada del sistema por operación cuando se utiliza una fracción fija de la cuenta.(La media geométrica es en realidad la expectativa matemática en dólares por contrato y por operación. Resta uno a la media geométrica y obtienes la expectativa matemática. La media geométrica de 1,025 corresponde a la expectativa matemática del 2,5% por operación). Muchos operadores se fijan sólo en la media del sistema de mercado para ver si vale la pena operar con este sistema. Sin embargo, es la media geométrica del comercio (GAT) la que debe tenerse en cuentaa la hora de tomar una decisión.

donde G = media geométrica - 1;

f = cuota fija óptima.

(Por supuesto, la mayor pérdida siempre será un número negativo).

 
Yo en tu lugar no me dejaría llevar demasiado por estas tonterías. Todas las matemáticas de Vince se basan en el ajuste. La f en sí misma es inestable y tiende a colapsar con el tiempo, también es extremadamente sensible al efecto Z-Score o de asimetría del apalancamiento, y da una distribución de beneficios extremadamente desigual: el primer 90% del tiempo que tardará en obtener un 10% de beneficio.
 
C-4:
Yo en tu lugar no me dejaría llevar demasiado por estas tonterías. Toda la matemática de Vince se basa en el ajuste. La f en sí misma no es estable y tiende a colapsar con el tiempo, además es extremadamente sensible al efecto Z-Score o de asimetría del apalancamiento, también da una distribución de beneficios extremadamente desigual: el primer 90% del tiempo tardará en obtener un 10% de beneficio.


Gracias, Vasily por la información, por lo que es y por lo que puede llevar... No estoy muy metido en estos cálculos del lote, simplemente era interesante desgranarlo todo y mirarlo desde diferentes ángulos y compararlo con otros enfoques de la MM en uno u otro convenio...

Por cierto, también toca el tema de la diversificación con la teoría de la cartera...:-) Especialmente cuando ESAS palabras están resaltadas en rojo...:-) Hay un libro, hay fórmulas - cómo no poner esta información en un código y ver cómo calcula el lote en acción en varios soviets, me pregunto... Abre el libro, escribe un sistema con él, mira su comportamiento en un probador, en una demo, para empezar... esto y aquello... :-) Cavar, en general. Por cierto, recientemente he supervisado una cuenta de demostración con los indicadores META-SOT, puramente sobre la base de su artículo, sin sombras de otros tipos de análisis del comportamiento del mercado - todo es rentable hasta ahora ... :-)

"

Lo mejor

sistema, mayor será f. Cuanto mayor sea f, mayor será la pérdida posible, ya que la pérdida máxima (en porcentaje) no es inferior a f. La paradoja de la situación es que si un sistema es capaz de producir una f óptima suficientemente alta, entonces la pérdida de dicho sistema también será suficientemente alta. Por un lado, la f óptima le permite obtener el mayor crecimiento geométrico, pero por otro lado le crea una trampa en la que puede caer fácilmente.

Sabemos que si utilizas la f óptima cuando operas con una acción fija, puedes esperar pérdidas significativas (como porcentaje de tu saldo). La f óptima es como el plutonio: da un enorme poder, pero también es extremadamente peligrosa. Estas grandes pérdidas son un gran problema, especialmente para los principiantes, ya que el comercio en el nivel de f óptima crea un riesgo de enormes pérdidas más rápido que en el comercio regular. La diversificación puede mitigar en gran medida las pérdidas. El lado positivo de la diversificación es que le permite hacer muchos intentos (ejecutar muchos juegos) al mismo tiempo, aumentando así sus beneficios globales. Es justo decir que la diversificación, aunque suele ser la mejor manera de suavizar las pérdidas, no las reduce necesariamente y en algunos casos puede incluso aumentarlas.

Existe la idea errónea de que las pérdidas pueden evitarse por completo si la diversificación es lo suficientemente eficaz. Es cierto que las pérdidas pueden mitigarse hasta cierto punto mediante una diversificación eficaz, pero nunca pueden evitarse por completo. No se deje engañar. Por muy bueno que sea el sistema que se aplique, por muy eficaz que sea la diversificación, seguirá habiendo pérdidas importantes. La razón de esto no es que sus sistemas de mercado estén mutuamente correlacionados, ya que hay momentos en los que la mayoría o todos los sistemas de mercado de la cartera trabajan en su contra cuando usted cree que no debería hacerlo. Intente encontrar una cartera con cinco años de datos históricos para que todos los sistemas de negociación funcionen de forma óptima f y sigan teniendo una pérdida máxima inferior al 30%. No será fácil. No importa cuántos sistemas de mercado se utilicen. Si quiere hacer todo matemáticamente correcto, tiene que estar preparado para perder entre el 30 y el 95% del saldo de su cuenta. Se requiere una disciplina estricta y no todo el mundo puede seguirla.

En cuanto un operador renuncia a negociar un número constante de contratos, se enfrenta al problema de cuántos negociar. Siempre ocurre, independientemente de que el comerciante reconozca o no este problema. Operar con un número constante de contratos no es una solución, porque de esta manera nunca conseguirás un crecimiento geométrico. Por lo tanto, le guste o no, la cuestión de cuántos cambiar en la próxima operación será inevitable para todos. La simple elección de una cantidad al azar puede conducir a un grave error. La f óptima es la única solución matemáticamente correcta.

Teoría moderna de la cartera

Piense en una situación con una f óptima y un sistema de mercado perdedor. Cuanto mejor sea el sistema de mercado, mayor será el valor de f. Sin embargo, si se opera con una f óptima, la pérdida (históricamente) nunca puede ser menor que f. En general, cuanto mejor sea el sistema de mercado, mayores serán las pérdidas intermedias (como porcentaje del saldo de la cuenta) si se opera con una f óptima. Por lo tanto, si quiere lograr el mayor crecimiento geométrico, debe estar preparado para sufrir graves pérdidas en el camino.

"