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

 
Dmitriy Skub:

ИМХО, это единственный, на сегодняшний день, вариант использования НС в трейдинге. Все остальные - потеря времени и сил. Учитывая текущий уровень так называемого ИИ))

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

А решение задач типа "вообще, все и сразу" - это уже к ИИ.)

Renat Akhtyamov:

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

Оперативный тестер, так скажем?

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

 

У меня вопрос про целевую переменную.

Если у нас целевая переменная - это финансовый результат трейда, то разумно этот результат нормализовать, как я думал. Но вот ищу информацию по сайту, и везде речь о том, что целевая переменная должна иметь два значения - покупки или продажа. А если у меня убыток будет в любом случае - купи я или продай (а так оказалось бывает!), то что ж мне негативные варианты просто вырезать? А если именно наличие негативных вариантов влияет на статистику?

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

 

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


N arr_Buy arr_Sell arr_Vektor_Week arr_Vektor_Day arr_Vektor_Don arr_DonProc arr_iDelta_D_1 arr_iDelta_H_1 arr_RSI_Open
52131 -18 -127 1 -1 -1 2 4 3 0
52130 -15 -130 1 -1 -1 1 4 3 0
52129 -31 -113 1 -1 -1 2 4 3 0
52128 -26 -118 1 -1 -1 2 4 3 0
52127 -6 -138 1 -1 -1 1 4 4 -1
52126 -4 -134 1 -1 -1 1 4 4 -1
52125 -6 -116 1 -1 -1 1 4 3 -1
52124 -8 -86 1 -1 -1 1 4 2 0
52123 -13 -60 1 -1 -1 2 4 1 0
52122 -30 -43 1 -1 -1 3 4 1 0
52121 -26 -47 1 -1 -1 2 4 1 0
52120 -6 -67 1 -1 -1 1 4 1 0
52119 -6 -67 1 -1 -1 1 4 1 0
52118 -35 -38 1 -1 -1 3 4 1 0
52117 -32 -41 1 -1 -1 2 4 1 0
52116 -34 -39 1 -1 -1 2 4 1 0
52115 -20 -53 1 -1 -1 2 4 1 0
52114 -20 -26 1 -1 -1 2 4 1 0

Можно ли это обучить(на чём), или надо ещё что-то делать?

Файлы:
Pred_001.zip  312 kb
 

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

МО это системный подход, где нужно знать много всего, изучить все поэтапно.

из-за местных флудерастов читать будет сложно в конце, но в начале и середине норм :)

 
Maxim Dmitrievsky:

Пока не остановился на какой-то конкретной модификации (их уже штук 25), продолжаю тестировать.. решил добиваться большого кол-ва сделок и похожей кривой на оос, минимум 3-й части от трейна. Но всегда хочется обучить поближе к текущей дате

Замечено, что ансамбль моделей, каждая из которых обучается на своих фичах и с индивидуальными настройками, более стабилен на оос (в данной ТС 10 моделей)

мониторинг тестовой демки в профиле (т.к. не остановился на конкретной версии и продолжаю улучшать, то версии на демке могут периодически меняться)

Прекрасно, поехали!

 
Maxim Dmitrievsky:

В alglib есть kfold, кто-нибудь разбирался как с ним работать? документации почти ноль :)


Прошлым летом тестировал, как и все др. подвиды НС. Работает, как и др. методы, особых впечатлений не осталось. Только одно, относящееся ко всем НС в alglib-e - то, что они в десятки раз медленнее R. Ну да, тут же 10 раз переобучают одни и те же данные, но разными блоками - т.е. еще в 10 раз медленнее)))
 
elibrarius:
Прошлым летом тестировал, как и все др. подвиды НС. Работает, как и др. методы, особых впечатлений не осталось. Только одно, относящееся ко всем НС в alglib-e - то, что они в десятки раз медленнее R. Ну да, тут же 10 раз переобучают одни и те же данные, но разными блоками - т.е. еще в 10 раз медленнее)))

а в R kfold дает улучшение? У меня батчи обычно до 1000 примеров, поэтому мб не так долго будет

если делали - мб есть код сохранения структуры mlp в файл?

 
Maxim Dmitrievsky:

а в R kfold дает улучшение? У меня батчи обычно до 1000 примеров, поэтому мб не так долго будет

если делали - мб есть код сохранения структуры mlp в файл?

В R не пробовал пока что. Dr Trader вроде говорил, что улучшает.

Сохранение в alglib? Там есть ф-ии Serialize для НС, ансамблей, лесов, регрессий - каждому своя и восстановление из них.
Еще есть только для НС с вытягиванием коэффициентов из самой НС https://www.mql5.com/ru/articles/2279 Я начал с этого (как с рабочего примера), потом перешел на сериализацию.
Еще  если делали нормализацию и удаление предикторов - все это надо запомнить и потом применять к новым данным (спасибо Владимиру за подсказку) в статье выше этого не делается.
В R Darch например при нормализации (center,scale) самой сетью она это запомнит сама и примерит на будущих данных. Др. пакеты из R наверняка тоже все запоминают.

Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник
  • 2016.10.03
  • Jose Miguel Soriano
  • www.mql5.com
После того, как трейдер определился со стратегией и реализовал ее в советнике, он сталкивается с двумя проблемами, которые, будучи нерешенными, обесценивают эту стратегию. Очевидно, что, в отличие от параметров, которые задаются заранее (рабочая пара, таймфрейм и т.д.), есть и другие, которые будут изменяемыми: период расчета индикаторов...
 
Maxim Dmitrievsky:

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

МО это системный подход, где нужно знать много всего, изучить все поэтапно.

из-за местных флудерастов читать будет сложно в конце, но в начале и середине норм :)

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

Возможно, в теме есть что-то ещё, но учитывая объем срача - читать не приятно...

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

 
Aleksey Vyazmikin:

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

Можно ли это обучить(на чём), или надо ещё что-то делать?

Целевые - у вас регрессия, а не классификация. Я регрессию забросил пока что. Думаю лучше обучать 2-мя нейросетсями, по числу целевых, но сам экспериментов с регр. мало провел - поэкспериментируйте сами.
Последовательность столбцов не важна, главное указать НС, что это целевые. Последовательность строк  - видимо лучше, чтобы самые свежие данные были в конце (но не обязательно), многие пакеты по умолчанию перемешивают все строки для равномерности обучения. Иначе НС где-то в середине может зайти в тупик (в локальный минимум) и не добраться до свежих данных. Свежие данные (последние 10-20%) можно 2 - 3 раза подать, чтобы сеть получше выучила последние рыночные тенденции - тоже не проверенное мной на практике мнение.
Посмотрите блог топикстартера - там он регрессию обучал, много хороших мыслей. Но в конце он написал, что какую-то ошибку в коде нашел, которая все рез-ты забраковала.

Так что четких и однозначных ответов нету, вот и молчат все)

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