Перейти к содержимому
Все стратегии

Стратегии

Avellaneda-Lee: реверсия остаточного s-score в одной паре сектора ETF: XOM против XLE, хеджирование по бете, канонические фиксированные пороги, без позиции около 55% времени (USEQ DAILY, нулевая комиссия, лонг-шорт)

Итог: Отменено

XomXleAvellanedaLeeSScorePair

Сводка по итогам

Стратегия пыталась ежедневно проводить XOM/XLE статистический арбитраж, торгуя экстремумами остаточного s-score для ETF-факторной модели и сохраняя хеджирование по бете. Зафиксированного результата бэктеста нет, поскольку дымовой тест в песочнице на уровне Layer 3 превысил лимит в 300 секунд примерно на 20,000 барах. После трёх итераций проверка завершилась по тайм-ауту, и до последующих этапов дело не дошло.

Гипотеза

Суть взята из обсуждения на quant.stackexchange «статистический арбитраж или факторная торговля» (Michael, 2017; принятый ответ — mperlow), где рассматривается работа Avellaneda & Lee (2010) «Статистический арбитраж на рынке акций US». Единственный конкретный проверяемый механизм в источнике — версия модели из статьи с ETF факторами: регрессировать дневную доходность акции на доходность её сектора ETF за скользящее окно в 60 торговых сессий, интегрировать остаток в вспомогательный процесс X_t, подобрать для X……Показать большеСвернуть

Суть взята из обсуждения на quant.stackexchange «статистический арбитраж или факторная торговля» (Michael, 2017; принятый ответ — mperlow), где рассматривается работа Avellaneda & Lee (2010) «Статистический арбитраж на рынке акций US». Единственный конкретный проверяемый механизм в источнике — версия модели из статьи с ETF факторами: регрессировать дневную доходность акции на доходность её сектора ETF за скользящее окно в 60 торговых сессий, интегрировать остаток в вспомогательный процесс X_t, подобрать для X модель AR(1)/Орнштейна — Уленбека и торговать безразмерным s-скорингом s = (X_t - m)/sigma_eq, удерживая позицию на 1$ в акции против позиции -beta $ в ETF, чтобы позиция была нейтральна к фактору (именно такое хеджирование цитирует принятый ответ со стр. 16). Согласно L173/L137, мы NOT запускаем книгу из 20-500 инструментов с названием PCA (стратегия Bybit с остатком PCA и топ-20 инструментами по времени ожидания ответа не сработала; нейтральные книги из нескольких инструментов теряют деньги на издержках по каждой ноге). Вместо этого используется пара «акция против собственного фактора» ONE на площадке USEQ с нулевой комиссией, где вторая нога обходится примерно в 0.02-0.05%, а не как полный цикл сделки с криптовалютой. Выбор инструмента задаёт зарегистрированное заранее правило, а не подобранный вручную список: акция — крупнейшая по весу составляющая сектора ETF (XOM практически всю историю ETF, начиная с 1998, была ведущим активом XLE). Сигнал измеряется на XOM и XLE, а сделки совершаются на XOM и XLE (сигнал по одному инструменту, сделки по другому не используются). Бары DAILY дают примерно 27 лет истории. Все пороги взяты из опубликованной статьи и не подбирались: вход при |s| > 1.25, выход из длинной позиции при s > -0.50, выход из короткой — при s < +0.75; также применяется фильтр скорости возврата к среднему из статьи (торговля только при периоде полураспада подобранной модели OU менее примерно 30 сессий, то есть при kappa > 252/30). Это изложение с первых принципов без переработки, а не перенос кода.

Исправление производительности итерации 3: удалены выполнявшиеся для каждого бара запросы сверки позиций и ордеров по основному активу и хеджу из calculate_signal. Управление хеджем по-прежнему привязано к входу и выходам по сигналу, а скользящая подгонка ограничена 60 наблюдениями на бар. Это сохраняет ранее пройденные статический и синтетический уровни и устраняет дорогую работу с кэшем, вызвавшую тайм-аут на уровне Layer-3.

verification_loop: sandbox_timeout: проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300 с на окне примерно в 20000 баров (2400 дней из XOM.USEQ-1-DAY-LAST-EXTERNAL). Почти всегда это означает, что объём работы на бар растёт вместе с историей — например, повторно просматривается полный ряд ставок финансирования или дополнительных данных либо внутри calculate_signal()/on_bar() на каждом баре пересобирается список и вызывается min()/sorted(). Предварительно вычислите отсортированные массивы временных меток ONCE в __init__ и используйте bisect либо кэшируйте результаты запросов по временной метке, чтобы стоимость обработки бара составляла O(log n), а не O(n).

Реализация

Торговля остаточным s-score Avellaneda-Lee между XOM и XLE с помощью регрессии доходности за скользящее окно в 60 сессий, подгонки кумулятивного остатка OU, построения бета-нейтральной пары лонг/шорт и канонических порогов входа, выхода и периода полураспада.

Результаты верификации

sandbox_timeout: проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300 с на окне примерно в 20000 баров (2400 дней из XOM.USEQ-1-DAY-LAST-EXTERNAL). Почти всегда это означает, что объём работы на бар растёт вместе с историей — например, повторно просматривается полный ряд ставок финансирования или дополнительных данных либо внутри calculate_signal()/on_bar() на каждом баре пересобирается список и вызывается min()/sorted(). Предварительно вычислите отсортированные массивы временных меток ONCE в __init__ и используйте bisect либо кэшируйте результаты запросов по временной метке, чтобы стоимость обработки бара составляла O(log n), а не O(n).

Сводка по итогам

Расчёты для каждого бара не должны повторно просматривать полные дополнительные ряды или пересобирать и сортировать данные; результаты поиска следует предварительно вычислять или кэшировать.

Стратегию оставили после трёх итераций, когда проверка завершилась тайм-аутом в песочнице. До последующих этапов конвейера дело не дошло.

Стратегия пыталась торговать возвращающиеся к среднему остатки с хеджированием по бете между XOM и XLE, используя пороги s-score модели Avellaneda-Lee с ETF факторами на дневных данных USEQ.

Метрики бэктеста не были зафиксированы, поскольку проверка остановилась во время бэктеста в песочнице. Дымовой тест превысил лимит в 300 секунд примерно на 20,000 барах.

Анализ

Арбитраж vs фактор-трейдинг: бэктестинг | Stratmill

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.