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

Стратегии

SPY/IWM: бэктест стратегии возврата к среднему спреда между акциями компаний с разной капитализацией на DAILY барах: бета-хеджированная z-оценка логарифмического спреда (скользящая статистика на момент решения), вход при |z|>=2, выход при |z|<=0.5 или через 10 сессий; долларово-нейтральные длинная и короткая позиции, без позиции примерно 80% (SPY.USEQ + IWM.USEQ 1D)

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

SpyIwmSizeSpreadMeanReversionDaily

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

Стратегия адаптировала идею возврата к среднему для внутридневной торговли FMZ на SPY/IWM к дневным барам. Утечка будущих данных из источника устранена с помощью скользящих беты и z-оценки; стратегия стремилась к паре с нейтральностью по долларовой стоимости, где прибыль на сделку превышала бы издержки USEQ. За 3 итераций код ни разу не прошёл проверку уровня 3: каждый раз бэктест в песочнице превышал лимит 300 секунд на дневном окне 2400 примерно за IWM.USEQ дней. От стратегии отказались на этапе проверки, поэтому до бэктеста, оптимизации, анализа и оценки риска дело не дошло; показателей эффективности нет.

Гипотеза

Адаптировано по статье 善 из тематического дайджеста FMZ «Внутридневная торговая стратегия возврата к среднему с использованием SPY и IWM» (разделы https://www.fmz.com/digest-topic/3991, «策略» и «Python实现»). В исходной стратегии торгуют SPY против IWM на барах 1–MINUTE: скользящий 100-барный OLS цены SPY к цене IWM даёт коэффициент хеджирования; спред = SPY - beta*IWM, далее рассчитывается z-оценка спреда, вход при |z|=2, выход при |z|=1. Автор указывает на два недостатка: для z-оценки используются среднее и……Показать большеСвернуть

Адаптировано по статье 善 из тематического дайджеста FMZ «Внутридневная торговая стратегия возврата к среднему с использованием SPY и IWM» (разделы https://www.fmz.com/digest-topic/3991, «策略» и «Python实现»). В исходной стратегии торгуют SPY против IWM на барах 1–MINUTE: скользящий 100-барный OLS цены SPY к цене IWM даёт коэффициент хеджирования; спред = SPY - beta*IWM, далее рассчитывается z-оценка спреда, вход при |z|=2, выход при |z|=1. Автор указывает на два недостатка: для z-оценки используются среднее и стандартное отклонение всей выборки, что создаёт смещение из-за использования будущих данных, а транзакционные издержки не учитываются. Мы сохраняем сам механизм: фондовые индексы компаний с большой и малой капитализацией US зависят от одного макрофактора, поэтому краткосрочное расхождение их спреда с поправкой на beta обычно сокращается. Недостатки исправлены, а стратегию перенесли на таймфрейм, где результат может покрыть издержки. (1) TIMEFRAME: на 1m стандартное отклонение спреда за 100 баров составляет лишь несколько базисных пунктов. Возврат от z=2 к z=1 захватывает около 1 стандартного отклонения, то есть примерно 0.03-0.05% номинала; это меньше круговых издержек двух ног USEQ, около 0.06-0.10% (спред и влияние на цену по каждой ноге). В каталогах 1m и 1h также есть лишь около 6 недель и 2 лет данных. Поэтому мы используем бары DAILY, охватывающие SPY.USEQ и IWM.USEQ с момента запуска IWM в мае 2000 (около 26 лет). (2) NO LOOK-AHEAD: коэффициент хеджирования, среднее и стандартное отклонение спреда рассчитываются скользящим образом только по сессиям, строго предшествующим закрытию бара принятия решения. (3) HEDGE RATIO: используем скользящую beta-регрессию OLS за 60 сессий для дневных логарифмических доходностей IWM относительно дневных логарифмических доходностей SPY, а не регрессию уровней цен: регрессия OLS уровней двух нестационарных рядов даёт ложное и меняющееся со временем отношение. Spread_t = ln(IWM_t) - beta*ln(SPY_t), а z_t = (spread_t - mean20)/std20 за предыдущие 20 сессий. (4) EXECUTION: обеими ногами торгуем на открытии следующей сессии на маржинальном счёте Reg-T USEQ, целыми акциями. Размер позиций нейтрален по долларовому номиналу после поправки на beta: номинал IWM N и номинал SPY beta*N, округлённые до целых акций. SPY и IWM — два самых ликвидных ETF на рынке US, поэтому замечания автора о дробных акциях и издержках неприменимы при $100k. Ограничение области применения: в уроке L137 предостерегают от нейтральных портфелей с несколькими ногами. Это не корзина, а пара из 2 ног с двумя наиболее ликвидными ETF US; издержки на USEQ составляют около 1/10 криптоиздержек на ногу, а захват на сделку, указанный ниже, — около 15-30x круговых издержек. Поэтому здесь сохранена конструкция с 2 ногами: спред пары — механизм пользователя, который нельзя выразить одной ногой без добавления beta индекса (L143). Параметры: 4 основных параметров (hedge_window=60, z_window=20, z_entry=2.0, z_exit=0.5), плюс стоп по времени на 10 сессий и стоп при резком убытке |z|>=4.0. Оптимизатору не следует расширять сетку hedge_window/z_window за пределы примерно ±50%.

В этой итерации сохранена предыдущая стратегия и удалён цикл расчёта статистики спреда O(z_window) на каждом баре. Скользящие моменты уровня обновляются инкрементально, поэтому расчёт беты и z-оценки занимает O(1) на бар при сохранении статистики только по предыдущим сессиям и точного выравнивания дополнительных ног по одинаковым временным меткам.

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

Реализация

Дневная стратегия парной торговли USEQ использует скользящую бета-хеджированную z-оценку логарифмического спреда между IWM и SPY, рассчитанную на основе данных, доступных на тот момент. Она открывает позиции при экстремальных расхождениях и закрывает их при возврате к среднему, резком ухудшении или по истечении десяти сессий; размеры ног в целых акциях обеспечивают нейтральность по долларовой стоимости.

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

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

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

Мультиинструментальная дневная стратегия должна укладываться в бюджет времени песочницы. Узнай, почему дымовой тест зависает или работает медленно — например, из-за выравнивания баров дополнительной ноги или поиска позиции и кэша на каждом баре, — прежде чем менять логику сигнала, даже если скользящая статистика уже имеет сложность O(1).

От стратегии отказались на этапе проверки после 3 итераций. Бэктест в песочнице уровня 3 превысил лимит времени 300 секунд на окне примерно в 20,000 баров (2400 дней по IWM.USEQ-1-DAY-LAST-EXTERNAL), и выполнение завершилось до этапов бэктеста, анализа и оценки риска.

Парная стратегия SPY/IWM с нейтральностью по долларовой стоимости и хеджированием беты на дневных барах USEQ. В ней торгуется z-оценка логарифмического спреда ln(IWM) - beta*ln(SPY) со скользящей бетой на основе доходностей за 60 сессий и средним и стандартным отклонением за 20 сессий, рассчитанными на момент решения. Вход при |z|>=2, выход при |z|<=0.5, по истечении 10 сессий либо при срабатывании стопа на резкое ухудшение |z|>=4.

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

Анализ

Бэктест стратегии: внутридневной возврат к среднему между SPY и IWM

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