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

Стратегии

Возвратный к среднему портфель драгоценных металлов (конструкция Zhao et al. 2018 MRP): спред из 3 активов GDX/GLD/SLV, построенный по весам с минимальной предсказуемостью, нижним порогом дисперсии и лимитом плеча L1; вход и выход по z-оценке, явное нулевое состояние (USEQ DAILY, лонг-шорт)

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

GdxGldSlvMinPredictabilityMRP

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

GdxGldSlvMinPredictabilityMRP пыталась торговать спредом трёх активов из сектора драгоценных металлов (GDX/GLD/SLV). Использовались веса по собственному вектору с минимальной предсказуемостью, ежеквартальный пересчёт и входы по z-оценке; заранее зарегистрированная оценка — примерно 7-10 сделок в год. За 3 итераций код так и не прошёл проверку. Бэктест в песочнице Layer 3 продолжал превышать лимит в 300 с на дневном окне примерно в 20,000 баров. Запуск прекратили из-за тайм-аута песочницы на этапе проверки, поэтому проверка бэктеста, оптимизация, аналитическая и риск-проверка не проводились; метрик результатов нет.

Гипотеза

Источник: arXiv:1803.02974 (Zhao et al., 2018), аннотация. В аннотации дано правило построения: собрать портфель с сильным возвратом к среднему, достаточной дисперсией спреда для торговли и в пределах лимита кредитного плеча. В ней не указаны торговое правило, точная мера возврата к среднему или значения ограничений. Они заданы ниже и требуют проверки по полной версии статьи. Заявления статьи о результативности не проверялись. Корзина состоит из 3 экономически связанных активов: GDX.USEQ (золотодобывающие……Показать большеСвернуть

Источник: arXiv:1803.02974 (Zhao et al., 2018), аннотация. В аннотации дано правило построения: собрать портфель с сильным возвратом к среднему, достаточной дисперсией спреда для торговли и в пределах лимита кредитного плеча. В ней не указаны торговое правило, точная мера возврата к среднему или значения ограничений. Они заданы ниже и требуют проверки по полной версии статьи. Заявления статьи о результативности не проверялись. Корзина состоит из 3 экономически связанных активов: GDX.USEQ (золотодобывающие компании, основной инструмент), GLD.USEQ и SLV.USEQ. Они торгуются ежедневно на площадке USEQ без комиссий; история составляет около 19-20 лет. Веса: каждые 63 сессий по последним 504 дневным логарифмам цен закрытия оцениваются ковариация с лагом -0 S0 и автоковариация с лагом -1 S1. Берётся вектор с минимальной предсказуемостью по Боксу — Тьяо; это обобщённая задача на собственные значения размерности 3x3. Он масштабируется так, чтобы сумма абсолютных значений весов равнялась 1 (лимит плеча), а вес GDX был положительным. Если дневное стандартное отклонение спреда ниже 0.6% от валового номинала (минимум дисперсии), берётся следующий собственный вектор. Если ни один не подходит, позиции не открываются. Между переоценками веса не меняются. Полное решение SCA из статьи — отдельный вариант, зарегистрированный заранее, и не входит в это утверждение. Торговля: рассчитываются спред s = w' log P и его z-оценка за 60 сессий. Вход при |z| >= 2, выход при |z| <= 0.25, по истечении 30 сессий, при |z| >= 4 или в дату переоценки. По умолчанию стратегия не держит позиции — примерно в 65-75% сессий. Валовой номинал составляет 100% капитала. Трудоёмок только расчёт собственных значений 3x3 на барах переоценки; вычисления на бар имеют сложность O(1). Расчёт комиссий: ожидаемая прибыль от возврата спреда составляет около 0.8-1.2% валового номинала за сделку. Издержки по трём ногам позиции — около 0.10-0.15%, примерно по 0.03-0.05% на каждую, поэтому прибыль превышает издержки в 5x раз. Ожидаемая частота — около 7-10 сделок в год, или около 140-190 за всю историю.

Итерация 3 сохраняет ранее прошедшую проверку логику стратегии и меняет только затратный способ доступа к дополнительной ноге. Цены дополнительных баров один раз кэшируются в on_extra_bar и считываются по точному времени закрытия за O(1), что устраняет повторный доступ к накопленной истории дополнительных баров во время запуска песочницы на 20,000 барах.

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

Реализация

Ежедневный возвратный к среднему лонг-шорт портфель USEQ на инструментах GDX, GLD и SLV. Он периодически оценивает веса с минимальной предсказуемостью по структуре ковариаций с лагами, задаёт нижний порог волатильности спреда и торгует полученным спредом по z-оценке.

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

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

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

Ежедневная многоногая стратегия должна выполнять работу на бар в calculate_signal с низкой сложностью — O(1) или O(log n) — и не пересчитывать всю историю на каждом баре. Перед отправкой код следует профилировать в песочнице с лимитом 20 тыс. баров.

Запуск прекратили на этапе проверки после 3 итераций. Слой 3 (бэктест в песочнице) завершился неудачей: тест smoke превысил лимит времени 300 с на дневном окне GDX.USEQ примерно из 20,000 баров и 2400 дней. Это указывает на работу на бар, объём которой растёт с длиной истории.

Следуя конструкции Zhao et al. (2018), стратегия сформировала возвратный к среднему спред GDX/GLD/SLV на дневных барах USEQ. Веса определялись собственным вектором с минимальной предсказуемостью Box–Tiao и пересчитывались каждые 63 сессий с нижним порогом дисперсии и лимитом плеча L1. Входы по z-оценке совершались при |z|>=2, выходы — при |z|<=0.25; по умолчанию позиция была нулевой.

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

Анализ

Оптимальное построение портфеля для статистического арбитража на финансовых рынках

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