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

Стратегии

Регуляризованный портфель характеристик на девяти отраслевых ETF US

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

RegularizedSectorCharacteristicPortfolio

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

Стратегия проверяла регуляризованный портфель характеристик на девяти отраслевых ETF US с ежемесячной ребалансировкой и фиксированными коэффициентами. После трёх итераций на слое 4 QA обнаружили, что защитные стоп-приказы покрывали лишь первоначальное частичное исполнение, а моделируемые позиции не соответствовали исполнению со стоп-приказами. Во время проверки стратегию забросили; метрики бэктеста и результаты оптимизации недоступны.

Гипотеза

Идея руководителя исследований, основанная на работе Lamoureux и Zhang: проверить, улучшает ли последующую доходность портфеля увеличение кривизны степенной полезности при оценке весов портфеля, зависящих от характеристик. Используй бары USEQ с дневной частотой, агрегированные в месячные наблюдения, для девяти устоявшихся отраслевых ETF. Это практическая реализация механизма выбора портфеля из статьи, а не воспроизведение её эксперимента CRSP/Compustat. Сохрани импульс за 12 месяцев без последнего месяца и……Показать большеСвернуть

Идея руководителя исследований, основанная на работе Lamoureux и Zhang: проверить, улучшает ли последующую доходность портфеля увеличение кривизны степенной полезности при оценке весов портфеля, зависящих от характеристик. Используй бары USEQ с дневной частотой, агрегированные в месячные наблюдения, для девяти устоявшихся отраслевых ETF. Это практическая реализация механизма выбора портфеля из статьи, а не воспроизведение её эксперимента CRSP/Compustat. Сохрани импульс за 12 месяцев без последнего месяца и остаточную волатильность рыночной модели за 60 месяцев. Исключи размер и отношение балансовой стоимости к рыночной: исторические данные о капитализации и бухгалтерские показатели недоступны; ни один из них не заменяется ценовым показателем. Выбери равновзвешенный бенчмарк, SPY в качестве ориентира рыночной модели, ограниченные экспозиции и более короткую выборку для оценки. Оценивай коэффициенты только по истории до периода оценки и фиксируй их на всё окно оценки. Выполняй ежемесячную ребалансировку по цене закрытия завершённой сессии; исполнение на открытии следующей сессии не требуется. Предоставленный полный текст содержит алгоритм, поэтому это предложение основано не только на аннотации.

Источник посвящён формированию портфеля акций, поэтому сохраняй фондовую площадку, а не переноси характеристики акций на криптовалюты. Девять торгуемых позиций учитывают распространённость экспериментов с одним инструментом. Положительные и отрицательные наклоны по характеристикам допускают короткие позиции и помогают снизить концентрацию портфеля в длинных позициях. Данных о концентрации корпуса нет, поэтому недавние доли отдельных инструментов установить нельзя. Этот эксперимент проверяет регуляризацию совместно оцениваемых весов, а не очередной вход по индикатору или сигнал возврата спреда к среднему. Точное воспроизведение исторического набора инструментов недоступно; фиксированный набор ETF задаёт отдельный эксперимент с явно ограниченной областью.

verification_loop: Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не……Показать большеСвернуть

verification_loop: Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не защищает всю позицию. (строка 277) — исправление: отслеживай защитный стоп-приказ каждой позиции и обновляй его количество и цену срабатывания после каждого исполнения входа, используя текущий размер позиции и среднюю цену входа. Обрабатывай частичное исполнение стоп-приказа отдельно, чтобы оставшаяся позиция была защищена. - [warning] Целевая функция подгонки коэффициентов моделирует непрерывное владение позициями от месяца к месяцу, тогда как при срабатывании внутридневного стопа 10% позиция ликвидируется и остаётся нулевой до следующей ежемесячной ребалансировки. Поэтому полезность при обучении описывает иной путь доходности, чем исполненный портфель. (строка 161) — исправление: учитывай зарегистрированную политику стоп-приказов при расчёте доходности для подгонки или явно укажи это приближение при интерпретации сравнения кривизны.

Реализация

Ежемесячный портфель отраслевых ETF с совместно оцениваемыми наклонами по импульсу и остаточной волатильности, повышенной кривизной степенной полезности, коэффициентами, обученными до окна оценки и неизменными в его ходе, ограниченными весами и раздельным учётом позиций с защитными стоп-приказами.

Минимальное изменение реализации: если граница оценки не задана, теперь можно собирать наблюдения и выполнять месячную агрегацию без подгонки или торговли, что устраняет сообщённое исключение в синтетическом сценарии. Если граница задана, подгонка по-прежнему выполняется до включения первого наблюдения периода оценки в обучение, а недостаточная история до окна по-прежнему вызывает ошибку. Импорты, характеристики, решатель, определение размера позиции, выравнивание и исполнение сохранены. Среда запуска оценки должна передать _no_entries_before_ns и зарегистрированный период разогрева. Проверка передана конвейеру. Запрошенный файл outbox не удалось записать из-за разрешений файловой системы только для чтения; полная задача JSON приведена здесь.

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

Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не защищает всю позицию.……Показать большеСвернуть

Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не защищает всю позицию. (строка 277) — исправление: отслеживай защитный стоп-приказ каждой позиции и обновляй его количество и цену срабатывания после каждого исполнения входа, используя текущий размер позиции и среднюю цену входа. Обрабатывай частичное исполнение стоп-приказа отдельно, чтобы оставшаяся позиция была защищена. - [warning] Целевая функция подгонки коэффициентов моделирует непрерывное владение позициями от месяца к месяцу, тогда как при срабатывании внутридневного стопа 10% позиция ликвидируется и остаётся нулевой до следующей ежемесячной ребалансировки. Поэтому полезность при обучении описывает иной путь доходности, чем исполненный портфель. (строка 161) — исправление: учитывай зарегистрированную политику стоп-приказов при расчёте доходности для подгонки или явно укажи это приближение при интерпретации сравнения кривизны.

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

Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не защищает всю позицию.

Учитывай зарегистрированную политику стоп-приказов при расчёте доходности для подгонки или явно укажи это приближение при интерпретации сравнения кривизны.

Целевая функция подгонки коэффициентов моделирует непрерывное владение позициями от месяца к месяцу, тогда как при срабатывании внутридневного стопа 10% позиция ликвидируется, после чего портфель остаётся без неё до следующей ежемесячной ребалансировки. Поэтому полезность при обучении описывает иной путь доходности, чем исполненный портфель.

История итераций

Проверка не пройдена (слой 1 — статический анализ): - Запрещённый импорт: src.data.market_calendar — стратегии могут импортировать только базовые классы и вспомогательные средства фреймворка (src.strategies.base_template, src.strategies.rolling_options_template, src.strategies.polymarket_series_template, src.strategies.helpers); сборщики данных, база данных, движок бэктеста и реестр находятся вне изолированной среды. (строка 10)

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['fit_months', 'net_weight', 'bar_interval', 'sector_names', 'stop_loss_pct', 'investor_gamma', 'max_abs_weight', 'momentum_months', 'benchmark_weight', 'market_reference', 'max_gross_weight', 'rebalance_months', 'solver_tolerance', '_optimization_plan', 'curvature_increment', 'residual_vol_months', 'momentum_skip_months', 'risk_per_position_pct', 'solver_max_iterations', 'coefficient_update_policy', 'coefficient_initialization',……Показать большеСвернуть

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['fit_months', 'net_weight', 'bar_interval', 'sector_names', 'stop_loss_pct', 'investor_gamma', 'max_abs_weight', 'momentum_months', 'benchmark_weight', 'market_reference', 'max_gross_weight', 'rebalance_months', 'solver_tolerance', '_optimization_plan', 'curvature_increment', 'residual_vol_months', 'momentum_skip_months', 'risk_per_position_pct', 'solver_max_iterations', 'coefficient_update_policy', 'coefficient_initialization', 'fit_cost_per_dollar_traded'] Убедись, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000) - steady_downtrend: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000) - flat_ranging: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000) - volatility_spike: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000) - zero_volume: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000) - price_gap: ValueError: evaluation_boundary_required: необходимо передать зарегистрированный фиксированный период разогрева (время бара: 1735689600000)

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

Обновляй защитные стоп-приказы после каждого исполнения входа и согласуй целевую функцию подгонки с исполняемой политикой стоп-приказов либо явно укажи это приближение.

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

Проверь, улучшает ли более высокая кривизна степенной полезности месячный портфель из девяти отраслевых ETF US, использующий характеристики импульса и остаточной волатильности; коэффициенты оцениваются на истории разогрева и фиксируются на период оценки.

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

Причина отказа

verification_loop: Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не……Показать большеСвернуть

verification_loop: Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]: - [critical] Защитные стоп-приказы не учитывают частичное исполнение входа. При первом исполнении создаётся стоп-приказ на текущий размер позиции. При последующих исполнениях существующий приказ reduce-only вызывает немедленный возврат, оставляя дополнительные акции без защиты. Например, после исполнения входа на 100 акций сначала на 40, затем на 60 акций стоп-приказ остаётся только на 40 акций. Поэтому настроенный стоп 10% не защищает всю позицию. (строка 277) — исправление: отслеживай защитный стоп-приказ каждой позиции и обновляй его количество и цену срабатывания после каждого исполнения входа, используя текущий размер позиции и среднюю цену входа. Обрабатывай частичное исполнение стоп-приказа отдельно, чтобы оставшаяся позиция была защищена. - [warning] Целевая функция подгонки коэффициентов моделирует непрерывное владение позициями от месяца к месяцу, тогда как при срабатывании внутридневного стопа 10% позиция ликвидируется и остаётся нулевой до следующей ежемесячной ребалансировки. Поэтому полезность при обучении описывает иной путь доходности, чем исполненный портфель. (строка 161) — исправление: учитывай зарегистрированную политику стоп-приказов при расчёте доходности для подгонки или явно укажи это приближение при интерпретации сравнения кривизны.

Анализ

Эмпирическая оценка характеристик и оптимальных портфелей

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