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

 
Aleksey Vyazmikin:

Merci d'avoir essayé.

Quelle ZZ avez-vous utilisée ? Pouvez-vous m'envoyer un couple de ZZ marqués avec des portées différentes ?


Je veux regrouper les splits maintenant, comme ça il y aura moins de combinaisons.

s'il vous plaît...

200 ou 300 en valeur absolue.

ZZ par équilibre ? dites-moi quelles gammes vous intéressent.


Ou peut-être étudier R un peu ? ;)


5 lignes de code, et tu as eu ce que tu voulais.

#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  считаем зигзаг по баласну
my_ZZ <- TTR::ZigZag( dat$Balans ,change = 200,percent = F)
#  зигзаг в бинарный вид
zz <- c(0,diff(my_ZZ)) ; zz[zz>=0] <- 1 ; zz[zz<0] <-  0
zz
#  добавляем зз как колонку к данным
dat_and_zz <- cbind(dat, zz)
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")
 
#  установка библы с индикаторами в том числе зигзаг
install.packages("TTR")
#  читаем файл
dat <- read.csv(file = "D:\\R2\\forum\\models\\Balans_OHLCV.csv",sep = ";")->.;
#  считаем зигзаг по баласну
TTR::ZigZag(., change = 200, percent = F)->.;
#  зигзаг в бинарный вид
c(0, diff(.)) ->.;
sign(.)->.;
#  добавляем зз как колонку к данным
cbind(dat, zz = .) -> dat_and_zz 
#  пишем данные в новый файл  csv
write.csv(dat_and_zz, file = "D:\\R2\\forum\\models\\Balans_OHLCV_ZZ.csv",sep = ";")

C'est mieux comme ça. Moins de déchets inutiles intermédiaires.

Bonne chance

 
Vladimir Perervenko:

C'est mieux comme ça. Moins de déchets inutiles intermédiaires.

Bonne chance

Merci Vladimir, je ne savais même pas que l'on pouvait faire ça ! !! J'adore R, toujours une bonne surprise !

Quand me montrerez-vous comment échantillonner des données et comment les transférer vers de nouvelles données) ?

 

Je pensais t'avoir donné un lien vers un article. C ' est ici.

Le paquet "discrétisation" est utilisé.

"La discrétisation est le processus qui consiste à convertir une variable continue en une variable discrète en divisant sa valeur en plages à l'aide de diverses méthodes de détermination des limites.

On peut distinguer deux groupes de méthodes de discrétisation : les méthodes quantitatives, sans référence à la cible, et les méthodes avec référence à l'adéquation des plages à la cible.

Le premier groupe de méthodes est presque entièrement couvert par cut2()::Hmisc. Il est possible de diviser l'échantillon en un nombre prédéterminé de zones, avec des limites spécifiques, en quartiles, en spécifiant le nombre minimum d'exemples dans chaque zone, en zones à fréquence égale.

Le deuxième groupe de méthodes est plus intéressant, car il divise la variable en parcelles associées aux niveaux de la cible. Considérons plusieurs paquets mettant en œuvre ces méthodes.

Discrétisation. Ce paquet est un ensemble d'algorithmes de discrétisation avec un professeur. On peut également les regrouper en fonction de la mise en œuvre descendante ou ascendante des algorithmes de discrétisation. Examinons certains d'entre eux en utilisant notredataSet comme exemple."

Nous utilisonsdiscretization::mdlp(), qui décrit la discrétisation en utilisant le principe de la longueur minimale de description. Cette fonction discrétise les attributs continus de la matrice de données en utilisant le critère d'entropie avec la longueur minimale de description comme règle d'arrêt. Il se fend parfaitement, mais prend beaucoup de temps. Nous utilisons base::findinterval() pour discrétiser l'ensemble de test. L'article contient des fonctions et des exemples. Ce n'est pas le seul paquet d'échantillonnage. Dans d'autres articles, nous utilisons : glmdisc, smbinning, cutpointr (pour la cible binaire), woeBinning et autres. Ce sont les paquets du CRAN. Il existe un beau paquetage MOB- à installer depuis Github. Je les ai vérifiés et ils fonctionnent. Cela dépend du type de données que vous voulez échantillonner (woe, bin, raw...).

Essayez-le.

Bonne chance

Глубокие нейросети (Часть II). Разработка и выбор предикторов
Глубокие нейросети (Часть II). Разработка и выбор предикторов
  • www.mql5.com
В предыдущей части статьи мы рассмотрели различные аспекты получения и подготовки входных данных и целевой переменной. Для воспроизведения скриптов этой статьи вам необходимо либо выполнить все скрипты первой части, либо загрузить результат вычислений первой части статьи из приложения в RStudio. 1. Разработка признаков Разработка признаков —...
 
Vladimir Perervenko:

Cela dépend de la forme sous laquelle vous voulez le résultat de l'échantillonnage (woe, bin, raw...)


Like what you want)))) Mais cela ne veut pas dire que c'est bien) Gruuuus...........

 
Vladimir Perervenko:

Je pensais t'avoir donné un lien vers un article. C ' est ici.

Le paquet "discrétisation" est utilisé.

Non, vous ne l'avez pas fait :)

J'ai regardé différents paquets et lu des articles mais je n'ai pas trouvé comment travailler avec de nouvelles données lors de la discrétisation, peut-être que je n'ai pas bien regardé, en tout cas merci pour la clarification.

 
Vladimir Perervenko:

Je pensais t'avoir donné un lien vers un article. C ' est ici.


Il y a beaucoup d'articles, la recherche est intéressante, mais y a-t-il un sammari sur les résultats pratiques ?
Je veux dire, comment cela fonctionne-t-il sur le marché réel ?

Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...
 
Evgeny Dyuka:

Il y a beaucoup d'articles, la recherche est intéressante, mais y a-t-il un sammari sur les résultats pratiques ?
Je veux dire, comment tout cela fonctionne-t-il sur le marché réel ?

C'est le cas. Vous le croyez sur parole ?

Tous les codes sont exposés. Allez-y, essayez-le.

Le plus important n'est pas les modèles, même s'ils sont importants. Ce qui est important, ce sont les prédicteurs et leur préparation (prétraitement). Plus les données sont bien préparées, plus les modèles seront faciles à utiliser.

Bonne chance

 
Vladimir Perervenko:

Ça marche. Tu me crois sur parole?

Tous les codes sont exposés. Construisez-le, essayez-le.

Le plus important n'est pas les modèles, même s'ils sont importants. Ce qui est important, ce sont les prédicteurs et leur préparation (prétraitement). Plus les données sont bien préparées, plus les modèles seront faciles à utiliser.

Bonne chance

Bien sûr que je vais le croire, je vais tout lire attentivement et analyser le code, surtout que maintenant je n'ai rien à faire, j'ai beaucoup de temps.
Mais avant que je ne passe une semaine dessus, pouvez-vous me donner un lien vers un article qui commence par une phrase comme"La méthode décrite ci-dessus donne de tels résultats sur le marché réel...". "et ensuite un couple de graphiques ou un tableau.
 
Evgeny Dyuka:
Bien sûr que je vais le croire, je vais tout lire attentivement et analyser le code, surtout que maintenant je n'ai rien à faire, j'ai tout mon temps.
Mais avant que je ne passe une semaine dessus, pouvez-vous me donner un lien vers un article qui commence par une phrase comme"La méthode décrite ci-dessus donne de tels résultats sur le marché réel...". "et ensuite un couple de graphiques ou un tableau.

Presque tous les articles se terminent par un test sur les nouvelles données.

c'est ici
Vladimir Perervenko
Vladimir Perervenko
  • www.mql5.com
Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с Глубокие нейросети (Часть VI). Ансамбль...