Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3627
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да какие 5 лет, 5 месяцев максимум форвард )) подготовить так, чтобы форвард меньше, но сделок побольше
Форвард не 1, а около 300 склеенных. Валкинг-форвард метод. Как в реале будет: обучился, поторговал месяц, еще обучился и еще месяц торговли и т.д.
Форвард не 1, а около 300 склеенных. Валкинг-форвард метод.
да от лукавого тоже
Если по красоте да по теории, то конечно. Но не на ФХ.Про ФА не знаю, не пытался использовать.
А про другие признаки могу утверждать, что в картинке перечислены второстепенные метода, а главные не указаны - это вычисление "связи", "влияния" признака на целевую переменную.
Об этом писал много раз много лет приводил ряд пакетов, которые позволяют вычислять такие "связи".
PS. "Связь", "влияние" - это НЕ корреляция и не важность признаков, которые выдают алгоритмы машинного обучения.
Судя по моим обрывочным воспоминаниям, ваш подход можно отнести к разделу Filters с выложенного мной рисунка. Там не только корреляция есть. И нет привязки к какой-то модели МО. Наверняка ещё не все конкретные методы приведены (для краткости).
С форвардом 5 лет (чистым) мало нормального находит на часовках, вроде такого
Сделок мало, потому что фильтры убирают все слабые паттерны, остаются наиболее сильные.
Нет, классические макроэкономические модели в духе BEER (упоминал в своей ветке про ФА) - влияние ФА на больших (у меня месячных) таймфреймах.
Незнаком с такой моделью.
Трендов там особых быть не должно, поскольку данные в основном потоковые (за период), а не накопительные. В смысле нормировки данных полагался на таковые встроенные в модели R - обычно там они по умолчанию.
1. Тенденция всегда важна, пять раз подряд прирост показателя или это первый раз - важно для рынка, я так думаю.
2. Я скорей говорил о том, что сопоставлять данные 10 летней давности без обработки не совсем корректно, к примеру тот же ВВП или иной показатель в валюте, так как надо учитывать инфляцию. Или те же заявки по безработице - надо учитывать общее число рабочего населения.
Прежде всего первое, конечно, чтобы количество признаков (более 400 для EURUSD исходно) стало меньше числа месяцев (чуть больше 200).
Многовато 400 - даже не знаю, что там так много... предположу, что много показателей по тем же странам, входящим в ЕС и дробление по территориям США (по банкам, входящим в ФРС - предположение). Если данные в одно время выходят, то их можно резать по идеи, так как они состав одного целого. Либо обобщать всё и выделять отдельным предиктором, что мол есть сильное расхождение в динамике.
Интересуют легко воспроизводимые способы с использованием стандартных пакетов. Главное, конечно, чтобы кроссвалидация показывала достаточную значимость оставшихся признаков - как правило, проблема именно с этим.
Можно от обратного - разбить весь интервал обучения на части, допустим 10 и на каждой построить модель и уже оценить значимость предикторов в этой модели. Сделать ранжирование и выявить десяток лучших. Или сколько то... так же описывал такой метод ранее тут, вполне рабочим тогда показался.
Ещё я делал так, объединял по группам предикторы, допустим по TF, принципу построения, базовому индикатору и так далее и уже перебирал эти группы. Если группа значима, то искал в ней именно значимые предикторы полным перебором. Добавлял, убирал... похоже на генетику, но делал в полу автоматическом режиме. Действенно, но затратно по времени. Сейчас можно было бы сделать на питоне.
Например, всегда можно сделать линейную регрессию и потом отобрать несколько значимых для неё признаков. Но если это повторять многократно, в процессе кроссвалидации, то каждый раз значимыми оказываются разные признаки и в итоге может получиться 0 значимых признаков.
Да я думаю в целом, это нормальная ситуация, что значимыми в разный момент времени будут разные признаки. Как бы состояние экономики разное в момент времени, разные ожидания...
Поэтому и писал, что нужно фундаментальное понимание, в каком положении страна, что хочет её ЦБ, что может сделать и что делает. Получается ли желаемое...
Имхо, увидеть хотя бы минимальную значимость в кроссвалидации - это и означает разобраться прежде всего. Проблема в отсутствии постоянной чёткой реакции рынка на макроэкономический фон и/или его изменения. Не то что бы это большая новость - например, в стартовом сообщении моей ветки по ФА есть ссылки по этой теме.
Не думаю, что через горстку цифр удастся понять суть. Возможно, модели не хватает и политических данных, общих новостей про войны и иное...
Незнаком с такой моделью.
Ознакомтесь
даже не знаю, что там так много...
Узнайте
Можно от обратного - разбить весь интервал обучения на части, допустим 10 и на каждой построить модель и уже оценить значимость предикторов в этой модели. Сделать ранжирование и выявить десяток лучших. Или сколько то... так же описывал такой метод ранее тут, вполне рабочим тогда показался.
Ещё я делал так, объединял по группам предикторы, допустим по TF, принципу построения, базовому индикатору и так далее и уже перебирал эти группы. Если группа значима, то искал в ней именно значимые предикторы полным перебором. Добавлял, убирал... похоже на генетику, но делал в полу автоматическом режиме. Действенно, но затратно по времени. Сейчас можно было бы сделать на питоне.
Ну, с велосипедами и велосипедными идеями у самого полный порядок.
Больше интересует классика (хоть МО, хоть ФА)
Да я думаю в целом, это нормальная ситуация, что значимыми в разный момент времени будут разные признаки. Как бы состояние экономики разное в момент времени, разные ожидания...
Поэтому и писал, что нужно фундаментальное понимание, в каком положении страна, что хочет её ЦБ, что может сделать и что делает. Получается ли желаемое...
Нет, это типичная проблема с мультиколлинеарностью. Зависимость итогового набора значимых фич не столько от времени, сколько от исходного набора фич, из которого происходит отбор. Для подавляющей части ФА признаков VIF зашкаливает.
Про "понимание" "Законов Рынка и Природы" где-то уже попадалось на форуме)
Не думаю, что через горстку цифр удастся понять суть. Возможно, модели не хватает и политических данных, общих новостей про войны и иное...
Это можно про что угодно сказать. Модель не имеет практического смысла, когда она становится моделью всего Мира. Смысл есть только при обозримом ограниченном наборе предикторов.
Ознакомтесь
Узнайте
Ну, с велосипедами и велосипедными идеями у самого полный порядок.
Больше интересует классика (хоть МО, хоть ФА)
Нет, это типичная проблема с мультиколлинеарностью. Зависимость не столько от времени, сколько от исходного набора фич, из которого происходит отбор. Для подавляющей части ФА признаков VIF зашкаливает.
Про "понимание" "Законов Рынка и Природы" где-то уже попадалось на форуме)
Это можно про что угодно сказать. Модель не имеет практического смысла, когда она становится моделью всего Мира. Смысл есть только при обозримом ограниченном наборе предикторов.
Минут 10 сидел и думал "...зачем, зачем я опять пытаюсь кому то помочь?".
Ну что я должен ответить? Видимо предложить за вознаграждение углубится в проблему, изучить модель?
По сути я написал, что метод RFE работает в целом, а реализация его и улучшения может быть любым.
Всё же, я за осмысление данных, а не просто поиск решения. Просто кормить голой статистикой модель бессмысленно.
Должна быть модель-скелет, как всё устроено и проброс по ней уже весов через обучение, которые как бы регулируют вентиля денежных потоков...
Минут 10 сидел и думал "...зачем, зачем я опять пытаюсь кому то помочь?".
Ну что я должен ответить? Видимо предложить за вознаграждение углубится в проблему, изучить модель?
По сути я написал, что метод RFE работает в целом, а реализация его и улучшения может быть любым.
Всё же, я за осмысление данных, а не просто поиск решения. Просто кормить голой статистикой модель бессмысленно.
Должна быть модель-скелет, как всё устроено и проброс по ней уже весов через обучение, которые как бы регулируют вентиля денежных потоков...
Ну, вы же вместо ответа на мой вопрос начали учить меня ФА, не зная ни его основ, ни местного календаря. Имеете на это полное право - форум открытый, но и прочие форумчане имеют ровно такое же право заниматься поучениями.
Касательно сути моего вопроса - RFE используется же в рамках обучения какой-то модели. С кроссвалидацией получается какая-то совершенная жуть по времени вычислений. Собственно как и forward selection от Forester. Думаю пока ограничиться фильтрами в духе идей Сан Саныча. Благо для бинарной классификации их можно придумать довольно много.
Покажу фокус-покус.)
Скажу то, о чем не принято говорить (Держим в уме, что ЦВР - нестационарный, как принято считать, ряд. Он может быть и вправду нестационарный, но 100% выводы об этом сделать невозможно, не имея всю историю ряда как в прошлое так и в будущее).
Итак, имеем какой-то процесс (зеленый) и некоторый шум на нем (красный). Предполагаем, что зеленый процесс наш друг, на нем можно заработать (закономерности, или по другому, некая абстрактная формула рынка), и красный процесс (тоже какие-то закономерности, но кратковременные, которые трудно отследить и вовремя детектировать, а главное - прибыльно поторговать):
Всё замечательно и прекрасно. Едем дальше. Есть такое понятие как "переобучение". Это понятие "постфактумное", т.е, невозможно заранее знать, что сеть переобучена до того момента, как она начала работать на неизвестных для неё данных. Не решают проблему и всякие тестовые, валидационные и прочие проверки. Сети рано или поздно придется работать на совершенно новых незнакомых данных. Поэтому, термин "переобучение" предлагаю считать антинаучным, субъективным и даже вредным понятием. Ну а как иначе, вот мы такие обучили сетку, сетка хорошо работает в + на реале, зашибись, подумали мы, хорошо научили сетку. А на следующий месяц сетка вдруг начала трендеть в -, ой, сетка оказалась "переобученной", так что ли?)) Всё понятно, короче с этим термином.
Поехали дальше. Предположим, что мы обучали-обучали и выучили сетку на вышенарисованном процессе. Применяли, примеряли да невыприменили всякие штучки дрючки хитрые методы шметоды, классификацию и кластеризацию, и прочие хитрые способы автоматических способов, которые как волшебные палочки призваны бороться с тем, чему даже нет точного определения и понятия - переобучением. И получили набор весов и смещений в общем массиве W1. Так вот, получили мы обученную сетку, которая предсказывала бы, если бы мы двигались в будущее, и "представляла" себе на каждом шаге ряд так (ну, она так думала, она так видит, она художник):

А если бы мы инициализировали бы начальные веса сети иначе, обучали и могли получить веса другие, W2, и получили бы представление сети о процессе в будущем так:
В обоих случаях мы бы получили некоторое значение критерия ошибки (по которой обучали сетку), скажем, 0.01.
Но по факту, внимание, процесс натуральный бы двигался в будущем так:
И, ещё раз внимание, это соответствовало весам W3! с тем же показателем ошибки 0.01.
Чуете чем пахнет? Существует теорема, которая гласит, что сеть с одним скрытым слоем способна аппроксимировать любую непрерывную функцию, а сеть с двумя и более скрытыми слоями - любые, в том числе и с обрывами.
Т.е, мы используя одни и те же критерии оценки можем получить разные весовые наборы сети. При этом во всех случаях, при W1, W2, W3, W4, .... Wn - практически полностью на 100% описывать основной процесс в пределах доступного для исследования времени. При этом только некоторые из возможных полученных наборов весов будут соответствовать полностью истинному процессу, а значит и воспроизвести на неизвестных новых данных.
Итак, чтобы завершить роман "Кто виноват?", мы должны задаться вопросом, где же реальная проблема - но в этом небольшом посте есть все ответы.
Это мы ещё не касались терминов, которых в этой ветке произносит вслух нельзя. Ищущие да обрящут, желающие знать да узнают, желающие обучить да обучат. Или как там?
Принято думать, что ЦВР нестационарный ряд, это очень удобная позиция так думать, когда ничего не получается. А когда получается, то всё равно нет достоверных оснований так не думать тоже. Но, на примере выше показал, что рынок, такой очень сложный процесс, очень легко может обманывать о своей природе любого, кто его пытается познать и вычислить его формулу. Не верите? Легко приведу формулу процесса, которую очень трудно предвидеть на следующем шаге дискретизации. И это будет не какая-то очень сложная формула нестационарного процесса со случайными компонентами, а достаточно простая, вычислимая. Но в одних случаях нейронки будут показывать просто факт заучивания известной истории по этой формуле, а в других случаях окажется, что подобрана реальная формула этого процесса.
Так вот, смысл правильного обучения - найти правильную формулу процесса, а не его тень, тогда будет неважно, стационарный процесс или нет. Так что же было не так в примере с W1, W2, W3? - или наоборот, так, но где лежит золотой ключик к обучению нейросетей?