Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 252

 
SanSanych Fomenko:

Python ist großartig, aber Sie brauchen MKL4.

Es gibt einRserve-Paket. Hier ist meine Übersetzung des Kommentars

Rserve ist ein TCP/IP-Server, der es anderen Programmen ermöglicht, R-Tools aus anderen Sprachen zu verwenden, ohne R initialisieren oder mit einer R-Bibliothek verknüpfen zu müssen.Jede Verbindung hat einen eigenen Arbeitsbereich und ein eigenes Arbeitsverzeichnis. Client-Implementierungen sind für gängige Sprachen wie C/C++ und Java verfügbar. Rserve unterstützt Fernverbindung, Authentifizierung und Dateiübertragung.

Das Hauptziel von Rserve ist es, eine Schnittstelle bereitzustellen, die von Anwendungen genutzt werden kann, um Berechnungen in R durchzuführen. Unsere Erfahrung mit anderen Kommunikationsmitteln hat gezeigt, dass bei der Entwicklung eines neuen Systems vor allem drei Dinge zu beachten sind: Trennung, Flexibilität und Geschwindigkeit.

Es ist wichtig, das R-System von der eigentlichen Anwendung zu trennen. Ein Grund dafür ist, jegliche Abhängigkeit von der Programmiersprache der Anwendung zu vermeiden, da die eigene direkte Schnittstelle zu R (Chambers, 1998) nur mit C anwendbar ist (R Working Group Development, 2003). Ein weiterer Aspekt ist die Tatsache, dass eine enge Integration mit R fehleranfälliger ist, da die Anwendung die Interna von R berücksichtigen muss. Auf der anderen Seite wollen Anwendungsentwickler, dass die Schnittstelle sehr flexibel ist und die meisten Funktionen von R nutzt. Schließlich ist die Geschwindigkeit ein Schlüsselelement, denn das Ziel ist es, dem Benutzer schnell die gewünschten Ergebnisse zu liefern, ohne dass er eine R-Sitzung von Grund auf neu beginnen muss.

Das Client-Server-Konzept ermöglicht es uns, alle drei Hauptanforderungen zu erfüllen. Die Berechnungen werden vom Rserve-Kern, dem Server, durchgeführt, der auf Anfragen von Clients wie Anwendungen antwortet. Die Kommunikation zwischen Rserve und dem Client erfolgt über Netzwerk-Sockets, in der Regel TCP/IP, aber auch andere Varianten sind möglich. Dies ermöglicht die Nutzung eines zentralen Rserve von entfernten Computern aus, die Nutzung mehrerer Rserve durch einen entfernten Client zur Verteilung der Berechnungen, aber auch die lokale Kommunikation auf einem einzelnen Rechner.

Ein einzelner Rserve kann mehrere Kunden gleichzeitig bedienen. Jede Rserve-Verbindung erhält ihren eigenen Datenbereich und ihr eigenes Arbeitsverzeichnis. Das bedeutet, dass das von einer einzelnen Verbindung erzeugte Objekt keine Auswirkungen auf andere Verbindungen hat. Darüber hinaus kann jede Verbindung lokale Dateien, wie z. B. vom Rserve-Bitmap-Geräterstellte Bilder, erzeugen , ohne andere Verbindungen zu stören. Jede Anwendung kann mehrere Verbindungen öffnen, um parallele Aufgaben zu erledigen.

Die Datenübertragung zwischen der Anwendung und dem Rserve erfolgt in binärer Form, um Geschwindigkeit zu erreichen und die Summe der übertragenen Daten zu minimieren. Zwischengeschaltete Objekte werden in Rserve gespeichert, so dass nur die für den Kunden interessanten Objekte übertragen werden müssen.

Rserve kommuniziert nicht nur mit dem R-Kernel, sondern verfügt auch über integrierte Authentifizierungs- und Dateiübertragungsprotokolle, die Rserve für den Einsatz auf einzelnen Rechnern geeignet machen. Die Benutzerauthentifizierung bietet eine zusätzliche Sicherheitsebene für die Fernnutzung. Die Dateiübertragung ermöglicht das Kopieren von Dateien, die für die Berechnung oder die Produktion von R benötigt werden, vom Client zum Server und umgekehrt.

Rserve unterstützt derzeit zwei Hauptgruppen von Befehlen für die Kommunikation mit R: die Erstellung von Objekten in R und die Auswertung von R-Code. Die meisten grundlegenden Objekte wie Zahlen, Zeichenketten oder Vektoren können durch direkte Addition erstellt werden. Der Inhalt von Objekten wird in binärer Form vom Client zum Server gesendet.

Dies ermöglicht einen effizienten Transport der für die Auswertung erforderlichen Daten. Alle Objekte werden immer wertmäßig übertragen, um den Datenraum von Client und Server zu trennen. Auf diese Weise können sowohl der Client als auch der Server die Daten jederzeit loswerden, was katastrophale Ausfälle verhindert, wie sie bei anderen Kommunikationsmethoden auftreten, bei denen die Systeme dieselben Daten physisch teilen.

Die zweite große Befehlsgruppe ist die R-Code-Auswertung. Im Gegensatz zur Erstellung eines Objekts wird ein solcher Code im Klartext an Rserve gesendet und so behandelt, als ob der Code an der Konsole in R eingegeben worden wäre. Das resultierende Auswertungsobjekt kann bei Bedarf in binärer Form an den Client zurückgegeben werden. Die meisten R-Typen werden unterstützt, darunter skalare Zahlen, Zeichenketten, Vektoren, Listen (also Klassen, Datenrahmen usw.), lexikalische Objekte usw. Dadurch kann Rserve alle Modelle an den Kunden zurückgeben. Der Kunde kann beschließen, keine nützlichen Objekte zu erhalten, indem er Zwischenobjekte in R einrichtet, die nicht direkt mit dem Kunden verbunden sind.

Rserve bietet zwei grundlegende Dienste zur Fehlerbehandlung. Die drei möglichen Auswertungsergebnisse sind eine erfolgreiche Auswertung, ein Laufzeitfehler durch Parserfehler und ein Codefehler. Der Status kehrt immer zur Client-Anwendung zurück, um die entsprechende Aktion zu ermöglichen. Da Rserve nur eine Schicht zwischen Anwendung und R ist, ist es immer noch möglich, die Behandlung eines Laufzeitfehlers in R selbst zu beeinflussen, z.B. durch eine fehlerhafte Option oder einen fehlerhaften Befehl.

Ein typischer Einsatz der Rserve-Tools besteht darin, alle erforderlichen Daten in R zu laden, Berechnungen entsprechend den Benutzereingaben durchzuführen, wie z. B. die Konstruktion von Modellen, und die Ergebnisse zur Anzeige an die Anwendung zurückzugeben. Alle Daten und Objekte bleiben bestehen, bis die Verbindung geschlossen wird. Dies ermöglicht es der Anwendung, die Verbindung frühzeitig zu öffnen, z. B. wenn der Benutzer zum ersten Mal einen Datensatz angibt, alle erforderlichen Daten an den Server zu übertragen und auf Benutzereingaben zu reagieren, indem die gewünschten Modelle oder Schätzungen umgehend berechnet werden. Da die Ergebnisse nicht in Textform vorliegen, entfällt das mühsame Parsen der Ergebnisse.

Die Schnittstelle zu Rserve ist modular und dokumentiert und ermöglicht den Zugriff auf Rserve von jeder Anwendungs- oder Programmiersprache, die Sockets unterstützt, einschließlich der gängigen Skript- und Programmiersprachen. Wir haben den Client für Rserve in reinem Java implementiert, der über eine Schnittstelle mit den meisten Rserve-Funktionen kommuniziert und alle für Rserve verfügbaren Objekte in eigenen Java-Objekten oder -Klassen abbildet. Die Verwendung des Java-Clients wird in diesem Abschnitt als Beispiel dargestellt.


Es gibt einJava-Paket, das den Zugang zu diesem Server ermöglicht.

Wenn wir dieses Paket vonJava nach MKL4.... umschreiben würden,bekämen wir echten Zugang zu R von den EAs aus

Es gibt einen Artikel zu diesem Thema. Versuchen Sie es. Ich fühle mich wohl mit allem, was R betrifft.
 
SanSanych Fomenko:


Es gibt einJava-Paket, das den Zugang zu diesem Server ermöglicht.

Wenn wir dieses Paket vonJava auf MKL4.... umschreiben würden, hätten wir echten Zugang zu R aus dem EA

Sehr gute Englischkenntnisse!

Man nehme das Paket und schreibe es um...

Ein Problem?

 

SanSanych.

Sie haben den Teil über Windows-Systeme nicht übersetzt. Wegen dieser Ausnahme habe ich RServer verwendet.

 

Weiß jemand, warum es nicht mehr möglich ist, Zitate von finam herunterzuladen?

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:

Weiß jemand, warum es nicht mehr möglich ist, Zitate von finam herunterzuladen?

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: 'Не удается установить связь с сервером'

Höchstwahrscheinlich hat sich die Server-IP geändert, er schreibt Ihnen, dass der Server nicht verfügbar ist und nicht gepingt wird.

Versuchen Sie, es mit der IP 78.41.196.47 zu ersetzen oder noch einfacher export.finam.ru zu verschreiben

es funktioniert in Ihrem Browser

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:

Weiß jemand, warum die Zitate nicht mehr von Finam heruntergeladen werden können?

Entschuldigung, ich musste gerade das Paket aktualisieren, da hat sich etwas geändert....

Dumm...

 
Vladimir Perervenko:
Es gibt einen Artikel zu diesem Thema. Versuchen Sie es. Ich fühle mich wohl mit allem, was R betrifft.
Können Sie mir ein konkretes Beispiel nennen?
 
Vladimir Perervenko:

SanSanych.

Sie haben den Teil über Windows-Systeme nicht übersetzt. Wegen dieser Ausnahme habe ich RServer verwendet.

RServer ist für Version 3.3.2 nicht verfügbar
 
mytarmailS:

Entschuldigung, ich hätte einfach das Paket aktualisieren sollen, da hat sich etwas geändert....

Dumm...

Einige Qualitätszitate von hier
Архив котировок - GKFX
Архив котировок - GKFX
  • www.gkfx.ru
Довольно часто трейдеры сталкиваются с необходимостью получить архив котировок по тому или иному торговому инструменту за определенный исторический период. Архив котировок позволяет протестировать механические/автоматические торговые системы ("эксперты") на исторических данных и оптимизировать торговые стратегии. В данном разделе сайта Вы...
 
SanSanych Fomenko:
Eine Art von Qualitätszitaten von hier
Ich will keine Archive, ich will Echtzeit