L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 509

 
Aleksey Terentev:
Le réseau [64 GRU + 32 GRU + 2 Dense] dans un problème de classification par OHLC -> modèle Buy/Sell (7000 bar) sur ~24 cycles d'entraînement donne une précision de 0.9 - 0.8. Et tout cela en 30 secondes environ.

Qu'y a-t-il dans les signes et les sorties ?
 
pantural:
Qu'y a-t-il dans les signes et les sorties ?

"OpenHighLowClose -> Achat/Vente"

mise à jour : signal d'achat/vente déjà posté dans ce fil de discussion.

 
elibrarius:
Comment ces résultats s'inscrivent-ils dans le commerce ? Quelle est la croissance des dépôts en % par mois/année ? Si vous vous entraînez non pas pour 7000 barres, mais pour 100000 ?

Je n'ai pas commencé à faire du commerce. Je suis occupé par l'automatisation.

La sélection du modèle de réseau neuronal est également assez sensible. Vous devez tenir compte du type de fonctions d'activation dans les couches, de la fonction d'erreur, de la méthode d'apprentissage et de la pré-formation correcte de la sortie, ainsi que d'un tas d'autres nuances du MO. Tout l'entraînement peut réduire très rapidement chaque signal à 0 dans la plage [-1;1].

C'est pourquoi je ne suis pas pressé de partager les résultats.

 
what mean l2 norm?? - MATLAB Answers - MATLAB Central
  • www.mathworks.com
what mean l2 norm??. Learn more about matlab
 

Merci. Juste ce dont vous avez besoin.

 

Qui comprend R ? Le premier exemple de chargement de citations viaquantmod présente un problème, je ne peux pas dessiner les citations résultantes.

getSymbols("AAPL", src = "google")
plot(AAPL[, "AAPL.Close"], main = "AAPL")

//
[1] "AAPL"
> plot(AAPL[, "AAPL.Close"], main = "AAPL")
Error in if (on == "years") { : missing value where TRUE/FALSE needed


https://www.r-bloggers.com/an-introduction-to-stock-market-data-analysis-with-r-part-1/

An Introduction to Stock Market Data Analysis with R (Part 1)
An Introduction to Stock Market Data Analysis with R (Part 1)
  • ntguardian
  • www.r-bloggers.com
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evaluating trading strategies (see part 1 and part 2). These have been my most popular posts, up until I published my article on learning programming languages (featuring my dad’s story as a programmer), and has been translated into both Russian (which...
 
Maxim Dmitrievsky:

Qui comprend R ? J'ai un problème dans le premier exemple avec le chargement des citations viaquantmod, je ne peuxpas dessiner les citations résultantes.

J'ai exécuté le code de l'article, tout a fonctionné du premier coup.
Version R 3.4.2, mais je ne pense pas que cela importe beaucoup.

 

Il est connu que pour entraîner un modèle de classification, il faut équilibrer le nombre de classes de façon à ce que le nombre d'exemples d'entraînement de la classe "1" coïncide avec le nombre d'exemples d'entraînement de la classe "2" (et supprimer les exemples inutiles).

Je vois une exigence similaire pour les modèles de régression, mais c'est plus compliqué - le nombre d'exemples avec la cible de 0,001 doit être égal au nombre d'exemples de formation avec la cible de -0,001,
le nombre d'exemples avec la cible de 0,002 doit être égal au nombre d'exemples avec la cible de -0,002, etc.

Voici un script qui permet d'effectuer cet équilibrage.

#Подготовка  таблички для обучения модели, тут рандомные значения
#таргет  в колонке 11
trainTable <- cbind(matrix(runif(10000), nrow = 1000, ncol=10), 
                    round(sample(c(-runif(480)*runif(480), runif(520)*runif(520))*0.1), 3))#рандомные  значения для таргета, 3 знака после запятой.
                                                                                           #Позитивных значений на 40 больше чем негативных имитируя тренд в исходных ценах.


#Требуется  взять для обучения модели только такие строки таблицы когда число позитивных и негативных значений будет равно и отбалансировано по уровням

target <- trainTable[,11]
target <- round(target, 3) #округление  до определённой точности, тут 3 знака после запятой
targetFactor <- factor(target)
targetFactorLevels <- as.numeric(levels(targetFactor))
balancedIndexes <- c()
for(i in 1:length(targetFactorLevels)){
  idx <- which(target == targetFactorLevels[i])
  idxN <- which(target == -targetFactorLevels[i])
  minLength <- min(length(idx), length(idxN))
  balancedIndexes <- c(balancedIndexes, tail(idx, minLength), tail(idxN, minLength))
}
balancedIndexes <- sort(unique(balancedIndexes))

trainTableBalanced <- trainTable[balancedIndexes, ] #новая табличка на которой можно обучать модель
 

Quand les ondelettes sont-elles utiles aux prévisionnistes ?

Lorsque les données présentent une forte volatilité et des écarts, ce qui est typique de la plupart des séries chronologiques financières à haute fréquence, la prévision devient encore plus difficile. En utilisant des données de taux de change à haute fréquence, nous montrons que les ondelettes qui sont robustes à la haute volatilité et aux écarts sont des prédicteurs utiles dans les applications à haute fréquence où la haute volatilité est la caractéristique dominante qui affecte les estimations d'évaluation, les prévisions de zone ou les deux. Les résultats indiquent que la décomposition des séries chronologiques en composantes homogènes, qui sont ensuite utilisées dans les modèles de prévision des séries chronologiques, est très importante. Les différentes composantes deviennent plus utiles que d'autres pour différentes données associées au régime de volatilité. Nous considérons un large éventail de modèles de séries chronologiques linéaires et non linéaires pour prédire les séries à haute fréquence de l'appréciation du taux de change. Nos résultats indiquent que lorsque les données présentent des caractéristiques non standard avec une volatilité élevée, les modèles non linéaires sont plus performants que les alternatives linéaires. Cependant, lorsque les données se situent dans les plages de faible volatilité, tant pour les estimations que pour les prévisions, les modèles autorégressifs linéaires simples prévalent, même si des efforts considérables sont nécessaires pour éliminer le bruit dans les données via les ondelettes.

 
Dr. Trader:

L'idée est que pour entraîner un modèle de classification, le nombre de classes doit être équilibré de sorte que le nombre d'exemples d'entraînement de la classe "1" coïncide avec le nombre d'exemples d'entraînement de la classe "2" (et supprimer les exemples inutiles).

Je vois une exigence similaire pour les modèles de régression, mais c'est plus compliqué - le nombre d'exemples avec le niveau "0.001" doit être égal au nombre d'exemples de formation avec le niveau "-0.001",
le nombre d'exemples avec la cible 0,002 doit être égal au nombre d'exemples avec la cible -0,002, etc.

Voici un script pour réaliser cet équilibrage

Qu'est-ce que cela signifie essentiellement ?
Si le dollar a connu une croissance (une tendance) pendant quelques mois, en lissant la quantité d'exemples d'apprentissage, nous ferons apparaître le NS comme s'il était resté stable pendant tout ce temps. Et en conséquence, il apprendra à être plat. Est-ce correct ? Peut-être qu'on devrait quand même l'enseigner à la tendance ?