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

 
Encore une fois, je voudrais ajouter et définir. Nous prédisons le prix d'un actif. Du moins, nous essayons de le faire, dans toute représentation et tout traitement. Quel que soit l'objectif que l'on se fixe, l'intérêt de travailler sur le marché est de prévoir le prix. La question est de savoir ce qui fait varier le prix. ? ????? Qui sait ou a une idée ? Je voudrais savoir ce que vous pensez et je vous donnerai ensuite la bonne réponse. Eh bien... C'est parti. A ton avis. Quelle est la raison de ce changement de prix ? ? ????
 
Mihail Marchukajtes:
Encore une fois, je voudrais ajouter et définir. Nous prédisons le prix d'un actif. Du moins, nous essayons de le faire, quelle que soit la manière dont nous le voyons ou le traitons. Quel que soit l'objectif que l'on se fixe, l'intérêt de travailler sur le marché est de prévoir le prix. La question est de savoir ce qui fait varier le prix. ? ????? Qui nous donnerait une réponse ou une supposition ? Je voudrais savoir ce que vous pensez et je vous donnerai ensuite la bonne réponse. Eh bien... C'est parti. A ton avis. Quelle est la raison de ce changement de prix ? ? ????

Prédire la variation du prix, par(en) combien le prix évolue dans N secondes/minutes/heures dans le futur, ou plus commodément future returnee(R =(P(t)-P(t+n))/P(t) ou logreturn.

Le prix varie sous la pression des déséquilibres de l'offre et de la demande qui se produisent pour de nombreuses raisons, depuis l'échange banal de grandes quantités de devises en raison du commerce international, des prêts aux pays, de la couverture des risques de change, jusqu'à l'arbitrage et la spéculation sur les informations d'initiés et les nouvelles dérivées de l'activité du marché, de la météo, de la mode et de l'activité solaire.

 

Voici une liste de prédicteurs et de variables cibles qui sont des facteurs, décalés par le nombre de barres correspondant

'data.frame':   6971 obs. of  105 variables:
$ AUDUSD     : num  0.722 0.722 0.722 0.721 0.72 ...
$ CHFJPY     : num  120 120 120 119 119 ...
$ USDCAD     : num  1.39 1.39 1.39 1.39 1.39 ...
$ GBPCHF     : num  1.47 1.47 1.47 1.48 1.47 ...
$ EURGBP     : num  0.739 0.74 0.739 0.737 0.739 ...
$ USDJPY     : num  119 119 119 119 119 ...
$ GBPUSD     : num  1.48 1.48 1.48 1.48 1.48 ...
$ EURUSD     : num  1.09 1.09 1.09 1.09 1.09 ...
$ EURCHF     : num  1.09 1.09 1.09 1.09 1.09 ...
$ USDCHF     : num  0.995 0.995 0.994 0.998 0.998 ...
$ GBPJPY     : num  176 176 176 176 175 ...
$ EURJPY     : num  130 130 130 130 130 ...
$ EURCAD     : num  1.52 1.52 1.52 1.52 1.52 ...

$ d1_AUDUSD  : num  0.010401 0.000505 -0.001818 -0.003433 -0.008583 ...
$ d1_CHFJPY  : num  -0.01497 0.00444 -0.00186 -0.02309 -0.00823 ...
$ d1_USDCAD  : num  0.008585 0.003389 -0.012832 0.000136 0.002982 ...
$ d1_GBPCHF  : num  -0.000685 0.001746 0.000651 0.024858 -0.009416 ...
$ d1_EURGBP  : num  0.0031 0.00161 -0.00194 -0.01042 0.01003 ...
$ d1_USDJPY  : num  -0.02035 0.00201 -0.00654 0.00558 -0.00933 ...
$ d1_GBPUSD  : num  0.00707 0.00355 0.00439 0.00204 -0.00697 ...
$ d1_EURUSD  : num  0.01916 0.0093 0.00404 -0.01876 0.00905 ...
$ d1_EURCHF  : num  0.0116 0.01463 -0.00732 0.04675 0.01089 ...
$ d1_USDCHF  : num  -0.01705 -0.00415 -0.00933 0.05219 -0.00553 ...
$ d1_GBPJPY  : num  -0.00779 0.00362 -0.00101 0.00484 -0.01057 ...
$ d1_EURJPY  : num  -0.00941 0.00844 -0.0045 -0.00668 -0.00417 ...
$ d1_EURCAD  : num  0.02362 0.01077 -0.01055 -0.01408 0.00971 ...
$ d2_AUDUSD  : num  0.000909 -0.001313 -0.001313 -0.012017 -0.012017 ...
$ d2_CHFJPY  : num  -0.02594 0.00258 0.00258 -0.03132 -0.03132 ...
$ d2_USDCAD  : num  0.01387 -0.00944 -0.00944 0.00312 0.00312 ...
$ d2_GBPCHF  : num  0.0103 0.0024 0.0024 0.0154 0.0154 ...
$ d2_EURGBP  : num  -0.000776 -0.000332 -0.000332 -0.000388 -0.000388 ...
$ d2_USDJPY  : num  -0.01857 -0.00453 -0.00453 -0.00375 -0.00375 ...
$ d2_GBPUSD  : num  0.00771 0.00794 0.00794 -0.00493 -0.00493 ...
$ d2_EURUSD  : num  0.0123 0.0133 0.0133 -0.0097 -0.0097 ...
$ d2_EURCHF  : num  0.03676 0.00732 0.00732 0.05764 0.05764 ...
$ d2_USDCHF  : num  0.00599 -0.01348 -0.01348 0.04666 0.04666 ...
$ d2_GBPJPY  : num  -0.00616 0.0026 0.0026 -0.00572 -0.00572 ...
$ d2_EURJPY  : num  -0.01205 0.00394 0.00394 -0.01085 -0.01085 ...
$ d2_EURCAD  : num  0.023928 0.000221 0.000221 -0.004371 -0.004371 ...
$ d4_AUDUSD  : num  -0.000404 -0.000404 -0.000404 -0.029385 -0.029385 ...
$ d4_CHFJPY  : num  -0.0234 -0.0234 -0.0234 -0.0327 -0.0327 ...
$ d4_USDCAD  : num  0.00443 0.00443 0.00443 0.00122 0.00122 ...
$ d4_GBPCHF  : num  0.0127 0.0127 0.0127 0.0255 0.0255 ...
$ d4_EURGBP  : num  -0.00111 -0.00111 -0.00111 -0.01496 -0.01496 ...
$ d4_USDJPY  : num  -0.0231 -0.0231 -0.0231 0.0175 0.0175 ...
$ d4_GBPUSD  : num  0.0156 0.0156 0.0156 -0.0157 -0.0157 ...
$ d4_EURUSD  : num  0.0256 0.0256 0.0256 -0.0601 -0.0601 ...
$ d4_EURCHF  : num  0.0441 0.0441 0.0441 0.0277 0.0277 ...
$ d4_USDCHF  : num  -0.00749 -0.00749 -0.00749 0.09459 0.09459 ...
$ d4_GBPJPY  : num  -0.0035602 -0.0035602 -0.0035602 0.0000957 0.0000957 ...
$ d4_EURJPY  : num  -0.00811 -0.00811 -0.00811 -0.02169 -0.02169 ...
$ d4_EURCAD  : num  0.0241 0.0241 0.0241 -0.0445 -0.0445 ...
$ d1_AUDUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 1 1 2 ...
$ d1_CHFJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 2 1 1 2 2 2 ...
$ d1_USDCAD_f: Factor w/ 2 levels "-1","1": 2 1 2 2 1 1 1 2 2 1 ...
$ d1_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 2 2 1 2 1 1 ...
$ d1_EURGBP_f: Factor w/ 2 levels "-1","1": 2 1 1 2 1 1 1 1 2 2 ...
$ d1_USDJPY_f: Factor w/ 2 levels "-1","1": 2 1 2 1 2 2 1 2 2 2 ...
$ d1_GBPUSD_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 2 ...
$ d1_EURUSD_f: Factor w/ 2 levels "-1","1": 2 2 1 2 1 1 1 1 2 2 ...
$ d1_EURCHF_f: Factor w/ 2 levels "-1","1": 2 1 2 2 1 1 1 1 1 2 ...
$ d1_USDCHF_f: Factor w/ 2 levels "-1","1": 1 1 2 1 2 2 2 2 1 1 ...
$ d1_GBPJPY_f: Factor w/ 2 levels "-1","1": 2 1 2 1 2 1 1 2 1 2 ...
$ d1_EURJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 2 1 1 1 2 2 ...
$ d1_EURCAD_f: Factor w/ 2 levels "-1","1": 2 1 1 2 1 1 1 2 2 2 ...
$ d2_AUDUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
$ d2_CHFJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_USDCAD_f: Factor w/ 2 levels "-1","1": 1 2 2 1 1 2 2 2 2 1 ...
$ d2_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 1 1 1 1 1 ...
$ d2_EURGBP_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 1 ...
$ d2_USDJPY_f: Factor w/ 2 levels "-1","1": 1 1 1 2 2 2 2 2 2 1 ...
$ d2_GBPUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_EURUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_EURCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 1 ...
$ d2_USDCHF_f: Factor w/ 2 levels "-1","1": 1 2 2 2 2 2 2 1 1 1 ...
$ d2_GBPJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 2 2 1 1 2 2 2 ...
$ d2_EURJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 1 ...
$ d2_EURCAD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d4_AUDUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
$ d4_CHFJPY_f: Factor w/ 2 levels "-1","1": 1 1 1 2 2 2 2 2 2 2 ...
$ d4_USDCAD_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 2 2 1 1 1 ...
$ d4_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 1 ...
$ d4_EURGBP_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 1 1 1 ...
$ d4_USDJPY_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 2 2 2 2 2 ...
$ d4_GBPUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
  [list output truncated]

Parmi les variables cibles énumérées, seules deux variables cibles d4_EURUSD_f et d4_USDCHF_f ont des prédicteurs qui ont un pouvoir prédictif pour ces variables cibles. Toutes les autres variables cibles ne peuvent pas être prédites 4 étapes à l'avance par les prédicteurs listés.

Prédire un pas en avant et deux pas en avant semble bien meilleur.

 

une tendance à la hausse, c'est la confiance de la grande majorité des participants à une baisse, qui est soutenue par un commerce...

Le support est la fourchette dans laquelle la grande majorité des participants étaient à découvert mais où le prix n'a pas baissé mais plutôt augmenté. Lorsque le prix reviendra dans la même fourchette, les positions courtes restantes fermeront agressivement leurs positions courtes à environ zéro et feront ainsi un mini rallye à la hausse.

 
SanSanych Fomenko:

Voici une liste de prédicteurs et de variables cibles qui sont des facteurs, décalés par le nombre approprié de barres...........................

..........................Prévoir un pas et deux pas en avant semble beaucoup mieux

A quel point c'est mieux ? Quels sont les résultats ?

 
mytarmailS:

Quel est le degré d'amélioration ? Quels sont les résultats en général ?

Il y a une certaine mesure abstraite :

= 1 est une capacité prédictive de 100

Si > 10, alors je pense que le prédicteur n'a pas de capacité prédictive.

Pour les objectifs listés de 4 étapes à l'avance, les prédicteurs ont une mesure de 7 à 9. Pour une prédiction à un pas en avant, il y a des prédicteurs avec une mesure d'un peu plus de deux.

PS.

Sur ce fil de discussion, j'ai demandé à plusieurs reprises de traiter spécifiquement de la capacité de prédiction des prédicteurs. N'oublions pas : "les déchets entrent, les déchets sortent". Et aucun modèle ne peut changer cela.

 
SanSanych Fomenko:

Il y a une certaine mesure abstraite :

Plus précisément, quel est le degré de précision du MO sur l'OOS ?

pourquoi ces abstractions...

 
mytarmailS:

Quelle est exactement la précision du MO sur l'OOS ?

pourquoi ces abstractions...

Une classe est prévue. L'erreur de prédiction se situe entre 25 et 30%, et elle est la même en formation et hors échantillon. Le modèle n'est PAS réentraîné.

PS

J'ai écrit tout cela de très nombreuses fois.

 
SanSanych Fomenko:

N'oublions pas : "les déchets entrent, les déchets sortent". Et aucun modèle ne peut changer cela.

Il arrive qu'une combinaison de prédicteurs médiocres et du bon modèle permette soudainement de mieux prédire que ces prédicteurs pris isolément.

Voici un exemple des données d'entraînement du concours MO numer.ai -https://api.numer.ai/competitions/current/dataset(tableau numerai_training_data.csv dans l'archive). Il y a 50 prédicteurs, et toutes les méthodes d'évaluation que j'ai essayées disent que c'est de la merde. Mais en essayant différentes combinaisons d'entre eux et différents modèles, il est possible d'obtenir une précision de prédiction >50% sur la formation et la validation.

 
Dr. Trader:

Parfois, une combinaison de prédicteurs de pacotille et du bon modèle commence soudainement à prédire mieux que ces prédicteurs seuls.

Voici, par exemple, les données d'entraînement du concours MO numer.ai -https://api.numer.ai/competitions/current/dataset(tableau numerai_training_data.csv dans l'archive). Il y a 50 prédicteurs, et toutes les méthodes d'évaluation que j'ai essayées disent que c'est de la merde. Mais en essayant différentes combinaisons d'entre eux et différents modèles, il est possible d'obtenir une précision de prédiction supérieure à 50 % sur la formation et la validation.

1. Vous devez initialement prendre deux fichiers distincts : un pour l'entraînement-test-validation, et un pour la validation du modèle créé. L'erreur sur les quatre échantillons devrait être à peu près la même.

2. Naturellement, toute notre activité consiste à manipuler le quotient original et à obtenir un nouveau précurseur, dérivé de l'original, qui aura un pouvoir prédictif. Je ne discute pas de l'origine de l'ensemble initial de prédicteurs - c'est un problème à part entière.

Raison: