L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 2305

 

Mentre sto giocando con Fourier, ho abbozzato un esempio

In alto:

   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();
     }

In basso:

   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:

Mentre sto giocando con Fourier, ho abbozzato un esempio

In alto:

In basso:

puoi decifrare cosa significa questo?

Zero assoluto in DSP, coseni e seni
 

Immagine interessante


 
Maxim Dmitrievsky:

puoi decifrare cosa significa questo?

In DSP, coseni e seni zero assoluto

Non so nemmeno cosa commentare. Nell'immagine in alto ci sono gli incrementi e i loro cumuli, nell'immagine in basso i loro spettri. Per i 3 seni dello spettro si può vedere chiaramente.

 
Rorschach:

Non so nemmeno cosa commentare. Nell'immagine in alto ci sono gli incrementi e i loro cumuli, e nell'immagine in basso i loro spettri. Per gli incrementi ci sono 3 seni sullo spettro.

Come trarne profitto?

 
Maxim Dmitrievsky:

Ebbene, come possiamo trarne profitto?

Sullo spettro incrementale vediamo 3 picchi, applichiamo un filtro a loro, li estrapoliamo, profitto

 
Rorschach:

Vediamo 3 picchi sullo spettro incrementale, applichiamo un filtro su di essi, lo estrapoliamo, guadagniamo

il periodo dei picchi non mostra da cosa contare.

ce ne sono su python?

 
Maxim Dmitrievsky:

il periodo di picco non mostra cosa contare da cosa

c'è un pitone?

Per 1024 campioni della serie originale il periodo di 64 sarà a 1024/64+1=17 punti, al 1° punto c'è una componente costante. Le frequenze sono speculari rispetto a 1024/2, cioè ci saranno due picchi (all'inizio e alla fine)

Io no. C'è solo una trasformata di Fourier ed è tutto. Ha generato la sequenza, ha fatto la trasformazione e l'ha tracciata.

Non ho testato il codice:

#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:

Immagine interessante

quali sono le classi in questa foto?

 
mytarmailS:

quali sono le classi in questa foto?

Nella colonna di sinistra, due classi (blu e rossa)