Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 184
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я же ранее описывал свой подход по разделению на 3 класса (sell, забор, buy). К классу "забор" относятся все случаи, которые противоречат друг другу или не могут быть разделены по классам buy и sell. Получается как раз 3-10% приходятся на buy и sell. Прелесть этого подхода в том, что при работе на незнакомых данных (реал) со временем сеть перестаёт распознавать рыночные ситуации, начинает всё чаще относить их к "забор", то есть постепенно перестаёт торговать. Это лучше во сто крат, чем начинать ошибаться со входом всё больше и больше со временем.
Но всё без толку, никому не надо, никто не слушает.
Что есть забор? когда сетка на бай говорит бай и сетка на сел говорит сел?
Это тот же тернаник Решетова
Я же ранее описывал свой подход по разделению на 3 класса (sell, забор, buy).
Это уже реализовано в jPrediction. Поэтому он и называется не бинарным (двуклассовым), а тернарным (трёхклассовым) классификатором.
Реализовано весьма тривиально:
До этого предполагалось применить "велосипедный" метод:
Однако вышеуказанный "велосипед" даёт больше ложных сигналов по сравнению с классификацией двумя бинарниками по причине отсутствия кроссвалидации, но зато проще в реализации.
Самый тупой и самый бесперспективный тернарный велосипед, хотя самый примитивный в реализации: это ИНС с тремя выходами. Если у каждого такого выхода есть свой порог классификации, то на них получается не три, а восемь потенциально возможных состояний, из которых только три однозначны (значение выше порога только на одном из трёх выходов), а пять непонятно как интерпретировать (значения выше порога более чем на одном из выходов, либо ниже порога на всех трёх выходах).
Что есть забор? когда сетка на бай говорит бай и сетка на сел говорит сел?
Это тот же тернаник Решетова
Это уже реализовано в jPrediction. Поэтому он и называется не бинарным (двуклассовым), а тернарным (трёхклассовым) классификатором.
Реализовано весьма тривиально:
До этого предполагалось применить "велосипедный" метод:
Однако вышеуказанный "велосипед" даёт больше ложных сигналов по сравнению с классификацией двумя бинарниками, но зато проще в реализации.
Самый тупой и самый бесперспективный тернарный велосипед и самый примитивный в реализации: это ИНС с тремя выходами. Если у каждого такого выхода есть свой порог классификации, то на них получается не три, а восемь потенциально возможных состояний, из которых только три однозначны (значение выше порога только на одном из трёх выходов), а пять непонятно как интерпретировать (значения выше порога более чем на одном из выходов, либо ниже порога на всех трёх выходах).
Есть и ещё способ, который Вы не учли. Выход один с нейронки, но область значений условно делится на три области. Я делал как [-1.5...1.5]. Серединная область значений [-1.0...1.0] и есть "забор". Получается, что чем более знакомая ситуация для нейронки, тем больше она возбуждается и значения склоняются к крайним значениям сильнее. Значения за диапазоном [-1.0...1.0] являются соответствующими сигналами на Buy и Sell.
Но народ по прежнему продолжает терзать бинарную классификацию.
Есть и ещё способ, который Вы не учли. Выход один с нейронки, но область значений условно делится на три области. Я делал как [-1.5...1.5]. Серединная область значений [-1.0...1.0] и есть "забор".
Не я не учёл, а Вы невнимательно прочитали. См. двупороговый "велосипедный" метод с одним бинарником п. 3 и п. 4, цитирую:
...
До этого предполагалось применить "велосипедный" метод:
- Обучаем бинарный классификатор на одной половинке выборки
- Тестируем на второй половинке выборки
- С помощью ROC анализа повышаем один из порогов для увеличения чувствительности, а второй порог понижаем для увеличения специфичности.
- Классификация: Если классифицируемый паттерн выше порога чувствительности - покупаем. Если паттерн ниже порога специфичности - продаём. Если паттерн между порогами - сидим на заборе и курим бамбук.
...Проблема вашего подхода в том что изначально (еще перед тернарной фильтрации сигналов бай/сел) ваши МО обучаются на данных которые могут объяснить дай бог на 5% из всех данных, понимаете? те еще до тернарной фильтрации МО уже обучен на шуме и выходы у него соответсвующие
думаю тут та же история...
==================================
Мой способ вообще не использует МО в принятии решений, и не пытается объяснить всю выборку, а только то что он посчитал сильной стат. закономерностью, и если таких данных будет всего 0,01% от всех данных то только они и останутся...
...
Но народ по прежнему продолжает терзать бинарную классификацию.
Потому что большинству проще взять готовый пакет с уже реализованной бинарной классификацией, чем экспериментировать с тернарной. Не все любят изобретать "велосипеды", потому что не все идеи дают хорошие результаты. Некоторым проще ездить на уже готовом велосипеде, даже если у него колёса квадратные.
Если и применяют тернарную классификацию, то в большинстве источников по машинному обучению предлагается самый бесперспективный метод: обучить ИНС с тремя выходами, который легко реализуется, но совершенно непригоден на практике.
Потому что большинству проще взять готовый пакет с уже реализованной бинарной классификацией, чем экспериментировать с тернарной. Не все любят изобретать "велосипеды", потому что не все идеи дают хорошие результаты. Некоторым проще ездить на уже готовом велосипеде, даже если у него колёса квадратные.
Если и применяют тернарную классификацию, то в большинстве источников по машинному обучению предлагается самый бесперспективный метод: обучить ИНС с тремя выходами, который легко реализуется, но совершенно непригоден на практике.
Ну да, согласен, так и есть.
Но однозначно одно (пардон за тафталогию) - бинарник это худшее, что может быть использовано для рынка.
Проблема вашего подхода в том что изначально (еще перед тернарной фильтрации сигналов бай/сел) ваши МО обучаются на данных которые могут объяснить дай бог на 5% из всех данных, понимаете? те еще до тернарной фильтрации МО уже обучен на шуме и выходы у него соответсвующие
Понимаете? мы пытаемся разделить всю выборку на классы бай и сел, и тем самым мы хотим предсказать абсолютно каждое движение на рынке, но наши предикторы на столько галимые что объективно могут предсказать только ~3% от всех движений, так что нам нужно? нам нужно попытаться забрать хотя бы эти 3% а все остальное неразделимое просто выкинуть потому что это и есть тот самый мусор на входе/шум который надо отсеять/причина переобучения итп... называйте как хотите, все будет правильно...
Вижу что вы понимаете причину проблем. Но я пытаюсь решить её иначе чем вы предлагаете.
Я склонен следовать словам СанСаныча - нужно набрать такие предикторы и цель, которые не мусор. С хорошими предикторами получится график обучающих примеров не как у меня в прошлом посте, а как у Vizard_. Это гораздо сложнее чем исключить противоречащие обучающие примеры, но мне кажется правильный подбор предикторов будет в итоге надёжней.
По вашему способу сказать ничего не могу, не умею в это, но надеюсь у вас получится.