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

Стратегии

US Лотерейный спрос на акции крупной капитализации (MAX): извлечение премии за асимметрию — долларово-нейтральный кросс-секционный лонг/шорт по 30 отдельным акциям USEQ, диверсифицированным по секторам; ранжирование MAX, нормированное на волатильность; ребалансировка каждые 21 сессий по DAILY барам (2 основных параметров + стоп от резкого убытка 1)

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

UsLargeCapMaxLotteryDemandSkewPremiumLS

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

Стратегия предложила долларово-нейтральный портфель лонг/шорт по 30 USEQ акциям крупной капитализации, ранжированным по оценке MAX, нормированной на волатильность. Гипотеза: акции с недавними резкими однодневными скачками, похожими на лотерейный джекпот, будут отставать в течение следующего месяца. Используется площадка без комиссий, поэтому обычное для фабрики стратегий преимущество, уничтожаемое комиссиями, здесь сохраняется. За 8 итераций разработчик переработал логику ротации; последним изменением стала……Показать большеСвернуть

Стратегия предложила долларово-нейтральный портфель лонг/шорт по 30 USEQ акциям крупной капитализации, ранжированным по оценке MAX, нормированной на волатильность. Гипотеза: акции с недавними резкими однодневными скачками, похожими на лотерейный джекпот, будут отставать в течение следующего месяца. Используется площадка без комиссий, поэтому обычное для фабрики стратегий преимущество, уничтожаемое комиссиями, здесь сохраняется. За 8 итераций разработчик переработал логику ротации; последним изменением стала ротация всего портфеля, чтобы фактическая кривая капитала и ряд переоценки по рынку согласовались. Однако в самом коде отмечены пять предыдущих бэктестов на выборке за 31.5 лет, каждый с фактором прибыли ниже 1 и долей прибыльных сделок на уровне подбрасывания монеты, а также сетка из 108 конфигураций до учёта издержек, отрицательная при всех вариантах знаменателя, окна волатильности и сочетаниях n_side/срока удержания. В этом запуске собственный отчёт бэктеста не создан; процесс остановился на этапе написания кода после трёх последовательных превышений лимита времени, поэтому проверка бэктеста, оптимизация, анализ и оценка риска не проводились. В финальном коде разработчик рекомендовал ABANDON, поскольку премия за лотерейный спрос арбитражируется на рынке мегакапитализаций, которыми владеет много институциональных инвесторов.

Гипотеза

Это DOLLAR-NEUTRAL, LONG-SHORT, CROSS-SECTIONAL стратегия на отдельных акциях площадки USEQ без комиссий, основанная на аномалии лотерейного спроса / предпочтения положительной асимметрии (эффект «MAX» Bali-Cakici-Whitelaw), NOT на импульсе, не на развороте совокупной доходности и не на ротации режимов ETF. Каждые 21 торговых сессий стратегия ранжирует FIXED набор из 30 диверсифицированных по секторам крупных акций S&P, включённых в листинг до -1992, по их оценке VOL-SCALED MAX: средней двух наибольших дневных……Показать большеСвернуть

Это DOLLAR-NEUTRAL, LONG-SHORT, CROSS-SECTIONAL стратегия на отдельных акциях площадки USEQ без комиссий, основанная на аномалии лотерейного спроса / предпочтения положительной асимметрии (эффект «MAX» Bali-Cakici-Whitelaw), NOT на импульсе, не на развороте совокупной доходности и не на ротации режимов ETF. Каждые 21 торговых сессий стратегия ранжирует FIXED набор из 30 диверсифицированных по секторам крупных акций S&P, включённых в листинг до -1992, по их оценке VOL-SCALED MAX: средней двух наибольших дневных доходностей за последние 21 сессий, делённой на волатильность доходности этой акции за 21 сессий. Акции с недавними резкими однодневными скачками относительно собственного уровня шума — те, на которые устремляется розничный и лотерейный спрос; систематически их UNDERPERFORMERS в следующем месяце. Портфель открывает SHORT позиции по 5 акциям с наивысшей оценкой и LONG позиции по 5 акциям с наименьшей оценкой (скучным, без джекпота), с равными весами, примерно 8% капитала в номинале на акцию (валовая экспозиция около 80%, чистая — около 0). Деление MAX на волатильность самой акции превращает стратегию в чистую ставку на SKEWNESS, а не в замаскированную короткую позицию по высокобета-акциям: реализованная волатильность обеих частей портфеля схожа, поэтому стратегия не просто продаёт бета, как необработанная стратегия на основе MAX или низковолатильная стратегия. Почему выбрана эта идея, а не очередная переделка криптостратегии на импульсе: (1) стратегия работает на площадке ONE, где нет убийцы фабрики стратегий №1: USEQ взимает комиссию ZERO (около 0.02-0.05% на спред и влияние на цену при покупке и продаже этих мегакапитализированных акций), тогда как ожидаемая доходность позиции измеряется целыми процентами, поэтому проблемы 489 fee_edge не актуальны; (2) используются самые свежие доступные нам инструменты — 30 отдельных акций S&P, по каждой из которых есть более 30 лет скорректированных с учётом дроблений дневных данных, и ни одна не является BTC; (3) стратегия основана на BREADTH, чего как раз не хватало неудачному семейству USEQ (L99: ежедневная макроэкономическая ротация режимов ETF): те стратегии переобучились на 35-77 перебалансировках одной макроэкономической траектории, а эта формирует около 10 независимых ставок между акциями за одну перебалансировку, около 120 в год и несколько тысяч за доступный период истории, так что в walk-forward-окнах и контрольной выборке достаточно сделок; (4) механизм основан на документированном предпочтении BEHAVIORAL (инвесторы переплачивают за выплаты с джекпотоподобным профилем), а не на подогнанном под кривую ценовом паттерне. От стратегии явно отлична заброшенная «US Large-Cap Short-Term Reversal, weekly, ~20 names»: та ранжировала акции по доходности за прошлую неделю CUMULATIVE (ставка на предоставление ликвидности и разворот, еженедельный оборот), а эта — по TAIL распределения доходности (двум крупнейшим дневным скачкам), нормирует показатель на идиосинкратическую волатильность и удерживает позиции целый месяц. Векторы ранжирования слабо коррелируют: акция может не измениться за месяц и всё же занять здесь верхнюю строчку, если за один день подскочила на 9%; а акция, которая стабильно снижалась без резких скачков, здесь окажется в LONG, но в портфеле на развороте тоже стала бы длинной позицией лишь по совпадению.

Итерация 7 направлена на устранение именно заявленной ошибки: «метрики ненадёжны: знак коэффициента Шарпа 0.04 расходится со знаком total_return -17.23% — коэффициент Шарпа вычисляется по mtm_equity_curve, а доходность берётся из кривой капитала». Структурная причина была в том, что позиция, остававшаяся в своей корзине при последовательных ребалансировках, никогда не закрывалась: её прибыль или убыток навсегда оставались в ряду переоценки по рынку и не попадали в кривую реализованного капитала. За прогон длиной……Показать большеСвернуть

Итерация 7 направлена на устранение именно заявленной ошибки: «метрики ненадёжны: знак коэффициента Шарпа 0.04 расходится со знаком total_return -17.23% — коэффициент Шарпа вычисляется по mtm_equity_curve, а доходность берётся из кривой капитала». Структурная причина была в том, что позиция, остававшаяся в своей корзине при последовательных ребалансировках, никогда не закрывалась: её прибыль или убыток навсегда оставались в ряду переоценки по рынку и не попадали в кривую реализованного капитала. За прогон длиной 31.5 лет кривые расходились и могли иметь разные знаки. Теперь ротация FULL-BOOK: на каждой границе календарного периода все позиции закрываются, а новый целевой портфель создаётся только после полного закрытия прежнего. Прибыль и убыток полностью реализуются раз за период, поэтому на каждой границе ряды снова сходятся; поскольку весь портфель закрывается одновременно, в промежутке он полностью плоский (чистая экспозиция равна нулю), без непарной направленной позиции. Больше ничего не изменилось: ранжирование MAX с масштабированием по волатильности, привязанный к календарю график, равное долларовое количество целых акций, предел валовой экспозиции и стоп от катастрофических убытков — в точности та же логика, что прошла слои 1-3. Честная оценка (рекомендация: закрыть стратегию). Это исправление согласованности метрик, а не преимущество стратегии. По кривой капитала, как требует критерий, пять завершённых бэктестов на этой панели (примерно 4,600 сделок каждый) убыточны и охватывают диапазон параметров, а не повторяют одну точку: 30 акций при валовой экспозиции 0.90 -> -51.0% (PF 0.92); 20 акций при валовой экспозиции 0.45 -> -38.9% (PF 0.91); 30 акций при валовой экспозиции 0.45 -> -8.4% (PF 0.986); исправление задержки ротации -> -17.8% (PF 0.967); итерация 6 -> -17.2%. Убыток растёт линейно с валовой экспозицией, доля прибыльных сделок остаётся на уровне 50.4-51.3%, а PF не достигает 1 — это признак нулевого дрейфа, а не ошибки исполнения. Сетка до издержек в итерации-3 (108 конфигураций, рассчитанных напрямую по дневной панели каталога, без комиссий, стопа и влияния на цену) даёт отрицательный результат после -2013 и на контрольном отрезке для каждого варианта знаменателя, каждого окна волатильности и каждого сочетания n_side x периода удержания; закодированная конфигурация уже является лучшей точкой сетки, поэтому ни изменение параметров, ни изменение кода не создаст отсутствующий в данных дрейф. Премия MAX реальна, но встречается у небольших и недорогих акций с высокой идиосинкратической волатильностью; на панели мегакапитализаций из 30 акций она исчезает из-за арбитража.

coding_stuck_3_timeouts

Реализация

Долларово-нейтральный кросс-секционный лонг/шорт на фиксированной диверсифицированной по секторам панели из 30 компаний, включённых в листинг до -1992, — крупных компаний US, торгуемых на площадке USEQ без комиссии, с интервалом свечей DAILY. Примерно каждые 21 сессий (индекс периода длиной 30 дней с привязкой к календарю, полученный из временной метки свечи) каждой компании присваивается оценка: статистика VOL-SCALED MAX — среднее значение её 3 наибольших однодневных доходностей за последние 21 сессий, делённое……Показать большеСвернуть

Долларово-нейтральный кросс-секционный лонг/шорт на фиксированной диверсифицированной по секторам панели из 30 компаний, включённых в листинг до -1992, — крупных компаний US, торгуемых на площадке USEQ без комиссии, с интервалом свечей DAILY. Примерно каждые 21 сессий (индекс периода длиной 30 дней с привязкой к календарю, полученный из временной метки свечи) каждой компании присваивается оценка: статистика VOL-SCALED MAX — среднее значение её 3 наибольших однодневных доходностей за последние 21 сессий, делённое на волатильность доходности этой компании за 21 сессий. Портфель открывает SHORT 5 бумаг с наибольшими оценками (популярные лотерейные билеты) и LONG 5 бумаг с наименьшими (без джекпота), с равным долларовым весом; валовая экспозиция ограничена 45% капитала, без плеча, чистая — около 0. Ротация охватывает весь портфель: на границе каждого периода все позиции закрываются, а новый портфель открывается только после того, как старый полностью закрыт; таким образом, прибыль или убыток фиксируется раз за период, а экспозиция между ребалансировками бывает только полной парной или нулевой. Единственный стоп от резкого убытка: если нереализованный убыток по любой позиции превышает 25%, портфель ENTIRE закрывается и остаётся вне рынка до следующей ребалансировки.

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

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

Установи n_max=2 или зафиксируй отклонение, чтобы аналитик не оценил результат MAX(3) относительно прогноза MAX(2).

В зарегистрированной гипотезе MAX определена как средняя доходность TWO наибольших дневных доходностей; в коде по умолчанию задано n_max=3. Структура (среднее k наибольших значений / собственная волатильность) совпадает, а n_max ограничена диапазоном [1,5], поэтому отклонение касается величины, но проверяется не та статистика, что была зарегистрирована заранее.

Укажи снижение риска в метаданных запуска или восстанови gross_cap=0.90.

Размер позиций — половина заявленного: гипотеза — около 8% на эмитента и валовая экспозиция около 80%; код использует per_name_pct 0.04 при gross_cap 0.45, то есть около 4% на позицию и валовая экспозиция около 45%. Структура (равные долларовые доли, нулевая долларовая экспозиция, без плеча) соблюдена, но доходность и просадки нельзя сравнивать с зарегистрированными заранее значениями.

Считать и регистрировать отброшенные позиции; если после _execute число позиций в длинной части не равно числу позиций в короткой, закрыть все позиции, а не запускать непарный портфель.

Отправка заявки на вход обёрнута в голый `except Exception: pass`, а позиции размером 0 акций молча пропускаются — из-за этого одна сторона парного портфеля может исчезнуть без записи в журнале, и «долларово-нейтральный» портфель станет направленным до следующей ребалансировки (именно этот класс дефектов пытались устранить итерации 4 и 6).

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

Ленивое подключение на барьере выравнивания работает только в одну сторону: подключённая позиция никогда не удаляется, поэтому если по одному из 30 инструментов перестают поступать бары (пропуск в конце ряда, смена названия, делистинг), основной поток блокируется навсегда, и стратегия молча перестаёт торговать.

Допустимо без изменений (ограничено и задокументировано); если расхождение знаков метрик повторится, закрой и открой позицию одним неттинговым ордером.

Позиции со сменой знака закрываются на баре ребалансировки и открываются только на следующей сессии; поэтому при каждой ребалансировке возникает задержка в одну сессию и кратковременный дисбаланс числа позиций.

С корректностью всё в порядке; проблема в EDGE, и аналитику следует считать, что стратегию, вероятно, нужно закрыть. В песочнице PF 0.959, коэффициент Шарпа -0.10, avg_trade_return_pct -0.103% по 679 позициям — результат отрицательный ещё до того, как начинает иметь значение круговая комиссия USEQ около 0.02-0.05%; значит, проблема в отсутствии дрейфа, а не в издержках. Доля прибыльных сделок 50.5% — как при подбрасывании монеты, а соотношение длинных 55.7% и коротких 45.0% позиций — именно то, что показывает……Показать большеСвернуть

С корректностью всё в порядке; проблема в EDGE, и аналитику следует считать, что стратегию, вероятно, нужно закрыть. В песочнице PF 0.959, коэффициент Шарпа -0.10, avg_trade_return_pct -0.103% по 679 позициям — результат отрицательный ещё до того, как начинает иметь значение круговая комиссия USEQ около 0.02-0.05%; значит, проблема в отсутствии дрейфа, а не в издержках. Доля прибыльных сделок 50.5% — как при подбрасывании монеты, а соотношение длинных 55.7% и коротких 45.0% позиций — именно то, что показывает долларово-нейтральный портфель на дрейфующем рынке при нулевой альфе сечения. Пять прогонов разработчика по всей истории (31.5 лет, около 4,600 сделок) все дают PF<1, причём убыток растёт линейно с валовым объёмом (0.90 -> -51.0%, 0.45 -> -8.4%/-17.8%), а доля прибыльных сделок остаётся 50.4-51.3%. Это признак нулевого дрейфа, а не ошибки в коде или инфраструктуре. Самое убедительное: сетка из PRE-COST конфигураций в итерации-3 108 даёт отрицательный результат после -2013 и на контрольной выборке для всех вариантов знаменателя, окон волатильности и сочетаний n_side x периода удержания; закодированная конфигурация уже является лучшей точкой сетки. Есть и структурная проблема: панель из 30 бумаг отобрана с учётом выживаемости («включены до -1992 и всё ещё существуют в 2026»), а премия MAX, согласно исследованиям, характерна для небольших, недорогих акций с высокой идиосинкратической волатильностью. Вероятнее всего, на панели мегакапитализаций её арбитражем устранили. Первое, что нужно проверить при анализе бэктеста: положителен ли где-либо за всю историю спред доходности следующего месяца до издержек между верхней 5 и нижней 5 группами; если нет, стратегию следует закрыть, а не оптимизировать.

Анализ

Бэктест: - метрики ненадёжны: несогласованность: знак коэффициента Шарпа 0.04 не совпадает со знаком total_return -17.23% — коэффициент Шарпа рассчитан по ряду mtm_equity_curve, а доходность — по кривой капитала. Оценивай по кривой капитала.

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

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

Прогон закрыли на этапе написания кода с причиной «coding_stuck_3_timeouts» после 8 итераций, поэтому до анализа бэктеста и проверок аналитика и риск-специалиста дело не дошло; в заметках разработчика по итерации-7 уже рекомендовалось закрыть стратегию после того, как сетка из 108 конфигураций до издержек дала отрицательный результат после -2013 и на контрольном отрезке.

Получайте премию за лотерейный спрос / асимметрию MAX, формируя кросс-секционный лонг/шорт-портфель с нулевой долларовой экспозицией на 30 диверсифицированных по секторам акциях крупных компаний USEQ: продавайте в шорт акции с 5 наивысшими и покупайте акции с 5 наименьшими оценками MAX, нормированными на волатильность, с ребалансировкой каждые 21 торговых сессий по дневным барам.

Для этого запуска не был создан отчёт бэктеста, а оптимизация не запускалась, поэтому проверенных метрик конвейера нет; в собственных заметках кода стратегии указаны пять ранее завершённых бэктестов на той же выборке за 31.5 лет (примерно по 4,600 сделок), и все они убыточны — -51.0% (PF 0.92), -38.9% (PF 0.91), -8.4% (PF 0.986), -17.8% (PF 0.967) и -17.2%; доля прибыльных сделок неизменно равна 50.4-51.3%.

Обзор бэктеста

Шарп
0,04
Общая доходность
-17,23%
Максимальная просадка
30,46%
Всего сделок
4714
Доля прибыльных
50,0%
Профит-фактор
0,97

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