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

 
toxic:

No, java is not interpreted language, it is translatable, like C#, translation happens once, the result is "byte code", which is executed by virtual machine, java and sysharp are slower than C++ not significantly, 1-2 times slower, depending on algorithm, optimization only on low (unsafe) level, due to pointer handling and competent memory allocation, when working with high level standard abstractions such as vector, list, etc. performance is comparable to java\c#. But python and R lose by dozens of times, sometimes by hundreds, if you write native algorithms, interpretation happens at runtime every time.

I wrote "sort of interpretable" in the sense of interpreting JVM into real machine code.
 

Feature selection

Application of the Lowess smoothing algorithm:
lowess_png

To filter outliers on data.
lowess_1_png

Delta, derivative, log derivative, detrending with ema and lowess:

mixed_png



 

Yuriy Asaulenko:
I wonder why not Python? Maybe the same R? I don't get it.

I don't get it:

I won't speak for Michael, he is able to argue his choice, but I can assume probably because python and R are interpreting high-level languages, they are like matlab or "math" rather an interface to a set of libraries, like a command line, than the languages themselves, for familiarization it is very cool, but in production when you need to fight with exclusive algorithms, no chance, it is like winning formula 1 on a scooter

When I will run out of experiments and I will need to write production code, I will use java or c++, so it's more a question of time, because I will have to study either pros or java, and python and R are just "for fun".

 
Google Colab Free GPU Tutorial – Deep Learning Turkey – Medium
Google Colab Free GPU Tutorial – Deep Learning Turkey – Medium
  • 2018.01.26
  • fuat
  • medium.com
Now you can develop deep learning applications with Google Colaboratory -on the free Tesla K80 GPU- using Keras, Tensorflow and PyTorch.
 
SanSanych Fomenko:

Look for VAR, VECM, the vars package, and in it, as always, references. Entry Boundaries by SETAR

Hooked it up, but google to help - literature and specific applications ....

If you get over the spread, maybe share. It's so beautiful without the spread, it's hard to take your eyes off it.


I read, in general, I've done such (similar) already and showed the increments. but I did it through RF. The residuals there are really less than the spread, often. With LR the residuals should be more serious (in pips), because RF too powerfully remembers all dependencies. But it's an interesting theme in itself, I got to it intuitively, not knowing that such models have already been invented :)


 

And examples of transactions, purely visually (I haven't checked with the bot yet)

Residuals seem to be distributed normally, but some cyclicality is not fully selected


 

And this is how the model breaks on the OOS... it recalculates every 50 bars and breaks again, almost immediately :)


 
Maxim Dmitrievsky:



For some reason you ignore tests, and cointegration is unthinkable without them. After all, the main idea of cointegration is to make trading decisions on a STATIONARY series, and such a series is predictable, unlike a non-stationary one. The test will provide evidence of predictability on history.
 
SanSanych Fomenko:
For some reason you ignore the tests, while cointegration is unthinkable without them. After all, the main idea of cointegration is to make trading decisions on a STATIONARY series, and such a series is predictable, as opposed to non-stationary. The test will provide evidence of predictability on history.

Well, see in the video how the STATIONARY series on the training sample turns into non-stationary one on the forward. Why make a bunch of tests when you can see everything

It's output there in standard deviations. On new data there are a lot of 3+ deviations indicating that the vector model does not work as well as the standard one.

I'll make another representation a bit later, it already looks a bit more interesting :)

 
SanSanych Fomenko:
For some reason you ignore the tests, while cointegration is unthinkable without them. After all, the main idea of cointegration is to make trading decisions on a STATIONARY series, and such a series is predictable, as opposed to non-stationary. The test will provide evidence of predictability on history.

Let's put it this way:

In the screenshot red is just increments with lag 55 of the current pair, green is approximation... hmm... let's call it vector non-linear autoregression (using increments of the current pair and another currency pair (GBPUSD), several different pieces). the predicted increments with lag 55 of the current pair, naturally, are not fed to the model input, but only to the output.

Everything looks fineon the history .

Then let's see in the video how the model works on the forward.

In the previous video with standard deviations it was not very clear: we took the difference between 2 curves and used it to calculate the deviations.