Стратегии
Дневная стратегия по разности односторонней волатильности A-share: переход в лонг с фильтром оборота
Итог: Отменено
CneqDirectionalVarianceAmountFilter
Сводка по итогам
CneqDirectionalVarianceAmountFilter реализовал гипотезу тайминга на трёх акциях A-share с пересечением вверх нуля направленной дисперсии и приблизительным фильтром торгового оборота. После одной итерации бэктест зафиксировал 100 закрытых сделок, общую доходность +0.34988% и коэффициент Шарпа 0.0295, тогда как средняя доходность сделки составила -0.01647%. Проверка бэктеста остановила работу до оптимизации, поскольку базовый вариант не достиг порога +0.15% на сделку даже при нулевых учтённых комиссиях. Отклонена эта операционализация, а не исходная стратегия Guosen Securities, формула которой недоступна.
Гипотеза
Поле corpus_concentration пусто, поэтому нельзя утверждать, какую долю недавнего корпуса занимают выбранные акции или дневные бары. Наличие этих трёх акций A-share в текущем пуле подтверждено; данные об историческом составе индексов или рейтинге по капитализации не нужны. Независимая торговля несколькими акциями снижает зависимость от одного ряда, сохраняя китайский рынок акций и исходный фильтр оборота для сигналов перехода в лонг. Хотя портфель уже занимает 80.9% в длинных позициях, источник явно рассматривает переход в лонг и инвестиции в длинные позиции, поэтому шорт не добавляется ради квоты и рынок не заменяется криптовалютой. Многодневное удержание на дневных барах позволяет избежать недавних неудачных моделей с высоким оборотом и ловлей малых колебаний. Ожидается около 4–10 покупок в год на каждую ногу, всего 12–30 на три ноги; эта частота также является прогнозом, а не условием входа.
negative_expectancy: В 100 закрытых сделках средняя доходность составила -0.01647% против порога проверки +0.15% CNEQ, несмотря на нулевые учтённые комиссии. Базовый вариант не оправдывает оптимизацию, а подтверждённых дефектов реализации, требующих новой итерации, нет. Отклонена указанная руководителем исследований операционализация для трёх акций, а не исходная стратегия Guosen Securities, формула которой недоступна. Отдельно следует сверить неучтённые комиссии CNEQ; их причину независимо не проверяли.
Реализация
Независимо торгует 600036, 601318 и 000333 на дневных барах CNEQ. Покупает только при переходе разности направленных квадратов логарифмических диапазонов из неположительной области в положительную и если приблизительный оборот превышает среднее за предшествующее окно в заданное число раз. Выходит по цене закрытия дневного бара, когда сигнал становится неположительным, пробит стоп ATR, рассчитанный от цены входа, или истекает максимальный срок удержания; требуется минимум одна последующая сессия. Использует целые акции, риск по капиталу 0.5% на ногу, лимит экспозиции 25% на ногу и общий лимит экспозиции 75%.
Реализует явно описанную операционную формулу и прокси оборота, не заявляя о воспроизведении недоступного исходного индикатора. Оборот фильтрует только входы; если покупка отфильтрована при пересечении вверх, позднее входа не будет, пока сигнал остаётся положительным. Для всех трёх инструментов индикаторы и позиции рассчитываются независимо, временные метки закрытия синхронизированы, состояние позиции сохраняется в скалярном виде. ATR — скользящее среднее истинного дневного диапазона за 14; его значение на входе задаёт защитный выход при закрытии бара. Меняются только пять параметров, разрешённых исследованием; фиксированные исследовательские значения не меняются. Стопы не гарантируют соблюдение лимита риска при ночных гэпах. Рабочая область доступна только для чтения, поэтому создать требуемый файл в исходящей папке нельзя; в этом ответе приведён полный JSON с точной задачей call_id.
Результаты верификации
Изменения кода не требуются. Укажи в описании, что входы и выходы исполняются на открытии следующей сессии.
В тексте гипотезы указано исполнение при закрытии завершённого дневного бара. CNEQ — площадка с торговыми сессиями: платформа исполняет решение по закрытию бара на открытии следующей сессии, а execution_capabilities означает, что same_close_fill не поддерживается. Код не предполагает и не обеспечивает исполнение по той же цене закрытия: он отправляет обычные рыночные заявки и рассчитывает размер позиции по цене закрытия, что корректно. Это замечание нужно лишь для понимания аналитиком того, что фактическое исполнение происходит на открытии следующей сессии, а не при закрытии.
Необязательно: заявка _submit_stop_market только на сокращение позиции на уровне стопа, рассчитанном от цены входа, позволила бы исполнять стоп внутри бара, но гипотеза этого не требует.
Стоп ATR (avg_px_open - stop_atr_multiple * entry_atr) проверяется только при закрытии дневного бара, а исполнение происходит на открытии следующей сессии. Поэтому ночные гэпы и дни с лимитом снижения цены на рынке A-share могут привести к убытку выше лимита риска 0.5% капитала. В завершённом исследователем описании нет внутридневного стопа, поэтому стоп по закрытию соответствует ему. Максимальный убыток при этом ограничен лимитом 25% на ногу.
Допустимо без изменений. При желании можно подавать данные в буферы каждой дополнительной ноги из on_extra_bar, чтобы приостановка торгов одной акцией не приводила к пропуску наблюдений по другим.
Дополнительные ноги обновляются, только когда базовый барьер синхронизации выпускает основной бар, где все три ноги имеют одинаковую временную метку. Если торги одной акцией приостановлены на сессию, базовый процесс откладывает всю обработку основного бара за этот день. Бары остальных ног за этот день не попадают в их скользящие буферы, поэтому они пропускают одно наблюдение, а проверка пересечения вверх охватывает две сессии. Это акции компаний с большой капитализацией, торги которыми приостанавливают редко, поэтому влияние незначительно.
Если стратегию когда-либо будут переводить на реальную торговлю CNEQ, округляй количество акций вниз до кратного 100.
Количество акций выражено целыми числами, но не кратно биржевому лоту A-share в 100 акций. Движок не моделирует биржевые лоты, поэтому бэктест исполняет заявки, но биржа отклонит покупку на реальном счёте или демо-счёте для трейдинга акций A-share в количестве, не кратном 100.
Песочница (1492 дней, 67 закрытых сделок): PF 1.24, коэффициент Шарпа 0.19, средняя сделка — +0.47% от номинала, доля прибыльных сделок 37%, асимметрия доходности / эксцесс 3.1 / 61. Результат зависит от нескольких крупных выигрышей (крупнейший выигрыш 2384 против среднего выигрыша 514), поэтому он может оказаться неустойчивым. Коэффициент Шарпа CI находится в диапазоне [-0.67, 0.96], поэтому наличие преимущества не подтверждено. Средняя доля капитала в одной позиции — около 7.5%, поэтому абсолютная доходность остаётся небольшой. Запас на сделку после расходов CNEQ (~0.05% гербовый сбор при продаже + спред/ценовое воздействие) выглядит достаточным.
Обзор бэктеста
- Шарп
- 0,03
- Общая доходность
- 0,35%
- Максимальная просадка
- 5,24%
- Всего сделок
- 100
- Доля прибыльных
- 40,0%
- Профит-фактор
- 1,02
Код реализует заданную разность дисперсий, пересечение нуля вверх и фильтр оборота. Все 100 сделок — длинные позиции; ни одна не закрыта в день входа.
Частота сделок соответствует прогнозу, просадка — 5.243%.
Средняя доходность сделки — -0.01647% против порога проверки CNEQ в +0.15%. PF составляет 1.0205, а общая доходность — всего +0.34988% за период более восьми лет.
Опасение QA подтвердилось: коэффициент Шарпа за всю историю падает до 0.0295, а прибыльность сильно зависит от 2024.
Учтённые комиссии равны нулю; полнота расчёта расходов площадки не подтверждена. Измеренная средняя доходность сделки уже ниже порога без учёта этих комиссий.
Доходность равновзвешенной стратегии «купить и держать» — около 20.21%, измеренная на выборке просадка — 56.19%. Альфа стратегии составляет -0.002, информационный коэффициент — -0.2094; это дополнительные данные для контекста.
Сводка по итогам
В следующей итерации следует подтвердить приемлемое чистое преимущество на сделку и сверить комиссии CNEQ, прежде чем тратить средства на оптимизацию.
Проверка бэктеста остановила работу над стратегией из-за отрицательной средней доходности сделки и недостатка оснований для оптимизации или ещё одной итерации реализации. До оптимизации и последующих проверок аналитика и риска дело не дошло; неучтённые комиссии CNEQ остались несверенными.
Проверена смена длинной позиции на наличные на трёх акциях A-share: покупка при пересечении вверх нуля разностью дневных направленных дисперсий и превышении приблизительным торговым оборотом предыдущего базового уровня в 1.1 раз.
Бэктест дал 100 закрытых сделок, общую доходность +0.34988%, коэффициент Шарпа 0.0295 и максимальную просадку 5.2431%. Средняя доходность сделки составила -0.01647% от номинала — ниже порога проверки +0.15% CNEQ, несмотря на нулевые учтённые комиссии.
Анализ
Специальное исследование финансовой инженерии: «Тайминг по разности односторонней волатильности, часть шестая: метод улучшения сигнала перехода в лонг с фильтром оборота», Guosen Securities_20181210_ — количественная торговля BigQuant
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.