Zufallsstromtheorie und FOREX - Seite 6

 

dreder, danke für den Ratschlag, aber ich werde ihn wohl nicht befolgen: Ich bin süchtig, und eine einzige richtige Dosis hat genügt, um mich süchtig zu machen. Und Sie sind auch süchtig, nicht wahr?

Warum schließen Sie sich nicht einem kleinen Kreis von Junkies an, von denen einige eine Menge über Mathematik wissen (ich nicht)?

2 Candid: Ich werde es zusammenstellen und abschicken. Es gibt Marple, Sato, Wald, Farina, Vorträge über DSP und die Berechnung von ACF in Mathcad. Ich hoffe, dass das ganze Archiv auf einmal durchgeht (ich habe insgesamt etwa 13,5 Mbyte, also weniger als 20, wenn ich es weiterleite). Ich habe sie Ihnen von einer anderen Mailbox aus geschickt. Teilen Sie mir das Ergebnis mit - oder schicken Sie mir eine E-Mail.

 
Prival:

Lassen Sie mich versuchen, den ACF anhand eines Beispiels zu erklären ...

Nun, ich kannte die Definition von ACF im Prinzip, es ist nur so, dass es oft so viele Leute wie Formeln gibt :). Natürlich nur, wenn Sie es nicht direkt berechnen.
Und was ist falsch an der Fastcorellation aus der Bibliothek von klot?
 
Mathemat:

Warum also nicht im kleinen Kreis ein wenig plaudern...

Ich bin dafür, aber ich bin nicht gut in Mathe, ich bin bestenfalls eine Drei. Trinken Sie ein paar Drinks auf diese reiche Erfahrung des Flugfunkingenieurs :-)

lna01 über die Fastcorellation, ich wusste nicht, dass es sie gibt, tut mir leid, wenn ich dich wieder belästigt habe :-), wie es alles zählt.

 
Prival:

lna01 über fastcorellation Ich wusste nicht, dass es das gibt, sorry, wenn ich wieder anfange, schlechte Fragen zu stellen :-), wie es alles zählt.

Lesen Sie hier mehr darüber - http://alglib.sources.ru/fft/fastcorrelation.php
Das Format ist wie folgt:
void fastcorellation(double& signal[], int signallen, double pattern[], int patternlen)
/*************************************************************************
Korellierung mit FFT

Bei der Eingabe:
Signal ist ein Array von Signalen, mit denen wir die Korrelation durchführen.
Nummerierung der Elemente von 0 bis SignalLen-1
SignalLen - Länge des Signals.

Muster - eine Reihe von Mustern, die Korrelation des Signals, nach der wir suchen
Nummerierung der Elemente von 0 bis PatternLen-1
PatternLen - die Länge des Musters.

Ausgabe:
Signal - Korrelationswerte an den Punkten von 0 bis
SignalLen-1.
*************************************************************************/
 
Ja, das macht alles Sinn. Nach der Beschreibung zu urteilen, sind die Arrays tatsächlich periodisch, und für solche Daten hängt der ACF per Definition nur von der Differenz der Argumente ab, d.h. der Prozess wird automatisch stationär. Passt nicht, verdammt...
 
Mathemat:
Ja, ich habe verstanden. Nach der Beschreibung zu urteilen, sind die Arrays tatsächlich periodisch, und ACF für solche Daten hängt per Definition von der Differenz der Argumente ab, d.h. der Prozess wird automatisch stationär. Passt nicht, verdammt...

Die ACF wird symmetrisch sein, wenn Sie die FFT verwenden, d. h. Sie benötigen die Daten bis zur Mitte. Ich weiß allerdings nicht, wo Sie es anwenden wollen.

Wenn der ACF von der Differenz der Argumente abhängt, ist er nicht stationär.

 
Mathemat:
Ja, das macht alles Sinn. Der Beschreibung nach zu urteilen, sind Arrays tatsächlich periodisch, und für solche Daten hängt ACF per Definition von der Differenz der Argumente ab, d.h. der Prozess wird automatisch stationär. Passt nicht, verdammt...
Sie sind natürlich periodisch, aber mit einer Periode, die um die ersten 2^n größer ist, werden genau zu einer solchen Länge Nullen hinzugefügt - das ergibt sich aus der Quelle. Sie sind also eigentlich unperiodisch :)
 
Ich brauche eine Prozedur, die die Koeffizienten a und b in der Gleichung y(x)=a*x+b berechnet. Dann kann ich vielleicht wieder eine Kurve ACF-Algorithmus in MQL bauen
 
Prival:
Ich brauche eine Prozedur, die die Koeffizienten a und b in der Gleichung y(x)=a*x+b berechnet. Vielleicht kann ich dann wieder einen Kurven-ACF-Algorithmus in MQL erstellen.
Wahrscheinlich ist es schwierig, jemanden zu finden, der eine solche Funktion nicht für sich selbst geschaffen hat. Ich habe sie auch :) Funktionen".
 
Prival:

Ich werde versuchen, ACF anhand eines Beispiels zu erklären. Nehmen wir an, wir haben zwei Datensätze, den ersten 0 1 2 3 4 5 und den zweiten 10 11 12 13 14 15, wenn wir den Korrelationskoeffizienten (CC) dieser Reihen berechnen, ist er = 1, d.h. wenn wir den ersten Satz kennen, können wir den zweiten genau berechnen, wenn der zweite Satz 15 14 13 12 11 10 wäre, wäre der CC = -1, d.h. wenn ein Satz zunimmt, nimmt der zweite im gleichen Verhältnis ab.

Die ACF (Autokorrelationsfunktion) ist ein Vergleich des Arrays mit sich selbst, nur zeitlich verschoben. Bei Shift=0 ist der ACF =1, da die Originaldaten genau gleich sind wie sie selbst. Wenn wir die Verschiebung erhöhen, beginnt sich der ACF zu verändern und schwankt zwischen -1 und 1, wobei Null keine Korrelation bedeutet.

Wenn der ACF des Zitatenstroms die ganze Zeit =1 wäre, dann wäre das ein Gral :-).

Ich habe die Bilder, ich habe sie oben gepostet. Aber sie sind nur für 1 Probe, ich denke, ACF sollte im Laufe der Zeit variieren (es ist sicherlich für den Gral würde vor langer Zeit gefunden worden sein), aber wenn wir die Funktion, die es annähert und nur, wenn wir finden, Parameter dieser Funktion wird es ein bedeutender Schritt nach vorn

Was uns die ACF-Analyse liefert

1. ein mehr oder weniger adäquates Modell von Zeitreihen zu erstellen.

2. die Zeit zu bestimmen, in der der Prozess korreliert ist, d. h. die Zeit, um die wir das Verhalten der Kurve vorhersagen können

3) Der ACF kann auf verschiedene Weise genutzt werden, bis hin zu Handelsentscheidungen. Das Wichtigste ist, ihn zu verstehen und sein Verhalten in verschiedenen Zeitintervallen zu kennen.


Ich habe versucht, ein Skript in MQL zu schreiben, das das Korrelationsdiagramm (Autokorrelationsfunktion) von Zeitreihen in einem separaten Fenster anzeigt. Der Code bildet eine Reihe von ersten Differenzen und findet einen Stichproben-Durchschnitt von Nbars-Werten, den Korrelationskoeffizienten für die aktuelle Differenz Open[i]-Open[i+1] mit sich selbst (Spalte mit einem Null-Index), mit der vorherigen DifferenzOpen[i+1]-Open[i+2] (Spalte mit Indexnummer 1),..., mit der k-ten Differenz Open[i+k]-Open[i+k+1] (Spalte mit Indexnummer k), usw.., k hat Werte von 0 bis n.

//+------------------------------------------------------------------+
//| FAK. mq4 |
//| Copyright © 2007, Neutron |
//+------------------------------------------------------------------+
#property indicator_separate_window
#Eigenschaft indicator_buffers 1
#property indicator_color1 Rot
#Eigenschaft indicator_width1 4

extern int Nbars=10000, n=100;
int i,step,start;
double s1,s2,fak[1000],Dif[10000];

int start()
{
Start=Nbars+n;
for (i=Start;i>=0;i--){Dif[i]=Open[i]-Open[i+1];}

for (step=0;step<=n;step++){s1=0;s2=0;
for (i=Nbars;i>=0;i--){s1=s1+Dif[i]*Dif[i+step];s2=s2+Dif[i]*Dif[i];}
fak[step]=s1/s2;}
}

int init()
{
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,fak);
zurück(0);
}

Achten Sie darauf, dass das Paar EUR/GBP auf dem Protokoll eine starke negative Korrelation zwischen den benachbarten Messwerten aufweist (der Balken mit dem Index 1 und dem Wert -0,25). Um zu vermeiden, dass eine unvollständig informative Nullspalte (immer gleich 1) angezeigt wird, muss eine Linie gezogen werden:

for (step=0;step<=n;step++){s1=0;s2=0;

ersetzen durch:

for (step=1;step<=n;step++){s1=0;s2=0;

Das Produkt aus dem Autokorrelationskoeffizienten r1 und der Instrumentenvolatilität für die ausgewählte TF ergibt die durchschnittliche Rentabilität des TS auf der Grundlage des Markov-Prozesses. Leider übersteigt dieser Wert nicht die DC-Provision.