Соревнование моделей

Шесть способов прогнозировать развитие зоны, одна проверка для всех — и почему изделие осталось прежним

Меню

Модели подключаются к машине как модули. Каждая регистрируется, объявляет, на какие вопросы отвечает, и сразу проходит весь путь до изделия: обучение, проверку, упаковку, прогноз и сохранение. Сейчас в меню 6 моделей:

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

Как проверяли

  • Одинаковые куски истории. Каждый кандидат обучается и проверяется на тех же самых кусках истории, что и действующая модель.
  • Парное сравнение. Ошибка прогноза сравнивается на тех же самых барах. Мерой служит «резкость» коридора цены: насколько узок коридор при сохранённом обещании попадания. Меньше — лучше.
  • Значимость и величина. Выигрыш засчитывается, если он статистически значим, стабилен по кускам истории и не меньше заранее установленного порога величины. Маленький, но значимый выигрыш — это «лучше, но ниже порога»: модель остаётся в меню измеренной, но изделие не меняет.
  • Контроли. Эталон обязан воспроизвестись бит в бит, у сравниваемых должна совпасть популяция баров. Ожидания каждого замера записывались до прогона, и несбывшиеся не переписывались.
  • Два входа. Каждый замер делается минимум на двух разных входах: вывод, который держится на одном, может быть свойством рынка, а не модели.

Итог

Минус в колонке ошибки значит, что соперник точнее действующей модели, плюс — что хуже.

соперник на каком входе ошибка против действующей модели кусков истории в его пользу итог
ленточная модель золото, зоны MACD +3.02 % 0 из 4 хуже
ленточная модель золото, зоны SuperTrend +1.53 % 0 из 4 хуже
похожие внутри своей фазы золото, зоны MACD −0.70 % 4 из 4 лучше, но ниже порога значимой величины
похожие внутри своей фазы золото, зоны SuperTrend −1.24 % 4 из 4 лучше, но ниже порога значимой величины
похожие внутри своей фазы (плюс примета «цена уже развернулась») золото, зоны MACD −0.69 % 4 из 4 лучше, но ниже порога значимой величины
похожие внутри своей фазы (плюс примета «цена уже развернулась») золото, зоны SuperTrend −1.11 % 4 из 4 лучше, но ниже порога значимой величины
генерация нога за ногой золото, зоны MACD +1.96 % 0 из 4 хуже
генерация нога за ногой золото, зоны SuperTrend +3.18 % 0 из 4 хуже
нейросеть-смесь золото, зоны MACD +5.50 % 0 из 4 хуже
нейросеть-смесь золото, зоны SuperTrend +4.33 % 0 из 4 хуже
число соседей по плотности (доля от числа примеров) золото, зоны MACD −0.25 % 4 из 4 лучше, но ниже порога значимой величины
число соседей по плотности (доля от числа примеров) золото, зоны SuperTrend +0.48 % 1 из 4 хуже
число соседей по плотности (по плотности) золото, зоны MACD −0.14 % 4 из 4 лучше, но ниже порога значимой величины
число соседей по плотности (по плотности) золото, зоны SuperTrend −0.01 % 2 из 4 неразличимо
число соседей по плотности (доля от числа примеров) золото, зоны RSI (самая неоднородная плотность) +0.24 % 2 из 4 неразличимо
число соседей по плотности (по плотности) золото, зоны RSI (самая неоднородная плотность) +0.01 % 2 из 4 неразличимо

Что из этого следует

  • Изделие не сменилось. Ни один соперник не выиграл на значимую величину. Это не провал: теперь известно, что действующая модель выдерживает шесть разных подходов. Раньше это было предположением.
  • Единственный живой плюс — фаза ноги. Поиск похожих только среди моментов с той же фазой ноги (рост или откат) стабильно точнее на обоих входах, на всех кусках истории. Но выигрыш около процента, ниже порога. Вторая примета («цена уже развернулась от вершины») к нему ничего не добавила.
  • Сложнее — не лучше. Генерация нога за ногой и нейросеть на этих данных хуже простого поиска похожих: они дороже и теряют точность.
  • Проверка ловила и собственные ошибки. Несколько раз контроли останавливали замер, когда сравниваемые модели незаметно судились на разных барах. Первый такой прогон дал ложный «выигрыш», и он был отброшен до того, как его прочитали как результат.

Автомат выбора модели

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