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

 

Wie sollte der rekursive Teil Ihrer Meinung nach gehandhabt werden?

Mit lstm

+import numpy as np
+from keras.preprocessing import sequence
+from keras.models import Sequential
+from keras.layers import Dense, Activation, Embedding
+from keras.layers import LSTM
+from keras.datasets import imdb
+
+# Устанавливаем seed для повторяемости результатов
+np.random.seed(42)
+# Максимальное количество слов (по частоте использования)
+max_features = 5000
+# Максимальная длина рецензии в словах
+maxlen = 80
+
+# Загружаем данные
+(X_train, y_train), (X_test, y_test) = imdb.load_data(nb_words=max_features)
+
+# Заполняем или обрезаем рецензии
+X_train = sequence.pad_sequences(X_train, maxlen=maxlen)
+X_test = sequence.pad_sequences(X_test, maxlen=maxlen)
+
+# Создаем сеть
+model = Sequential()

Wie man Eingaben verwaltet, was man einschleift

 
+# Создаем сеть
+model = Sequential()
+# Слой для векторного представления слов
+model.add(Embedding(max_features, 32, dropout=0.2))
+# Слой долго-краткосрочной памяти
+model.add(LSTM(100, dropout_W=0.2, dropout_U=0.2))  # try using a GRU instead, for fun
+# Полносвязный слой
+model.add(Dense(1, activation="sigmoid"))
+
+# Копмилируем модель
+model.compile(loss='binary_crossentropy',
+              optimizer='adam',
+              metrics=['accuracy'])
+
+# Обучаем модель
+model.fit(X_train, y_train, batch_size=64, nb_epoch=7,
+          validation_data=(X_test, y_test), verbose=1)
+# Проверяем качество обучения на тестовых данных
+scores = model.evaluate(X_test, y_test,
+                        batch_size=64)
+print("Точность на тестовых данных: %.2f%%" % (scores[1] * 100))
 
Top2n:
Schon alles ausprobiert

Registrieren Sie sich aufhttp://ru.stackoverflow.com eine Ressource, die speziell für Fragen über die Programmierung, in jeder Sprache, rund um die Uhr, und zur gleichen Zeit wird die Basis der richtigen Antworten in russischer Sprache zu erhöhen

Stack Overflow на русском
Stack Overflow на русском
  • ru.stackoverflow.com
Вот как это работает: Любой может задать вопрос Любой может ответить Лучшие ответы получают голоса и поднимаются наверх
 
Top2n:

Wie sollte der rekursive Teil Ihrer Meinung nach gehandhabt werden?

Mit lstm

+import numpy as np
+from keras.preprocessing import sequence
+from keras.models import Sequential
+from keras.layers import Dense, Activation, Embedding
+from keras.layers import LSTM
+from keras.datasets import imdb
+
+# Устанавливаем seed для повторяемости результатов
+np.random.seed(42)
+# Максимальное количество слов (по частоте использования)
+max_features = 5000
+# Максимальная длина рецензии в словах
+maxlen = 80
+
+# Загружаем данные
+(X_train, y_train), (X_test, y_test) = imdb.load_data(nb_words=max_features)
+
+# Заполняем или обрезаем рецензии
+X_train = sequence.pad_sequences(X_train, maxlen=maxlen)
+X_test = sequence.pad_sequences(X_test, maxlen=maxlen)
+
+# Создаем сеть
+model = Sequential()

Wie man den Eingang kontrolliert, was man einschleift

Nach diesen Codeschnipseln zu urteilen, möchten Sie das Problem der Textvorhersage untersuchen/lösen. Ich habe gleich ein paar Fragen:

  • Was hat das mit dem Handel zu tun?
  • Wie wollen Sie den Python-Code mit MT4/5 verbinden?

Natürlich bezieht sich LSTM auf maschinelle Lernmodelle, aber textMining auf den Handel?

Wenn Sie Erfahrung und Know-how in diesem Bereich haben, starten Sie einen neuen Thread, zum Beispiel: TextMiningPython. Wenn es Enthusiasten gibt, werden sie Sie unterstützen. Ich werde die Entwicklung mit Interesse verfolgen. Beginnen Sie jedoch mit einer kohärenten Beschreibung des Inputs, der Zieldaten, der Links zu Datenquellen und des Problems, das Sie lösen wollen. Da Ihr Beitrag zu verstehen, was es ist alles über kann nur von einem sehr hohen Niveau psychischen verstanden werden.

Viel Glück!

 

Es gibt einen Dienst von Google namens google correlatehttps://www.google.com/trends/correlate

Es kann nach korrelierten Benutzeranfragen suchen, wobei die Anfragen in Form von BP präsentiert werden. Der Dienst ist interessant, weil Sie Ihren Blutdruck in ihn laden können und er dann nach solchen Abfragen sucht, die mit dem angegebenen Blutdruck korrelieren.

Die Idee ist es, dort das Symbol Preis zu laden und sehen, was es mit korreliert, kann es nützlich für die Suche nach neuen Prädiktoren, natürlich verstehe ich, dass die Korrelation ist eine sehr grobe Art und Weise zu finden, Links, aber dennoch ist es interessant....

Nun, das Problem ist, dass ich nicht verstehe, in welcher Form der Dienst sollte die Daten mit dem Instrument Preis, kann jemand verstehen und mir sagen, wie die Daten vorzubereiten und in welcher Form es sein sollte

hinzugefügt...........

Hier ist ein weiterer Artikel, der ein tieferes Verständnis der Google-Dienste vermittelthttp://forbes.net.ua/opinions/1336134-google-pomogaet-ustanovit-zhdut-li-ukraincy-krizisa

der Artikel zeigt, dass eine starke Korrelation zwischen derDynamik der realen Industrieproduktion

in der Ukraine mitSuchanfragen für diePhrase "Verbraucherkredit" in der Ukraine

Google Correlate
  • www.google.com
Google Correlate finds search patterns which correspond with real-world trends.
 
mytarmailS:

Es gibt einen Dienst von Google namens google correlatehttps://www.google.com/trends/correlate

Es kann nach korrelierten Benutzeranfragen suchen, wobei die Anfragen in Form von BP präsentiert werden. Der Dienst ist interessant, weil Sie Ihren Blutdruck in ihn laden können und er dann nach solchen Abfragen sucht, die mit dem angegebenen Blutdruck korrelieren.

Die Idee ist es, dort das Symbol Preis zu laden und sehen, was es mit korreliert, kann es nützlich für die Suche nach neuen Prädiktoren, natürlich verstehe ich, dass die Korrelation ist eine sehr grobe Art und Weise zu finden, Links, aber dennoch ist es interessant....

Also, das Problem ist, dass ich nicht verstehe, in welcher Form der Dienst die Daten mit dem Preis des Instruments einspeisen sollte, vielleicht kann jemand es herausfinden und mir sagen, wie die Daten vorzubereiten und in welcher Form es sein sollte


Es ist großartig, aber ich erinnere mich, dass es solche Indikatoren wie Entropie und etwas anderes gab, und ich wollte plötzlich die Aufzeichnungen erhöhen...... Vielleicht kommt ja etwas Nützliches dabei heraus....
 
mytarmailS:

Es gibt einen Google-Dienst...

Interessant, hier ist der Code, aber Google hat nichts Entsprechendes gefunden

library(lubridate)
library(rusquant) #install.packages("rusquant",  repos="http://R-Forge.R-project.org")


#для  недельных баров, сдвиг на одну дату назад ибо в сша первый день недели это воскресенье
getSymbols("EURUSD",src = "Finam", period="week", from = 0)
eurusdTime <- as.character(ymd(time(EURUSD))-days(1))


# #для  месячных баров
#  getSymbols("EURUSD",src = "Finam", period="month", from = 0) #месячные  бары вместо недельных
#  eurusdTime <- as.character(ymd(time(EURUSD))) #для  месячных баров



#либо  первый вариант, либо второй, зависит от того как в гугле данные относятся к дате - с отставанием или опережением. я не знаю.
eurusdOpen <- as.numeric(scale(c(diff(as.numeric(EURUSD$EURUSD.Open))[-1], 0, 0)))
#  eurusdOpen <- as.numeric(scale(c(diff(as.numeric(EURUSD$EURUSD.Open)), 0)))


write.table(matrix(c(eurusdTime,eurusdOpen), ncol=2), file="table.csv", sep=",", dec=".", row.names = FALSE, col.names = FALSE)

 
Dr. Trader:

Interessant, hier ist der Code, aber Google hat nichts Entsprechendes gefunden

Danke!!!

eine Differenzierung ist nicht notwendig, da die Struktur der Reihe und der Trend verloren gehen, eine Skalierung ist ebenfalls nicht notwendig, die Korrelation in den Berechnungen gleicht die absoluten Werte aus... Das Maximum, was Sie tun können, ist, den Trend zu entfernen, um einige saisonale Merkmale zu finden, aber es ist zweifelhaft, ob Sie es brauchen...

Probieren Sie es aus und es wird funktionieren.

library(lubridate)
library(rusquant) #install.packages("rusquant",  repos="http://R-Forge.R-project.org")


#для  недельных баров, сдвиг на одну дату назад ибо в сша первый день недели это воскресенье
getSymbols("EURUSD",src = "Finam", period="week", from = 0)
eurusdTime <- as.character(ymd(time(EURUSD))-days(1))


eurusdOpen <- as.numeric(EURUSD$EURUSD.Open)


DT <- matrix(c(eurusdTime,eurusdOpen), ncol=2)


write.table(DT,file="table.csv", sep=",", dec=".", row.names = FALSE, col.names = FALSE)

Stimmt, die Verbindungen sind gelinde gesagt seltsam )) Von Hip-Hop-Foren bis zu Anfragen über Pferde :)

Die Frage ist, wie man herausfindet, was die wirkliche Verbindung ist und was nur ein Zufall ist.

Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
mytarmailS:

Da braucht man nicht zu differenzieren, es geht die Zeilenstruktur und der Trend verloren.

Richtig, ja. Google kann das nicht, es sucht nur nach Korrelationen mit anderen Trends, nicht mit deren Zuwächsen, und das ist leider nicht so nützlich.

mytarmailS:

Skala ist ebenfalls unnötig.


Laut den FAQ muss das der Fall sein (Mittelwert = 0, Standardabweichung = 1, genau wie bei der Skala). Dem Trenddiagramm nach zu urteilen, übernimmt Google selbst die Skalierung für Sie, falls Sie es vergessen haben.

 
Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot