Pas le Graal, juste un ordinaire - Bablokos ! !! - page 236

 
sbmill:

Compréhension correcte de la construction de 8 spreads sur 4 paires.

1234
12-3-4-4
123-42
12-344
1-2346
1-2-3-4-8
1-23-4-2
1-2-340
123410

Et ainsi disposer de 35 combinaisons de 7 par 4

Non, je parlais du nombre théorique de variantes pour une recherche de directions. En pratique c'est un peu différent,de 7 à 4 = 105 et si la méthodemathématiquene dépend pas d'un ordre de mise en place de l'entrée FI- à partir de trois : EGAN, EAGN, ENGA il est possible de prendre n'importe laquelle. Le résultat sur l'ensemble 35 !
Dossiers :
 
 

Bonjour à tous !

Joker, je peux te poser une question générale ?

Est-ce que vous sélectionnez d'abord les instruments et les utilisez pour construire et analyser les spreads et leurs fonds propres (je pense que vous avez utilisé cette variante) ou est-ce que vous construisez beaucoup de spreads et analysez ensuite leurs fonds propres, et ceux qui sont les plus adaptés sont mis en œuvre ?

 
Talex:

Choisissez-vous d'abord un instrument et l'utilisez-vous pour construire et analyser le spread et son équité (je pense que vous utilisez cette option) ou construisez-vous beaucoup de spreads et analysez ensuite leur équité, puis utilisez ceux qui sont appropriés dans votre travail ?

Quelle est la différence entre ces méthodes ?
 
lob32371:
Quelle est la différence entre ces méthodes ?

Dans le premier cas, le spread se compose d'instruments présentant des conditions "requises", tandis que dans le second, cela n'est pas vérifié, mais seules les "caractéristiques" du spread lui-même le sont.

 
Talex:

Bonjour à tous !

Joker, je peux te poser une question générale ?

Choisissez-vous d'abord un instrument et l'utilisez-vous pour construire et analyser l'écart et son équité (je pense que vous avez utilisé cette variante) ou construisez-vous beaucoup d'écarts et analysez ensuite leur équité, et ceux qui conviennent sont utilisés dans votre travail ?


De nombreux écarts sont construits et l'ensemble est analysé. Les meilleurs du système sont utilisés.


Quelques commentaires sur l'image :

Tous les écarts après rationnement seront placés dans un demi-plan (positif). Ceux qui sont normalisés dans la zone négative sont inversés :

Le point à partir duquel les écarts commencent à se déplacer est le même pour tous (c'est-à-dire zéro). Quels que soient vos efforts pour obtenir des spreads neutres par rapport au marché, vous n'y arriverez pas. Le marché est toujours en mouvement. Les spreads vous permettent uniquement de supprimer les fluctuations imprévisibles du marché et de diminuer le tirage des opérations commerciales.

I - La hauteur du milieu du canal de normalisation par rapport à zéro caractérise la puissance du mouvement des spreads (les spreads les plus faibles sont écartés). Nous voulons gagner de l'argent, pas fumer du bambou pendant des mois, n'est-ce pas ? ))

II - la largeur du canal d'écart normalisé décrit la force de la cointégration des instruments (étroite - fortement cointégrée, large - faiblement cointégrée). Ceux qui sont faiblement cointégrés sont naturellement rejetés (les marches aléatoires ne sont pas pour nous).

III - zone de décision (je ne vais pas vous en parler intentionnellement).


Je vous ai dit et montré tout ce qui était possible.

(J'ai, soit dit en passant, fait la promotion du système d'Alexandre, mais je ne l'utiliserai en aucun cas. Il travaille à l'intérieur du canal et c'est une bombe ... )

Si vous avez des questions théoriques, étudiez d'abord l'énorme contribution de M. hrenfx à la théorie, à savoir ses réalisations en matière de recyclage2.


Allez-y...

 

Joker, merci pour la réponse.

P.S. Il y a vraiment beaucoup de choses exposées dans ce fil, il ne reste plus qu'à y penser/vérifier/comprendre par soi-même, je pense que seul le paresseux ne trouvera pas quelque chose pour lui-même ici.

 
kot287:
Non, je parlais d'une quantité théorique de variantes pour l'énumération des directions. Dans la pratique, c'est un peu différent,de 7 à 4 = 105 et si la méthodemathématiquene dépend pas d'un ordre de mise en place de l'entrée FI- de trois : EGAN, EAGN, ENGA il est possible de prendre n'importe lequel. Le résultat sur tous 35 !

... Vous êtes, messieurs, au début de la théorie. Voici la librairie :

GetSpreadsCount - renvoie le nombre d'écarts possibles pour l'écart d'une longueur spécifiée (nombre de symboles).

GetSpreadByIndex ( string Symbols, int SpreadLength, int SpreadIndex ) - renvoie l'écart par son indice ( où l'indice est compris entre 1 et GetSpreadsCount )

En passant par la boucle GetSpreadByIndex, vous obtiendrez tous les écarts possibles sans répétitions.

Pour ne pas vous faire perdre la tête, la combinatoire des spreads est calculée par un système de nombres binaires.

Bonne chance...

Dossiers :
 

Et j'en ai fait un par force brute, pas aussi joli, mais ça marche...

struct smassiv2 {
   string m[];           // обертка для 2-х мерного массива
};

//+----------------------------------------------------------------------------------+
//| GetAllCombinationsSpread                                                         |
//| Функция находит все сочетания спредов                                            |
//| (in) instr[] - массив инструментов из которых составляем спред                   |
//| (in) ns - число инструментов в спреде                                            |
//| (in/out) spread[] - массив спредов                                               |
//| (out) - количество найденных спредов                                             |
//+----------------------------------------------------------------------------------+
int GetAllCombinationsSpread(string &instr[],int ns,smassiv2 &spread[]) {
   int i,j,g,k,ncomb,count,n[];
//+------------------------------------
   count=ArraySize(instr);
   ncomb=Combination(count,ns);
   ArrayResize(spread,ncomb);
   for(i=0;i<ncomb;i++) {
      ArrayResize(spread[i].m,ns);
   }
   ns=ArraySize(spread[0].m);
   ArrayResize(n,ns);
   ArrayInitialize(n,(count-1));
   for(i=1;i<ns;i++) {
      n[i]=n[i-1]-1;
   }
   for(i=0;i<ncomb;i++) {
      if(n[ns-1]<0) {
         k=1;
         for(j=(ns-2);j>=0;j--) {
            n[j]--;
            if(n[j]>=k) {
               for(g=(j+1);g<ns;g++) {
                  n[g]=n[g-1]-1;
               }
               break;
            }
            k++;
         }
      } 
      for(j=0;j<ns;j++) {
         spread[i].m[j]=instr[n[j]];
      }
      n[ns-1]--;
   }
   return(ncomb);
}
//+----------------------------------------------------------------------------------+
//+----------------------------------------------------------------------------------+
//| Combination(int m,int n)                                                         |
//| Функция находит количество сочетаний, составленные из m элементов по n элементов |
//| (in) m - число элементов всего                                                   |
//| (in) n - число элементов в сочетании                                             |
//| (out) - число комбинаций                                                         |
//+----------------------------------------------------------------------------------+
int Combination(int m,int n) {
//Print(__FUNCTION__);
   if(m<n) return(0);
   if((n==0)||(n==m))
      return(1);
   else
      return(Combination(m-1,n-1)+Combination(m-1,n));
}
//+----------------------------------------------------------------------------------+
 

Joker, dis-moi mieux comment tu choisis la bonne frontière du canal, c'est-à-dire le moment à partir duquel surveiller les écarts.

Voici mon dernier échange :

Raison: