Блог им. Eugene777

Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров

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

Посмотрим, как ложатся результаты пробойной системы по тикеру VTR на эти индикаторы. 

Первый график показывает результаты сделок с зависимости от состояния индекса выбранных инструментов.

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

Второй график показывает значения сделок в зависимости от того, на сколько изменения по тикеру VTR отличаются от изменения совокупного индекса.


Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров

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

А теперь посмотрим, какова средняя прибыль на сделку в зависимости от того, на каком месте по росту находится VTR в текущий момент в  индексе торгуемых инструментов.

Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров 

Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров
 
Как видим, особенной зависимости нет, однако, это не значит, что на каких-то других системах она не появится.

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


UPD: По совету Александра Горчакова сделал пару графиков остаточной эквити в позиции в зависимости от отклонения от индекса. Честно говоря, мой мозг пока это не перварил, но, мне кажется, тут надо выбирать немного другие параметры, такие как отклонение от хая дня или что-то в этом духе! Но идея хороша, спасибо!


Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров

Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров

Анализ результатов торговой стратегии в зависимости от состояния торгуемых тикеров
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
39 | ★4
22 комментария
А не проще было просто добавить дополнительное условие в логику ТС, прогнать оптимизацию по этому параметру и посмотреть результаты?
avatar
Ну прежде чем добавить логику в систему, надо было добавить функционал расчета всего этого дела, желательно прооптимизировав по скорости, ну а наглядность добавить — дело недолгое. Да, потом в систему, конечно.
avatar
Eugene777, ты на своем софте тестишь?
avatar
Alex Hurko, и да и нет. В основном в Wealth-Labе. Потом уже в свой софт. Там тоже можно тестить. Торгую из своего софта, соответственно, он должен уметь все считать.
avatar
Хороший факторный анализ. Только я бы смотрел не результаты сделок, а доходность эквити (отдельно лонга и отдельно шорта) за период.
avatar
А. Г., Александр, когда этот фильтр станет частью системы, можно будет смотреть эквити как портфеля, так и отдельных систем. Примерно как я описывал на видео здесь: smart-lab.ru/blog/190718.php
avatar
Eugene777,

Это можно сделать и для имеющихся систем — их эквити то есть.
avatar
А. Г., Александр, я не совсем понимаю, что Вы имеете ввиду. Если мы говорим о том, что есть система, которая подает сигналы в лонг и шорт и есть некий временной ряд, значения которого являются дополнительным фильтром для наших сигналов, все что мы можем, это фильтровать их по опеределенным парвилам, а потом получать новую эквити. Правила мы можем добавить путем включения фильтра в систему, либо отфильтровав значения по некому правилу, которое так же должны задать. Здесь я смотрю на результаты и определяю правила, не более того, потом я могу это правило включить в систему и посмотреть что получилось с эквити, могу задать парметры этому правилу и прооптимизировать их, и тоже посмотреть, что получилось. Вроде так.
avatar
Eugene777,

У любой системы, кроме сигналов на смену позиции (вход-выход) есть и сигналы на сохранение позиции. Оценить эффективность последних по статистике сделок невозможно — только по эквити системы. Поэтому и фильтр надо строить на все три типа сигналов. Т. е. смотреть влияние текущего значения фильтра на будущую доходность системы за период.
avatar
А. Г., я Вас понял и абсолютно согласен. Но тогда, наверное, самый простой вариант — это задавать правила и загонять в оптимизатор и смотреть эквити. Просто не совсем представляю, что строить в формате, как это сделано у меня. Или я что-то недопонимаю?
avatar
Eugene777,

Да методика как Ваша, только вместо результатов сделок, брать доходность системы (отдельно лонг, отдельно шорт) за некоторый период в будущем. И составлять такие же картинки.
avatar
А. Г., интересно! Попробую сейчас!
avatar
А. Г., что-то получилось, но не могу пока понять, что =)
avatar
Eugene777,

Судя по картинкам фильтр рабочий, надо думать над правилами его применения.
avatar
А. Г., мне стало интересно, этот фильтр стоит обсчитывать автоматически для каждого тикера и работать с пространством точек, или визуально определеять параметры и просто задавать?
avatar
Eugene777,

Ну на этот вопрос у меня только один ответ: эксперимент покажет. А эксперимент можете провести только Вы.
avatar
А. Г., я как раз хотел спросить, как это делают профессионалы!
avatar
Eugene777,

Каждая система (правила входа, выхода, сохранения позиции) индивидуальна. Это подходы к тестированию общие.
avatar
Роман Некрасов, различные тесты временных рядов, реализую чуть позже. Я и так летом из офиса не вылезаю, что меня немного печалит. =) В данном конкретном случае все немного проще: у нас есть общее состояние рынка и сигнал стратегии. В рамках этого вопроса, честно говоря, мне больше ничего не надо. А так я потихоньку начинаю перетаскивать наработки из R в C#. Ну и потом собираюсь увязать еще их для того, чтобы было полное взаимодействие.
avatar
Eugene777, я как раз сейчас занимаюсь изучением R — приятно впечатлен его функционалом и относительной простотой.

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

поделитесь опытом/впечатлениями переноса на с#…
avatar
kreativ_25, ну какие-то простые вещи просто переписывается, а вообще, есть библиотека R.Net, если не ошибаюсь, она достаточно простая.
avatar
Eugene777, вот за это большое спасибо!
Буду использовать!
avatar

Читайте на SMART-LAB:
Фото
Финансовые результаты Аэрофлота по РСБУ за 6 месяцев 2026 года
Аэрофлот опубликовал финансовые результаты по РСБУ за 2 квартал и 6 месяцев 2026 года. ✈️ Выручка во 2 квартале увеличилась на 3,3% год к году и...
Фото
Эмитент допустил дефолт: что делать инвесторам в таком случае?
Дефолт по облигациям не всегда означает полную потерю вложений. Даже если эмитент перестал платить купоны или не погасил долг, инвестор...
Ключевые тезисы менеджмента Норникеля по итогам раскрытия финансовых результатов за 1П 2026 г.
Сегодня мы раскрыли финансовые результаты за 1П 2026 г. по МСФО. Все наши материалы доступны на сайте...
Фото
МД Медикал операционные результаты 2 кв. 2026 г. - темпы роста ускорились, но появился долг
Компания МД Медикал (Мать и дитя) опубликовала операционные результаты за 2 квартал 2026 г. Выручка за 2 квартал выросла на 25,9% до 13 млрд руб....

теги блога Eugene777

....все тэги



UPDONW
Новый дизайн