Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 294

 

¿Cómo crees que se debe gestionar la recursividad?

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

Cómo gestionar la entrada, qué hacer en el bucle

 
+# Создаем сеть
+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:
Ya lo he probado todo

regístrese enhttp://ru.stackoverflow.com un recurso especialmente creado para hacer preguntas sobre programación, en cualquier idioma, durante todo el día, y al mismo tiempo aumentará la base de respuestas correctas en ruso

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

¿Cómo crees que se debe gestionar la recursividad?

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

Cómo controlar la entrada, qué hacer en bucle

A juzgar por estos fragmentos de código, quiere investigar/solucionar el problema de la predicción de texto. Tengo algunas preguntas de inmediato:

  • ¿Qué tiene que ver esto con el comercio?
  • ¿Cómo espera vincular el código Python a MT4/5?

Por supuesto, LSTM se relaciona con los modelos de aprendizaje automático, ¿pero textMining con el comercio?

Si tienes experiencia y conocimientos en el tema, inicia un nuevo hilo, por ejemplo: TextMiningPython. Si hay entusiastas, te apoyarán. Seguiré la evolución con interés. Pero empiece con una descripción coherente de la entrada, los datos de destino, los enlaces a las fuentes de datos y el problema que quiere resolver. Ya que su puesto para entender de qué se trata sólo puede ser entendido por un psíquico de muy alto nivel.

Buena suerte.

 

hay un servicio de google llamado google correlatehttps://www.google.com/trends/correlate

Puede buscar consultas correlacionadas del usuario, las consultas se presentan en forma de BP. El servicio es interesante porque puedes cargar tu PA en él y buscará esas consultas que se correlacionan con el PA especificado.

La idea es cargar ahí el precio del símbolo y ver con qué se correlaciona, puede ser útil para buscar nuevos predictores, claro que entiendo que la correlación es una forma muy burda de encontrar vínculos pero sin embargo es interesante....

Bueno, el problema es que no entiendo de que forma el servicio debe alimentar los datos con el precio del instrumento, puede alguien entender y decirme como preparar los datos y de que forma deben ser

añadido...........

Aquí hay otro artículo para dar una comprensión más profunda de los servicios de Googlehttp://forbes.net.ua/opinions/1336134-google-pomogaet-ustanovit-zhdut-li-ukraincy-krizisa

el artículo muestra que se encontró una fuerte correlación entre ladinámica de la producción industrial real

en Ucrania con búsquedas de lafrase "crédito al consumo" en Ucrania

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

hay un servicio de google llamado google correlatehttps://www.google.com/trends/correlate

Puede buscar consultas correlacionadas del usuario, las consultas se presentan en forma de BP. El servicio es interesante porque puedes cargar tu PA en él y buscará esas consultas que se correlacionan con el PA especificado.

La idea es cargar ahí el precio del símbolo y ver con qué se correlaciona, puede ser útil para buscar nuevos predictores, claro que entiendo que la correlación es una forma muy burda de encontrar vínculos pero sin embargo es interesante....

Entonces, el problema es que no entiendo en qué forma el servicio debe alimentar los datos con el precio del instrumento, tal vez alguien pueda resolverlo y decirme cómo preparar los datos y en qué forma deben ser


Es genial, pero recuerdo que había indicadores como la entropía y algo más, y de repente quise subir los registros...... Tal vez salga algo útil de ello....
 
mytarmailS:

hay un servicio de google...

interesante, aquí está el código, pero google no encontró nada correlativo

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:

interesante, aquí está el código, pero google no encontró nada correlativo

¡¡¡Gracias!!!

no hace falta diferenciar ahí, se pierde la estructura de la serie y la tendencia, tampoco hace falta escalar, la correlación en los cálculos nivela los valores absolutos... Lo máximo que se puede hacer es quitar la tendencia para encontrar algunas características estacionales, pero es dudoso que lo necesite...

Pruébalo y funcionará.

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)

Es cierto, las conexiones son extrañas, por no decir otra cosa )) Desde foros de hip-hop hasta consultas sobre caballos :)

La cuestión es cómo identificar cuál es el vínculo real y cuál es sólo una coincidencia

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

No hay necesidad de diferenciar allí, pierde la estructura de filas y la tendencia

Sí, claro. Google no puede hacer eso, sólo busca la correlación con otras tendencias, no con sus incrementos, lo siento, no es tan útil.

mytarmailS:

La escala también es innecesaria.


Es necesario, según las FAQ (media=0, sd=1, justo lo que hace la escala). Aunque a juzgar por el gráfico de tendencias, el propio google te hace la escala por si se te olvida.

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