L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 294

 

Comment pensez-vous que la récurrence devrait être gérée ?

Avec 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()

Comment gérer les entrées, ce qu'il faut boucler

 
+# Создаем сеть
+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:
J'ai déjà tout essayé

enregistrez-vous surhttp://ru.stackoverflow.com une ressource spécialement créée pour poser des questions sur la programmation, dans n'importe quelle langue, 24 heures sur 24, et en même temps augmentera la base des réponses correctes en russe

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

Comment pensez-vous que la récurrence devrait être gérée ?

Avec 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()

Comment contrôler l'entrée, que mettre en boucle

A en juger par ces extraits de code, vous voulez étudier/solvabiliser le problème de prédiction de texte. J'ai tout de suite quelques questions :

  • Qu'est-ce que cela a à voir avec le commerce ?
  • Comment pensez-vous lier le code Python à MT4/5 ?

Bien sûr, le LSTM concerne les modèles d'apprentissage automatique, mais le textMining concerne le trading ?

Si vous avez de l'expérience et du savoir-faire en la matière, commencez un nouveau fil de discussion, par exemple : TextMiningPython. S'il y a des passionnés, ils vous soutiendront. Je suivrai l'évolution de la situation avec intérêt. Mais commencez par une description cohérente de l'entrée, des données cibles, des liens vers les sources de données et du problème que vous voulez résoudre. Depuis votre post pour comprendre de quoi il s'agit ne peut être compris que par un médium de très haut niveau.

Bonne chance.

 

il existe un service de google appelé google correlatehttps://www.google.com/trends/correlate

Il peut rechercher des requêtes d'utilisateurs corrélées, les requêtes sont présentées sous forme de BP. Ce service est intéressant car vous pouvez y charger votre BP et il recherchera les requêtes en corrélation avec la BP spécifiée.

L'idée est d'y charger le prix du symbole et de voir avec quoi il est corrélé, cela peut être utile pour rechercher de nouveaux prédicteurs, bien sûr je comprends que la corrélation est un moyen très grossier de trouver des liens mais néanmoins c'est intéressant.....

Le problème est que je ne comprends pas sous quelle forme le service doit fournir les données avec le prix de l'instrument. Quelqu'un peut-il me dire comment préparer les données et sous quelle forme elles doivent être ?

ajouté...........

Voici un autre article qui permet de mieux comprendre les services de googlehttp://forbes.net.ua/opinions/1336134-google-pomogaet-ustanovit-zhdut-li-ukraincy-krizisa.

l'article montre qu'une forte corrélation a été trouvée entre ladynamique de la production industrielle réelle

en Ukraine avec des requêtes derecherche pour laphrase "crédit à la consommation" en Ukraine

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

il y a un service de google appelé google correlatehttps://www.google.com/trends/correlate

Il peut rechercher des requêtes d'utilisateurs corrélées, les requêtes sont présentées sous forme de BP. Ce service est intéressant car vous pouvez y charger votre BP et il recherchera les requêtes en corrélation avec la BP spécifiée.

L'idée est d'y charger le prix du symbole et de voir avec quoi il est corrélé, cela peut être utile pour rechercher de nouveaux prédicteurs, bien sûr je comprends que la corrélation est un moyen très grossier de trouver des liens mais néanmoins c'est intéressant.....

Le problème est que je ne comprends pas sous quelle forme le service doit alimenter les données avec le prix de l'instrument, peut-être que quelqu'un peut trouver une solution et me dire comment préparer les données et sous quelle forme elles doivent être.


C'est génial, mais je me souviens qu'il y avait des indicateurs tels que l'entropie et autre chose, et soudain j'ai eu envie de relever les records....... Peut-être que quelque chose d'utile en sortira....
 
mytarmailS:

il y a un service google...

intéressant, voici le code, mais google n'a rien trouvé de corrélatif

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:

intéressant, voici le code, mais google n'a rien trouvé de corrélatif

Merci ! !!

il n'y a pas besoin de différencier, on perd la structure de la série et la tendance, il n'y a pas besoin non plus de mettre à l'échelle, la corrélation dans les calculs nivelle les valeurs absolues... Le maximum que vous puissiez faire est de supprimer la tendance afin de retrouver quelques caractéristiques saisonnières, mais il est douteux que vous en ayez besoin...

Essayez-le et ça marchera.

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)

C'est vrai, les connexions sont pour le moins étranges ;)) Des forums de hip-hop aux demandes de renseignements sur les chevaux :)

La question est de savoir comment identifier le lien réel et la coïncidence.

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

Il n'est pas nécessaire de faire une distinction à cet endroit, on perd la structure des rangs et la tendance.

C'est vrai, ouais. Google ne peut pas faire cela, il ne cherche que la corrélation avec d'autres tendances, pas avec leurs augmentations, désolé, ce n'est pas aussi utile.

mytarmailS:

L'échelle est également inutile.


C'est nécessaire, selon la FAQ (moyenne=0, sd=1, comme le fait l'échelle). Bien qu'à en juger par le graphique de tendance, google lui-même fait l'échelle pour vous au cas où vous auriez oublié.

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