Стратегия, которая не умела сказать «продавай»

Около двух месяцев трейдинговый бот, который у меня работает, ни разу не сказал мне продавать. Идеи на покупку приходили постоянно, в иные дни десятками. Идеи на продажу: ни одной. Я решил, что рынок просто растёт, а бот его правильно читает. Оказалось, бот был математически неспособен порекомендовать продажу, и таким его сделал я сам, не заметив.
Коротко
- Для предрегистрированного теста «продавай, когда уверен» планкой была оценка уверенности 75. Неделями тест возвращался совершенно пустым.
- Два скрытых входа тихо наклоняли каждую оценку вверх, так что сигнал на продажу мог подойти к линии, но не пересечь её.
- Когда я нейтрализовал оба, сигналов на продажу выше планки стало 13 вместо 3 на той же самой истории. Рынок не изменился; изменилась только подкрученная система оценок.
Тест, который возвращался пустым
Устройство простое. Бот читает новости, превращает каждую в торговую идею и вешает на неё оценку уверенности от 0 до 100. Я обращаю внимание только на сигналы выше порога, выбранного заранее.
Прежде чем доверять ему что-то серьёзное, я зарегистрировал маленький тест: следить за каждым сигналом на продажу с уверенностью выше 75 и смотреть, чем бы он обернулся. «Зарегистрировал» значит записал правило до того, как появились результаты, чтобы не двигать ворота задним числом.
Тест стоял неделями и не выдал ничего. Ноль подходящих сигналов. Первый инстинкт был ленивым: рынок растёт, продажи редки, бот в порядке. Удобно, потому что не требует работы и никого не винит. И полностью неверно.
Стена на 74.8
Когда я наконец вытащил сырые оценки вместо того, чтобы верить пустой сводке, в глаза бросилось одно число. Самый сильный сигнал на продажу за всю историю бота набрал 74.8. И не один раз по случайности: весь верхний край распределения продаж прижимался к 75 и замирал.
Набор оценок, который жмётся к линии и никогда её не пересекает, не бывает естественной формой. Настоящие числа иногда перелетают; этим они и настоящие. Когда значение раз за разом подходит к пределу и никогда его не проходит, что-то физически его там держит.

Держали два входа, и снаружи не было видно ни одного. Первый: запасное правило, по которому акция без собственных новостей получала вместо них общее настроение рынка, слегка оптимистичное, около 53 по той же шкале. Тихая акция начинала жизнь с наклоном к «покупать» по причине, не имевшей к ней отношения. Второй: старая поправка, добавленная во время долгого ралли, маленький палец на весах в сторону покупки. В день написания оба были разумны. Вместе они означали, что каждый сигнал на продажу стартует из ямы, и подъёма всегда не хватало ровно чуть-чуть до ворот.
Что изменилось, когда я убрал палец с весов
Лечение оказалось не хитрым, что немного стыдно признавать. Я поставил запасное правило на настоящий нейтрал, 50 вместо 53, и отправил поправку на ралли в отставку. Это всё изменение.
На той же самой истории сигналов на продажу выше ворот стало 13 вместо 3. Независимый прогон по отдельному куску данных показал 12 вместо 3. Покупки почти не дрогнули: их верхние оценки опустились на один балл, ровно то, чего хочешь, потому что покупки никогда не были проблемой. Бот всё это время видел ситуации, достойные продажи, и проглатывал их.
Бот молчал не потому, что ничего не подходило. Он молчал потому, что нужное ему число не имело права существовать.
Это тот же самый проект, который однажды польстил мне ростом +158%, которого на самом деле не было, так что его самым радостным выводам я привык не верить. Число, которое всегда показывает в одну сторону, рассказывает о собственной проводке, а не о мире.
Почему «нет результатов» - самый опасный результат
Пустой результат ощущается как информация. Но «ничего не подошло» и «ничего не могло подойти в принципе» дают одинаково пустой экран, а значат противоположное. Первое говорит, что мир тих. Второе - что ворота заварили ещё до старта теста.
Та же форма встречается вдали от кода. Воронка найма, где ни один кандидат не проходит планку, потому что планку списали с должности, которой в команде никто не занимается. Журнал безопасности с нулём инцидентов, потому что форма для заявки закопана на четыре клика вглубь. Каждый раз отсутствие читают как вывод, а вывод - фикция: измерение и не могло вернуть ничего другого.
Дешёвая привычка, которая это ловит: прежде чем верить «нет результатов», спросите, каким был максимально возможный результат. Не что вернулось, а что могло вернуться в лучшем случае. Лучший возможный ответ моего теста сидел на две десятых ниже планки, так что настоящее его сообщение было не «ничего не продаётся», а «эти ворота не открываются». Начинай я заново, я бы рядом с каждым порогом логировал ещё одно число: лучшую оценку, которая реально под ним появлялась. Почти-попадания и есть подсказка, и чистый дашборд выбрасывает их первыми.
Где-то в вашей работе есть число, которое подозрительно долго показывает ноль, и все согласились считать это хорошей новостью. Вы проверяли, было ли ему вообще позволено сдвинуться?
Нужно что-то похожее для вашего бизнеса? Посмотрите, как я могу помочь →
Заберите чек-лист «AI Audit Kickoff»
Пятнадцать вопросов, которые стоит задать про свои процессы, прежде чем тратить деньги на ИИ. Тот самый первый час, с которого я начинаю настоящий аудит, одностраничным PDF. Оставьте почту и получите его сразу, плюс изредка письмо, когда напишу что-то стоящее. Без спама, отписка в один клик.