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

 
Grigoriy Chaunin:


Вот что мне удалось достичь на тестовых данных. Сеть работает на индикаторах макд, атр, стохастик. Параметры индикаторов по умолчанию. Ложных сигналов практически нет. Желтые точки это работа сети. Но сеть пропускает сигналы. Нужны идеи по выбору индикаторов и их параметров.


Скажите пожалуйста. На чем написана Ваша система, есть примеры кода или быть может индикатор выложен на форуме. Спасибо.

 
Dr. Trader:

Очень опасно раздавать классы учителю наугад, типа взять какой-то индикатор для создания классов учителя и потом часть значений ещё и заменить на NA.

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

Я бы рекомендовал для начала взять два простых класса - цвет следующего бара (т.е. buy/sell). Взять хотя бы 10000 обучающих примеров (бар истории), обучить модель, и оценить результат на следующих в истории 10000 барах (которые для модели при обучении были неизвестны). Когда удастся подобрать предикторы при которых точность модели будет сохраняться примерно одинаковой и на старых и на новых данных - можно начать подбирать какой-то индикатор для классов учителя. И окажется что просто взяв первый попавшийся индикатор модель перестанет сохранять точность на новых данных. Почему некоторые индикаторы могут служить для учителя, а некоторые не могут - я не знаю, это какая-то удача и мистика.


Ещё не факт что это частный случай удачи, когда именно сейчас эти индикаторы работают. Такое бывает когда угадал с выбором размера тренировки ну и параметры индюков удачно подошли. Смысл в том что в следующий раз получить хорошую модель на них будет не возможно. НО я открою секрет рынка (надеюсь фокусник не пропустит это мимо ушей)

Для того чтобы НС работала долго и всегда нужно найти ОСНОВУ для прогнозирования или класификации ЦЕНЫ!!!!! Сто раз уже писал. Нужно взять такие данные которые будут причиной для CLOSE. И тогда можно построить ЛЮБУЮ торговую стратегию на основе цены.

Volim+Delta+Open Interest=Close

Ларчик то просто открывался :-)

Просто открыв его, это ещё не победа. Нужно уметь воспользоватся правильно тем что внутри.

 
Mihail Marchukajtes:

Для того чтобы НС работала долго и всегда нужно найти ОСНОВУ для прогнозирования или класификации ЦЕНЫ!!!!! Сто раз уже писал. Нужно взять такие данные которые будут причиной для CLOSE. И тогда можно построить ЛЮБУЮ торговую стратегию на основе цены..


Очень привлекательная  мысль в своей простоте.


А ЧТО мы торгуем: отклонение цены? тренд? уровень? А как мы учитываем разнообразие приказов: быть вне рынка? входить? выходить? держать позицию? "Выходить" у нас одного типа или несколько?

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

И вот когда учитель сконструирован, то тогда нужно найти предикторы, "которые будут причиной " для этого учителя. А при обучении то, что написал Dr. Trader   "точность модели будет сохраняться примерно одинаковой и на старых и на новых данных".

 
СанСаныч Фоменко:

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

double iCustomAuto(const int bar, 
                   const string symbol = NULL, const int period = PERIOD_CURRENT)
{   // Generate custom signals for ML
    if( bar >= Bars-2 || 2 >= bar ) {
        return 0.0;
    }
    // double ema22,
    double ema21, ema20, ema2_, ema2__, result = 0.0;
    // ema22 = iMA( symbol, period, 2, 0, MODE_EMA, PRICE_OPEN, bar+2 );
    ema21 = iMA( symbol, period, 2, 0, MODE_EMA, PRICE_OPEN, bar+1 );
    ema20 = iMA( symbol, period, 2, 0, MODE_EMA, PRICE_OPEN, bar );
    ema2_ = iMA( symbol, period, 2, 0, MODE_EMA, PRICE_OPEN, bar-1 );
    ema2__ = iMA( symbol, period, 2, 0, MODE_EMA, PRICE_OPEN, bar-2 );
    if( ema20 < ema2_ ) {
        result = 1.0;
        if( ema21 < ema20 ) {
            result = 0.6;
        }
        if( ema2_ > ema2__ ) { // ema22 < ema21 && ema21 > ema20 && 
            result = 0.3;
        }
    } else if( ema20 > ema2_ ) {
        result = -1.0;
        if( ema21 > ema20 ) {
            result = -0.6;
        }
        if( ema2_ < ema2__ ) { // ema22 > ema21 && ema21 < ema20 && 
            result = -0.3;
        }
    }
    return result;
};
Пример
 
Aleksey Terentev:

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

6 классов. Какие действия они подразумевают? 1и -1 видимо купить/продать. А остальные?
Модель удается получить без перекосов (когда модель прогнозирует преимущественно 1 из классов)? Я при 3-х классах никак не могу победить перекосы. Даже выравнивание по классам, путем копирования примеров, - не помогает. А тут целых 6!
 
СанСаныч Фоменко:

Очень привлекательная  мысль в своей простоте.


А ЧТО мы торгуем: отклонение цены? тренд? уровень? А как мы учитываем разнообразие приказов: быть вне рынка? входить? выходить? держать позицию? "Выходить" у нас одного типа или несколько?

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

И вот когда учитель сконструирован, то тогда нужно найти предикторы, "которые будут причиной " для этого учителя. А при обучении то, что написал Dr. Trader   "точность модели будет сохраняться примерно одинаковой и на старых и на новых данных".


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

 
elibrarius:
6 классов. Какие действия они подразумевают? 1и -1 видимо купить/продать. А остальные?
Модель удается получить без перекосов (когда модель прогнозирует преимущественно 1 из классов)? Я при 3-х классах никак не могу победить перекосы. Даже выравнивание по классам, путем копирования примеров, - не помогает. А тут целых 6!
Вас ни кто не заставляет использовать их все. Примените фильтр по единице в модуле да и все. Не драматизируйте.
 

Я не понимаю, что это все утопиями занимаются.

Машинное обучение в форексе бесполезная вещь. В форексе всё время возникает новая ситуация, он не стоит на месте.

Надо все время принимать новое решение, как например в футболе. Никак не возможно предугадать где появится мяч. Роботу научить, чтобы он принял новое решение, невозможно.

Так, как его нельзя научить чтобы он сочинял стихотворение или музыку. У него же нет интеллекта, нет также чутьё и интуиция.

Программировать их невозможно. 

 
Petros Shatakhtsyan:

Я не понимаю, что это все утопиями занимаются.

Машинное обучение в форексе бесполезная вещь. В форексе всё время возникает новая ситуация, он не стоит на месте.

Надо все время принимать новое решение, как например в футболе. Никак не возможно предугадать где появится мяч. Роботу научить, чтобы он принял новое решение, невозможно.

Так, как его нельзя научить чтобы он сочинял стихотворение или музыку. У него же нет интеллекта, нет также чутьё и интуиция.

Программировать их невозможно. 

Меняется график, НС находит новые решения, отличные от предыдущих, если я правильно понимаю тему. На то и она НЕЙРО-
 
Petros Shatakhtsyan:

Я не понимаю, что это все утопиями занимаются.

Машинное обучение в форексе бесполезная вещь. В форексе всё время возникает новая ситуация, он не стоит на месте.

Надо все время принимать новое решение, как например в футболе. Никак не возможно предугадать где появится мяч. Роботу научить, чтобы он принял новое решение, невозможно.

Так, как его нельзя научить чтобы он сочинял стихотворение или музыку. У него же нет интеллекта, нет также чутьё и интуиция.

Программировать их невозможно. 


Действительно.... Вы просто не понимаете о чём говорите поэтому столь негатива. НС умеет обобщать данные и этого достаточно чтобы имея какой либо новый пример, который не участвовал в обучении. Интерпретировать его правильно....