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

 
SanSanych Fomenko:

Quelle autre tendance dans le classement ? Les erreurs de prédiction de classe déchireront la tendance - il ne restera rien de la tendance.

Pourquoi pas, je n'identifie que les entrées, les sorties seront calculées par chalutage et non par les résultats du MO.

 
SanSanych Fomenko:

Bien sûr, bordel de merde !

Quels autres ?

Je vais les compter.

J'ai hâte d'y être !

 
Aleksey Vyazmikin:

Attendre avec intérêt !

Ici.

Number of observations used to build the model: 20276
Missing value imputation is active.

Call:
 randomForest(formula = as.factor(arr_Buy) ~ .,
              data = crs$dataset[crs$sample, c(crs$input, crs$target)],
              ntree = 500, mtry = 7, importance = TRUE, replace = FALSE, na.action = randomForest::na.roughfix)

               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 7

        OOB estimate of  error rate: 17.76%
Confusion matrix:
     -1    0    1 class.error
-1 4429 1157   84   0.2188713
0   498 8288  501   0.1075697
1   102 1259 3958   0.2558752

Variable Importance
===================

                                -1     0     1 MeanDecreaseAccuracy MeanDecreaseGini
arr_LastBarPeresekD_Down_M15 56.11 64.27 64.49                69.56           211.39
arr_DonProc_M15              60.79 63.68 57.48                67.77           298.46
Levl_High_H4                 59.69 61.76 57.36                69.74           195.16
Levl_Close_W1                54.44 58.90 57.08                64.35           234.41
arr_Regresor                 56.51 55.71 56.09                61.40           212.89
Levl_Low_H4                  50.14 52.47 55.56                57.38           203.09
Levl_Low_D1                  51.00 50.52 55.24                57.91           192.80
arr_Den_Nedeli               47.86 50.18 55.22                53.55           214.23
arr_DonProcVisota            53.91 58.53 55.15                58.61           305.84
Levl_Close_MN1               51.68 51.71 54.70                58.12           228.30
Levl_Close_D1                53.13 51.06 51.83                57.80           267.86
arr_LastBarPeresekD_Up_M15   52.46 52.45 49.94                56.53           218.22
arr_DonProc                  47.96 69.45 49.35                60.33           322.91
Levl_Support_D1              52.28 52.42 49.21                56.50           253.82
Levl_Support_W1              47.90 50.98 47.38                53.37           219.35
Levl_High_W1                 48.68 47.64 47.35                52.45           144.54
Levl_Low_H1                  46.62 53.94 46.72                54.10           208.75
Levl_Support_MN1             41.67 44.57 46.52                46.83           198.77
arr_TimeH                    44.65 46.73 45.21                47.78           183.06
Levl_High_D1                 43.69 42.56 45.17                46.79           169.77
Levl_first_H4                41.65 44.09 43.92                46.57           121.20
Levl_High_MN1                37.88 40.27 42.96                42.52           142.87
X_USE_Filter_MA_02           38.67 43.46 42.57                49.19            84.23
Levl_first_H1                38.36 40.30 40.51                44.00           135.97
Levl_Low_MN1                 36.20 39.33 39.59                40.68           149.38
Levl_High_H1                 36.34 39.67 39.02                40.28           196.14
arr_LastBarPeresekD_Down     40.51 39.81 37.87                43.21           232.92
Levl_first_D1                33.94 36.19 36.47                38.99            78.20
Levl_first_MN1               30.33 33.31 35.62                34.03            99.66
arr_LastBarPeresekD_Up       32.66 40.83 35.21                38.65           238.36
Levl_Low_W1                  33.29 34.25 35.02                35.13           175.21
X_Use_Donchianf              31.06 34.26 33.54                36.21            97.49
Levl_Support_H4              33.55 38.03 33.15                36.91           248.48
Use_Filter_MA_Prirost        31.89 31.93 31.42                38.92            63.63
Levl_Close_H1                32.25 34.31 31.06                34.08           242.26
X_Use_Filter_Fibo_in_Day     29.56 30.80 30.99                36.89            71.70
Levl_Close_H4                34.27 33.26 30.79                34.17           272.58
X_USE_Filter_MA              25.90 31.13 29.25                33.87            66.11
X_Use_BarPeresek_iMA_TF      26.07 23.12 28.88                32.17            31.87
Levl_first_W1                26.50 28.50 27.21                28.70            83.33
arr_Vektor_Week              25.93 25.76 26.68                29.62            44.61
arr_Vektor_Don_M15           29.11 28.28 26.27                31.15            53.36
arr_RSI_Open_H1              30.82 29.38 25.75                36.56            45.64
Levl_Support_H1              26.88 27.87 25.56                27.72           215.06
arr_Vektor_Day               22.67 24.33 24.70                26.31            43.21
arr_Vektor_Don               23.32 25.04 21.89                25.40            65.35
arr_BB_Up                    10.94 11.71 16.86                15.05            21.55
arr_BB_Center                16.63 17.40 16.01                17.13            58.55
X_Use_ChanelEvaProc          13.36 17.13 12.74                23.63           106.51
arr_RSI_Open_M1               8.95 11.16 12.15                13.34            33.44
arr_BB_Down                  13.49 13.31  6.84                13.36            24.11
USE_Filter_MA_Donchian        3.60 -1.85  5.00                 3.82             2.32


Le nombre d'arbres requis a augmenté, mais certainement pas de 100.


Il compte mal : il devrait être compté par colonne, c'est pire qu'avant, mais c'est encore très bien.

 
Matrice d'erreurs pour le modèle Random Forest sur Pred_027_2016_H2_T.csv [valider] (comptes) :

Prévu
Réel -1 0 1 Erreur
-1 20157 5167 292 21.3
0 2222 37861 2060 10.2
1 373 5502 17608 25.0

Matrice d'erreurs pour le modèle Random Forest sur Pred_027_2016_H2_T.csv [valider] (proportions) :

Prévu
Réel -1 0 1 Erreur
-1 22.1 5.7 0.3 21.3
0 2.4 41.5 2.3 10.2
1 0.4 6.0 19.3 25.0

Erreur globale : 17,1%, erreur moyenne par classe : 18,83333%.


Matrice d'erreurs pour le modèle Random Forest sur Pred_027_2016_H2_T.csv [test] (counts) :


Prévu

Réel -1 0 1 Erreur

-1 19963 5131 328 21.5

0 2259 37753 2104 10.4

1 404 5703 17597 25.8


Matrice d'erreurs pour le modèle Random Forest sur Pred_027_2016_H2_T.csv [test] (proportions) :


Prévu

Réel -1 0 1 Erreur

-1 21.9 5.6 0.4 21.5

0 2.5 41.4 2.3 10.4

1 0.4 6.3 19.3 25.8


Erreur globale : 17,4%, erreur moyenne de classe : 19,23333%.


La remarquable stabilité de l'erreur est très encourageante.

 
SanSanych Fomenko:

Ici.


Le nombre d'arbres requis a augmenté, mais certainement pas de 100.


L'erreur consiste à ne pas compter correctement : il faut compter par colonne, ce qui est pire qu'avant, mais tout de même très correct.

Merci ! L'ensemble des prédicteurs n'est donc pas si mauvais, et il y a un intérêt à l'élargir !


SanSanych Fomenko:

L'étonnante stabilité de l'erreur est très encourageante.

Ou peut-être que l'échantillon est juste très typique ? Je pense que d'une manière ou d'une autre, nous devrions être formés sur un fichier de 2015, et testés sur 2016 - il y a des tendances mondiales de sens contraire, je pense que le système ne pourra pas fonctionner aussi efficacement là-bas.

Eh, j'aimerais savoir comment faire autrement pour que ça marche... Je me demande si l'échafaudage chez Maxim's et ici est le même en termes de logique de formation ou non ?

 
Aleksey Vyazmikin:

Merci ! L'ensemble des prédicteurs n'est donc pas si mauvais, et il est logique de l'élargir !


Ou peut-être que l'échantillon est juste très typique ? Je pense que d'une manière ou d'une autre, nous devrions nous entraîner sur un fichier de 2015, et vérifier sur 2016 - il y a des tendances mondiales de la direction opposée, je pense que le système ne pourra pas fonctionner aussi efficacement là-bas.

Eh, j'aimerais savoir comment faire autrement pour que ça marche... Je me demande si l'échafaudage de Maxim et ici sont les mêmes dans la logique de formation ou non ?

J'ai écrit plus haut, et je vais le répéter :

  • vérifier le pouvoir prédictif
  • diviser le fichier et voir l'erreur sur la seconde moitié.


PS.

Les prédicteurs sont déjà en excès.

 
SanSanych Fomenko:

Je l'ai écrit plus haut, et je le répète :

  • vérifier la capacité de prédiction
  • diviser le fichier et voir l'erreur sur l'autre moitié.

Pourquoi diviser un fichier quand tout est déjà divisé en deux fichiers ? Je ne sais simplement pas comment le faire en R, personne n'a jamais pu me l'expliquer - apparemment stupide.

SanSanych Fomenko:

PS.

J'ai déjà beaucoup de prédicteurs.

Pas vraiment, ce n'est pas tout ce que j'utilise dans le trading réel, y compris en utilisant les ATS.

J'espère vraiment que le réseau pourra surpasser l'EA optimisé sur l'histoire :)

 

Où as-tu ramassé autant de farthers ? Les as-tu sélectionnés manuellement pour qu'ils correspondent à la stratégie ? c'est fou :)

la logique de l'échafaudage devrait être +- la même

 

Mais voici un modèle différent :

Error matrix for the SVM model on Pred_027_2016_H2_T.csv [validate] (counts):

      Predicted
Actual   -1     0    1 Error
    -1 6176 18666  774  75.9
    0  2242 38585 1316   8.4
    1  1333 17683 4467  81.0

Error matrix for the SVM model on Pred_027_2016_H2_T.csv [validate] (proportions):

      Predicted
Actual  -1    0   1 Error
    -1 6.8 20.5 0.8  75.9
    0  2.5 42.3 1.4   8.4
    1  1.5 19.4 4.9  81.0

Overall error: 46%, Averaged class error: 55.1

Le résultat est que TOUT le reste, bien que le modèle soit qualitativement différent, devrait mal fonctionner sur vos données.


Nous devons mettre la randomForest à niveau.

 
Aleksey Vyazmikin:


J'espère vraiment que le réseau pourra surpasser l'EA optimisé sur l'historique :)

Pourquoi diviser un fichier si tout est déjà divisé en deux fichiers ? Je ne sais pas comment le faire en R, personne n'a jamais pu me l'expliquer, je suppose que je suis stupide.

Diviser est un jeu d'enfant, le problème est le préjugé contre R.


J'espère vraiment que le réseau sera capable de surpasser les performances d'un conseiller expert optimisé sur l'historique :)

Quel est le besoin d'un filet ?