Содержание статьи
- Доказательства и область применения
- Иллюстрация
- Процесс
- Почему оборачиваемость меняет трактовку momentum
- Независимое ранжирование создаёт нужные пересечения
- Отдельно проверяйте доступность данных и состав инвестиционной вселенной
- Перекрывающиеся группы превращают сигналы в инвестиционный портфель.
- Модель доходности зависит от знаменателя капитала
- Проверяйте добавочную информацию, а не переименованный ориентир
- Частые ошибки
- Практический список проверки
- Частые вопросы
- Источники исследования
Доказательства и область применения
Исследование сообщает доходность первого года в событийном времени: 16.70% для раннего momentum, 12.49% для простого и 6.84% для позднего. Это валовые показатели исследовательских портфелей, а не чистый CAGR капитала счёта. [1]
Практическая последовательность действий
- Заморозить ежемесячные входные данныеИспользуйте доходность, оборачиваемость и допустимый набор акций на момент формирования.
- Ранжируйте независимоПересеките десять групп доходности с тремя независимо ранжированными группами оборачиваемости.
- Создать когортуЗаморозьте членство и запланируйте вход после объявленной задержки.
- Распределить капиталРазделите бюджет между группами и проверьте наличие заемных средств.
- Перебалансируйте счетВзаимно зачтите реальные ордера, сохраняя отдельный учёт результата каждой когорты.
- Оценить результаты вне выборкиСравните ранние, поздние и только ценовые варианты после вычета затрат.
Почему оборачиваемость меняет трактовку momentum
Ценовой momentum ранжирует активы по прошлой доходности. Оборачиваемость измеряет торговую активность относительно числа акций в обращении. Совместная классификация проверяет, отличается ли дальнейшее поведение при одинаковой прошлой динамике цены, но сравнительно низком или высоком участии.
Дневная оборачиваемость акций — торговый объём, делённый на число акций в обращении за тот же день. В синтетическом примере один миллион проторгованных акций при 100 миллионах в обращении даёт 1%. После дробления два к одному два миллиона проторгованных акций при 200 миллионах в обращении по-прежнему дают 1%. Исходный объём удвоился, доля участия — нет.
Исследование различает ранний momentum — покупку растущих акций с низкой оборачиваемостью и короткую продажу падающих с высокой — и поздний momentum: покупку растущих с высокой оборачиваемостью и короткую продажу падающих с низкой. [1] Эти названия обозначают портфельные группы, а не достоверную психологическую стадию конкретной акции.
Отдельная растущая акция с высокой оборачиваемостью может продолжать рост, а с низкой — развернуться. Метод касается различий между условными группами; пример одной выдающейся акции не подтверждает и не опровергает портфельный эффект. Сохраняйте полную совокупность акций, соответствующих критериям.
Независимое ранжирование создаёт нужные пересечения
На момент отсечения данных для формирования рассчитайте совокупную доходность за шесть месяцев и среднюю дневную оборачиваемость в выбранном шестимесячном окне. Независимо разделите доходность на десять групп, оборачиваемость — на три, затем пересеките состав групп. Ранжирование оборачиваемости внутри каждого дециля доходности — условная сортировка, способная выбрать другие акции.
Длинная часть раннего momentum — пересечение верхнего дециля доходности и нижнего терциля оборачиваемости; короткая — нижнего дециля доходности и верхнего терциля оборачиваемости. Поздний вариант меняет выбор по оборачиваемости, сохраняя крайние группы доходности. Ценовой ориентир игнорирует оборачиваемость, но использует сопоставимые правила формирования и удержания.
Задайте правила равных значений и минимум наблюдений до теста. Равенство можно разрешать стабильным идентификатором или преобразованием средних рангов в однозначные группы. Нельзя использовать будущую доходность. Для малочисленных пересечений также нужно фиксированное правило: сохранить деньги, снизить экспозицию или пропустить когорту.
Используйте только сведения, доступные в момент отсечения данных. Число акций в обращении может публиковаться по иному графику, чем биржевой объём. Перенос окончательно пересмотренного числа акций назад на каждый исторический день меняет ранги оборачиваемости с использованием ещё неизвестной информации.
Отдельно проверяйте доступность данных и состав инвестиционной вселенной
Исходная выборка охватывает NYSE и AMEX за 1965–1995. Её исторические исключения нужно изучить, прежде чем объявлять новую реализацию использующей только известные на тот момент данные. Например, исключение акции из-за делистинга вскоре после формирования использует событие из будущего. [1]
Предлагаемая торгуемая репликация должна сохранять инструменты, соответствующие критериям на момент создания, а затем обрабатывать поступления от делистинга, приостановки торгов и корпоративные события по мере их возникновения. Она не должна заранее исключать возможные убытки из-за отсутствия акций в текущей базе данных. Стабильные идентификаторы необходимы при изменении или повторном использовании символов.
CRSP документирует поля цен, объёма, числа акций и корпоративных событий. [2] Наличие полей само по себе не исключает знание будущего при объединении данных. Фиксируйте даты публикации или доступности, где применимо, правила расчёта доходности и обработку пропущенных или устаревших цен.
Совокупная доходность и изменение цены — разные входы ранжирования. Дивиденды, дробления и другие распределения обрабатывайте согласованно для всей совокупности и ориентира. Заранее задайте необходимую историю новой акции перед включением в формирование; скрытое дополнение короткой истории создаёт несопоставимые ранги.
Перекрывающиеся группы превращают сигналы в инвестиционный портфель.
Далее предлагается рабочая схема, а не точная копия всех правил источника. Каждый месяц создаётся когорта с фиксированным составом, ждёт пять торговых сессий и затем удерживается 12 месяцев. Новая когорта получает одну двенадцатую доступного бюджета собственного капитала стратегии, с равными номиналами длинной и короткой частей. Недельную задержку статьи нельзя считать тождественной любой реализации из пяти сессий.
На этапе запуска нераспределённые бюджеты когорт остаются денежными средствами. Немедленное использование всех 12 бюджетов для первой когорты существенно меняет экспозицию. В установившемся режиме одновременно существуют до 12 когорт; одна акция может входить в несколько с разными плановыми выходами.
Ведите отдельный учёт когорт, даже если брокер исполняет лишь суммарную требуемую позицию. Покупка одной когорты может компенсировать продажу другой; фактический торговый оборот счёта тогда ниже суммы оборотов отдельных когорт. Распределяйте исполнения и издержки согласованно, чтобы учёт сходился с реальным счётом.
Нельзя устранять ограничения заимствования удалением недоступных шортов после просмотра их доходности. Заранее определите, уменьшает ли недоступный шорт соответствующую длинную часть, оставляет дисбаланс денежных средств или заменяется явно протестированным инструментом. Учитывайте плату за заём, отзыв заимствованных акций и принудительное закрытие.
Поскольку членство фиксируется при формировании, последующее изменение ранга актива не исключает его из когорты, если не было зарегистрировано дополнительное правило выхода. Ежемесячное перераспределение рангов с полной заменой портфеля — это другая стратегия.
Ограничьте число активных когорт значением 12. Если новый вход наступает до планового выхода самой старой когорты, держите выделенный бюджет в деньгах до освобождения места, не превышайте лимит временно. Издержки короткой позиции также включают компенсацию дивидендов, причитающуюся кредитору, когда она применима.
on_month_cutoff(t):
universe = eligible_asof(t)
momentum = six_month_total_return(universe, t)
turnover = mean_daily_volume_over_shares(universe, t)
r_group = independent_rank(momentum, bins=10)
v_group = independent_rank(turnover, bins=3)
long_ids = ids_where(r_group == 10 and v_group == 1)
short_ids = ids_where(r_group == 1 and v_group == 3)
cohort = freeze_membership(long_ids, short_ids, cutoff=t)
schedule_entry(cohort, after=5_trading_sessions, budget=equity/12)
schedule_exit(cohort, after_entry=12_months)
on_execution():
apply_borrow_and_capacity_rules()
trade_net_target_changes()
allocate_fills_and_costs_to_cohorts()
Модель доходности зависит от знаменателя капитала
Синтетическая когорта имеет $10,000 в длинной и $10,000 в короткой части. Длинная часть растёт на 8%, давая $800, а активы, проданные в шорт, падают на 3%, давая $300 до издержек. Общая прибыль — $1,100. Это 11% на доллар начального номинала длинной части, но 5.5% от $20,000 собственного капитала, если выбран именно такой знаменатель.
Предположим, что торговые, заемные и другие заявленные расходы составляют $220. Чистая прибыль становится $880 или 4.4% при том же знаменателе $20,000. Разница между доходностью длинных и коротких позиций в публикации сама по себе не определяет маржу, финансирование и управление денежными средствами реального счета.
В неудачной когорте длинная часть теряет 6%, а проданные в шорт активы растут на 10%. Убытки соответственно $600 и $1,000: −$1,600, или −8% от $20,000 до издержек. Сочетание long и short не гарантирует малого убытка, особенно при разных отраслевых или факторных экспозициях.
Вертикальная ось графика показывает проценты оборачиваемости отдельных акций, а не цены во времени. Дополнительные столбцы — условные группы доходности, не объём торгов акциями. Поперечное ранжирование разных акций нельзя трактовать как последовательность внутридневного пробоя.
Проверяйте добавочную информацию, а не переименованный ориентир
Сравните ранний и поздний momentum и ценовую версию на одной совокупности, с одинаковыми горизонтом доходности, графиком удержания, риском и издержками. Иначе различия весов или кредитного плеча можно принять за информацию от оборачиваемости.
Фактор momentum из библиотеки Kenneth French — полезный внешний ориентир, но его формирование и веса отличаются от шестимесячной совместной сортировки. [3] Совпадение с его рядом доходности не является прямой целью воспроизведения. Укажите, какой вопрос он проверяет, например общую экспозицию к фактору momentum.
Показывайте доходность по когортам и календарным месяцам, валовую и чистую экспозицию, отраслевую концентрацию, оборот и доступность заимствования. Перекрывающееся удержание создаёт зависимые наблюдения; каждый месяц каждой когорты нельзя считать независимым без завышения статистической уверенности.
Используйте заранее отложенные поздние периоды и соседние окна формирования, не выбирая лучший результат после просмотра. Таблица устойчивости должна включать все зарегистрированные варианты. Эффект оборачиваемости лишь при одной границе, одной обработке данных или нескольких недоступных шортах требует более узкой трактовки.
Отделяйте предсказуемость условной доходности от исполнимости портфеля. Валовая разность доходности длинной и короткой групп может оставаться статистически значимой, но потерять привлекательность после финансирования, влияния сделок на цену и ограничений вместимости стратегии. Оба исхода полезны для исследования.
Частые ошибки
Сортировка оборачиваемости внутри групп доходности
Это приводит к условной сортировке вместо предполагаемых независимых пересечений и может выбрать существенно различающиеся акции.
Валовой спред доходности под видом CAGR счёта
Показатель портфеля «длинные позиции минус короткие позиции» не указывает на финансирование, требования к капиталу или начисление сложных процентов для реального счета.
Игнорирование зависимости между перекрывающимися когортами
Шоки одной акции и общего рынка могут затронуть несколько когорт. Оценка статистической неопределённости должна учитывать повторяющуюся экспозицию.
Список проверки перед использованием метода
Отмечайте пункты после проверки на своих данных. Прогресс сохраняется в этом браузере и не подтверждает прибыльность стратегии.
Частые вопросы
Всегда ли большой торговый объём улучшает фильтр momentum?
Нет. Гипотеза совместной сортировки различает различные комбинации прошлых показателей доходности и оборота. Направление классификации является частью метода и должно быть проверено.
Можно ли преобразовать этот метод в ежедневные сигналы?
Это новая стратегия с другим формированием, оборачиваемостью и удержанием. Ей нужны собственная модель издержек и проверка на ранее не использованной выборке; результаты месячного исследования автоматически не переносятся.
Источники исследования
Каждый источник подтверждает указанное рядом определение или доказательство. Псевдокод, искусственные примеры и предлагаемые параметры требуют отдельной проверки.
- Price Momentum and Trading VolumeCharles M. C. Lee, Bhaskaran Swaminathan — Journal of Finance, 2000. Прочитана оригинальная статья Journal of Finance. Доходности первого года в событийном времени — валовая статистика портфелей, не чистый CAGR капитала счёта. Проверено: .
- CRSP US Stock DatabasesCRSP. Прочитана первичная документация базы по нужным полям и корпоративным событиям. Объединение только доступных на тот момент данных остаётся ответственностью разработчика. Проверено: .
- Detail for Monthly Momentum Factor (Mom)Kenneth R. French Data Library. Прочитана первичная документация построения фактора. Его горизонт momentum и веса отличаются от рассматриваемой совместной сортировки. Проверено: .
Связанные методы
Примечание о рисках
Материал предназначен для обучения и планирования исследований, а не является финансовой рекомендацией. Backtest моделирует прошлые данные, не гарантирует будущую доходность и не совершает реальные сделки. Методы библиотеки не обязательно реализованы в приложении. См. методологию и учебный центр.
Проверьте правила, прежде чем рисковать реальным капиталом
Проверьте возможности приложения, данные и каждую смоделированную сделку; сложные детекторы могут потребовать отдельной реализации.
Скачать Backtest в App Store