Machine learning in trading: theory, models, practice and algo-trading - page 251

 
Top2n:

What's R?

Here's the Russian

R is an algorithmic language, which is not very interesting. The most interesting: R is statistical software and graphs.

Although as an algorithmic language R and not very interesting, nevertheless among the algorithmic languages of general purpose it occupies a solid 5th place

Here's a picture.

R is a division of Microsoft. You have to download it from here.

R itself consists of two parts: the algorithmic language and packages.

Here is a list of packages alphabetically. Here you have Fourier and wavelets and a lot (even a lot) of other stuff.

Here is a grouping of packages listed in the previous link by thematic directions.

When you see all this, don't be scared. It's an extremely handy system.

1. The R language itself is very advanced, but the first minimum can be mastered in a couple of hours, if you own at least MKL

2. R is an interpreter, so it is extremely easy to debug. You can always try one or more lines. Installation and execution of the first lines of code will take half an hour at most.

The sheer number of packages doesn't make it hard to use, because all you need to do is find a package you're interested in, for example for wavelets, find a function in it and run it. Usually it's one or more lines.

At the "try" level, everything is extremely simple.

Good luck.

Tufte in R (примеры для всех вариантов графических подсистем R)
  • 2016.12.03
  • p2004r
  • r-statistics.livejournal.com
Классическая книга о отображении количественных данных в графическом виде получила сборник открытых примеров реализации рецептов отображения информации на языке R. Книга (надо покупать) https://www.edwardtufte.com/tufte/books_vdqi...
 
ivanivan_11:
No one tried to apply knowledge in this area to predicting bets on sports - tennis, soccer, etc.? Or to write bots for poker/pref?

Is there any large sample???

or any sample at all...?

same thing...?

 
mytarmailS:

Is there any large sample???

or any sample at all...?

the same thing...

If you don't have one, it doesn't mean there aren't any. There is an online resource for neural network-based tennis predictions. According to them more than 800k match results have been analyzed.

In general, even IBM and small businesses don't hesitate to present such projects.

For poker, I think, it is also possible to find the results of different tournaments.

same thing...

 
ivanivan_11:

If you don't have it, it doesn't mean you don't have it at all. there is an online resource for predicting tennis based on neural networks. according to them more than 800k match results have been analyzed.

For poker, I think, you can also find the results of different tournaments.

same thing...

))) well teach, good luck ))))
 
ivanivan_11:

If you don't have it, it doesn't mean you don't have it at all. there is an online resource for predicting tennis based on neural networks. according to them more than 800k match results have been analyzed.

For poker, I think, you can also find the results of different tournaments.

same thing...

To me predictability will depend on the composition of the participants. If the entire lineup changes, then all the accumulated stats can be thrown away.
 
ivanivan_11:
I'm not sure what to do with them, but I'm sure they'll be able to make a good prediction if they do it.

In my opinion, in poker machine learning will be too complicated and incomprehensible, it is a game with closed information.

But simple statistics should be enough to win.

Knowing your own and common cards - you can go through the options of your opponents' cards and estimate your chance of winning. Further, based on the money invested (own and opponents) - estimate whether the next move pays off. Also, you can add a simulation of events for a few moves in advance, to evaluate thousands of different possible situations, and calculate the average profit. Correction coefficients for bluffing and bad luck. Plus profiling opponents to know their tendency to bluff. That should do the trick.

 
First of all you need what is not there, you need a sample
 
fxsaber:
On Python.

Complicated and obsolete.

Through "PythonInR" any .py code is executed without problems.

By the way, for debugging in RStudio NotebookR executes Python code as native.

Good luck

 
Vladimir Perervenko:

Complicated and obsolete.

Through "PythonInR" any .py code is executed without problems.

By the way, for debugging in RStudio NotebookR executes Python code as native.

Good luck

Python is great, but you need MKL4.

There is theRserve package.Here is my translation of the annotation

Rserve is a TCP/IP server which allows other programs to use R tools from different languages without having to initialize R or link to an R library. Each connection has a separate workspace and working directory. Client implementations are available for popular languages such as C/C++ and Java. Rserve supports remote connection, authentication and file transfer.

The main goal of Rserve is to provide an interface that can be used by applications to do calculations in R. Our experience with other modes of communication has shown that there are three main things to consider when developing a new system: separation, flexibility, and speed.

It is important to separate the R system from the application itself. One reason is to avoid any dependence on the application programming language, since the own direct interface to R (Chambers, 1998) is only applicable from the C language (R Working Group Development, 2003). Another aspect comes from the fact that close integration with R is more error-prone, because the application must take into account the internals of R. On the other hand, application developers want the interface to be very flexible and to use most of R's facilities. Finally, speed is a key element because the goal is to provide the user with the desired results quickly without having to start an R session from scratch.

The client-server notion allows us to satisfy all three key requirements. Computation is done by the Rserve core, which is the server, responding to requests from clients such as applications. Communication between Rserve and the client is done through network sockets, usually over TCP/IP, but other changes are also possible. This allows the use of a central Rserve from remote computers, the use of multiple Rserve by a remote client to distribute computation, but also local communication on a single machine.

A single Rserve can serve multiple clients at the same time. Each Rserve connection gets its own data space and working directory. This means that the object created by a single connection never affects other connections. Additionally, each connection can produce local files, such as images created by the Rpaging device , without interfering with other connections. Each application can open multiple connections to handle parallel tasks.

The data transfer between the application and Rserve is done in binary form to get the speed and minimize the sum of the transferred data. Intermediate objects are stored in Rserve, so only items of interest need to be transferred to the client

In addition to communicating with the R kernel, Rserve also has integrated authentication and file transfer protocol, which makes Rserve suitable for use on individual machines. User authentication is provided to add a layer of security for remote use. File transfer allows the copying of files needed for computation or produced R from the client to the server and vice versa.

Rserve currently supports two main groups of commands for communicating with R: creating objects in R and evaluating R code. Most basic objects such as numbers, strings or vectors can be created through direct addition creation. The content of objects is sent in binary form from the client to the server.

This provides an efficient way to transport the data needed for evaluation. All objects are always transferred by value to separate the client and server data spaces. In this way, both client and server are free to get rid of the data at any time, preventing the catastrophic failures that are inherent from other communication methods where systems share the same data physically.

The second major command group is R code evaluation. As opposed to creating an object, such code is sent in open text to Rserve and handled as if the code had been entered at the console in R. The resulting evaluation object can be passed back in binary form to the client if required. Most R types are supported, including scalar numbers, strings, vectors, lists (hence classes, data frames, etc.), lexical objects, etc. This allows Rserve to return all models back to the client. The client can decide not to get any objects that are useful by setting up intermediate objects in R that are not directly related to the client.

Rserve provides two basic error handling services. The three possible evaluation results are a successful evaluation, a runtime error on a parser error, and a code error. The state always returns to the client application to allow the appropriate action. Since Rserve is just a layer between the application and R, it is still possible to influence the handling of a runtime error in R itself, for example with an erroneous option or attempt command.

A typical use of Rserve tools should load all necessary data into R, perform calculations according to user input, such as model construction, and pass the results back to the application for display. All data and objects are persistent until the connection is closed. This allows the application to open the connection early, such as when the user first specifies a data set, pass all necessary data to the server, and respond to user input with prompt calculations of the desired models or estimates. Since the results are not in text form, there is no tedious parsing of results.

The interface to Rserve is modular and documented, giving access to Rserve from any application language or programming language that supports sockets, including current scripting and programming languages. We have implemented a client for Rserve in pure Java, which communicates through an interface to most Rserve facilities and maps all objects available in Rserve into native Java objects or classes. The use of the Java client is illustrated in the section as an example.


There is aJava packagethat gives access to this server.

If we rewrite this package fromJava to MKL4.... we would get a real access to R from EAs