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

Стратегии

Сетка диапазона из пяти уровней по мотивам FMZ для LTC/BCH с ограниченным запасом

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

LtcBchFiveLevelCappedGrid

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

LtcBchFiveLevelCappedGrid тестировала сетку диапазона из пяти уровней по мотивам FMZ на бессрочных контрактах LTC и BCH, заменив мартингейл с увеличением размера позиции на ограниченные транши относительно капитала. Стратегия прошла 3 итераций, но так и не прошла проверку кода: дымовой тест песочницы Layer 3 постоянно превышал лимит в 300 с на окне Hyperliquid длительностью 2,400 дней и 4 часов с барами LTC. Отчёт о бэктесте, оптимизация, анализ аналитика и оценка риска не проводились, поэтому экономические результаты сетки не измерялись до отказа от запуска.

Гипотеза

Проверить механизм источника: построить пять равноудалённых уровней по торговому диапазону за предыдущие 3–5 дней, входить против выхода за уровень, фиксировать прибыль после половины интервала сетки и закрывать позиции при пробое диапазона. Адаптировать его для независимых сеток бессрочных контрактов LTC и BCH с барами 4-HOUR. Заменить экспоненциальное увеличение позиции по мартингейлу равными траншами относительно капитала и фиксированным лимитом убытка. По каждому инструменту одновременно может удерживаться позиция только в одном направлении, согласно неттинговому счёту Hyperliquid. Это эксперимент по предоставлению ликвидности с компенсацией, а не предположение, что сетки сами по себе приносят прибыль.

Источник предлагает исполняемые концепции диапазона, числа ордеров, фиксации прибыли и стопа, хотя его утверждения о доходности не проверены. Доля Hyperliquid ниже ожидаемой: 7.7% при целевом значении 20%; в этом предложении также добавлены несколько инструментов и оба направления торговли. corpus_concentration пусто, поэтому проверить недавнюю долю исследований по каждому символу нельзя. Избегать BTC и существующей пятиминутной сетки ETH. Опционы представлены недостаточно, но зафиксированные структурные сбои делают их непригодными для адаптации этого источника. Хеджирование между площадками не вводится без механизма, обоснованного источником.

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

Реализация

Независимые сетки диапазона из пяти уровней для бессрочных контрактов LTC и BCH на барах 4H. Диапазон — максимум и минимум за предыдущие range_lookback_bars баров без учёта текущего; он разделён на пять равноудалённых уровней. Стратегия входит против выхода за внутренний уровень (лонг ниже минимума+шага, шорт выше максимума-шага), но только в диапазонах с низкой эффективностью, то есть без тренда. У края диапазона добавляется не более одного равного транша. Прибыль фиксируется после половины интервала сетки; позиция закрывается при выходе за диапазон на половину шага, достижении фиксированного лимита убытка или максимального времени цикла. После каждого цикла следует период ожидания. По каждому инструменту одновременно удерживается позиция только в одном направлении, без мартингейла.

Итерация 3 исправляет sandbox_timeout в Layer-3. Причина — инфраструктура (урок 155, вариант c, диагноз подтверждён), а не стоимость стратегии на бар. Локальный запуск BacktestRunner с предыдущим кодом (LTC+BCH 4H, от 2024-01-01 до 2026-04-17) занял 249 с реального времени, повторный запуск — 321 с. py-spy показал, что почти всё время уходит на ParquetDataCatalog.bars(), где fsspec выполняет поиск по каталогам баров 133,595. Один запрос bars() для LTCUSD.HYPERLIQUID-4-HOUR занял 58.4 с, а эта конфигурация с двумя……Показать большеСвернуть

Итерация 3 исправляет sandbox_timeout в Layer-3. Причина — инфраструктура (урок 155, вариант c, диагноз подтверждён), а не стоимость стратегии на бар. Локальный запуск BacktestRunner с предыдущим кодом (LTC+BCH 4H, от 2024-01-01 до 2026-04-17) занял 249 с реального времени, повторный запуск — 321 с. py-spy показал, что почти всё время уходит на ParquetDataCatalog.bars(), где fsspec выполняет поиск по каталогам баров 133,595. Один запрос bars() для LTCUSD.HYPERLIQUID-4-HOUR занял 58.4 с, а эта конфигурация с двумя инструментами выполняет несколько таких запросов. Сама стратегия имеет сложность O(range_lookback_bars ≤ 30) на бар при ограниченных буферах — примерно 15 с на ~10 тыс. баров. Изменение кода не влияет на поведение: пересчёт диапазона/эффективности теперь пропускается во время ожидания после сделки, как и при открытой позиции (в обоих случаях входы блокируются). Повторный запуск дал те же результаты: 253 сделок, PF 0.797, общая доходность -2.08%, макс. DD 2.64%, avg_trade_return_pct 0.103%. Если Layer 3 по-прежнему завершится по тайм-ауту, исправлять нужно стоимость сканирования каталога (один пакетный или индексированный запрос), а не код стратегии. Честная оценка: при исходных параметрах результат внутри тестового окна не показывает преимущества (PF < 1). Единственные оставшиеся рычаги из плана оптимизации — настраиваемые параметры (max_efficiency, range_lookback_bars).

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

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

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

Перед повторной отправкой измерить стоимость обработки каждого бара на полном окне песочницы размером ~20 тыс. баров, включая буферы баров базового шаблона и диспетчеризацию нескольких инструментов, а не только глубину истории стратегии: код, заявляющий сложность O(lookback) на бар, всё равно может превысить лимит времени.

После 3 итераций от стратегии отказались на этапе проверки. Бэктест в песочнице Layer 3 превысил лимит в 300 с реального времени на окне ~20,000 баров (2,400 дней, LTCUSD.HYPERLIQUID баров длительностью 4 часов). Проверка бэктеста, оптимизация, анализ аналитика и оценка риска не проводились.

Запустить независимые сетки диапазона из пяти уровней для бессрочных контрактов LTC и BCH на 4-часовых барах: построить уровни по диапазону за предыдущие 3–5 дней, входить против выхода за границы диапазона, фиксировать прибыль на половине интервала сетки и закрывать позицию при пробое диапазона; использовать равные транши относительно капитала, фиксированный лимит убытка и одно направление позиции по каждому инструменту вместо размера позиции по мартингейлу.

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

Анализ

Кратко о сеточной торговле

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