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

 
Maxim Dmitrievsky:

но все эти статистические подходы не актуальны для форекса :)

так, мозги себе потеребонькать

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

 
Mihail Marchukajtes:

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

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

если говорить об эффективности то такой подход не эффективный, с низким КПД

а датамайнинг ради датамайнинга мне не оч. интересен

 
Mihail Marchukajtes:

Душевно сказано!!!! В продолжении темы.... Как Вы знаете начал я крутить R и смог накрутить максимум это посчитать ВИ между каждым входом и выходом, НО и этого оказалось достаточно чтобы сократить количество входных данных со 110 до 20-30 при том что на входе остаются те данные которые имеют максимальную информацию о выходе. В итоге модели стали всё чаще проходить успешно мои собственные тесты. Посмотрим как оно будет на ООС. Неделя покажет.

Но вот думаю что одной ВИ метрики мало будет. Нужно попробовать посчитать избыточность и попробовать ещё сократить количество столбцов.

Может быть есть уже готовые функции позволяющие оценить входные данные к выходу помимо взаимной информации????

Полно,причем пишу об этом не первый раз на этой ветке.

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

Очень эффективны алгоритмы в caret, их там три. Вообще надо брать этот пакет, так как там есть все в комплексе: дэйта майнинг, а это не только отбор предикторов, куча моделей, выбор моделей и их оценка. По любому этот caret можно использовать как учебник на тему "что бывает".

Как-то для себя делал обзор, может будет полезен.

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

Полно,причем пишу об этом не первый раз на этой ветке.

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

Как-то для себя делал обзор, может будет полезен.

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

и скинули примеры где большинство моделей построены на деревьях лолз :)

 
Maxim Dmitrievsky:

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

а датамайнинг ради датамайнинга мне не оч. интересен

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

В субботу я трачу 4-8 часов (рабочий день) для построения модели и не одной, при этом пятницу я оставляю как кусочек ООС, чтоб определится с работоспособностью ТС. Тем самым субботу я трачу на подготовку к следующей недели. И ты абсалютно прав про то что рынок слишком быстро меняющийся, поэтому строить модели на участке в 5 лет это просто глупо. Как правило если ТС отрабатывает по времени 50% участка обучения, то это считаю вполне достойным результатом. В итоге понимая что смысла в больших моделях нет, потому как она получится хуже по качеству обучения (чем больше период тренировки тем хуже модель), я выбираю участок тренировки в размере двух недель, для того чтобы ТС смогла проработать хотя бы неделю. В итоге я получаю порядка 10 моделей, прогоняю модели через всевозможные тесты, а сейчас уже и метрики статистические всякие.... Выбираю именно те которые прошли эти тесты и закидываю это всё на ВПС и...... свободен до следующей субботы. Роботяга шпилит самостоятельно, я его лишь контролирую на предмет исполнения ордеров. Так... поглядываю чтоб не залип. Раньше в ТС нужно было заходить каждое утро и выставлять один параметр, но сейчас я избавился от этого недуга и теперь вообще ВПС посещаю изредка, раз в два-три дня зайду и то, если сделок за это время не будет, а так... Епись оно всё конём. В итоге свою работу я оцениваю не от сделки к сделки, а неделями. Либо неделя в плюс, либо в минус главное чтоб плюсовых недель было больше. НО сам факт:

Я потратил 5 часов в субботу, чтобы в течении следующей недели ходить руки в брюки и о рынке не думать, а обучать студентов всяким там компьютерным примудростям. Сидеть в ручную  и торговать несёт в себе один минус. Ты можешь просидеть весь день перед монитором и слится, что приводит не только к потере деньгам, но и потраченного времени. А как известно время это не восполнимый ресурс!!!!!

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

На постоянно меняющемся рынке НЕТ смысла строить большие модели. Какаябы большая ни была модель, она устареет также быстро как и маленькая, только маленькая как правило получается лучше по результатам обучения, да и строится она быстрее.

Если уж говорить об адаптивных моделях следования за рынком, когда новые данные вносят корректировку в структуру самой модели, то такие модели тоже долго не живут. Разве что самообучающаяся система, каторая автоматически переобучается через интервал времени, сама себя выбирает и т.д. Тут уж явно попахивает интеллектом, но до такого думаю ещё далеко. ИМХО, естественно!!!!

 
Mihail Marchukajtes:

Если уж говорить об адаптивных моделях следования за рынком, когда новые данные вносят корректировку в структуру самой модели, то такие модели тоже долго не живут. Разве что самообучающаяся система, каторая автоматически переобучается через интервал времени, сама себя выбирает и т.д. Тут уж явно попахивает интеллектом, но до такого думаю ещё далеко. ИМХО, естественно!!!!

это все давно уже есть :) она работает и постоянно дообучается, потом результатыее "деятельности" аппроксимируются нейросетью, и затем эти оценки используются с определенной вероятностью для принятия новых решений и их последующей корректировки

по крайней мере подход хотя бы более логичный для форекса

грубо говоря, такая система постоянно тыкается в разные состояния, запоминает что сделала, анализирует последствия и принимает решения на основе своего опыта.. часть забывает, улучшается.. Это какбе уже и есть ИИ и торгует почти как реальный трейдер :) это и есть настоящее обучение а не обычная аппроксимация в случае того, что мы делали до сих пор
 
СанСаныч Фоменко:

Полно,причем пишу об этом не первый раз на этой ветке.

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

Очень эффективны алгоритмы в caret, их там три. Вообще надо брать этот пакет, так как там есть все в комплексе: дэйта майнинг, а это не только отбор предикторов, куча моделей, выбор моделей и их оценка. По любому этот caret можно использовать как учебник на тему "что бывает".

Как-то для себя делал обзор, может будет полезен.

Да спасибо! caret установил. Буду кумекать. Но вот осенило меня тут давеча. У меня на данный момент есть порядка 110 входов, это максимальное количество которое я смог сформулировать и собрать. Сделал я это давно, года три назад или более и подумалось мне, а что если эти входа не так уж и хороши как я о них думаю, что привело меня к мысли о возобновлении поисков входов для моей ТС!!!! Тем более что со стат метриками делать это намного легче. Сначала кидаем всё в общую кучу, а потом отсеиваем и оставляем только важные по тем или иным критериям.

Связался с Денисом из КД и он вроде как обещал помочь получить ещё один ряд данных совершенно другой природы, но относящихся к рынку. Всё таки считаю что брать данные за период N баров в принципе не правильно, потому как в данном случае мы идём по шкале времени, а зарабатываем то мы по шкале цены. Так и рынок нужно анализировать в рамках шкалы цены (профиль), а не времени. Что собственно Денис и обещал подмогнуть с построением профиля дельты и тд. И вот именно эти данные будут куда интересны для ИИ чем, скажем Дельта за N баров. Плюс он ещё стакан с СМЕ мутит, так что и до ОИ можно будет добратся, а это в совокупности с объёмом уже ОГОГОГОООО!!!!!. Конечно ОИ погоду не сделает, но прибавка в 5-10% к работоспособности ТС не помешает, потому как бывает что не хватает именно этих процентов......

 
Maxim Dmitrievsky:

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

и скинули примеры где большинство моделей построены на деревьях лолз :)

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

Повторю то, что писал много раз.

1. Целевая ЗЗ

2. под эту целевую придумал около 200 предикторо

3. Из 200 по алгоритму "влияния на целевую" отобрал 27 предикторов

4. на каждом баре из 27 предикторов отбираю по  rfe предикторы, число отобранных меняется от 6-7 до 15 из 27.

5. Подгоняю rf. Ошибка подгонки чуть меньше 30%.


Никаких бесконечных циклов. 30% - это очень хороший результат, но в теории. Практический советник мне не удалось на таком результате построить, пришлось добавить трендовые индикаторы. Сейчас меняю индикаторы (барахло) на GARCH.

 
Maxim Dmitrievsky:

это все давно уже есть :) она работает и постоянно дообучается, потом результатыее "деятельности" аппроксимируются нейросетью, и затем эти оценки используются с определенной вероятностью для принятия новых решений и их последующей корректировки

по крайней мере подход хотя бы более логичный для форекса

грубо говоря, такая система постоянно тыкается в разные состояния, запоминает что сделала, анализирует последствия и принимает решения на основе своего опыта.. часть забывает, улучшается.. Это какбе уже и есть ИИ и торгует почти как реальный трейдер :)

Это первый вариант, а второй строить небольшие модели без адаптации на относительно короткий промежуток времени. Так сказать набегами на рынок. Пришёл, с оптимил, отобрал у простолюдинов пару тройку хороших сделок и был таков, до следующего раза....

 

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

 Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности

 Глубокие нейросети (Часть II). Разработка и выбор предикторов

 Глубокие нейросети (Часть I). Подготовка данных

 Оценка и выбор переменных для моделей машинного обучения

Удачи

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