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

Стратегии

Фактор изменения цены за 1 месяцев в ликвидной вселенной на каждый момент времени: ежемесячный отбор верхнего квинтиля с переходом в денежные средства при неположительном импульсе (BINANCE_SPOT дневной, только длинные позиции, без плеча), адаптация идеи QuantConnect «Отбор акций по фундаментальным факторам».

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

SpotLiquidUniverseMonthlyPriceChangeTopQuintile

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

SpotLiquidUniverseMonthlyPriceChangeTopQuintile — ежемесячная стратегия BINANCE_SPOT только в длинных позициях. Она ранжировала ликвидную вселенную на каждый момент времени из 30 пар USDT по изменению цены за 1 месяцев и удерживала верхние 6, переводя слоты, не прошедшие правило положительного импульса, в денежные средства. В коде для отсчёта времени использовался бар BTCUSDT длительностью 12 часов. Стратегия также подписывалась на сотни дополнительных дневных инструментов из каталога. На этапе проверки запуск трижды превысил лимит времени, и после одной итерации стратегию оставили со статусом «verifying_stuck_3_timeouts». Бэктест, оптимизация, анализ аналитиком и оценка риска не запускались, поэтому преимущество идеи не проверено.

Гипотеза

Классификация: (а) конкретная идея, но большей части её входных данных у нас нет. В источнике акции US ранжируются по совокупности четырёх фундаментальных показателей Morningstar (FCFYield, BookValuePerShare, RevenueGrowth) и одного ценового фактора (PriceChange1M). Мы не собираем фундаментальные данные, поэтому эти компоненты нельзя проверить и они исключены (DROPPED), а не заменены прокси-показателями. Проверяемые части: (1) правило вселенной из источника POINT-IN-TIME, ранжирующее весь торгуемый набор по……Показать большеСвернуть

Классификация: (а) конкретная идея, но большей части её входных данных у нас нет. В источнике акции US ранжируются по совокупности четырёх фундаментальных показателей Morningstar (FCFYield, BookValuePerShare, RevenueGrowth) и одного ценового фактора (PriceChange1M). Мы не собираем фундаментальные данные, поэтому эти компоненты нельзя проверить и они исключены (DROPPED), а не заменены прокси-показателями. Проверяемые части: (1) правило вселенной из источника POINT-IN-TIME, ранжирующее весь торгуемый набор по объёму в долларах при каждой ежемесячной ребалансировке; (2) единственный ценовой фактор источника PriceChange1M, который в его собственной таблице имеет POSITIVE ранговую корреляцию, так что активы с наибольшим изменением за 1 месяцев составляют лучший квинтиль; и (3) удержание лидирующих названий с равными весами и ежемесячная ребалансировка. Биржа акций из источника исключена. Правило L128 запрещает ежемесячные ротации по дневным барам USEQ: 17 запусков, ноль прошли отбор, поскольку независимых ребалансировок слишком мало. Поэтому механизм переносится на BINANCE_SPOT, где поперечный разброс доходности за 1 месяцев у ликвидных монет в несколько раз выше, чем у акций S&P. Это подходящая биржа для портфеля только с длинными позициями и без плеча; такие стратегии представлены недостаточно (10.8% при целевом значении 15%). UNIVERSE (на каждый момент времени, по L151, а не заданный список): при каждой ребалансировке пул кандидатов — это EVERY <BASE>USDT пара в каталоге BINANCE_SPOT с 1-DAY барами. В каталоге около 795 таких серий, включая делистингованные, например ANT, AGIX и ANC, что снижает смещение выжившего. Исключаются по механическим правилам: токены с плечом (*UPUSDT/*DOWNUSDT), стейблкоины и фиатные базовые активы (USDC, FDUSD, TUSD, BUSD, DAI, EUR, AUD и др.), токенизированные акции (акции-токены *BUSDT, например AAPLBUSDT), а также названия, у которых на дату ребалансировки меньше 60 дневных баров. Из оставшихся выбираются TOP 30 по среднему дневному объёму торгов в долларах за последние 30 дней (close x volume), рассчитанному только по барам не позже бара ребалансировки. Это правило CoarseSelection из источника с N, увеличенным с учётом ширины крипторынка. FACTOR: PriceChange1M = close(t) / close(t-30 дней) - 1, на каждый момент времени. SELECTION: 30 названий ранжируются по этому фактору. Кандидаты — верхний квинтиль (6 названий). Кандидат удерживается, только если его собственное значение PriceChange1M > 0; слот, не прошедший это правило, остаётся в денежных средствах USDT. Это правило для каждого названия задаёт заявленное состояние без позиции (FLAT) (L150). Это не фильтр рыночного режима: проверяется тот же фактор, что и при ранжировании. Ожидаемая доля месяцев полностью в денежных средствах: около 20-25%, то есть месяцы снижения широкого рынка. Ожидаемая средняя доля инвестированного капитала: около 65%. REBALANCE: закрытие первого дневного бара каждого календарного месяца (UTC), по расписанию источника MonthStart. SIZING: каждое удерживаемое название получает 1/6 капитала (максимум 16.7% на название; всего 100% при 1.0x, счёт CASH). Без плеча. Названия, удерживаемые с прошлого месяца, сокращаются или увеличиваются, только если их вес отклонился более чем на 5 процентных пунктов, чтобы ограничить комиссии за оборот. FEE ARITHMETIC: предполагаемая стоимость круговой сделки BINANCE_SPOT — около 0.20% комиссии тейкера плюс примерно 0.05-0.15% влияния на цену для 30 самых ликвидных названий, то есть около 0.30% всего. Каждая позиция удерживается около месяца, обычно 1-3 месяцев для устойчивых лидеров. Исторически разрыв поперечной доходности за 1 месяцев вперёд между верхним квинтилем и медианой вселенной в ликвидной криптовалюте составлял несколько процентов в месяц и имел тяжёлые хвосты. Для расчёта примем, что в среднем на закрытую сделку удаётся получить +1.5% при затратах около 0.30%, то есть около 5x за круговую сделку. Оборот — около 3-4 из 6 слотов в месяц. За примерно 2019-2026 (около 80 ежемесячных ребалансировок) получится примерно 300-400 закрытых сделок. DUPLICATE CHECK (L138): после удаления обёртки механизм сводится к «длинным позициям в верхнем квинтиле криптовалютной вселенной, ранжированной по ликвидности и доходности за 1 месяцев, с ежемесячной ребалансировкой». Ближайшее семейство в корпусе — еженедельная ротация относительной силы 8 крупных активов BINANCE_SPOT. Там используется вручную заданный список FIXED (нарушение L151), недельная периодичность и фильтр рынка по абсолютному импульсу. Это предложение отличается ровно тремя параметрами: вселенная 30 по объёму торгов в долларах на каждый момент времени, ежемесячная периодичность и правило отсутствия позиции для каждого названия вместо фильтра рынка. Если проверка новизны сочтёт этого недостаточным, честный итог — отказаться от этой гипотезы, поскольку остальные части источника нельзя проверить на наших данных.

Реализуется тестируемая основа исходной идеи: вселенная по объёму торгов в долларах на каждый момент времени, PriceChange1M (положительная ранговая корреляция), верхний квинтиль, ребалансировка в начале месяца. Фундаментальные компоненты исключены, как и предполагает гипотеза. Пул вселенной = все 591 каталожных серий BINANCE_SPOT <BASE>USDT 1-DAY после механических исключений: токены с плечом UP/DOWN/BULL/BEAR, стейблкоины и фиатные базовые активы, токенизированные акции — токены B 2026, один символ, не……Показать большеСвернуть

Реализуется тестируемая основа исходной идеи: вселенная по объёму торгов в долларах на каждый момент времени, PriceChange1M (положительная ранговая корреляция), верхний квинтиль, ребалансировка в начале месяца. Фундаментальные компоненты исключены, как и предполагает гипотеза. Пул вселенной = все 591 каталожных серий BINANCE_SPOT <BASE>USDT 1-DAY после механических исключений: токены с плечом UP/DOWN/BULL/BEAR, стейблкоины и фиатные базовые активы, токенизированные акции — токены B 2026, один символ, не являющийся ASCII (безопасность идентификаторов), а также серии с историей в каталоге менее 90 дней (порог достаточности данных, исключающий только листинги за последние примерно 3 месяцев). Делистингованные названия (ANT, AGIX, ANC, …) сохраняются, поэтому вселенная слабо подвержена смещению выжившего и определяется при каждой ребалансировке, а не берётся из заданного списка; все 20 заявленных крупных активов входят в неё. Основной инструмент — BTCUSDT 12-HOUR, это другой таймфрейм, чем у компонентов, поэтому барьер выравнивания по тому же таймфрейму не задерживает запуск из-за позднего листинга или делистинга компонентов. Данные дополнительных компонентов используются только при ts <= времени основного бара. Вычисления для каждого дополнительного бара — O(1) (дек — двусторонняя очередь — и текущие суммы); ранжирование примерно 600 названий выполняется один раз на каждый бар 12 ч. Валовая экспозиция не превышает 99% от NAV на счёте CASH 1.0x. Ожидаемый журнал сделок: примерно 3-4 из 6 слотов меняются за месяц при примерно 78 ребалансировках в песочнице на 2400 дней, то есть примерно 250-400 покупок. Недельные и внутримесячные стопы не относятся к гипотезе и не добавляются. Риск: 591 дополнительных компонентов создают большую нагрузку на загрузку каталога для песочницы на 300 с; при превышении времени выполнения следует механически уменьшить пул (например, до названий, когда-либо входивших в топ-100 по объёму торгов в долларах), а не менять сигнал.

verifying_stuck_3_timeouts

Реализация

Ежемесячная ротация только в длинных позициях на дневных данных BINANCE_SPOT. Каждый месяц (первый бар 12 ч не раньше начала месяца плюс 12 ч UTC, когда уже известно первое дневное закрытие месяца) строится вселенная на каждый момент времени: все спотовые пары <BASE>USDT из пула, у которых есть >= 60 дневных баров и дневной бар за последние 36 ч (делистингованные названия выбывают), с наибольшими 30 значениями по среднему close*volume за последние 30 дней. Эти 30 названий ранжируются по PriceChange1M =……Показать большеСвернуть

Ежемесячная ротация только в длинных позициях на дневных данных BINANCE_SPOT. Каждый месяц (первый бар 12 ч не раньше начала месяца плюс 12 ч UTC, когда уже известно первое дневное закрытие месяца) строится вселенная на каждый момент времени: все спотовые пары <BASE>USDT из пула, у которых есть >= 60 дневных баров и дневной бар за последние 36 ч (делистингованные названия выбывают), с наибольшими 30 значениями по среднему close*volume за последние 30 дней. Эти 30 названий ранжируются по PriceChange1M = close/close[-30]-1. Верхний квинтиль (6) удерживается с равными весами и долей 1/6 от NAV на каждую позицию (1% резерв денежных средств). Слот, у которого собственное значение PriceChange1M <= 0, остаётся в USDT — заявленном состоянии без позиции. Удерживаемые названия торгуются, только если их вес отклоняется более чем на 5 п. п.; сначала закрываются позиции, затем выполняются покупки, размер которых ограничен фактически доступными средствами. Каждый компонент — отдельный ордер по своему инструменту. BTCUSDT 12H задаёт только временную шкалу, а сигнал — среднее изменение за 1M среди текущих кандидатов из верхнего квинтиля.

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

В конструкции использовались часовая шкала 12 BTCUSDT и примерно 700 ежедневных дополнительных инструментов. Такая широкая вселенная, вероятно, не укладывается в лимиты времени песочницы проверки, поэтому в следующей итерации перед проверкой следует предварительно отфильтровать кандидатов до гораздо меньшего набора потенциально ликвидных названий.

Запуск остановили на этапе проверки по причине «verifying_stuck_3_timeouts» после 1 итерации. Этапы проверки бэктеста, анализа аналитиком и оценки риск-менеджером не были достигнуты.

Ежемесячная ротация BINANCE_SPOT только в длинных позициях, без плеча. В начале каждого месяца стратегия выбирает топ 30 пар USDT по долларовому объёму за последние 30 дней на каждый момент времени и удерживает равновзвешенный верхний квинтиль (6 названий) по изменению цены за 1 месяцев. Названия с неположительным изменением за 1 месяцев остаются в денежных средствах USDT. Идея адаптирована из ценового фактора модели отбора акций QuantConnect по фундаментальным факторам.

Данных о результативности нет. Отчёт о бэктесте пуст, отчёта об оптимизации нет, поэтому показатели доходности, коэффициента Шарпа и числа сделок не получены.

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