Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1550

 
forexman77:

Почему, как я понимаю и так знаю. Хотелось бы услышать, другие как думают на этот счет?

потому что сл. лес не умееэ экстраполировать

масштабировать данные нужно, например приращения

или брать какие-то флэтовые рынки, если просто цена будет как фича
 
Maxim Dmitrievsky:

потому что сл. лес не умееэ экстраполировать

Это Вы имеете ввиду, как ARIMA, когда предсказываются несколько значений вперед?

У меня каждое предсказание, только на один бар вперед(в курсе, что лес не работает с тайм серией). Пробовал еще делать так: предсказанный бар  добавлялся и от старых отнимался один бар сзади и так пройтись циклом, чтобы

предсказать наперед несколько баров скользящим окном с периодом заменяя выбывший бар предсказанным.

Так там вообще получается первый и второй предсказанные бары повторяются.

Вот, как обучается, что на гифке:

    def on_press(self, event):
        if event.xdata!=None and event.xdata>=1:
           index = int(event.xdata)
           index_ = ind[index:index + 30]
           if self.ln != 0:
               self.ln.remove()
           X = z[index - 31:index]
           X1 = z[index-1:index + 29]
           X=X.reshape(-1, 1)
           X1 = X1.reshape(-1, 1)
           y = z[index - 30:index + 1]
           regr = RandomForestRegressor(max_depth=5, random_state=0, n_estimators=10)
           regr.fit(X, y)
           y_1 = regr.predict(X1)

           self.ln, = self.ax.plot(index_, y_1, color='red')
 
forexman77:

Это Вы имеете ввиду, как ARIMA, когда предсказываются несколько значений вперед?

в регрессионных моделях признаки просто домножаются на коэффициенты, поэтому при выходе за границы обучающих данных все работает

лес сплитит листья, которые имеют предельные значения как сверху так и снизу, по диапазону обучающих данных. Если новые данные выходят за этот диапазон, то лес показывает значения крайних листьев, которые знает.

поэтому у вас прямая линия, потому что лес показывает крайние известные ему значения
 
Maxim Dmitrievsky:

почему просто какой-нибудь тестер не взять zipline например. В чем преимущество?

тогда и в МТ5 не надо гонять ничего, тогда и dll особо не нужна

MLflow уже на Питоне. Можешь в нем результат zipline хранить.

Торговую стратегию все равно будешь в тестере МТ5 проверять , потому что в нем больше возможностей.

 
Maxim Dmitrievsky:

в регрессионных моделях признаки просто домножаются на коэффициенты, поэтому при выходе за границы обучающих данных все работает

лес сплитит листья, которые имеют предельные значения как сверху так и снизу, по диапазону обучающих данных. Если новые данные выходят за этот диапазон, то лес показывает значения крайних листьев, которые знает.

поэтому у вас прямая линия, потому что лес показывает крайние известные ему значения

Ну, да в принципе, как вариант предсказывать приращения и их плюсовать к начальному бару и так пройтись на нужную глубину.

Почему спросил, потому что лесу не обязательно нормировать данные, а оно вон как выходит.

 
forexman77:

Ну, да в принципе, как вариант предсказывать приращения и их плюсовать к начальному бару и так пройтись на нужную глубину.

Почему спросил, потому что лесу не обязательно нормировать данные, а оно вон как выходит.

ну в случае нестационарных временных рядов обязательно, хотя бы привести их к какому-то разумному диапазону, за который они не будут выходить какое-то время

только надо учитывать, что чем сильнее дифференцирование тем больше потеря информации

поэтому это палка о двух концах - и исходный ряд не сильно подходит и приращения с единичным лагом не очень, т.к. теряют очень много инфы

инфа теряется именно о смещении среднего во времени, и никак иначе. В своих супер матершиннх покастах я пытаюсь объяснять это доступным языком

 
Roffild:

MLflow уже на Питоне. Можешь в нем результат zipline хранить.

Торговую стратегию все равно будешь в тестере МТ5 проверять , потому что в нем больше возможностей.

ну может пригодится попозже, спасибо

 
1
 
Maxim Dmitrievsky:

в регрессионных моделях признаки просто домножаются на коэффициенты, поэтому при выходе за границы обучающих данных все работает

лес сплитит листья, которые имеют предельные значения как сверху так и снизу, по диапазону обучающих данных. Если новые данные выходят за этот диапазон, то лес показывает значения крайних листьев, которые знает.

поэтому у вас прямая линия, потому что лес показывает крайние известные ему значения
горизонтальная линия скорее от того, что в истории, в подобной ситуации, были как движения вверх, так и движения вниз в примерно одинаковой пропорции, что при усреднении дает горизонталь т.е. 50/50.
 
elibrarius:
горизонтальная линия скорее от того, что в истории, в подобной ситуации, были как движения вверх, так и движения вниз в примерно одинаковой пропорции, что при усреднении дает горизонталь т.е. 50/50.

оригинальная версия, но нет