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

 
SanSanych Fomenko:

Contrairement à l'apprentissage automatique, GARCH est qualifié de courant dominant sur les marchés financiers (avec la cointégration et les portefeuilles).

Les modèles prennent en compte un tas de nuances statistiques des incréments, y compris des queues épaisses et une longue mémoire à la Hurst.

Par exemple, il existe une publication sur le choix des paramètres des modèles GARCH sur TOUTES les actions, incluses dans l'indice S&P500 !

Il existe de nombreuses publications sur l'application dans le domaine du Forex. La boîte à outils est très bien développée. Par exemple, le paquet rugarch.

Ici c'est un article de wikipedia sur la volatilité fractale, ce n'est pas du rugarch mais une sorte d'analogue.

garch est dur pour mes ts, j'aime quand tout compte vite
 
Le saut féroce de Misha manque.... Le Graal l'a emporté et l'âme souffrante est perdue.....
 
Je vais d'abord faire une prévision de volatilité et ensuite je verrai ce que je peux en faire :)
 
Maxim Dmitrievsky:

Au sujet de la prévision de la volatilité. Disons qu'il est beaucoup plus facile de prévoir la volatilité que la cotation elle-même.

Et il existe même toutes sortes de modèles comme https://en.wikipedia.org/wiki/Markov_switching_multifractal.

Que donne-t-il, comment l'utiliser correctement, quelqu'un a-t-il déjà fait quelque chose avec ?

Bon, d'accord, la volatilité a été prédite, que se passe-t-il ?

J'ai essayé toutes les stratégies forex que j'ai vérifiées et je les ai limitées par la volatilité. Seuil supérieur ou inférieur, cela ne m'a rien donné.

J'ai beaucoup de bonnes affaires à faible volatilité et de bonnes affaires à forte volatilité. Je ne peux pas les déterminer avec volatilité.

 
forexman77:

Bon, OK, volatilité prédite, qu'est-ce que ça donne ?

Toutes les stratégies forex que j'ai testées, j'ai essayé de les limiter par la volatilité. Seuil supérieur ou inférieur, cela ne m'a rien donné.

J'ai beaucoup de bonnes affaires à faible volatilité et de bonnes affaires à forte volatilité. Je ne peux pas les séparer en fonction de leur volatilité.

j'essaie de suivre les traces des coryphées) ils ont écrit qu'il faut prévoir la volatilité

 
Maxim Dmitrievsky:

J'essaie de suivre les traces des coryphées ; ils ont écrit qu'il faut prévoir la volatilité.

Pensez-vous que l'échafaudage est utile ? Peut-être que j'essaierai de l'étudier à l'avenir ?

 
forexman77:

Comment pensez-vous que l'échafaudage est utile d'une certaine manière, je vais probablement essayer de l'explorer à l'avenir ?

Attendez l'article sur les échafaudages, il arrivera bientôt.

Quant à la volatilité, elle peut être utilisée pour changer de mode de TS, selon le bœuf.

Et si la volatilité peut également être prédite, alors le forex peut passer à un autre mode plus tôt, sans décalage.

c'est ainsi que je le comprends

 
Dr. Trader:

Voici également un exemple avec vtreat,

Il s'agit généralement d'un prétraitement des données, mais il peut être utilisé comme une estimation de chaque prédicteur par rapport à la cible. Je n'aime pas que le package ne prenne pas en compte les interactions entre prédicteurs, n'utilisez le code que si vous avez besoin d'estimer les prédicteurs un par un par rapport à la cible.

library(vtreat)


#designTreatmentsC  подходит только для классификации с двумя классами
treatmentsC <- designTreatmentsC(dframe = forexFeatures,
                                 varlist=colnames(forexFeatures)[-ncol(forexFeatures)], #названия  колонок с предикторами (тут - все кроме последней колонки)
                                 outcomename = colnames(forexFeatures)[ncol(forexFeatures)], #названия  колонок с таргетом (тут - последняя колонка)
                                 outcometarget = "1") #текст  или цифра одного из классов
#обработка,  сортировка результата
treatmensC_scores <- treatmentsC$scoreFrame[order(treatmentsC$scoreFrame$sig),]
treatmensC_scores <- treatmensC_scores[!duplicated(treatmensC_scores$origName),]
treatmensC_scores <- treatmensC_scores[,c("origName","sig")] 
treatmensC_scores$is_good <- treatmensC_scores$sig <= 1/nrow(forexFeatures)
treatmensC_scores #вывод на экран таблички результатов. Лучшие предикторы вверху таблицы. Чем оценка sig меньше тем лучше. Желательно (колонка is_good==TRUE) чтоб sig была меньше чем 1/nrow(forexFeatures), всё что больше - плохо 

Expérimenté avec vtreat.

Voici une matrice des résultats
[,1] [,2]
[1,] 5 8.12444537234629e-196
[2,] 1 1.98504271239423e-144
[3,] 7 2.36022454522949e-109
[4,] 11 5.68901830573741e-102
[5,] 4 6.60631002751930e-96
[6,] 10 2.95535252032342e-73
[7,] 3 2.43324301115409e-71
[8,] 9 4.51329770717951e-67
[9,] 6 3.11264518399281e-37
[10,] 2 5.77058632985908e-13
[11,] 12 3.76158923428915e-12
[12,] 8 8.18815163303239e-01

Formule

 treatmensC_scores$sig <= 1/nrow(forexFeatures)

Ne sélectionne pas très bien. Par exemple, il manque le troisième en partant du bas après avoir trié l'entrée avec sig=5.77e-13 à 1/nrow(df)=2e-4. Et c'est bruyant et ça perturbe l'entraînement.
C'est-à-dire que nous devrions resserrer la sélection de plusieurs ordres de grandeur. Et il serait souhaitable de le faire automatiquement.

 
elibrarius:

Expérimenté avec vtreat.

Voici la matrice des résultats
[,1] [,2]
[1,] 5 8.12444537234629e-196
[2,] 1 1.98504271239423e-144
[3,] 7 2.36022454522949e-109
[4,] 11 5.68901830573741e-102
[5,] 4 6.60631002751930e-96
[6,] 10 2.95535252032342e-73
[7,] 3 2.43324301115409e-71
[8,] 9 4.51329770717951e-67
[9,] 6 3.11264518399281e-37
[10,] 2 5.77058632985908e-13
[11,] 12 3.76158923428915e-12
[12,] 8 8.18815163303239e-01

Il ne s'enlève pas très bien. Par exemple, il manque le troisième en partant du bas après avoir trié l'entrée avec sig=5.77e-13 à 1/nrow(df)=2e-4. Et c'est bruyant et ça perturbe l'entraînement.
C'est-à-dire que nous devrions resserrer la sélection de plusieurs ordres de grandeur. Et il serait préférable de le faire automatiquement.

En général, j'utilise ce paquetage particulier pour sélectionner les prédicteurs. Il est clair qu'il y a des inconvénients, notamment l'absence d'interaction de plusieurs prédicteurs par rapport à la cible. Mais dans l'ensemble, c'est suffisant pour mon optimisation jusqu'à présent... Donc s'il existe d'autres paquets pour le prétraitement des données, je les prendrais volontiers en considération...

 
Mihail Marchukajtes:

En général, j'utilise ce paquet particulier pour sélectionner les prédicteurs. Il est clair qu'il y a des inconvénients, notamment le manque d'interaction de plusieurs prédicteurs par rapport à la cible. Mais dans l'ensemble, c'est suffisant pour mon optimisation jusqu'à présent... Donc, s'il existe d'autres paquets pour le prétraitement des données, je serais heureux de les considérer...

Eh bien, Michael, tu t'es remis de ta folie, vas-tu bientôt commencer à évaluer ton TS de manière raisonnable et sans fanatisme ? :)