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

 
SanSanych Fomenko:

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ómputo, 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 reescribiéramos este paquete deJava a MKL4.... obtendríamos un acceso real a R desde los EAs

Hay un artículo sobre el tema. Pruébalo. Me siento cómodo con todo a través de R.
 
SanSanych Fomenko:


Existe un paqueteJava que da acceso a este servidor.

Si reescribimos este paquete deJava a MKL4.... entonces tendríamos acceso real a R desde el EA

¡Gran dominio del inglés!

Bueno, coge el paquete y reescríbelo...

¿Problema?

 

SanSanych.

No has traducido la parte de los sistemas Windows. Debido a esta excepción, he utilizado RServer.

 

¿Alguien sabe por qué ya no es posible descargar las cotizaciones de finam?

library(rusquant)
getSymbols("SPFB.RTS",src = "Finam",period="5min",from = Sys.Date()-1)
Error in download.file(stock.URL, destfile = tmp, quiet = !verbose) :
  cannot open URL 'http://195.128.78.52/table.csv?d=d&market=1&f=table&e=.csv&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&at=1&p=3&em=17455&df=14&mf=11&yf=2016&dt=15&mt=11&yt=2016&cn=SPFB.RTS&datf=1'
In addition: Warning message:
In download.file(stock.URL, destfile = tmp, quiet = !verbose) :
  InternetOpenUrl failed: 'Не удается установить связь с сервером'
 
mytarmailS:

¿Alguien sabe por qué ya no es posible descargar las cotizaciones de finam?

library(rusquant)
getSymbols("SPFB.RTS",src = "Finam",period="5min",from = Sys.Date()-1)
Error in download.file(stock.URL, destfile = tmp, quiet = !verbose) :
  cannot open URL 'http://195.128.78.52/table.csv?d=d&market=1&f=table&e=.csv&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&at=1&p=3&em=17455&df=14&mf=11&yf=2016&dt=15&mt=11&yt=2016&cn=SPFB.RTS&datf=1'
In addition: Warning message:
In download.file(stock.URL, destfile = tmp, quiet = !verbose) :
  InternetOpenUrl failed: 'Не удается установить связь с сервером'

Lo más probable es que la ip del servidor haya cambiado, te escribe -el servidor no está disponible y no hace ping.

Intenta sustituirlo por la ip 78.41.196.47 o incluso más sencillo prescribiendo export.finam.ru

funciona en su navegador

78.41.196.47/table.csv?d=d&market=1&f=table&e=.csv&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&at=1&p=3&em=17455&df=14&mf=11&yf=2016&dt=15&mt=11&yt=2016&cn=SPFB.RTS&datf=1
 
mytarmailS:

¿alguien sabe por qué ya no se pueden descargar las cotizaciones de finam?

Lo siento, he tenido que actualizar el paquete, algo ha cambiado allí....

tonto...

 
Vladimir Perervenko:
Hay un artículo sobre el tema. Pruébalo. Me siento cómodo con todo a través de R.
¿Puede darme un ejemplo concreto?
 
Vladimir Perervenko:

SanSanych.

No has traducido la parte de los sistemas Windows. Debido a esta excepción, he utilizado RServer.

RServer no está disponible para la versión 3.3.2
 
mytarmailS:

Lo siento, debería haber actualizado el paquete, algo ha cambiado allí....

tonto...

Citas de calidad de aquí
Архив котировок - GKFX
Архив котировок - GKFX
  • www.gkfx.ru
Довольно часто трейдеры сталкиваются с необходимостью получить архив котировок по тому или иному торговому инструменту за определенный исторический период. Архив котировок позволяет протестировать механические/автоматические торговые системы ("эксперты") на исторических данных и оптимизировать торговые стратегии. В данном разделе сайта Вы...
 
SanSanych Fomenko:
Citas de calidad de aquí
No quiero archivos, quiero tiempo real