Forester #: Если бы не просадки по полгода, было бы хорошо. У меня они и до 2х лет доходили. При тесте с 2015г валкинг-форвардом.
ПС. Как вы все ночью можете работать? Днем самое эффективное время.
Да, результаты в лоб - никакие.
Но мне понравился факт работоспособности "реле": крутишь в одну сторону - шума (мусора) на форварде много, крутишь в другую - шума меньше, но хорошие сделки сильно не срезаются.
По моим прогнозам, единственная модель, которая сможет долго торговать в стабильный профит - это коллаборация CNN + BiLSTM + MLP
1) Сверточные сети лучше будут вычленять паттерны и обобщать. То есть, они будут делать предобработку входных данных.
2) Рекурентные будут работать с уже очищенными от мусора данными, а их модуль учета предыдущего состояния будет адаптироваться под изменяющийся рынок.
3) Ну а многослойный перцептрон просто будет учиться правилам торговли по нужным образом обработанным данным. Ведь он из всех троих самый скурпулезный.
При сильных изменениях в поведении валютной пары, рекурентные сети не дадут быстро слиться, а начнут постепенно приводить торговлю к флету, что даст отмашку к новому обучению всей системы.
Это мой субьективный взгляд на основании моего представления об этих методах.
Пока еще эту связку должным образом не крутил в руках
Опять же, учитывая, что все эти методы мусолились здешними профессионалами сотни раз, возможно я и ошибаюсь. С другой стороны, мы отошли от стандартного прогнозирования следующей свечи, чем обычно занимаются в статьях, в пользу шлифовки ТС. И может это и даст сдвиг.
Ivan Butko #: По моим прогнозам, единственная модель, которая сможет долго торговать в стабильный профит - это коллаборация CNN + BiLSTM + MLP
1) Сверточные сети лучше будут вычленять паттерны и обобщать. То есть, они будут делать предобработку входных данных.
2) Рекурентные будут работать с уже очищенными от мусора данными, а их модуль учета предыдущего состояния будет адаптироваться под изменяющийся рынок.
3) Ну а многослойный перцептрон просто будет учиться правилам торговли по нужным образом обработанным данным. Ведь он из всех троих самый скурпулезный.
При сильных изменениях в поведении валютной пары, рекурентные сети не дадут быстро слиться, а начнут постепенно приводить торговлю к флету, что даст отмашку к новому обучению всей системы.
Это мой субьективный взгляд на основании моего представления об этих методах.
Пока еще эту связку должным образом не крутил в руках
Опять же, учитывая, что все эти методы мусолились здешними профессионалами сотни раз, возможно я и ошибаюсь. С другой стороны, мы отошли от стандартного прогнозирования следующей свечи, чем обычно занимаются в статьях, в пользу шлифовки ТС. И может это и даст сдвиг.
... Но, так получается, что входные данные уже фактически несут в себе силовой фактор в лице своего количественного значения. ...
Образцы, каждый количеством n чисел, подаваемые на входы X[0 ... n-1] в процессе обучения, должны быть предварительно подготовлены (нормированы) таким образом, чтобы они были РАВНОСИЛЬНЫ между собой, при прочих равных условиях.
В контексте того, что значение Y на выходе мат.нейрона это сумма X[0]*W[0] + X[1]*W[1] + X[2]*W[2] + ... + X[n-1]*W[n-1], такой равносильности можно достичь только одним способом :
Суммы значений |X[0]| + |X[1]| + |X[2]| + ... + |X[n-1]| у всех обучающих образцов должны быть одинаковы.
Где в качестве "прочего равного условия" принимается W[n] равное X[n].
То есть, уже с учётом "прочего равного условия", два образца являются численно равносильными, если их суммы X[0]^2 + X[1]^2 + X[2]^2 + ... + X[n-1]^2 одинаковы.
Например :
Если в качестве пакета обучающих образцов используются некие участки цены по её приращениям X[n][k]=close[n][k]-open[n][k], где n это номер значения X, а k это номер образца,
то сумма значений |X[0][k]| + |X[1][k]| + |X[2][k]| + ... + |X[n-1][k]| означает длину пути кривой проделанной ценой в пределах данного образца k.
То есть, обучающие образцы k должны быть предварительно нормированы друг к другу, в физическом смысле данного примера, буквально по их длине пути кривой цены.
И вот уже теперь можно (и нужно) выполнить для них ещё одну нормировку, под диапазон не менее / не более -+1, путём деления всех X[n][k] на max, где max это максимальное |X[n][k]| найденное из всех X[n][k].
А уже потом, в процессе обучения, эти нормированные образцы X[0 ... n-1][k] подаются как обучающие примеры, каждый имеющий собственную оценку d[k], которая и определяет вклад данного образца в совокупный результат обучения.
Опять же :
Полагаю, что обучение следует выполнять не всеми имеющимися образцами k, а только такими, которые имеют "достойную" (употреблю такое слово) оценку d[k].
Однако, чтобы сделать выборку "достойных", всё равно надо иметь на руках все образцы k с их оценками d[k].
ПС. Как вы все ночью можете работать? Днем самое эффективное время.
Какой период обучения? Цены закрытия давали? С какого TF? Тест на демо от MQ? Какое мат. ожидание на 1 лот?
Если бы не просадки по полгода, было бы хорошо. У меня они и до 2х лет доходили. При тесте с 2015г валкинг-форвардом.
ПС. Как вы все ночью можете работать? Днем самое эффективное время.
А что это за програмуля?
А что это за програмуля?
По моим прогнозам, единственная модель, которая сможет долго торговать в стабильный профит - это коллаборация CNN + BiLSTM + MLP
Проблема чисел.
Образцы, каждый количеством n чисел, подаваемые на входы X[0 ... n-1] в процессе обучения, должны быть предварительно подготовлены (нормированы) таким образом, чтобы они были РАВНОСИЛЬНЫ между собой, при прочих равных условиях.
В контексте того, что значение Y на выходе мат.нейрона это сумма X[0]*W[0] + X[1]*W[1] + X[2]*W[2] + ... + X[n-1]*W[n-1], такой равносильности можно достичь только одним способом :
Суммы значений |X[0]| + |X[1]| + |X[2]| + ... + |X[n-1]| у всех обучающих образцов должны быть одинаковы.
Где в качестве "прочего равного условия" принимается W[n] равное X[n].
То есть, уже с учётом "прочего равного условия", два образца являются численно равносильными, если их суммы X[0]^2 + X[1]^2 + X[2]^2 + ... + X[n-1]^2 одинаковы.
Например :
Если в качестве пакета обучающих образцов используются некие участки цены по её приращениям X[n][k]=close[n][k]-open[n][k], где n это номер значения X, а k это номер образца,
то сумма значений |X[0][k]| + |X[1][k]| + |X[2][k]| + ... + |X[n-1][k]| означает длину пути кривой проделанной ценой в пределах данного образца k.
То есть, обучающие образцы k должны быть предварительно нормированы друг к другу, в физическом смысле данного примера, буквально по их длине пути кривой цены.
И вот уже теперь можно (и нужно) выполнить для них ещё одну нормировку, под диапазон не менее / не более -+1, путём деления всех X[n][k] на max, где max это максимальное |X[n][k]| найденное из всех X[n][k].
А уже потом, в процессе обучения, эти нормированные образцы X[0 ... n-1][k] подаются как обучающие примеры, каждый имеющий собственную оценку d[k], которая и определяет вклад данного образца в совокупный результат обучения.
Опять же :
Полагаю, что обучение следует выполнять не всеми имеющимися образцами k, а только такими, которые имеют "достойную" (употреблю такое слово) оценку d[k].
Однако, чтобы сделать выборку "достойных", всё равно надо иметь на руках все образцы k с их оценками d[k].
Впрочем, это уже другая тема ...
Обязательно
Я же описывал теорию: смысл НС - фильтровать грубые ТС-ки, которые что-то показывают. А не искать грааль.
И подход описал: вручную ищешь любую ТС, которая хоть немного показывает результаты.
И фильтруешь её НС-кой.
Вот оригинал ТС
Непригодная к торговле, но проявляющая признаки жизни.
А вот она же, только отфильтрованная питоновской НС: LSTM-кой