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

 
Aleksey Vyazmikin:

Danke, dass Sie es versucht haben.

Welches ZZ haben Sie verwendet? Können Sie mir ein paar markierte ZZs mit unterschiedlichen Reichweiten schicken?


Ich möchte die Splits jetzt gruppieren, damit es weniger Kombinationen gibt.

Bitte...

200 oder 300 in absoluten Werten.

ZZ per Saldo? Sagen Sie mir, an welchen Bereichen Sie interessiert sind.


Oder vielleicht ein bisschen R lernen? ;)


5 Zeilen Code, und Sie haben, was Sie wollten.

#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  считаем зигзаг по баласну
my_ZZ <- TTR::ZigZag( dat$Balans ,change = 200,percent = F)
#  зигзаг в бинарный вид
zz <- c(0,diff(my_ZZ)) ; zz[zz>=0] <- 1 ; zz[zz<0] <-  0
zz
#  добавляем зз как колонку к данным
dat_and_zz <- cbind(dat, zz)
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")
 
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")->.;
#  считаем зигзаг по баласну
TTR::ZigZag(., change = 200, percent = F)->.;
#  зигзаг в бинарный вид
c(0, diff(.)) ->.;
sign(.)->.;
#  добавляем зз как колонку к данным
cbind(dat, zz = .) -> dat_and_zz 
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")

So ist es besser. Weniger unnötiger Zwischenabfall.

Viel Glück!

 
Vladimir Perervenko:

So ist es besser. Weniger unnötiger Zwischenabfall.

Viel Glück!

Danke Vladimir, ich wusste gar nicht, dass man das machen kann )) !!! Ich liebe R, immer eine angenehme Überraschung!

Wann werden Sie mir zeigen, wie man Daten abtastet und auf neue Daten überträgt?)

 

Ich dachte, ich hätte Ihnen einen Link zu einem Artikel gegeben. Hier ist sie.

Es wird das Paket "Diskretisierung" verwendet.

"Diskretisierung ist der Prozess der Umwandlung einer kontinuierlichen Variable in eine diskrete Variable, indem ihr Wert in Bereiche unterteilt wird, wobei verschiedene Methoden zur Bestimmung der Grenzen verwendet werden.

Es lassen sich zwei Gruppen von Diskretisierungsmethoden unterscheiden: quantitative, ohne Bezug auf das Ziel, und solche mit Bezug auf die Anpassung von Bereichen an das Ziel.

Die erste Gruppe von Methoden wird fast vollständig von cut2()::Hmisc abgedeckt. Es ist möglich, die Stichprobe in eine vorher festgelegte Anzahl von Bereichen mit bestimmten Grenzen in Quartilen aufzuteilen, wobei die Mindestanzahl von Beispielen in jedem Bereich angegeben wird, in Bereiche mit gleicher Häufigkeit.

Die zweite Gruppe von Methoden ist interessanter, weil sie die Variable in Parzellen unterteilt, die mit den Niveaus des Ziels verbunden sind. Betrachten wir nun einige Pakete, die diese Methoden implementieren.

Diskretisierung: Dieses Paket enthält eine Reihe von Diskretisierungsalgorithmen mit einem Lehrer. Sie können auch nach der Top-down- oder Bottom-up-Implementierung von Diskretisierungsalgorithmen unterschieden werden. Schauen wir uns einige davon am Beispiel unseresdataSet an."

Wir verwendendiscretization::mdlp(), das die Diskretisierung nach dem Prinzip der minimalen Beschreibungslänge beschreibt. Diese Funktion diskretisiert kontinuierliche Attribute der Datenmatrix unter Verwendung des Entropiekriteriums mit minimaler Beschreibungslänge als Abbruchregel. Die Spaltung ist perfekt, dauert aber sehr lange. Wir verwenden base::findinterval(), um die Testmenge zu diskretisieren. In dem Artikel sind Funktionen und Beispiele enthalten. Dies ist nicht das einzige Stichprobenpaket. In anderen Artikeln verwenden wir: glmdisc, smbinning, cutpointr (für binäre Ziele), woeBinning und andere. Dies sind die Pakete in CRAN. Es gibt ein schönes MOB-Paket- installieren Sie es von Github. Ich habe sie überprüft und sie funktionieren. Es hängt davon ab, welche Art von Daten Sie abfragen wollen (woe, bin, raw...).

Probieren Sie es aus.

Viel Glück!

Глубокие нейросети (Часть II). Разработка и выбор предикторов
Глубокие нейросети (Часть II). Разработка и выбор предикторов
  • www.mql5.com
В предыдущей части статьи мы рассмотрели различные аспекты получения и подготовки входных данных и целевой переменной. Для воспроизведения скриптов этой статьи вам необходимо либо выполнить все скрипты первой части, либо загрузить результат вычислений первой части статьи из приложения в RStudio. 1. Разработка признаков Разработка признаков —...
 
Vladimir Perervenko:

Hängt davon ab, in welcher Form Sie das Stichprobenergebnis haben möchten (woe, bin, raw...)


Wie das, was Sie wollen)))) Aber das bedeutet nicht, dass es richtig ist) Gruuuus...........

 
Vladimir Perervenko:

Nun, ich dachte, ich hätte Ihnen einen Link zu einem Artikel gegeben. Hier ist sie.

Das Paket "Diskretisierung" wird verwendet.

Nein, hast du nicht :)

Ich habe mir verschiedene Pakete angesehen und Artikel gelesen, aber ich habe nicht herausgefunden, wie man mit neuen Daten arbeitet, wenn man diskretisiert, vielleicht habe ich nicht gut gesucht, jedenfalls danke für die Aufklärung.

 
Vladimir Perervenko:

Nun, ich dachte, ich hätte Ihnen einen Link zu einem Artikel gegeben. Hier ist sie.


Es gibt eine MengeArtikel, die Forschung ist interessant, aber gibt es irgendwelche Sammari über die praktischen Ergebnisse?
Ich meine, wie gut funktioniert das auf dem realen Markt?

Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...
 
Evgeny Dyuka:

Es gibt eine MengeArtikel, die Forschung ist interessant, aber gibt es irgendwelche Sammari über die praktischen Ergebnisse?
Ich meine, wie gut funktioniert das alles auf dem realen Markt?

Das tut sie. Glaubst du das wirklich?

Alle Codes sind festgelegt. Probieren Sie es einfach aus.

Das Wichtigste sind nicht die Modelle, auch wenn sie wichtig sind. Wichtig sind die Prädiktoren und ihre Aufbereitung (Preprocessing). Je besser die Daten aufbereitet sind, desto leichter lassen sich die Modelle anwenden.

Viel Glück!

 
Vladimir Perervenko:

Es funktioniert. Werden Sie mir das glauben?

Alle Codes sind festgelegt. Bauen Sie es, versuchen Sie es.

Das Wichtigste sind nicht die Modelle, auch wenn sie wichtig sind. Wichtig sind die Prädiktoren und ihre Aufbereitung (Preprocessing). Je besser die Daten aufbereitet sind, desto leichter lassen sich die Modelle anwenden.

Viel Glück!

Natürlich werde ich es glauben, ich werde alles sorgfältig lesen und den Code analysieren, vor allem jetzt, wo ich nichts zu tun habe, ich habe viel Zeit.
Aber bevor ich eine Woche damit verbringe, können Sie mir einen Link zu einem Artikel geben, der mit einem Satz beginnt wie"Die oben beschriebene Methode liefert solche Ergebnisse auf dem realen Markt... " und dann ein paar Diagramme oder eine Tabelle.
 
Evgeny Dyuka:
Natürlich werde ich es glauben, ich werde alles sorgfältig lesen und den Code analysieren, vor allem jetzt, wo ich nichts zu tun habe, ich habe viel Zeit.
Aber bevor ich eine Woche damit verbringe, können Sie mir einen Link zu einem Artikel geben, der mit einem Satz wie"Die oben beschriebene Methode liefert solche Ergebnisse auf dem realen Markt... " und dann ein paar Diagramme oder eine Tabelle.

Nun, fast jeder zweite Artikel endet mit einem Test zu neuen Daten

hier ist es
Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...