Что подать на вход нейросети? Ваши идеи... - страница 49

 
Maxim Dmitrievsky #:

Я мыслю просто, после того как тоже ощутил на себе всю эту неблагодарную возню:

Есть состояния рынка, их можно получить, например, через кластеризацию.

Если взять и соединить котировки (ретурны) из каждого отделльного кластера, то в некоторых случаях получится почти что стационарный ряд. С этим уже можно работать.

Дальше абсолютно по фигу что подавать на вход модели (желательно сырые цены, чтобы не было потери инфы).

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

Я видел результаты твоей статьи про кросс-валидации. Евгений Костенко замутил на её основе советник с рабочим форвардом в 10 лет. 

Единственное что - это долгосрочная конструкция, в том слысле, что инвестиционный продукт. Там депо нужен из-за долгих флетов баланса. 



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



И вот "наша", "бюджетная" ниша - интрадей и среднесрок - в ней же нет решения. КРоме артефактов по типу технических арбитражей и так далее. 

И вот именно здесь бы реализовать какое-нибудь рабочее решение. 

 
Ivan Butko #:

Я видел результаты твоей статьи про кросс-валидации. Евгений Костенко замутил на её основе советник с рабочим форвардом в 10 лет. 

Единственное что - это долгосрочная конструкция, в том слысле, что инвестиционный продукт. Там депо нужен из-за долгих флетов баланса. 



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



И вот "наша", "бюджетная" ниша - интрадей и среднесрок - в ней же нет решения. КРоме артефактов по типу технических арбитражей и так далее. 

И вот именно здесь бы реализовать какое-нибудь рабочее решение. 

Пока что не получилось провести много тестов на макбуке на ТФ М5 и ниже до тиков, сильно тормознуто. Тупо лень ждать.  Может потом когда-то рожу.

 
Изменения цен или их приращение на неком плавающем окне или по текущему бару - вроде ок.... читал.
 
Roman Shiredchenko #:
Изменения цен или их приращение на неком плавающем окне или по текущему бару - вроде ок.... читал.

Благодарю, пробовал

 

Вот такая конструкция тоже даёт иногда неплохие результаты на простой НС

Потенциальные преимущества:

  • не захламляем НС множеством входов
  • захватываем важные экстремумы
  • показываем НС относительную структуру рынка (глубину)
Где одно число отражает в себе положение цены относительно ближайших противоположных экстремумов, примерно равных по волновому уровню.   


    ENUM_TIMEFRAMES TF_CUR = PERIOD_CURRENT;  
    ENUM_TIMEFRAMES TF_H4 = PERIOD_H4;  
    ENUM_TIMEFRAMES TF_D1 = PERIOD_D1;  
 
    double H_cur = iHigh(NULL, TF_CUR, 1); 
    double L_cur = iLow (NULL, TF_CUR, 1); 
       
    double H_H4 = iHigh(NULL, TF_H4, 1); 
    double L_H4 = iLow (NULL, TF_H4, 1);
        
    double H_D1 = iHigh(NULL, TF_D1, 1); 
    double L_D1 = iLow (NULL, TF_D1, 1);  
      
    double C = iClose(NULL, TF_CUR, 1);
    
    double inputs[3];
    
    int i = 0;
    
    inputs[i] = (C - L_cur) / (H_cur - L_cur) * 2 - 1;     i++;      // диапазон значений чаще всего [-1..1], для диапазона [0..1] достаточно убрать из формулы « * 2 - 1»
    inputs[i] = (C - L_H4)  / (H_H4  - L_H4)  * 2 - 1;     i++;       
    inputs[i] = (C - L_D1)  / (H_D1  - L_D1)  * 2 - 1;     i++;   


В идеале - соединить бы стационарные входы и нестационарные - голые цены, чтобы НС могла работать "по инструкции", но на вольном динамическом (при свободно движущейся цене) графике. 

 

Почему умножение входного числа на какое-нибудь число даёт бОльшую стационарную стабильность в торговле?

Что такого в умножении...

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

Но если умножить входное число на коэффициент и снова запустить оптимизацию - получаются наилучшие по переобучению сеты. И фактор восстановления, и профит-фактор, и баланс, всё - на порядки выше, чем если линейно прибавлять. 

Даже когда создавали перцептрон, нейросеть - они ведь внедрили умножение на веса, а не складывание/вычитание. 

Почему так? Кто шарит, есть ли в этом какой-то "производственный" смысл или просто попробовали - получилось - оставили. 


UPD

Если что, у меня по математике 3. Не материтесь

 
Пришёл к выводу, что интрадей-среднесрочно работающая НС должна иметь низкий средний профит и высокий средний убыток. 

Так повышается выборка, а линия баланса чаще идёт ровно. 

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

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



Эту идею я подчерпнул из ветки МО. Изначально, лет 5-10 назад, когда я видел результаты тогдашних НС-советников, то сразу же плевался со словами: "Пересиживатель позорный!". Убеждался в этом при тестировании - и в помойку. 

А сейчас, перепроверив всё и вся, что смог и что сообразил - то практика сама показывает, что самые стабильные результаты из нестабильных - это как раз, когда "тейки" НС низкие, а "лоси" - большие. 



Пока что ЗигЗаг остаётся топовым типом входных данных на любых простых архитектурах. 
 
Ivan Butko #:
Пришёл к выводу, что интрадей-среднесрочно работающая НС должна иметь низкий средний профит и высокий средний убыток. 

На примере одного из сетов:

Видно, что тейки короткие берутся, а лоси посильнее. Если же пересиживает, то оставляет зелёные "сопли" в виде проседания эквити. Но, если находит хорошую точку на графике, может вовремя закрываться и от этого проявлять какую-то стабильность

Оптимизация - год: 2021-2022, EURUSD H1




Форвард продержался целых 2 года: 2022-2024




Что ещё потенциально хорошо - так это интрадей размер сделок: они хотя бы не односвечные, а растягиваются иногда во времени. Кроме того, торгуются сделки в обе стороны, BUY и SELL. А то вечная проблема апроксимации(если правильно использую термин) НС — выбирает какие сделки больше всего зарабатывают - и постраивает веса под них. В итоге - если тренд на оптимизируемом учатске вниз, а треть его участка - вверх, то на форварде или бэке возникают глобальные проседания. 




 
Ivan Butko #:

На примере одного из сетов:




отличные результаты! похоже, что в рынке только одна позиция в моменте, попробуй ещё несколько позиций.
 
Andrey Dik #:

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

Да, иногда пробую убирать это ограничение.

В этом есть смысл, поскольку цена ходит змейкой, в идеале и туда и туда, оба тейка должна забирать. 

Причина обращения: