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

 
Maxim Dmitrievsky #:
Oui, lorsqu'il y a beaucoup de bruit, les composantes avec une variance maximale ne peuvent rien montrer. Je n'ai pas compris comment le deuxième ensemble de données est impliqué, mais c'est aussi quelque chose de kozul et il y avait quelque chose à propos du tritment dans ses vidéos.

Eh bien, il semble que le deuxième ensemble de données soit nécessaire uniquement pour trouver le contraste avec le premier. Il semble que les matrices de covariance des deux ensembles de données soient intelligemment comparées.

 
Aleksey Nikolayev #:

Ceux-ci semblent être non linéaires sur tout le pourtour, et ceux-là sont tous deux linéaires comme l'ACP, si je ne m'abuse.

Oui, elles ne sont pas linéaires, mais est-ce une mauvaise chose ?


J'ai essayé cette ACP de contraste, et j'ai obtenu à peu près le même résultat que l'ACP.

Cette vignette montre une comparaison de tous les différents types d'ACP.

Elle montre comment l'ACP fait "pâle figure" devant les autres méthodes, mais si les données sont non seulement normalisées mais aussi centrées (ce que j'ai fait séparément), l'ACP normale donne le même résultat sur les données présentées ici.

 
mytarmailS #:

Oui, non linéaire, mais est-ce une mauvaise chose ?


J'ai essayé cette ACP de contraste, et j'ai obtenu à peu près le même résultat que l'ACP.

Cette vignette montre une comparaison de tous les différents types.

Elle montre que l'ACP fait pâle figure devant les autres méthodes, mais si les données sont non seulement normalisées mais aussi centrées (ce que j'ai fait séparément), l'ACP normale donne le même résultat sur les données présentées ici.

Probablement "pauvre" par rapport à ces données de test, et le même résultat est obtenu pour les cortex ?
 
Forester #:
Probablement "médiocre" par rapport à ces données de test, et le même résultat obtenu sur kotrovki ?

Non, le même résultat sur leurs propres données


=============

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

C'est ce que j'ai fait.

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



C'est comme ça.... Nous tirons nos propres conclusions.

 

L'objectif n'est pas de centrer quelque chose dans un ensemble de données particulier, mais de trouver une représentation réussie des données d'une manière flexible. Ce que cette méthode permet de faire. Je suppose que yumap peut aussi le faire, mais la méthode linéaire est généralement presque toujours meilleure que la méthode non linéaire, en termes de stabilité.

C'est une belle façon de faire, mais il y en a une plus belle.

La cPCA est prête à être discutée si quelqu'un s'y exerce.

 

J'ai trouvé un autre problème.
J'ai trouvé une bonne variante avec un entraînement une fois par semaine sur 5000 lignes de M5 (3,5 semaines). Et j'ai décidé de déplacer toutes les données sur 300 lignes - comme si l'entraînement n'avait pas lieu le samedi, mais le mardi. En conséquence, le modèle sur les OOS de rentable est devenu non rentable.
Ces nouvelles 300 lignes (environ 8% du total) ont fait ressortir d'autres jetons et d'autres répartitions, qui sont devenus meilleurs pour des données légèrement modifiées.
Nous avons répété le décalage de 300 pour 50000 lignes. Il semblerait que cela ne représente que 0,8 % des nouvelles lignes. Mais les changements sur l'OOS sont également significatifs, même s'ils ne sont pas aussi importants qu'avec 5000 lignes.

En général, il y a un ajustement non seulement à la taille de la fenêtre, mais aussi au début de la fenêtre. De petits décalages font une grande différence dans le résultat. Il n'y a pas de caractéristiques fortes, tout est à la limite de 50/50 ± 1-2%.
 
J'oublierais le recyclage des intervalles. RL a déjà montré son échec en la matière. Wizard a également écrit à ce sujet lorsque j'étais dans ce genre de choses. Il y a plus de 50 articles ici. Beaucoup d'approches et l'impossibilité de se concentrer sur quoi que ce soit :)
 

Messieurs les experts et académiciens de ce fil, veuillez exprimer votre opinion sur ce qui suit :

Et si nous considérions le forex comme un jeu de jeux. Comme les échecs. Ou le jeu de Go, ou autre.
Nous divisons le jeu en lots : 500 étapes chacun. Chaque étape correspond à un cours de clôture horaire. 500 étapes représentent un mois moyen de trading.
Nous entrons n'importe quoi + l'état de la balance.
Nous fixons deux règles : si le solde baisse de 30% ou si le jeu se termine avec un solde négatif - le jeu recommence.
Total N jeux (disons 120 - comme 10 ans)
L'objectif est de gagner tous les jeux avec n'importe quel plus. En bref, clôturer chaque mois avec un solde positif.

Actions de l'agent :
1) Acheter 0.01
2) Acheter 0.02
3) Acheter 0.03
4) Acheter 0.04
5) Acheter 0.05
6) Acheter 0.06
7) Acheter 0.07
8) Acheter 0.08
9) Acheter 0.09
10) Acheter 0.1

11) Vendre 0.01
12) Vendre 0.02
13) Vendre 0.03
14) Vendre 0.04
15) Vendre 0.05
16) Vendre 0.06
17) Vente 0.07
18) Vente 0.08
19) Vente 0.09
20) Vente 0.10

21) Clôture 0.01
22) Clôture 0.02
23) Clôture 0.03
24) Clôture 0.04
25) Clôture 0.05
26) Clôture 0.06
27) Clôture 0.07
28) Clôture 0.08
29) Clôture 0.09
30) Clôture 0.10

31) Clôture Tous

32) Ne pas ouvrir de position
33) Sauter un mouvement

Total 33 actions.

La récompense est différée - égale à la différence entre le prix d'ouverture de la position et le prix de clôture des positions partielles et complètes.
Le solde d'entrée donnera une fraction de l'état que l'agent connaît. En effet, selon les règles, l'état de l'environnement doit être modifié par les actions de l'agent. L'agent ne peut pas modifier le graphique des prix, mais il peut influencer son solde qui entre dans l'état. C'est comme l'analogue des pièces sur un échiquier. L'agent ne sait pas combien de millions de pas peuvent être faits avec eux, mais il sait combien de pièces il lui reste sur le plateau.

Ainsi, il n'est pas nécessaire de mémoriser chaque bougie suivante (si elle donnera un moins ou un plus), mais nous apprenons à sacrifier de petits drawdowns (pièces sur le plateau de jeu) afin d'obtenir un profit à la fin.

Je lis sur Internet comment entraîner un réseau neuronal s'il a plus d'une sortie, ils écrivent sur DQN. Comme le q-learning est une stupide mémorisation d'états et que dans le cas d'un nouvel état le résultat est déplorable, et le DQN est une projection d'états mémorisés sur de nouveaux états, à la suite de quoi l'état optimal est choisi parmi des actions over_dofig.


Après tout, aux échecs il y a un nombre conditionnellement inconnu d'états et dans ces conditions le réseau neuronal gagne sur l'humain. Pourquoi ne pas essayer une méthode similaire dans un jeu appelé "freaking forex for fuck's sake".

 
Ivan Butko #:

Messieurs,

Quelle est la question ?
 
mytarmailS #:
Quelle est donc la question ?

Quelle est votre opinion sur le fait d'essayer d'enseigner le forex en apprenant aux agents à jouer à des jeux.

Est-ce qu'il y a des poissons qui ont peut-être essayé quelque chose comme ça, une expérience.