Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 251

 
Top2n:

¿Qué es R?

Esta esla forma rusa.

R es un lenguaje algorítmico, que no es muy interesante. Lo más interesante: R es un software de estadística y gráficos.

Aunque como lenguaje algorítmico R no es muy interesante, entre los lenguajes algorítmicos de propósito general ocupa un sólido 5º puesto

Aquí hay una foto.

R es una división de Microsoft. Tienes que descargarlo desde aquí.

R se compone de dos partes: el propio lenguaje algorítmico y los paquetes.

Acontinuación, una lista alfabética de paquetes. Aquí tienes Fourier y wavelets y un montón (incluso un montón) de otras cosas.

Acontinuación se presenta una agrupación de los paquetes enumerados en el enlace anterior por áreas temáticas.

Cuando lo veas, no te asustes. Es un sistema muy cómodo.

1. El lenguaje R en sí es muy avanzado, pero lo mínimo se puede dominar en un par de horas si se posee al menos MKL

2. R es un intérprete, por lo que la depuración es extremadamente fácil. Siempre puedes probar una o varias líneas. La instalación y la ejecución de las primeras líneas de código llevarán como mucho media hora.

3. el gran número de paquetes no dificulta su uso, ya que basta con encontrar un paquete que te interese, por ejemplo para wavelets, encontrar una función en él y ejecutarla. Normalmente se trata de una o varias líneas de código.

En el nivel de "prueba", las cosas son extremadamente sencillas.

Buena suerte con eso.

Tufte in R (примеры для всех вариантов графических подсистем R)
  • 2016.12.03
  • p2004r
  • r-statistics.livejournal.com
Классическая книга о отображении количественных данных в графическом виде получила сборник открытых примеров реализации рецептов отображения информации на языке R. Книга (надо покупать) https://www.edwardtufte.com/tufte/books_vdqi...
 
ivanivan_11:
pero nadie ha tratado de aplicar los conocimientos en esta área para predecir las apuestas deportivas - tenis, fútbol, etc.? o para escribir bots para el póker/pref?

¿hay una muestra grande?

¿o alguna muestra...?

¿lo mismo...?

 
mytarmailS:

¿hay una muestra grande?

¿o alguna muestra...?

lo mismo...

si no tienes uno, no significa que no lo tengas. hay un recurso de predicción de tenis de red neural en línea. dicen que han analizado más de 800k resultados de partidos.

De hecho, incluso ibm y softwares no se privan de presentar este tipo de proyectos.

Para el póquer, creo que también se pueden obtener resultados de diferentes torneos.

lo mismo...

 
ivanivan_11:

Si no lo tienes, no significa que no lo tengas en absoluto. hay un recurso online de predicciones de tenis basadas en redes neuronales. dicen que han analizado más de 800k resultados de partidos.

Para el póquer, creo que también se pueden obtener resultados de diferentes torneos.

lo mismo...

))) bien enseñado, buena suerte ))))
 
ivanivan_11:

Si no lo tienes, no significa que no lo tengas en absoluto. hay un recurso en línea para predicciones de tenis basadas en redes neuronales. dicen que han analizado más de 800k resultados de partidos.

Para el póker, creo que también se pueden obtener resultados de diferentes torneos.

lo mismo...

Para mí, la previsibilidad dependerá de la composición de los participantes. Si toda la alineación cambia, entonces todas las estadísticas ganadas se pueden tirar a la basura.
 
ivanivan_11:
Tengo mucha experiencia en este campo, pero ¿has intentado aplicarlo a la predicción de apuestas deportivas -tenis, fútbol, etc.- o a escribir bots para el póker/pref?

En el póker, creo que el aprendizaje automático sería demasiado complicado e incomprensible, es un juego de información cerrada.

Pero la simple estadística debería ser suficiente para ganar.

Conociendo tus propias cartas y las de tus oponentes, puedes repasar las opciones de las cartas de tus oponentes y estimar tus posibilidades de ganar. Además, sobre la base del dinero invertido (propio y de los oponentes) - para evaluar si el siguiente movimiento vale la pena. En el mismo lugar puede añadir una simulación de eventos para unas cuantas jugadas por delante para evaluar las miles de situaciones posibles diferentes, y calcular el beneficio medio. Factores de corrección para los faroles y la mala suerte. Además de perfilar a los oponentes para conocer su tendencia al farol. Eso debería servir.

 
En primer lugar, se necesita lo que no hay, es decir, una muestra
 
fxsaber:
Por Python

Complicado y anticuado.

A través de "PythonInR" se ejecuta cualquier código .py sin problemas.

Por cierto, para la depuración en RStudio NotebookR ejecuta el código Python como nativo.

Buena suerte

 
Vladimir Perervenko:

Complicado y anticuado.

A través de "PythonInR" se ejecuta cualquier código .py sin problemas.

Por cierto, para la depuración en RStudio NotebookR ejecuta el código Python como nativo.

Buena suerte

Python es genial, pero necesitas MKL4.

Hay un paqueteRserve. Esta es mi traducción de la anotación

Rserve es un servidor TCP/IP que permite a otros programas utilizar las herramientas de R de diferentes lenguajes sin tener que inicializar R o enlazar con una biblioteca de R. Cada conexión tiene un espacio de trabajo y un directorio de trabajo distintos. Existen implementaciones de clientes para lenguajes populares como C/C++ y Java. Rserve admite la conexión remota, la autenticación y la transferencia de archivos.

El objetivo principal de Rserve es proporcionar una interfaz que pueda ser utilizada por las aplicaciones para realizar cálculos en R. Nuestra experiencia con otros modos de comunicación nos ha demostrado que hay tres aspectos principales que hay que tener en cuenta a la hora de desarrollar un nuevo sistema: separación, flexibilidad y rapidez.

Es importante separar el sistema R de la propia aplicación. Una de las razones es evitar cualquier dependencia del lenguaje de programación de la aplicación, ya que la propia interfaz directa a R (Chambers, 1998) es aplicable sólo con C (R Working Group Development, 2003). Otro aspecto proviene del hecho de que la integración estrecha con R es más propensa a errores, porque la aplicación tiene que tener en cuenta los aspectos internos de R. Por otro lado, los desarrolladores de aplicaciones quieren que la interfaz sea muy flexible y que utilice la mayoría de las funciones de R. Por último, la velocidad es un elemento clave porque el objetivo es proporcionar al usuario los resultados deseados rápidamente sin tener que iniciar una sesión de R desde cero.

El concepto de cliente-servidor nos permite satisfacer los tres requisitos clave. El cálculo lo realiza el núcleo de Rserve, que es el servidor, respondiendo a las peticiones de los clientes, como las aplicaciones. La comunicación entre Rserve y el cliente se realiza a través de sockets de red, normalmente TCP/IP, pero también son posibles otros cambios. Esto permite el uso de un Rserve central desde ordenadores remotos, el uso de múltiples Rserve por parte de un cliente remoto para distribuir el cálculo, pero también la comunicación local en una sola máquina.

Un solo Rserve puede servir a varios clientes al mismo tiempo. Cada conexión Rserve tiene su propio espacio de datos y directorio de trabajo. Esto significa que el objeto creado por una sola conexión nunca afecta a otras conexiones. Además, cada conexión puede producir archivos locales, como las imágenes creadas por el dispositivo de mapa de bits Rserve, sin interferir con otras conexiones. Cada aplicación puede abrir múltiples conexiones para manejar tareas paralelas.

La transferencia de datos entre la aplicación y Rserve se realiza en forma binaria para obtener velocidad y minimizar la suma de los datos transferidos. Los objetos intermedios se almacenan en Rserve, por lo que sólo es necesario transferir los elementos de interés al cliente

Además de comunicarse con el kernel de R, Rserve también cuenta con protocolos integrados de autenticación y transferencia de archivos que hacen que Rserve sea adecuado para su uso en máquinas individuales. La autenticación del usuario se proporciona para añadir una capa de seguridad para el uso remoto. La transferencia de archivos permite copiar los archivos necesarios para el cálculo o la producción de R del cliente al servidor y viceversa.

Actualmente Rserve soporta dos grupos principales de comandos para comunicarse con R: crear objetos en R y evaluar el código de R. La mayoría de los objetos básicos, como los números, las cadenas o los vectores, pueden crearse por adición directa. El contenido de los objetos se envía en forma binaria del cliente al servidor.

Esto proporciona una forma eficaz de transportar los datos necesarios para la evaluación. Todos los objetos se transfieren siempre por valor para separar los espacios de datos del cliente y del servidor. De este modo, tanto el cliente como el servidor son libres de deshacerse de los datos en cualquier momento, lo que evita los fallos catastróficos inherentes a otros métodos de comunicación en los que los sistemas comparten los mismos datos físicamente.

El segundo gran grupo de comandos es la evaluación del código R. A diferencia de la creación de un objeto, dicho código se envía en texto claro a Rserve y se maneja como si el código se hubiera introducido en la consola en R. El objeto de evaluación resultante puede devolverse en forma binaria al cliente si es necesario. La mayoría de los tipos de R están soportados, incluyendo números escalares, cadenas, vectores, listas (por lo tanto, clases, marcos de datos, etc.), objetos léxicos, etc. Esto permite a Rserve devolver todos los modelos al cliente. El cliente puede decidir no obtener ningún objeto que le sea útil estableciendo objetos intermedios en R que no estén directamente relacionados con el cliente.

Rserve proporciona dos servicios básicos de gestión de errores. Los tres posibles resultados de la evaluación son una evaluación exitosa, un error de ejecución por error del analizador sintáctico y un error de código. El estado siempre regresa a la aplicación cliente para permitir la acción apropiada. Dado que Rserve es sólo una capa entre la aplicación y R, todavía es posible influir en el manejo de un error de ejecución en el propio R, por ejemplo, con una opción errónea o un comando de intento.

Un uso típico de las herramientas de Rserve es cargar todos los datos necesarios en R, realizar cálculos de acuerdo con la entrada del usuario, como la construcción de un modelo, y pasar los resultados de vuelta a la aplicación para su visualización. Todos los datos y objetos son persistentes hasta que se cierra la conexión. Esto permite a la aplicación abrir la conexión con antelación, por ejemplo, cuando el usuario ha especificado por primera vez un conjunto de datos, transferir todos los datos necesarios al servidor y responder a la entrada del usuario calculando rápidamente los modelos o estimaciones deseados. Como los resultados no están en forma de texto, no hay un tedioso análisis de los resultados.

La interfaz de Rserve es modular y está documentada, lo que permite acceder a Rserve desde cualquier lenguaje de aplicación o de programación que admita sockets, incluidos los lenguajes de scripting y programación actuales. Hemos implementado el cliente para Rserve en Java puro, que se comunica a través de una interfaz con la mayoría de las instalaciones de Rserve y mapea todos los objetos disponibles para Rserve en sus propios objetos o clases Java. El uso del cliente Java se ilustra en la sección a modo de ejemplo.


Existe un paqueteJava que da acceso a este servidor.

Si reescribimos este paquete desdeJava a MKL4...., obtendremos un acceso real a R desde EA