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

 
SanSanych Fomenko:

PS.

Pour les ardents défenseurs de MCL, je note que sans toutes ces actions et outils discutés dans ce fil, le testeur ne donne aucune raison de spéculer sur le comportement futur du système de trading. Le testeur dit : "Ce sont les résultats pour cette période de temps". C'est tout. Le testeur donne exactement un chiffre, par exemple, le facteur de profit qui est lié à une certaine période historique. Et vous ne pouvez obtenir des statistiques qu'en R. Et le testeur est la partie finale de la conception du modèle, mais ne remplace pas l'ensemble du processus de développement.

Foutaises et absurdités !

Le testeur donnera exactement cette quantité et ce qui a été demandé. Avez-vous demandé le facteur de profit ? - voici le facteur de profit. Si nous demandons quelque chose d'autre ou plusieurs, il y aura une réponse à cela aussi. Et les statistiques peuvent être obtenues en appelantTesterStatistics() dansOnTester(), et tout cela est disponible depuis très longtemps. D'autres statistiques peuvent être ajoutées si nécessaire.

Votre R ne sera pas non plus en mesure de répondre si vous n'avez rien ou ne savez pas quoi demander.

 
Dr. Trader:

Par exemple, vous avez effectué une validation sur un échantillon retardé. Supposons que le modèle sur les données différées ait fusionné. Que faites-vous dans ce cas ? Si vous commencez à modifier à nouveau les paramètres pour passer la validation sur l'échantillon en attente, vous incluez essentiellement les données de l'échantillon en attente dans votre validation croisée, et la validation croisée devient également ajustée. Ceci peut être corrigé en ajoutant un nouvel échantillon différé. Et si le modèle échoue sur ce point aussi ? Devons-nous ajuster les paramètres pour passer le nouvel échantillonnage retardé aussi ? C'est une course sans fin.

Inclure un échantillon différé dans la validation croisée, et créer un nouvel échantillon différé n'est pas la solution, mais une boucle sans fin jusqu'à ce que vous ayez de la chance et que le modèle passe la validation différée. Vous pouvez alors vous arrêter, mais ce n'est pas une solution de forex, c'est juste la chance qui vous sourit, ce qui statistiquement serait une perte.

Donc la question est - disons que le modèle sur les données en attente a chuté. Que faites-vous dans un tel cas ?

Dr. Trader, je vais essayer de l'expliquer par une image. Ne vous inquiétez pas, il s'agit d'un problème complexe, mais il peut être résolu. Vous ne devriez pas faire ce que vous suggérez, sinon il y aura un cercle vicieux.

Et une dernière chose, je vais progressivement mettre un terme à l'activité de ce fil. Je commence à en avoir assez du forum. C'est mieux en privé et avec des exemples.

Donc :

Sélection de modèles pour la prédiction et le trading de séries temporelles bruitées

Pas à pas :

Apprendre le modèle - le modèle présente des caractéristiques granuleuses

Test d'un modèle - les modèles sont déjà nettement moins performants. Mais il existe des modèles qui fonctionnent bien.

C'est à ce moment-là que vous devez sélectionner les modèles. Vous et moi choisissons les modèles les plus performants dans le test (ils peuvent être des blocs de validation dans la validation croisée). Et il devient immédiatement clair que si nous choisissons un modèle par période, où sa caractéristique est déjà connue, nous faisons un choix optimiste.

Si nous avons une validation croisée (les données de différents modèles sont mélangées), nous ne pouvons pas en faire un comité sur le test (le test est mixte). Vous prenez plutôt les "meilleurs" modèles sélectionnés et les testez sur un échantillon différé. Qu'est-ce que nous attendons ? Puisque dans une application réelle, nous nous baserons sur les performances des modèles sur des blocs de validation croisée (ou sur un seul test, si nous ne voulons pas nous embêter avec la validation croisée), nous devons savoir si les meilleurs modèles sélectionnés montreront des performances similaires à l'avenir (sur l'échantillon différé 1). S'il y a une relation, elle est déjà très bonne. En substance, nous pouvons arrêter l'étude à ce stade et sélectionner les meilleurs modèles par validation croisée à l'avenir.

Mais si nous voulons quand même créer un comité, nous devons déterminer quels modèles choisir pour le comité. Nous le faisons sur l'échantillon retardé 1, mais pas seulement au hasard. Rappelons une fois de plus qu'en situation réelle, nous ne nous baserons que sur des données de test (les dernières données dont nous disposons). Nous allons donc inclure dans le comité, un par un, les modèles qui ont donné les meilleurs résultats dans le TEST. Nous maximisons la performance du comité sur l'échantillon retardé.

À ce stade, vous êtes soumis à un biais de sélection de modèles multiples, car nous évaluons le choix du comité sur des données dont la caractéristique est déjà connue.

L'échantillon final est nécessaire pour valider le comité.

Si lors de l'étape de validation des modèles sélectionnés (sur le test) sur l'échantillon retardé, nous constatons que les caractéristiques des modèles sont flottantes - c'est déjà fatal, car nous n'avons pas la possibilité de sélectionner le modèle sur le test. À cette étape, nous devons modifier quelque chose dans l'approche.

Si le comité assemblé s'effondre sur le dernier échantillon différé (il s'agit d'un test unique), c'est que le comité s'est adapté à l'échantillon précédent.

Répéter toute la procédure avec différents paramètres, en obtenant la maximisation du charact. sur les échantillons différés finaux est impossible, car il s'agirait également d'un choix optimiste des modèles.

Si même tout a bien fonctionné dans les échantillons différés (c'est-à-dire que nous avons minimisé le biais de sélection du modèle), il est généralement bon de répéter en boucle avec les mêmes paramètres toute la procédure et d'obtenir la distribution du travail du comité dans le dernier échantillon. Il est clair que chaque fois, nous avons besoin de données différentes (au moins partiellement). Et c'est déjà très cher...

N'oubliez pas ce schéma. Il conduit votre estimation du trading en temps réel à un absolu possible.

 
Dans le passé, lorsque Neurochel était jeune et disponible, on utilisait la négociation sur papier. J'espère que tout le monde sait ce que c'est, mais lorsque vous travaillez en temps réel TS a commencé à fuir, et puis il a été décidé de ne pas utiliser un morceau de commerce de papier, et de former le réseau, tout en laissant un morceau de réel pour évaluer l'exactitude du réseau. Je procède actuellement de la manière suivante : je supprime un jour, qui est le dernier en termes de volume et d'intérêt ouvert. Pour ce qui est de ? ???, vous avez souvent vu un tel graphique, qui au début, après l'optimisation, le TS a un peu chuté, puis commence à donner des signaux assez décents. C'est pourquoi je supprime un jour qui m'est déjà connu, et TS est comme s'il commençait à commercer à partir du jour suivant..... Je deviens assez bon, pas sans erreurs bien sûr, mais encore acceptable pour les bénéfices...
 
Mihail Marchukajtes:


Tout cela est vrai, mais ce modèle est très barbu, tout le monde le connaît depuis longtemps, donc...

Et maintenant le classificateur le plus simple l'aurait trouvé, pour une série cette interprétation du prix, du volume et de l'OI n'est pas une donnée suffisante, il faut au moins un carnet d'ordres et un strip avec des directions de transaction, et dans le cas du forex, comme ces informations n'existent pas, il faut les prendre sur les marchés à terme liquides occidentaux.

 
Avez-vous déjà pensé à ce qui se passerait si le réseau alimentait les modèles qui seront dans le futur ? La question est de savoir comment les trouver, quels jours vous devez choisir pour entraîner le réseau à savoir que le jour même ces modèles seront là. Voici la réponse. Nous sélectionnons les jours qui présentaient respectivement le volume et l'OM actuels, dans l'espoir que le contexte de la journée soit similaire à celui des jours de l'échantillon d'entraînement. Je n'envoie pas les valeurs de volume et d'OI à l'entrée du réseau, je choisis seulement ces jours, et l'entrée est AD, Zscore, Kelli, etc. En d'autres termes, l'idée est de sélectionner un tel ensemble de modèles sur la base de l'historique et de la réaction du marché à ces modèles, comme à l'heure actuelle. S'il existe des théories sur ce type de sélection utilisant d'autres techniques, j'aimerais les connaître.....
 
BlackTomcat:
Les personnes intelligentes, elles développent et entraînent des réseaux neuronaux, mais ne voient pas les choses simples. J'ai lu votre article et j'ai été assez surpris. Si j'ai bien compris, vous avez, grosso modo, trouvé toutes les baisses de prix de 0,2 % après un certain sommet, puis vous avez pris trois bougies proches de ce sommet et effectué quelques manipulations avec leurs prix pour finalement les réduire à une certaine probabilité à l'aide d'un réseau neuronal. Mais excusez-moi, ne pensez-vous pas qu'une telle approche est trop primitive ? :) Vous creusez dans tous les mauvais endroits. C'est pourquoi le résultat est à l'opposé de la réalité. Je caractériserais votre approche de la manière suivante : vous essayez de prendre 3 pixels d'une image FullHD et de vous faire une idée de l'image entière sur la base de ces trois pixels. D'accord, pas toute l'image, mais quelle est la probabilité de prédire correctement au moins 10% de la surface de l'image ? J'espère que mon exemple est clair. Il n'est pas nécessaire de regarder les pixels pour voir l'image. En d'autres termes, vous n'avez pas besoin de regarder les barres individuelles pour comprendre le graphique, vous devez regarder l'ensemble du graphique . Et la solution du problème relève davantage de la géométrie que de l'algèbre, de la physique ou de la biologie, par exemple. Cependant, lorsque je lis certaines des recherches effectuées ici, j'ai le sentiment qu'elles tentent de comprendre la structure humaine à l'aide de la géographie. :)

+1

Je ne dirais même pas "graphique", mais les graphiques ne sont pas seulement des prix, mais...

L'analogie entre 3 pixels et la HD est, à mon avis, très pertinente pour ce que font la plupart des gens ici.

 

Andrey Dik:

Ou même quelqu'un dira : "Tu ne sais pas cuisiner le MO !" - Probablement oui, je ne peux pas. Mais qui sait comment ? Qui a été capable d'utiliser le MO sur le marché ?

Et vous n'êtes pas seul, c'est NORMAL, pas normal quand ça marche et qu'on ne vend pas de cours sur le "trading réussi", qu'on ne s'engage pas dans des partenariats et autres bêtises, et qu'on frappe quelque part comme https://www.rentec.com/Jobs.action?data=true si on n'a pas envie de s'embêter à lever des capitaux pour le trading algorithmique)).
Renaissance Institutional
Renaissance Institutional
  • www.rentec.com
RENAISSANCE TECHNOLOGIES, a quantitatively based financial management firm, has openings for programming positions at its Long Island, NY research center. Programming Opportunity We are looking for bright, outstanding programmers who are interested in working in a stimulating and academic environment to implement and support software used in...
 
Une fois de plus, je crois fermement que pour que le NS fonctionne, il doit être entraîné sur les modèles qui se produiront au cours d'une transaction (jour, semaine) et, plus important encore, la réaction du marché à ces modèles doit être la même que pendant la période d'entraînement. Alors n'importe quel perseptron fera l'affaire. La question est de savoir comment sélectionner l'ensemble exact de modèles qui seront au cours de la prochaine journée ou semaine de trading ?????. Voici comment procéder, et vous n'aurez pas besoin d'inventer un NS super complexe ou quoi que ce soit d'autre si le réseau est entraîné sur des modèles futurs.....
 
Mihail Marchukajtes:
N'avez-vous jamais pensé que si nous alimentions les filets avec les modèles qui seront dans le futur ? La question est de savoir comment les trouver. Quels jours dois-je choisir pour apprendre au réseau à savoir qu'ils seront le jour même ? Voici la réponse. Nous sélectionnons les jours qui présentaient respectivement le volume et l'OM actuels, dans l'espoir que le contexte de la journée soit similaire à celui des jours de l'échantillon d'entraînement. Je n'envoie pas les valeurs de volume et d'OI à l'entrée du réseau, je choisis seulement ces jours, et l'entrée est AD, Zscore, Kelli, etc. En d'autres termes, l'idée est de sélectionner un tel ensemble de modèles sur la base de l'historique et de la réaction du marché à ces modèles, comme à l'heure actuelle. S'il existe des théories sur ce type de sélection utilisant d'autres techniques, j'aimerais les connaître.....

C'est exactement comme ça que ça se passe, comment faire autrement ? Dans le cas trivial, l'ensemble de données d'apprentissage est une séquence vectorielle d'incréments normalisés de prix de volume et d'OI, appelons vectorSet[][] un réseau neuronal ou un autre classificateur entrée =vectorSet [t][], apprentissage sortie = vectorSet [t+1][]


Si je comprends bien la question...
 
Mihail Marchukajtes:
La question est de savoir comment choisir exactement cet ensemble de motifs qui seront au cours de la prochaine journée ou semaine de négociation ?????.
Malheureusement, je n'en ai pas le droit et franchement, je n'en ai pas envie, puisque nous nous volons mutuellement de l'argent)))). Mais il y a 2 ans, lorsque je travaillais avec SAM, je traitais plus de 500 puces à l'entrée du réseau neuronal et j'avais environ 30 sorties, mais le temps passe... ;)
Raison: