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

 
mytarmailS #:
Du folgst, aber du verstehst nichts...(

Zum Beispiel was - um ein Problem zu lösen, braucht man ein Kriterium für die Lösung des Problems, es ist auch ein Fehler))))


Jetzt habe ich bemerkt, dass Sie den Beitrag vervollständigt haben. Also erlaube ich mir zu antworten.

Du suchst nach nichts anderem als nach Fehlern. Darin liegt das Problem der MO-Träumer. Sie suchen nach Fehlern, nicht nach konkreten Vorhersageergebnissen. Auch der kleinste Fehler ist 100%_ein Fehler.)) Vor allem auf den Finanzmärkten.

Immer wieder falsch liegen))) Ich werde nicht mehr antworten und mich auch nicht mehr einmischen.

 
Uladzimir Izerski #:

Ich sehe jetzt, dass Sie den Beitrag aktualisiert haben.

Außerdem habe ich deine Frage auch schon vor langer Zeit beantwortet)))


Uladzimir Izerski #:

Du suchst nach nichts anderem als nach Fehlern. Das ist das Problem der MO-Träumer. Sie suchen nach Fehlern, nicht nach konkreten Ergebnissen der Vorhersage.

Sie haben eine sehr, sehr enge Sicht auf den Begriff "Fehler".

in einem Fall war es ein Fehler bei der Vorhersage eines Indikators,

in einem anderen Fall könnte der Fehler z.B. die Bilanzkurve sein, oder die Abweichung von einem idealen Kapital,

oder die Dynamik des Kapitalwachstums,

oder z.B. die Anzahl der Algorithmusfehler (die Anzahl der Algorithmusfehler ist auch ein Fehler).

oder man kann den Algorithmus-Roboter mit den Augen ansehen und ihm (per Code/Knopf) sagen - das gefällt mir, aber das nicht, und auch das kann als Fehler angesehen werden....

Und es gibt Millionen verschiedener Variationen, und selbst für das, was man tut, gibt es ein Kriterium (gut/schlecht). Auch das ist ein Fehler.

Die Tatsache, dass du es nicht erkennst, dass du es nicht zugibst, es ist einfach dein Fehler...


Ein Fehler ist ein Gut/Schlecht-Kriterium, das durch eine Zahl ausgedrückt wird.

 

Uladzimir versucht wieder einmal mit seinem kindlich neugierigen Verstand Bedeutungen zu erfassen, die für ihn groß sind und die Teilnehmer dieses Threads zu diskreditieren, nämlich diese Bedeutungen:

Gleichungs-Rekonstruktion:"Blackbox".

"Black Box " ist dieschwierigsteund zugleich"verführerischste " Formulierung eines Modellierungsproblems,bei demes keineA-priori-Informationen über den Gegenstandunddamit die Struktur des Modells gibt. DerReiz liegt darin, dass einModell, das in der Lage ist, das beobachtete Verhalten zu reproduzieren oder eine Vorhersage über die weitere Entwicklung zu machen,nur aus den beobachteten Reihen gewonnen werden soll, d.h.praktisch"aus dem Nichts".DieErfolgschancen sind gering,aber im Glücksfallwird ein"gutes " Modell zu einem sehr wertvollen Instrument für die Charakterisierung des Objekts und das Verständnis der"Mechanismen " seiner Funktionsweise: "fast ein Bluff kann zu einem großen Gewinn führen".DasFehlen von A-priori-Informationen zwingt dazu, universelle Strukturen von Modellgleichungen zu verwenden,z. B.künstliche neuronale Netze,radiale Basisfunktionen,algebraische Polynome usw.Solche Modelle erweisen sich oft als mehrdimensional und enthalten eine Vielzahl unbekannter Parameter.


ZY und vor mehr als einem Jahr schrieb er, dass er selbst neuronale Netze verwendet und dass alle seine TS auf ihnen basieren... so ein Clown, dieser abzdez

#870

#1826

Unser lieber Uladzimir hat neuronale Netze sehr schnell erlernt, in 2 Monaten, wie sich herausstellt.

Ich wünschte, er hätte es getan, aber zwei Jahre vorher hat er schon Signale von der NS bekommen.

#5758

Der Typ redet also im Vollrausch Blödsinn und lügt, lügt, lügt.... und diskreditiert damit nur sich selbst und seine verrückten Indikatoren.

 

Es stellt sich heraus, dass dies ein ziemlich guter Test des Modells durch Fensterverzerrung ist. Wenn es viele Lags gibt, statt Null, mit besseren Statistiken (wie mi), dann basiert das Modell auf Randomisierung.

Ansonsten wäre es eindeutig, es kann nicht so viele profitable TS auf einmal geben.

Ich habe versucht, durch std nach Sanychs Anweisungen zu selektieren - ungefähr das gleiche Bild. Aber ich habe Gruppen von Merkmalen ausgewählt, nicht jedes Merkmal einzeln.

Ich werde mir die Merkmale noch einmal separat ansehen

 
>>> results = []
>>> for i in range(25):
...     pr = get_prices()
...     pr = labeling_shift(pr,shift=i)
...     mi = mutual_info_classif(pr[pr.columns[1:-1]], pr[pr.columns[-1]])
...     results.append([mi.mean(), mi.std(), mi, i])
...     print(i)
... 
results.sort()
results[-1]    
pd.DataFrame(results)

Bestes Ergebnis ist lag 9, aber std ist besser auf 0:

15  0.002473  0.002008  [0.0, 0.0, 0.0, 7.738132773948969 e-05, 0.00428...   0
16  0.002482  0.002536  [0.0027194272625081783, 0.004082692968791601, ...   4
17  0.002544  0.002137  [0.00016451381901605444, 0.003159073557252867,...   2
18  0.002678  0.002174  [0.0, 0.0015686230398428425, 0.000974887322880...   8
19  0.002749  0.001978  [0.0, 0.001425018820565338, 0.0, 0.0, 0.002788...   1
20  0.002793  0.002378  [0.00535509344523355, 0.0, 0.00400320235670181...  12
21  0.002897  0.002330  [0.00406257691063705, 0.001421806087245736, 0....  13
22  0.003113  0.002501  [0.0, 0.0, 0.004822852461999094, 3.66068989796...  10
23  0.003195  0.002560  [0.0024128008240758003, 0.0, 0.001845732619932...  11
24  0.003255  0.002406  [0.0, 0.0, 0.0034648745240082324, 0.0063568287...   9

Okabe Blick auf Backtests von beiden, 9:

0-я:

Die 0. hat logischerweise eine geringere Streuung der Werte im Backtest, weil der std für mi von Natur aus kleiner ist. Aber das hat keinen Einfluss auf die Ergebnisse von OOS, ebenso wenig wie der höhere Wert von mi (Mutual information).

Ok, nehmen wir an, wir trainieren mit einer großen Anzahl von Merkmalen (hier 14 Merkmale).

MA_PERIODS = [i for i in range(10, 150, 10)]

Schauen wir uns die Statistiken der einzelnen Merkmale an und wählen wir nur die besten für das Modell mit 9 Verzögerungen aus:

>>> results[24]
[0.003255328338368026, 0.002405621052220332, array([0.        , 0.        , 0.00346487, 0.00635683, 0.00490859,
       0.        , 0.00305732, 0.00268664, 0.00877952, 0.00305562,
       0.00138638, 0.00320064, 0.00415751, 0.00452067]), 9]
>>> 

Einige Merkmale werden ganz gestrichen, d. h. sie haben keinen Wert. Wir wählen nur diejenigen aus, die größer als 0,004 sind, und trainieren mit ihnen:

>>> per = results[24][2]
>>> np.array(per) > 0.004
array([False, False, False,  True,  True, False, False, False,  True,
       False, False, False,  True,  True])
>>> 

MA_PERIODS = [40, 50, 90, 130, 140] - отобранные фичи

Training und Test:

Mnde.

Fazit: Eine höhere Informationskorrelation in der Trainingsstichprobe trägt nicht zur Verbesserung des Modells in der Teststichprobe bei.

Dies kann jedoch dazu verwendet werden, Bruchteile von % in Wettbewerben herauszuholen, was Fachleute sagen, dass die Vorauswahl von Merkmalen für moderne Modelle wie Busting fast nichts bringt.

 
Maxim Dmitrievsky #:

Es stellt sich heraus, dass dies ein ziemlich guter Test des Modells durch Fensterverzerrung ist. Wenn es viele Lags anstelle von Null produziert, mit besseren Statistiken (wie mi), dann ist das Modell auf Zufälligkeit aufgebaut

Andernfalls wäre es eindeutig: Es kann nicht so viele profitable TK auf einmal geben.

Ich habe versucht, durch std nach Sanychs Anweisungen zu selektieren - ungefähr das gleiche Bild. Aber ich habe Gruppen von Zeichen ausgewählt, nicht jedes einzelne.

Ich werde mir die Merkmale noch einmal separat ansehen

std der numerischen Schätzung der Korrelation zwischen einem Merkmal und einem Zielmerkmal?

Zuerst müssen Sie die korrelierten Merkmale entfernen. Aus irgendeinem Grund liegt die optimale Korrelation bei meinen Merkmalen bei 75 %.

Dann wählen Sie 5-10 Merkmale mit der höchsten Punktzahl aus.

Zeichnen Sie Bilder, wie oben in meinem Beitrag, um sicherzustellen, dass die Korrelation die Noten teilt.

Der Vorhersagefehler sollte weniger als 30% betragen. Wenn dies nicht der Fall ist, müssen die Merkmale verworfen werden.

 
СанСаныч Фоменко #:

std eine numerische Schätzung der Beziehung eines Merkmals zu einem Ziel?

Zuerst müssen Sie die korrelierten Merkmale entfernen. Bei meinen Merkmalen liegt die optimale Korrelation aus irgendeinem Grund bei 75 %.

Dann wählen Sie 5-10 Attribute mit der höchsten Punktzahl aus.

Zeichnen Sie Bilder, wie oben in meinem Beitrag, um sicherzustellen, dass die Korrelation nach Klassen aufgeteilt ist.

Der Vorhersagefehler sollte weniger als 30 % betragen. Ist dies nicht der Fall, so müssen die Merkmale verworfen werden.

Anhand der Entropie können Sie sehen, dass die Korrelation vernachlässigbar ist (0,003), aber gegen 1 tendieren sollte.

Aber ich habe die Differenz geschätzt, so dass es keine Rolle spielt. Es sollte immer noch eine kleine Verbesserung geben. Vielleicht gibt es keine, weil der Unterschied minimal ist.

Im Allgemeinen, auch wenn alles gut ist (es gibt gute in dem Satz), müssen Sie nicht die anderen Funktionen zu entfernen

Es ist so, ein Knüppel für andere Dinge wie ein Nicht-Standard-Fenster
 
Maxim Dmitrievsky #:

ist aus der Entropie ersichtlich, dass die Korrelation vernachlässigbar ist (0,003), aber gegen 1 tendieren sollte.

Aber ich habe die Differenz geschätzt, so dass es keine Rolle spielt. Es sollte immer noch eine kleine Verbesserung geben. Vielleicht gibt es keine, weil der Unterschied minimal ist.

im Allgemeinen, auch wenn alles gut ist (es gibt gute in der Menge), der Rest der Chips müssen nicht entfernt werden

Die Punktzahl selbst ist eine relative Sache.

Ich werde die Bilder wiederholen.

Schlecht, hoffnungslos%


Besser, wenn es mehrere davon gibt, können wir über 30% Vorhersagefehler sprechen.



Und der Müll sollte entfernt werden, denn auf der Trainingsmenge kann der Chip zugunsten des Mülls liegen, es ist einfacher, den Wert zu finden, der zum Optimum führt.

 
Maxim Dmitrievsky #:

Die Vorauswahl von Merkmalen für moderne Busting-Modelle ergibt fast nichts.

Busting sucht nach den besten Splits aus allen Spalten und allen Beispielen. Das heißt, es verwendet die besten Chips.
Schuch. forest nimmt für jeden Baum die Hälfte der Chips und die Hälfte der Beispiele (der Anteil ist konfigurierbar) und findet dann aus 20-100 Bäumen den Durchschnitt. Wenn es nur 5 informative Chips von 200 Chips gibt, dann werden einige der Bäume keine informativen Chips enthalten (im Durchschnitt 2,5 informative Chips pro Baum). Und wir werden einen Teil der informativen Bäume mit verrauschten Bäumen mitteln. Das Ergebnis wird ebenfalls sehr verrauscht sein.
Ein Rauschbaum wird gut funktionieren, wenn es viele informative Chips gibt (wie in klassischen Beispielen/ MO-Aufgaben).

Busting findet und verwendet die informativsten Fiches, da es sie alle überprüft. Nach der Logik von Bousting wird es also die besten Fiches selbst auswählen. Aber Bousting hat auch seine eigenen Probleme.

 
elibrarius #:

Busting wird die informativsten Chips finden und verwenden, weil es alle überprüft. Nach der Logik von Busting wird es also die besten Chips auswählen. Aber Bousting hat auch seine eigenen Probleme.

Ich habe ein Thema mit einem Beispiel erstellt, das das Gegenteil beweist - Busting ist nicht omnipotent, vor allem nicht ohne Weiteres.