14 Октября 2026 · данные

Зачем бэктесту реестр делистингов

Зачем бэктесту реестр делистингов

Бэктест акций, из которого исключены делистингованные компании, может показывать высокую доходность, незаметно вычеркивая худшие результаты. Часто все начинается с практичного решения: скачать актуальный список тикеров и проверить их за последние 10 лет. В таком списке по определению остаются только выжившие.

Чтобы сохранить прекратившие существование компании в исследуемой вселенной, недостаточно добавить несколько старых тикеров. Нужно знать, какие бумаги существовали в каждый момент времени, когда они выходили на площадку или покидали ее и что стало с их стоимостью в итоге. Три распространенных упрощения по-разному стирают эту историю.

Ошибка 1: использовать сегодняшних участников индекса для всех лет

Представьте, что вы тестируете месячную стратегию моментума на нынешних участниках S&P 500 начиная с 2010 года. Компании, обанкротившиеся, объединившиеся с другими или выбывшие из индекса, отсутствуют на каждом ребалансировании. Стратегия не может купить будущего аутсайдера, а в ее исторической вселенной остаются компании, которые в итоге доказали, что достаточно успешны для сохранения в индексе.

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

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

Ошибка 2: считать отсутствующий тикер пропущенными данными

Тикер, которого нет в современном файле поставщика данных, легко пропустить. Загрузчик не находит свежих строк, помечает тикер как устаревший и удаляет его. Код может записать предупреждение в журнал, но бэктест продолжается с более аккуратной таблицей и без сведений об исключенных бумагах.

Некоторые бумаги исчезают из-за слияния или поглощения. Другие делистингуют после финансовых трудностей, банкротства или несоблюдения правил листинга. Последняя обычная цена закрытия не обязательно отражает то, что получил инвестор. Если торговля проблемной акцией прекращается по цене $0.40, а позднее ее аннулируют, сохранение отметки $0.40 может навсегда оставить в портфеле обесценившуюся позицию. Если удалить ее, убыток может исчезнуть целиком.

Ведите справочник бумаг с датами листинга и делистинга, кодами причин, а также сведениями о бумагах-преемниках или денежных выплатах, если они применимы. Событие делистинга должно закрывать позицию или преобразовывать ее в соответствии с тем, что фактически получил держатель. Детали зависят от события и инструмента; одно универсальное правило «последней цены» не описывает все случаи.

СобытиеВо что может превратиться позицияЧто проверить в бэктесте
Поглощение за денежные средстваДенежная выплата на условиях сделкиУчесть поступление денежных средств на дату вступления сделки в силу
Слияние с обменом акцийАкции компании-преемникаПрименить коэффициент обмена и продолжить учет позиции в бумаге-преемнике
Аннулирование при банкротствеНезначительная стоимость или ее полное отсутствиеЗакрыть позицию с учетом соответствующей записи о выплате или аннулировании

Ошибка 3: обновить вселенную, но упустить механику доходности

Добавление исторических участников исправляет только проблему отбора. Если ряд доходности обрывается на последнем обычном закрытии, доходность при делистинге все еще может быть пропущена. Если добавить доходность при делистинге к ряду цен, уже учитывающему итоговое событие, убыток может посчитаться дважды. У поставщиков данных разные соглашения, и по одному названию поля не всегда понятно, какое из них использует файл.

Допустим, цена акции падает с $10 до $1, затем ее делистингуют, а указанная итоговая доходность составляет −80%. Если сначала учесть падение цены на 90%, а затем дополнительно применить доходность при делистинге −80%, совокупный убыток составит неправдоподобные 98%. Ошибка возникает, когда объединяют два показателя, описывающих пересекающиеся участки одного и того же пути.

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

Исчезновение тикера считайте событием, которому нужно найти объяснение. Не делайте вывод, что компания перестала иметь значение, только потому, что файл данных перестал о ней сообщать.

Как проверить бэктест с учетом делистингов?

Прежде чем сравнивать коэффициенты Sharpe, проверьте количество бумаг и полноту данных. Для каждого года укажите, сколько бумаг подходило под критерии, сколько прошло через делистинг и сколько было исключено из-за неразрешенных проблем с данными. Затем изучите выборку выходов с разными причинами и проследите каждую позицию до ее итоговой стоимости в портфеле.

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

систематическое смещение из-за выжившихделистингованные акцииданные на момент временибэктестинг
ПоделитьсяXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Все статьи