Как устроена машина

Путь от ценового ряда до прогноза — шаг за шагом, и где на каждом шаге стоит проверка

Коротко

Это не одна модель, а машина. На вход она получает описание рынка: какой инструмент, какой индикатор режет график на зоны, какие признаки считать. На выход отдаёт прогноз развития текущей зоны — либо честный отказ, если оснований для прогноза нет.

Всё, что меняется от рынка к рынку, вынесено в описание входа. Сама машина одна. Сейчас она прогоняется на 11 разных входах, а соревнуются в ней 6 моделей.

Путь данных

flowchart TD
  A["Описание входа<br/>инструмент · индикатор · признаки"] --> B["Зоны<br/>индикатор режет график на отрезки"]
  B --> C["Ноги внутри зоны<br/>подтверждённые развороты цены"]
  C --> D["Признаки на каждом баре<br/>только то, что видно к этому бару"]
  D --> E["Автомат признаков<br/>какие признаки берём на этом входе"]
  E --> F["Меню моделей<br/>кандидаты на прогноз"]
  F --> G["Одинаковая проверка<br/>куски истории, парное сравнение, контроли"]
  G --> H{"Прошло гейты?"}
  H -- да --> I["Изделие<br/>модель, калибровка, паспорт"]
  H -- нет --> J["Честный отказ<br/>с причиной"]
  I --> K["Прогноз на баре<br/>сценарии, коридор, состояние"]

Что происходит на каждом шаге

Описание входа. Одна запись фиксирует всё, что отличает рынок: откуда данные, какие годы, каким индикатором строятся зоны, какие признаки считать. Запись имеет отпечаток: изделие, обученное на одном описании, откажется работать на другом.

Зоны и ноги. Индикатор делит график на зоны: например, отрезки, где MACD выше или ниже нуля. Внутри зоны цена ходит ногами — от разворота к развороту. Разворот считается известным только тогда, когда он подтверждён, а не когда его видно задним числом. На этом правиле держится вся причинность: прогноз на баре никогда не знает того, что станет известно позже.

Признаки. На каждом баре считается состояние зоны: сколько ног прошло, какие они были, где сейчас индикатор. Только по прошлому.

Автомат признаков. Какие признаки брать, решает не человек, а автомат — отдельно на каждом входе, по внутренним кускам обучающей истории. На разных рынках он выбирает разное (подробнее — на странице «Одна машина — много входов»).

Меню моделей. Модели подключаются как модули: новая регистрируется и сразу проходит весь путь до изделия. Кто сейчас в меню и чем кончилось их соревнование — на странице «Соревнование моделей».

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

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

Прогноз. На каждом баре активной зоны изделие отвечает на четыре вопроса, и все четыре ответа выведены из одного набора сценариев, поэтому не противоречат друг другу:

  • в каком состоянии текущая нога;
  • куда пойдёт ближайший разворот;
  • какие целые сценарии развития зоны возможны и с какими весами;
  • в каком коридоре пойдёт цена ближайшие бары.

Как это выглядит на живом примере — на главной странице.

Две формы изделия

Не каждая модель умеет строить сценарии. Модель, которая рисует только коридор цены, тоже может стать изделием — но в форме «только коридор», и отвечает она ровно на один вопрос из четырёх. Какая форма у изделия, записано в его паспорте, и остальные три вопроса оно честно не обещает.

Отказ — это результат

Если данных под конкретный бар мало, если вход не похож на тот, на котором модель проверяли, если гейт не пройден — машина говорит «не знаю» и объясняет почему. Правдоподобное число без основания хуже отказа: ему поверят.

Что не автоматизировано — намеренно

  • Смена модели в изделии. Автомат выбора модели на каждой сборке сравнивает кандидатов и записывает вердикт, но изделие не переключает. Смена изделия — решение человека с полной переаттестацией.
  • Возврат отложенных методов. У каждого отложенного метода записано условие возврата, и машина сама печатает этот список на новом входе. Решает человек: условия написаны словами, а не формулами. Подробнее — «Что отложено и почему».