Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 192
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Весь мир с нетерпением ждал этого момента, затаив дыхание.
И вот это событие наконец-то свершилось!
Вышел релиз 12-й версии jPrediction, генерирующий код обученных тернарных классификаторов на MQL. Пользователей терминалов MetaTrader больше нет необходимости портировать коды тернарных классификторов из Java в MQL. Весь код для ЯП MQL теперь сохраняется в файлы с расширением mqh.
(Громкие аплодисменты и крики "Ура!")
Но и это ещё не всё. jPrediction 12 теперь выполняет вычисления быстрее примерно на 12% по сравнению с предыдущей версией!
(Громкие апплодисменты с одновременным подкидыванием чепчиков)
Многочисленные пользователи jPrediction могут бесплатно скачать и использовать 12 версию, загрузив её с моего сайта (ссылка в моём профиле, первое сообщение на главной странице сайта).
(Стук клавиш и движение индикаторов загрузок на мониторах)
Поздравления принимаются в устном виде, а также в письменном, можно в виде подарков и денежных переводов через WebMoney.
Стесняюсь спросить, для какой версии МКУЛЬ??? 4 или 5???
Я проверял на 5-ке. Но там в кодах нет ООП и прочих фич, свойственных только 5-ке. Так что вроде бы совместимость с 4-кой должна быть? ИМХО конечно, поскольку на 4-ке не проверял.
Ну отлично, только чтос равнил код который генерирует Предикшн с кодом который был у меня написан, результат единтичен. Просто переживал вдруг у меня ошибка где, как помнишь с 1d было, проверил теперь всё сходится, результат идентичен. За сегодняшний день выборка по сигналам для покупки так плохо тренировалась, что я решил оставить вчерашную, и вроде как не прогадал, а 12 релиз с оптимизировал с результатом лучше но и входов меньше.. всего три. Так что в целом нормально, но нужно будет завтра посмотреть более детально. Так что заватра отпишусь по конкретней.... Ну а так, за сегодня картина маслом... судите сами.....Грех жаловатся. Причём объясню ещё раз, те сигналы которые сеть определила как "Незнаю" (точки без стрелок). Мы определяем уже по факту. За сегодня это истина. Тоесть когда сеть говорит "Незнаю" подразумеваем что это истина...
Но, боже мой, какая скука
С больным сидеть и день и ночь,
Не отходя ни шагу прочь!
Какое низкое коварство
Полуживого забавлять,
Ему подушки поправлять,
Печально подносить лекарство,
Вздыхать и думать про себя:
Когда же черт возьмет тебя!)))
нашел пакет который позволяет более глубоко взглянуть на алгоритмы МО, я сам в нем совсем не разобрался но что то подсказывает что пакет хороший, может кому то будет интересно...
пакет partykit
Вышла 14-я версия jPrediction.
В новой версии улучшен алгоритм выявления и удаления незначимых предикторов из моделей
jPrediction 14 можно бесплатно скачать и использовать для задач классификации, загрузив с моего сайта (ссылка в моём профиле, самое верхнее сообщение на главной странице моего сайта).
Примеры(индикаторы) взяты чисто для иллюстрации я настоятельно не рекомендую пользоваться индикаторами
Давайте на миг представим такую ситуацию : есть у нас 5 предикторов и цена, нам нужно спрогнозировать движение цены с высокой вероятностью более 70% скажем… Мы читеры)) и заранее знаем что есть только один паттерн в этих предикторах с помощью которого можно спрогнозировать рынок с такой точностью. Это когда RSI и stochastic делают мини зигзаг вниз в области ~50
s
Кстати заметьте паттерн лежит так сказать в двух плоскостях видения, цифровом (паттерн в области ~50 ) и образном (зигзаг - образ), так что при поиске паттернов есть смысл учитывать такие плоскости…
И все, больше рабочих паттернов в этих предикторах нет, все остальное просто шум, те первые три индикатора изначально шум, а в RSI и stochastic есть всего один паттерн , все остальное в RSI и stoch тоже полнейший шум…
Теперь давайте подумаем как можно искать такие паттерны в данных… Смогут ли это делать обычные МО ?
Ответ нет, почему?
Потому что целевая у МО нацелена на предсказание всех движений, это или зигзаг или цвет след. Свечи или направление или.. или… все целевые заставляют МО обяснить все движения цены , а это невозможно в предикторах шума под 99%...
В догонку расскажу небольшую историю с моралью, создал я синтетическую выборку в которой было 20 предикторов, 4 предиктора взаимодействуя вместе, полностью объясняли целевую, остальные 16 предикторов просто рандомный шум, после обучения на новых данных «OOS» модель отгадала все новые значения те показала ошибку 0%.... Мораль сей басни такова, если в данных есть предикторы способны полностью объяснить целевую то МО и обучиться и на OOS будет себя вести нормально… Наши же результаты говорят об обратном те в тех выборках что мы подаем в МО присутствует дай бог 5% полезной информации которая может объяснить 5% целевой, а мы хотим все 100% понимаете утопию подхода??? Потому МО и переобучаются, мы сами заставляем их переобучаться желая предсказать все 100%
Итак возвращаемся к главному, как же искать эти рабочие паттерны? Как же находить эту «иголку» робастности в «стоге» данных ??
Я предлагаю отказаться от МО в принципе, все что нам нужно это просто разбить каждый предиктор на маленькие кусочки из похожих ситуаций (паттернов) и методом перебора всевозможных комбинаций сравнивая с целевой мы будем находить то что мы ищем… Теперь поподробней, как разбивать предикторы? Чем?
Ответ прост, хотя я и не сразу допер, нужно просто тупо кластеризировать каждый предиктор, ну скажем на 30 кластеров
Все разрисовывать не стал но думаю суть уже понятна, мы просто делим каждый предиктор на части те кластера, и теперь пробуя различные комбинации между кластерами мы можем найти некие паттерны которые работают, как на рисунке типа – когда у стохастика кластер 1 и у РСИ кластер 2 то будет рост…
Теперь сама суть, как делать поиск рабочих паттернов
Это наша гипотетическая выборка, target.label это целевая, которая допустим означает рост/падение
Пример как искать рост
ищем такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0"
Не совсем понял что вы имеете ввиду под "кластеризация". Обычно кластеризуют не один конкретный предиктор, а наоборот берут их какойнибудь десяток, и находят области в пространстве где эти точки группируются. Вот например на нижней картинке, имея два предиктора, кластеризация на 2 кластера даст как раз синий и красный кластеры.
Может быть вы про паттерны говорите? Зелёный паттерн - цена падает вниз и потом вверх. Жёлтый - растёт снизу вверх. Красный: вверх->вниз. Угадал?