L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2305

 

Pendant que je m'amuse avec Fourier, j'ai esquissé un exemple.

Top :

   for(int i=0;i<total;i++)
     {A[i]=cos(2.*M_PI/8.*i)+cos(2.*M_PI/32.*i)+cos(2.*M_PI/16.*i)+4.*xor.Rand_Norm();
     }

En bas :

   for(int i=0;i<total;i++)
     {A[i]=cos(2.*M_PI/8.*i)+cos(2.*M_PI/32.*i)+cos(2.*M_PI/16.*i)+4.*xor.Rand_Norm();
     }
   MathCumulativeSum(A);


 
Rorschach:

Pendant que je m'amuse avec Fourier, j'ai esquissé un exemple.

Top :

En bas :

Pouvez-vous déchiffrer ce que cela signifie ?

Zéro absolu en DSP, cosinus et sinus.
 

Une image intéressante


 
Maxim Dmitrievsky:

Pouvez-vous déchiffrer ce que cela signifie ?

En DSP, les cosinus et les sinus absolus zéro.

Je ne sais même pas quoi commenter. Sur l'image du haut sont les incréments et leur cumulus, sur l'image du bas sont leurs spectres. Pour les 3 sinus du spectre, vous pouvez clairement voir.

 
Rorschach:

Je ne sais même pas quoi commenter. Sur l'image du haut figurent les incréments et leur cumulus, et sur l'image du bas leurs spectres. Pour les incréments, il y a 3 sinus sur le spectre.

Alors comment en tirer profit ?

 
Maxim Dmitrievsky:

Eh bien, comment en tirer profit ?

Sur le spectre incrémental, nous voyons 3 pics, nous leur appliquons un filtre, nous les extrapolons et nous en tirons profit.

 
Rorschach:

Nous voyons 3 pics sur le spectre incrémental, nous leur appliquons un filtre, nous l'extrapolons et nous en tirons profit.

la période des pics ne montre pas à partir de quoi il faut compter.

Y en a-t-il sur python ?

 
Maxim Dmitrievsky:

la période de pointe n'indique pas ce qu'il faut compter de ce que

Y a-t-il un python ?

Pour 1024 échantillons de la série originale, la période de 64 sera à 1024/64+1=17 points, au 1er point il y a une composante constante. Les fréquences sont inversées par rapport à 1024/2, c'est-à-dire qu'il y aura deux pics (au début et à la fin).

Je ne le fais pas. Il y a juste une transformation de Fourier et c'est tout. J'ai généré la séquence, fait la transformation, l'ai tracée.

Je n'ai pas testé le code :

#include <rndxor128.mqh>
#include <Math\Alglib\fasttransforms.mqh>
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

int OnInit()
  {
   SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
   ArraySetAsSeries(Label1Buffer,1);
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.);
   EventSetMillisecondTimer(50);
   return(INIT_SUCCEEDED);
  }

void OnTimer()
  {RNDXor128 xor;
   xor.SRand(3);
   CFastFourierTransform fft;
   ArrayInitialize(Label1Buffer,0.);
   double A[];
   int total=1024;
   ArrayResize(A,total);
   ArraySetAsSeries(A,1);
   ArrayInitialize(A,0.);
   for(int i=0;i<total;i++)
     {A[i]=cos(2.*M_PI/8.*i)+cos(2.*M_PI/32.*i)+cos(2.*M_PI/16.*i)+4.*xor.Rand_Norm();
     }
   //MathCumulativeSum(A);
   
   complex spec[];
   fft.FFTR1D(A,total,spec);
   for(int i=0;i<total;i++)
     {Label1Buffer[i]=sqrt(spec[i].re*spec[i].re+spec[i].im*spec[i].im)*2./total;
     }

   ChartRedraw();
   EventKillTimer();
  }
 
Rorschach:

Une image intéressante

Quelles sont les classes dans cette image ?

 
mytarmailS:

Quelles sont les classes dans cette image ?

Dans la colonne de gauche, deux classes (bleu et rouge)