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

 
Aleksey Terentev:
If something is unclear, please do not hesitate to contact me. I have not made comments. The system should be adjusted before the start.


Offtop. Who knows why server 136 gives out an error. Close stops?

Look at the output of your server for a friezelevel or stoplevel request.

SymbolInfoInteger()

SYMBOL_TRADE_STOPS_LEVEL

Minimum step back in points from the current close price for placing a Stop order

int

SYMBOL_TRADE_FREEZE_LEVEL

Trading operations freezing distance (in points)

 
Alexander_K2:

I'm sorry, Sorcerer... On the way to the Grail, I started making a fuss...

Aleksey Terentev - thank you!

He's no Sorcerer..... but a simple Trickster! Please don't confuse......

 
Alexander_K2:
Gentlemen! Can someone give me an example of of a real deal, based on the forecast NS? Even an unsuccessful one, but with a full description - how many inputs, what's on the input, what's on the output, prediction depth, etc.

I haven't brought this model to real yet, here's the tester's stats for now.

Training on 10000 bars eurusd m5, forecast depth = 1 bar forward. On every new bar after the forecast either leaves the old position or opens in the opposite direction, all without stops or takeovers.
It looks sad, the average loss per transaction is -0.02 dollars. But the random trade in the tester was about -0.04 per transaction. So, I would get $0.02 per trade with this Expert Advisor without spread and commissions. It is still saved in the forward mode; I even found better results than on the backtest for some reason. And even the percentage of winning trades is >55%. It's all pretty tempting, but so far I'm stuck at that limit. Hopefully neuronka will climb out of that hole someday.

Neuronka takes price increments (open[0]-open[1], open[1]-open[2], etc.) and its past forecast (total 6 inputs), there are 100 neurons in hidden layer. Returns forecast of price increase per new bar.
Estimate MAE = 0.00019 (the average forecast is wrong by 19 pips). Estimate R2 = 0.001124151.

It's funny that gbm may give similar results even without recursion.


 
Dr. Trader:

This model has not brought to reality yet, here is the state from the tester so far.

Training on 10000 bars eurusd m5, prediction depth = 1 bar forward. On every new bar after the forecast either the old position remains or opens in the opposite direction, all without stops and takeoffs.
It looks sad, the average loss per transaction is -0.02 dollars. But the random trade in the tester was about -0.04 per transaction. So, I would get $0.02 per trade with this Expert Advisor without spread and commissions. And it is still working at forward; somehow my luck is better than on the backtest. And even the percentage of winning trades is >55%. It's all pretty tempting, but so far I'm stuck at that limit. Hopefully neuronka will climb out of that hole someday.

Neuronka takes price increments (open[0]-open[1], open[1]-open[2], etc.) and its past forecast (total 6 inputs), there are 100 neurons in hidden layer. Returns forecast of price increase per new bar.
Estimate MAE = 0.00019 (the forecast is wrong on average by 19 pips). R2 estimate = 0.001124151.

It's funny that with gbm you can get similar results even without recursion.


It's no coincidence that I asked about NS inputs.

How can you predict anything if your inputs are junk?

This is an extremely important, conceptual point.

Listen carefully to what I'm about to say.

NS will only work when something is fed to the input, distributed exponentially. Time! You're forgetting time, my friends. Old Gunn would have dragged you all by the ears.

The time between events (quotes) must be exponential, and the quotes stream in the observation window must be Poisson.

We must make every effort for it to be so, at least in the first approximation.

Look at the EURUSD pair right now


To the right is the quotes intensity in the sliding window = 4 hours. Do you see a Poisson distribution there? It is not there. How is it possible to predict anything, huh?

And you CANNOT use the tick archive to make predictions!!! It has to be converted to the right form.

 
Alexander_K2:

It's no accident that I asked about the NS inputs.

How can you predict anything if your inputs are junk?

This is an extremely important, conceptual point.

Listen carefully to what I'm about to say.

The NS will only work when something distributed exponentially will be fed to the input. Time! You're forgetting time, my friends. Old Gunn would have dragged you all by the ears.

The time between events (quotes) must be exponential, and the quotes stream in the observation window must be Poisson.

We must make every effort for it to be so, at least in the first approximation.

Look at the EURUSD pair right now


To the right is the quotes intensity in the sliding window = 4 hours. Do you see a Poisson distribution there? It is not there. How is it possible to predict anything, huh?

And you CANNOT use the tick archive to make predictions!!! It has to be converted to the right form.

Mister, please justify your statement.

I.e., based on what considerations is this conclusion drawn?

 
Alexander_K2:

It's no accident that I asked about the NS inputs.

How can you predict anything if your inputs are junk?

This is an extremely important, conceptual point.

Listen carefully to what I'm about to say.

NS will only work when something is fed to the input , distributed exponentially. Time! You're forgetting time, my friends. Old Gunn would have dragged you all by the ears.

The time between events (quotes) must be exponential, and the quotes stream in the observation window must be Poisson.

We must make every effort for it to be so, at least in the first approximation.

Look at the EURUSD pair right now


To the right is the quotes intensity in the sliding window = 4 hours. Do you see a Poisson distribution there? It is not there. How is it possible to predict anything, huh?

And you CANNOT use the tick archive to make predictions!!! It has to be converted to the right form.

Unfortunately I can't agree with this statement. At the input of NS it's necessary to feed such values which are the cause for the price, and what kind of distribution they will have, it's absolutely unimportant. Because the found model, even if it has a non-Poisson distribution of inputs, will work in the future, because the nature of the input data will be the cause for the output.

And I agree with the statement that the more we transform the input data, the worse it becomes. The data should be taken as it is, without change. Unless minimum normalization by lag subtraction. Any other complication of input calculation leads to loss of notorious alpha and possibility of forecasting. IMHO of course. So... thoughts aloud.....

 
Renat Akhtyamov:

Mister, please justify the emphasis.

So, on what grounds is this conclusion drawn?

Consider this as a truth that requires no proof.

This is the point no one takes into account, and everyone, exhausted and destitute, falls over in fatigue. What a pity! So many smart people are as poor as church mice simply because they don't know how to prepare data. What do you want to find in the archives? Have you ever looked at the time between ticks? The intensity of the trades? I'm sure you haven't.

 
Mihail Marchukajtes:

Unfortunately I cannot agree with this statement. To the input of NS it is necessary to supply such values, which are the cause for the price, and what distribution they will have is absolutely unimportant. Because the found model, even if it has a non-Poisson distribution of inputs, will work in the future, because the nature of the input data will be the cause for the output.

And I agree with the statement that the more we transform the input data, the worse it becomes. The data should be taken as it is, without change. Unless minimum normalization by lag subtraction. Any other complication of input calculation leads to loss of the proverbial alpha and the possibility of forecasting. IMHO of course. So... thoughts aloud.....

No, Mikhail! Until there is no point in time between the quotes, this problem will not be solved.

 
Alexander_K2:

Consider this as a truth that requires no proof.

This is the point no one takes into account, and everyone, exhausted and destitute, falls over from fatigue. What a pity! So many smart people are as poor as church mice simply because they don't know how to prepare data. What do you want to find in the archives? Have you ever looked at the time between ticks? The intensity of the trades? I'm sure you haven't.

So the price is not a random value
 
Alexander_K2:

No, Mikhail! Until there is a point in time between quotes, this problem will not be solved.

Unfortunately, you don't make money in the market on a time scale. Therefore, the time itself does not play any role in the market. What is important is the change in the price scale that leads to profit or loss. One position can hold for 24 hours and earn pennies, while another can hold for minutes and earn more. Therefore, it is better to omit the fact of time in the market. The TS begins to behave very differently when the profile of levels of volume and delta is submitted for input. Thus, TS begins to look at the market from a different angle. As for the time, there's a very funny anecdote.

Estonian traders have invested money and started to push the market sideways :-)

We are not Estonian traders, so we are not interested in pushing the market sideways. That's why the time scale is not so interesting....

Reason: