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

 
mytarmailS #:

Avez-vous déjà vu ces chiffres de vos propres yeux ?

0,99 formation/test, avec le modèle tronqué à quelques itérations. Il ne reste que quelques règles qui prédisent bien les classes.

 
Maxim Dmitrievsky #:

0,99 formation/test, avec le modèle tronqué à quelques itérations. Il ne reste que quelques règles qui prédisent bien les classes.

TP=10 et SL=1000 ?)

 
Forester #:

TP=10 et SL=1000 ?)

Non, c'est amusant si vous voulez faire beaucoup de trades.

ouvrir de nouveaux trades à chaque barre
 
Vladimir Perervenko #:

Que voulez-vous dire par "fait maison" ? Il existe une justification théorique, un bon article. Il existe un paquetage appelé RLTv3.2.6, qui fonctionne assez bien. Faites attention à la version.


Bonne chance !

À mon avis, il ne s'agit pas d'une fabrication artisanale, si les conditions suivantes, illustrées par un exemple précis, sont remplies.

Au début, et maintenant beaucoup moins, le site était rempli de "génies" autodidactes qui, assis dans leur cuisine, inventaient quelque chose, utilisaient une terminologie qui leur sortait de la tête et commençaient à "faire des recherches", et pas seulement à "faire des recherches", mais à réfuter des choses existantes et généralement reconnues.

Tous ces gens ne se rendent pas compte que leur code maison ne vaut pas un centime car il n'a PAS de fondement théorique publié dans des revues sérieuses et discuté, souvent pendant des années, par des personnes ayant la formation correspondante. Ensuite, le code est écrit et testé par un grand nombre d'utilisateurs et ce n'est qu'après cela qu'il peut être utilisé à des fins industrielles.

Il ne sert à rien de discuter des "génies" locaux.

Mais katbust.

Comparons la documentation sur katbust et XGBoost pour comprendre la sournoiserie d'une organisation non centrale et d'un développement professionnel très similaire.

 
Maxim Dmitrievsky #:
Et le principal self-made man et self-made man est Breiman, parce qu'il n'a pas écrit en R. C'est un vrai kolkhoznik.

Apprenez R pour ne pas avoir l'air complètement ignorant : pratiquement tous les paquets de R ne sont PAS écrits en R. En général, il s'agit de C++ ou de Fortran, et R n'est qu'un accès. En général, c'est du C++ ou du Fortran, et R n'est qu'un accès. C'est pourquoi les algorithmes de calcul intensif en R ne fonctionnent pas plus mal qu'en C++.

 
СанСаныч Фоменко #:

Apprenez R pour ne pas avoir l'air complètement ignorant : presque tous les paquets de R ne sont PAS écrits en R. En général, il s'agit de C++ ou de Fortran et R n'est qu'un accès. Il s'agit généralement de C++ ou de Fortran, et R n'est qu'un accès. C'est pourquoi les algorithmes de calcul intensif en R ne fonctionnent pas plus mal qu'en C++.

C'est la première fois que j'entends cela.

Y aura-t-il d'autres informations plus éclairantes ? )

J'ai déjà atteint le catbuster... )))

 
mytarmailS réduction de la dimensionnalité, le modèle devient plus reproductible.

et la dernière touche, peut-être décorative


Je me demande comment le MO sera entraîné sur de telles données ?

Il s'agit d'un échantillon test.

Avez-vous déjà vu de tels chiffres par vous-même ?




Il s'agit très probablement d'un recyclage, car il est lié à des valeurs de prix absolues.

 

En écrivant une fonction qui ré-étiquette les étiquettes et les rend plus prévisibles pour vos caractéristiques, le modèle devient plus stable.

Si vous avez un petit ensemble de données, vous pouvez le laisser tomber pour le vérifier, et vous assurer de vos données (ou être frustré).

Pour les utilisateurs de python :

    c = coreset[coreset.columns[1:-4]] // ваш датасет без меток. Нужно брать только трейн/тест данные, на остальных не делать кластеризацию, иначе подгонка
    kmeans = KMeans(init='k-means++', n_clusters=clusters).fit(c) // кол-во кластеров - гиперпараметр
    coreset['clusters'] = kmeans.predict(c)
    mean_labels = coreset.groupby('clusters')['labels'].apply(lambda x: x.mean()) // считаем среднее по меткам каждого кластера
    coreset['labels'] = coreset.apply(lambda row: 0 if mean_labels[row['clusters']] < 0.5 else 1, axis=1) // если среднее больше 0.5, то для всех элементов кластера ставим метку 1 и наоборот
le modèle est plus stable si les clusters sont représentatifs. Donc, par la méthode de la force brute, le nombre de clusters et les puces à clusteriser.
 
Aleksey Nikolayev #:

D'après ce que j'ai compris, les commandes pour travailler avec R dans une session interactive sont commentées. Il faut d'abord charger l'ensemble du script pour définir les fonctions, puis les commandes ligne par ligne, en appuyant sur la touche "Entrée" après chacune d'entre elles. Il s'agit probablement d'une norme dans les publications scientifiques : ne se fier qu'à la ligne de commande et éviter les environnements tels que Rstudio.

Par souci de concision, j'ai appelé CTree à partir des modèles de collecte de données et de classe, qui semblent également inévitables.

La détection des anomalies est incluse dans les objectifs - il s'agit de rechercher les endroits où les incendies sont anormalement fréquents.


PS. Il y a quelque temps, je vous ai écrit à propos de l'utilisation de la distribution de Poisson, et ici elle est développée dans le code de travail.

Je n'ai pas encore tout essayé - je suis bloqué sur l'une de mes tâches.

Je vais certainement essayer de l'exécuter sur mes propres données. Je suis en train d'accumuler différentes solutions sur ce sujet.

En ce qui concerne la distribution de Pausson, elle est intéressante en théorie, mais lorsque j'examine les données, la séquence, disons qu'il peut y avoir 20 zéros dans une rangée, puis un mélange de zéros et de uns, et que ces sauts sont significatifs, ils semblent incompatibles avec la distribution.

 
Aleksey Vyazmikin #:

En ce qui concerne la distribution de Pausson, elle est intéressante en théorie, mais lorsque j'examine les données, la séquence, disons qu'il peut y avoir 20 zéros dans une rangée, puis un mélange de zéros et de uns, et que ces omissions sont significatives, elles semblent incompatibles avec la distribution.

L'idée est de diviser les exemples en groupes qui sont différents les uns des autres et à l'intérieur desquels il y a une homogénéité. Il n'est pas du tout certain que des caractéristiques spécifiques permettent de le faire. Il n'est pas non plus certain qu'aucune d'entre elles le permette, en raison de la non-stationnarité, par exemple.

Je n'ai pas l'intention d'étudier cet article en détail, car il ne fait qu'effleurer le sujet qui m'intéresse. CHAID s'en rapproche un peu, mais ce n'est pas tout à fait la même chose.

Raison: