Стратегии
Моментум по секторам US—ETF 12-1 мес., ежемесячная ротация -3 лидеров, только длинные позиции с переходом в кэш (SPDR секторных ETF на USEQ, бары DAILY)
Итог: Отменено
SectorEtfMomentumTop3MonthlyRotation
Сводка по итогам
В этой гипотезе стратегия QuantConnect «Эффект моментума в акциях» адаптирована для ETF 11 Select Sector SPDR: ежемесячно ранжировать сектора по моментуму за 12-1, держать 3 лидеров с равными весами и переводить долю в денежные средства, если моментум этого сектора отрицательный. Разработчик создал стратегию SectorEtfMomentumTop3MonthlyRotation, которая использует собственный барьер выравнивания баров между торговыми составляющими и правило допуска на основе данных, доступных на тот момент. На этапе написания кода произошло три тайм-аута за 2 итераций, после чего запуск отменили по причине «coding_stuck_3_timeouts». Бэктест, оптимизация и проверка аналитиком не проводились; вердикт аналитика отсутствует.
Гипотеза
coding_stuck_3_timeouts
Реализация
Ежемесячная ротация только в длинные позиции среди 11 ETF Select Sector SPDR на дневных барах USEQ. В первую торговую сессию каждого месяца сектора, допущенные к торгам, ранжируются по моментуму за 12-1: close(t-21)/close(t-252)-1. Сектор допускается к торгам после 253 закрытий. В портфеле удерживаются 3 лучших с долей 1/3 от 98% капитала каждый. Если моментум сектора в позиции <= 0, доля остаётся в кэше. Сектора, выпавшие из 3 лучших, закрываются, новые лидеры покупаются, а позиции, сохранившие место в 3 лучших, не меняются.
История итераций
sandbox_timeout: проверка не пройдена (уровень 3 — тестовый бэктест в песочнице): проверка работоспособности превысила лимит времени 300 с на окне примерно в 20000 баров (2400 дней по XLK.USEQ-1-DAY-LAST-EXTERNAL). Почти всегда это означает, что объём работы на каждом баре растёт вместе с историей — например, полный повторный просмотр ряда финансирования/дополнительных данных или пересоздание списка с вызовом min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Предварительно отсортируй массивы временных меток ONCE в __init__ и используй bisect либо кэшируй запросы по временной метке, чтобы затраты на бар составляли O(log n), а не O(n).
Сводка по итогам
Конструкция с несколькими торговыми составляющими (11 составляющих ETF, собственный барьер синхронизации, допуск с учётом момента времени, история на основе deque) могла оказаться слишком сложной для написания кода в отведённое время; более простая первая версия с меньшим числом составляющих или менее сложной синхронизацией могла бы пройти этап написания кода.
Запуск остановили на этапе написания кода по причине «coding_stuck_3_timeouts» после 2 итераций, поэтому проверка, бэктест, оптимизация, проверка аналитиком и оценка рисков не проводились.
Каждый месяц удерживаются 3 лучших из 11 ETF Select Sector SPDR на USEQ, ранжированных по моментуму за 12-1 месяцев, с равными долями и только длинными позициями; доля переводится в кэш, если моментум самого сектора отрицательный.
Данных о результатах нет: отчёт бэктеста пуст, отчёт об оптимизации не создавался, поэтому показатели доходности, коэффициента Шарпа и числа сделок отсутствуют.
Анализ
Momentum Effect in Stocks
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.