Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2520

 
Valeriy Yastremskiy #:

Eine zeitliche Begrenzung wird die Wahrscheinlichkeit verringern.

Ja, aber man kann immer noch Muster finden, die innerhalb von 3-5 Tagen mit 100%iger Wahrscheinlichkeit ausgelöst werden (ich habe es überprüft).

Aleksey Nikolayev #:

Damit ist die Hälfte des Problems gelöst, die andere Hälfte ist die Frage, wo man einen Stop-Loss setzt.

Dies ist kein TS, nur eine Idee

 
Aleksey Nikolayev #:

Oh, sieh an, wer da ist!) Du weißt schon, wie man den ACF der SB berechnet, oder? Im Gegensatz zu smartlab können Sie mir diese Frage hier nicht verbieten)

Hallo Alexey, darf ich deine Frage beantworten, ohne zu fragen? Es ist nur so, dass ich viel darüber gelesen habe, wie Sie es fragen, und ich konnte es nicht ertragen, weil mir die Lösung sehr einfach erschien.

Ich habe eine normalisierte Zahlenreihe aus Zufallswerten (1 oder -1) erstellt.

Und ein klassisches Aktienchart daraus, indem alle vorherigen Werte für den aktuellen Punkt summiert werden.


Für die normalisierten Reihen tendiert die Autokorrelation dann gegen Null.

Und für die Serien des Aktiencharts tendiert die Autokorrelation gegen Eins.


Aber nur bei ausreichender Serienlänge habe ich die folgenden Ergebnisse erhalten, wenn die Serie aus 100 000 Zahlen besteht:

0,0010599888334729966 (normalisierte Daten)

0.9999708433220806 (non-normalized).

Für eine Serie von 100 Zahlen:

0.018773466833541926

0.9367627243658354

Von 10:

-0,499999999999999999 (diese Werte ändern sich mit jeder neuen Reihe zufällig)

-0,14285714285714285 (diese Werte ändern sich mit jeder neuen Serie nach dem Zufallsprinzip)


Dies sind zwar nur Sonderfälle, aber wie Sie sehen können, kann die Autokorrelation bei kleinen Seriengrößen innerhalb sehr breiter Zufallsgrenzen liegen.

Allerdings ist dieseAutokorrelation keine Eigenschaft des Prozesses, der die Daten generiert (in dem es keine Autokorrelation gibt), was es in diesem Fall schwierig macht, den Prozess zu messen und zu bewerten.

Ich werde meinen Python-Code unten anhängen, falls jemand die Berechnungen überprüfen möchte.

import numpy as np
import random

def autocorr(x, t=1):
    return np.corrcoef(np.array([x[:-t], x[t:]]))[0][1]

SB_numbers = []
for i in range (1, 100000):
    r = random.randint(0, 1)
    if r == 0:
        r = -1
    SB_numbers.append(r)
#print(SB_numbers)
    
SB_time_series = []
price = 0
for el in SB_numbers:
    price = price + el
    SB_time_series.append(price)
#print(SB_time_series)
    

    
print('numbers autocorr:',autocorr(SB_numbers, 1))
print('time_series autocorr::',autocorr(SB_time_series, 1))
 
LenaTrap #:

Hallo Alexey, darf ich deine Frage beantworten, ohne zu fragen? Es ist nur so, dass ich viel gelesen habe, während Sie diese Frage stellten, und ich konnte es nicht ertragen, denn die Lösung schien mir sehr einfach zu sein.

Ich habe eine normalisierte Zahlenreihe aus Zufallswerten (1 oder -1) erstellt.

Und ein klassisches Aktienchart daraus, indem alle vorherigen Werte für den aktuellen Punkt summiert werden.


Für die normalisierten Reihen tendiert die Autokorrelation dann gegen Null.

Und für die Serien des Aktiencharts tendiert die Autokorrelation gegen Eins.


Aber nur bei ausreichender Länge der Serie; ich habe folgende Ergebnisse erhalten, wenn die Serie aus 100 000 Zahlen besteht:

0,0010599888334729966 (normalisierte Daten)

0.9999708433220806 (non-normalized).

Für eine Serie von 100 Zahlen:

0.018773466833541926

0.9367627243658354

Von 10:

-0,499999999999999999 (diese Werte ändern sich mit jeder neuen Serie zufällig)

-0,14285714285714285 (diese Werte ändern sich mit jeder neuen Serie zufällig)


Dies sind zwar nur Sonderfälle, aber wie Sie sehen können, kann die Autokorrelation bei kleinen Seriengrößen innerhalb sehr breiter Zufallsgrenzen liegen.

Allerdings ist dieseAutokorrelation keine Eigenschaft des Prozesses, der die Daten generiert (in dem es keine Autokorrelation gibt), was es in diesem Fall schwierig macht, den Prozess zu messen und zu bewerten.

Ich hänge meinen Python-Code unten an, falls jemand die Berechnungen überprüfen möchte.

Sie berechnen den ACF der Stichprobe. Gefragt ist der ACF. Vor nicht allzu langer Zeit hat Valeriy Yastremskiy in diesem Thread Links zu Handbüchern der Ökonometrie gepostet, die Formeln für ACF für weißes Rauschen und stationäre AR(1) Prozesse enthalten. Wenn ich mich nicht irre, wurde diese Funktion dort mit dem griechischen Buchstaben gamma bezeichnet. Man fragt sich, wie die Formel für SB lauten würde.

 
Wozu brauchen wir Formeln, wenn wir auf der Grundlage einer Stichprobe handeln?
 
secret #:
Warum brauchen wir Formeln, wenn wir nach Stichproben handeln?

Wir handeln mit Preisen. Die Annahme, dass es sich bei den Preisen um eine Stichprobe handelt, ist eine Abstraktion und Theoriebildung.

 
Aleksey Nikolayev #:

Sie zählen den selektiven ACF mit. Gefragt ist der ACF. Vor nicht allzu langer Zeit hat Valeriy Yastremskiy in diesem Thread Links zu Tutorials über Ökonometrie gepostet, in denen die ACF-Formeln für weißes Rauschen und stationäre AR(1)-Prozesse angegeben wurden. Wenn ich mich nicht irre, wurde diese Funktion dort mit dem griechischen Buchstaben gamma bezeichnet. Die Frage ist, wie die Formel für die SB aussehen würde

Ich betrachte denKorrelationskoeffizienten von Pearson, der der Standard für die Beurteilung des Vorhandenseins von Autokorrelation zu sein scheint. Leider bin ich mir nicht ganz sicher, was Sie genau meinen, Sie schreiben einen sehr kurzen Begriff "AFC" = Autokorrelationsfunktion? Was genau ist denn der Pearson-Koeffizient, der Sie nicht zufrieden stellt? Meines Erachtens ist die Schätzung korrekt vorgenommen worden.

[1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1]
[1, 2, 3, 2, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1, 2, 3]
-----------
[19 -2  1 -4 -1 -4  3 -4  5  0  3 -2 -1 -4 -1  0  3  2  1]
[42 28 19 12 12 10 15 14 14 12 13  8  8  6 11 14 14  8  3]

Ist es das, was Sie sich wünschen?


Es handelt sich nicht um eine Probe. Dies ist eine Reihe von Daten, die durch einen Prozess erzeugt werden. Es ist also vollständig und nicht abgeschnitten, wenn der Prozess 10 Ticks gearbeitet hat, dann erhalten wir einen Datensatz von 10 Elementen, der vollständig von diesem Prozess vom Anfang bis zum Ende erzeugt wurde.
 
LenaTrap #:

Ich betrachte denKorrelationskoeffizienten von Pearson, der der Standard für die Beurteilung des Vorhandenseins von Autokorrelation zu sein scheint. Leider bin ich mir nicht ganz sicher, was Sie genau meinen, Sie schreiben einen sehr kurzen Begriff "AFC" = Autokorrelationsfunktion? Was genau ist denn der Pearson-Koeffizient, der Sie nicht zufrieden stellt? Meines Erachtens ist die Schätzung korrekt vorgenommen worden.

Ist es das, worauf Sie hinauswollen?

Sie versuchen, den ACF durch seine Stichprobenschätzung zu ersetzen. Beginnen Sie mit der Definition des ACF und nicht damit, wie er anhand der verfügbaren Implementierung (Beispiel) angenähert werden kann.

Beispiel. Xi sei weißes Rauschen. Dann ist sein ACF = COV(Xj,Xk)/sqrt( COV(Xj,Xj)* COV(Xk,Xk)) - ist eine Funktion der beiden Indizes j und k, die gleich 1 ist, wenn j==k, und gleich 0, wenn j!=k.
 
Aleksey Nikolayev #:

Wir handeln mit Preisen. Die Annahme, dass es sich bei den Preisen um eine Stichprobe handelt, ist eine Abstraktion und Theoriebildung.

Theoretisieren ist Handeln mit Formeln)
 
Aleksey Nikolayev #:

Sie versuchen, den ACF durch seine Stichprobenschätzung zu ersetzen. Beginnen Sie mit der Definition des ACF und nicht damit, wie man ihn anhand einer verfügbaren Implementierung (Beispiel) annähern kann.

Lassen Sie mich meine Schlussfolgerungen noch einmal erläutern:

Für eine allgemeine Schätzung der AFC über einen Random-Walk-Prozess ist es notwendig,:

- Nehmen Sie eine möglichst große Stichprobe (in meinem Fall 100.000 Tausend)

- normalisierte Daten verwenden

Fazit: Der Pearson-Koeffizient ist Null, alles andere ist ein Fehler bei der Schätzung des Prozesses anhand der Stichprobe.

Das heißt, der Random-Walk-Prozess hat keinerlei Autokorrelation.

Sie ist gleich 0. ( 0,0010599888334729966 ), wobei 0 für die reale Autokorrelation und 0,00105 für den Fehler steht.

 
Geheimnis #:
Theoretisieren ist Formelhandel)

Die Multiplikationstabelle ist ebenfalls eine Formel. Daher sollte Ihre Aussage wie folgt interpretiert werden: Der Handel mit Formeln, mit denen Sie vertraut sind, ist praktisch, und mit solchen, mit denen Sie nicht vertraut sind, ist theoretisch)