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

 
Top2n:

C'est quoi R ?

Voici la méthode russe.

R est un langage algorithmique, ce qui n'est pas très intéressant. Le plus intéressant : R est un logiciel de statistiques et de graphiques.

Bien que R ne soit pas très intéressant en tant que langage algorithmique, il occupe une solide 5e place parmi les langages algorithmiques polyvalents.

Voici une photo.

R est une division de Microsoft. Vous devez le télécharger à partir d'ici.

R lui-même se compose de deux parties : le langage algorithmique lui-même et les paquets.

Voici une liste alphabétique des paquets. Ici, vous avez Fourier et les ondelettes et beaucoup (même beaucoup) d'autres choses.

Voici un regroupement des paquets énumérés dans le lien précédent par domaines thématiques.

Quand tu vois tout ça, n'aie pas peur. C'est un système extrêmement pratique.

1. Le langage R lui-même est très avancé, mais le premier minimum peut être maîtrisé en quelques heures si vous possédez au moins MKL

2. R est un interprète, le débogage est donc extrêmement facile. Vous pouvez toujours essayer une ou plusieurs lignes. L'installation et l'exécution des premières lignes de code prendront au maximum une demi-heure.

3. le nombre de paquets ne le rend pas difficile à utiliser, car il suffit de trouver un paquet qui vous intéresse, par exemple pour les ondelettes, d'y trouver une fonction et de l'exécuter. Il s'agit généralement d'une ou plusieurs lignes de code.

Au niveau des "essais", les choses sont extrêmement simples.

Bonne chance avec ça.

Tufte in R (примеры для всех вариантов графических подсистем R)
  • 2016.12.03
  • p2004r
  • r-statistics.livejournal.com
Классическая книга о отображении количественных данных в графическом виде получила сборник открытых примеров реализации рецептов отображения информации на языке R. Книга (надо покупать) https://www.edwardtufte.com/tufte/books_vdqi...
 
ivanivan_11:
mais personne n'a essayé d'appliquer les connaissances dans ce domaine pour prédire les paris sportifs - tennis, football, etc... ou pour écrire des bots pour le poker/pref ?

y a-t-il un grand échantillon ???

ou tout autre échantillon... ?

la même chose... ?

 
mytarmailS:

y a-t-il un grand échantillon ???

ou tout autre échantillon... ?

la même chose...

si vous n'en avez pas, cela ne signifie pas que vous n'en avez pas. il existe une ressource en ligne de prédiction de tennis par réseau neuronal. ils disent avoir analysé plus de 800 000 résultats de matchs.

En fait, même ibm et les logiciels n'hésitent pas à présenter de tels projets.

Pour le poker, je pense que vous pouvez également obtenir les résultats de différents tournois.

même chose...

 
ivanivan_11:

Si vous ne l'avez pas, cela ne signifie pas que vous ne l'avez pas du tout. il existe une ressource en ligne pour les prédictions de tennis basées sur un réseau neuronal. ils disent avoir analysé plus de 800 000 résultats de matchs.

Pour le poker, je pense que vous pouvez également obtenir les résultats de différents tournois.

même chose...

))) bien enseigner, bonne chance ))))
 
ivanivan_11:

Si vous ne l'avez pas, cela ne signifie pas que vous ne l'avez pas du tout. il existe une ressource en ligne pour les prédictions de tennis basées sur un réseau neuronal. ils disent avoir analysé plus de 800 000 résultats de matchs.

Pour le poker, je pense que vous pouvez également obtenir les résultats de différents tournois.

même chose...

Pour moi, la prévisibilité dépendra de la composition des participants. Si l'ensemble de la formation change, toutes les statistiques acquises peuvent être jetées.
 
ivanivan_11:
J'ai beaucoup d'expérience dans ce domaine, mais avez-vous déjà essayé de l'appliquer pour prédire les paris sportifs - tennis, football, etc. ou pour écrire des bots pour le poker/pref ?

Au poker, je pense que l'apprentissage automatique serait trop compliqué et incompréhensible, c'est un jeu à information fermée.

Mais de simples statistiques devraient suffire pour gagner.

En connaissant vos propres cartes et celles de vos adversaires, vous pouvez passer en revue les options des cartes de vos adversaires et estimer vos chances de gagner. En outre, sur la base de l'argent investi (le sien et celui des adversaires) - pour évaluer si le prochain mouvement sera payant. De la même manière, vous pouvez ajouter une simulation des événements pour quelques coups à venir afin d'évaluer les milliers de situations différentes possibles, et calculer le bénéfice moyen. Facteurs de correction pour le bluff et la malchance. Plus le profilage des adversaires pour connaître leur tendance au bluff. Cela devrait faire l'affaire.

 
Tout d'abord, vous avez besoin de ce qui n'est pas là, vous avez besoin d'un échantillon.
 
fxsaber:
Par Python

Compliqué et dépassé.

Grâce à "PythonInR", tout code .py est exécuté sans problème.

À propos, pour le débogage dans RStudio, NotebookR exécute le code Python en mode natif.

Bonne chance

 
Vladimir Perervenko:

Compliqué et dépassé.

Grâce à "PythonInR", tout code .py est exécuté sans problème.

À propos, pour le débogage dans RStudio, NotebookR exécute le code Python en mode natif.

Bonne chance

Python est génial, mais il faut MKL4.

Il existe un paquetRserve. Voici ma traduction de l'annotation

Rserve est un serveur TCP/IP qui permet à d'autres programmes d'utiliser les outils R de différents langages sans avoir à initialiser R ou à se lier à une bibliothèque R. Chaque connexion dispose d'un espace de travail et d'un répertoire de travail distincts. Des implémentations client sont disponibles pour des langages populaires tels que C/C++ et Java. Rserve prend en charge la connexion à distance, l'authentification et le transfert de fichiers.

Le principal objectif de Rserve est de fournir une interface qui peut être utilisée par des applications pour effectuer des calculs dans R. Notre expérience avec d'autres modes de communication a montré qu'il y a trois éléments principaux à prendre en compte lors du développement d'un nouveau système : la séparation, la flexibilité et la rapidité.

Il est important de séparer le système R de l'application elle-même. L'une des raisons est d'éviter toute dépendance vis-à-vis du langage de programmation de l'application, puisque la propre interface directe avec R (Chambers, 1998) n'est applicable qu'avec C (R Working Group Development, 2003). Un autre aspect vient du fait qu'une intégration étroite avec R est plus sujette aux erreurs, car l'application doit prendre en compte les éléments internes de R. D'autre part, les développeurs d'applications souhaitent que l'interface soit très souple et qu'elle utilise la plupart des fonctionnalités de R. Enfin, la rapidité est un élément clé car l'objectif est de fournir rapidement à l'utilisateur les résultats souhaités sans avoir à recommencer une session R depuis le début.

Le concept client-serveur nous permet de satisfaire ces trois exigences clés. Le calcul est effectué par le noyau Rserve, qui est le serveur, répondant aux demandes des clients tels que les applications. La communication entre Rserve et le client se fait par le biais de sockets de réseau, généralement TCP/IP, mais d'autres changements sont également possibles. Cela permet l'utilisation d'un Rserve central depuis des ordinateurs distants, l'utilisation de plusieurs Rserve par un client distant pour distribuer le calcul, mais aussi la communication locale sur une seule machine.

Un seul Rserve peut servir plusieurs clients en même temps. Chaque connexion Rserve dispose de son propre espace de données et de son propre répertoire de travail. Cela signifie que l'objet créé par une seule connexion n'affecte jamais les autres connexions. En outre, chaque connexion peut produire des fichiers locaux, tels que des images créées par le dispositif bitmap Rserve, sans interférer avec les autres connexions. Chaque application peut ouvrir plusieurs connexions pour gérer des tâches parallèles.

Le transfert de données entre l'application et Rserve se fait sous forme binaire pour obtenir de la vitesse et minimiser la somme des données transférées. Les objets intermédiaires sont stockés dans Rserve, de sorte que seuls les éléments d'intérêt doivent être transférés au client.

En plus de communiquer avec le noyau R, Rserve dispose également de protocoles d'authentification et de transfert de fichiers intégrés qui permettent d'utiliser Rserve sur des machines individuelles. L'authentification de l'utilisateur est fournie pour ajouter une couche de sécurité pour l'utilisation à distance. Le transfert de fichiers permet de copier les fichiers nécessaires au calcul ou à la production de R du client vers le serveur et vice versa.

Rserve prend actuellement en charge deux groupes principaux de commandes pour communiquer avec R : la création d'objets dans R et l'évaluation du code R. La plupart des objets de base tels que les nombres, les chaînes de caractères ou les vecteurs peuvent être créés par addition directe. Le contenu des objets est envoyé sous forme binaire du client au serveur.

Cela constitue un moyen efficace de transporter les données nécessaires à l'évaluation. Tous les objets sont toujours transférés par valeur afin de séparer les espaces de données du client et du serveur. De cette façon, le client et le serveur sont libres de se débarrasser des données à tout moment, ce qui permet d'éviter les défaillances catastrophiques inhérentes aux autres méthodes de communication où les systèmes partagent physiquement les mêmes données.

Le deuxième grand groupe de commande est l'évaluation du code R. Contrairement à la création d'un objet, un tel code est envoyé en texte clair à Rserve et traité comme si le code avait été saisi à la console dans R. L'objet d'évaluation résultant peut être renvoyé sous forme binaire au client si nécessaire. La plupart des types R sont pris en charge, notamment les nombres scalaires, les chaînes de caractères, les vecteurs, les listes (d'où les classes, les cadres de données, etc.), les objets lexicaux, etc. Cela permet à Rserve de renvoyer tous les modèles au client. Le client peut décider de ne pas obtenir d'objets utiles en configurant dans R des objets intermédiaires qui ne sont pas directement liés au client.

Rserve fournit deux services de base pour la gestion des erreurs. Les trois résultats d'évaluation possibles sont une évaluation réussie, une erreur d'exécution par erreur d'analyseur et une erreur de code. L'état revient toujours à l'application cliente pour permettre l'action appropriée. Comme Rserve n'est qu'une couche entre l'application et R, il est toujours possible d'influencer le traitement d'une erreur d'exécution dans R lui-même, par exemple avec une option ou une commande de tentative erronée.

Une utilisation typique des outils Rserve consiste à charger toutes les données nécessaires dans R, à effectuer des calculs en fonction des entrées de l'utilisateur, comme la construction de modèles, et à renvoyer les résultats à l'application pour affichage. Toutes les données et tous les objets sont persistants jusqu'à ce que la connexion soit fermée. Cela permet à l'application d'ouvrir rapidement la connexion, par exemple lorsque l'utilisateur a spécifié un ensemble de données, de transférer toutes les données nécessaires au serveur et de répondre à l'entrée de l'utilisateur en calculant rapidement les modèles ou les estimations souhaités. Comme les résultats ne sont pas sous forme de texte, il n'y a pas d'analyse fastidieuse des résultats.

L'interface de Rserve est modulaire et documentée, permettant d'accéder à Rserve à partir de n'importe quel langage d'application ou de programmation prenant en charge les sockets, y compris les langages de script et de programmation actuels. Nous avons implémenté le client de Rserve en Java pur, qui communique par le biais d'une interface avec la plupart des fonctions de Rserve et fait correspondre tous les objets disponibles pour Rserve à ses propres objets ou classes Java. L'utilisation du client Java est illustrée dans la section à titre d'exemple.


Il existe un paquetageJava qui donne accès à ce serveur.

Si nous réécrivons ce paquet deJava à MKL4...., nous obtenons un accès réel à R à partir de EA

Raison: