Блог им. IgorK_23a

Начинающий алготрейдер -- хороший результат на тестах

    • 14 июля 2025, 13:05
    • |
    • IgorK
  • Еще

Продолжаю тестировать описанный тут алгоритм, основанный на парном трейдинге: smart-lab.ru/blog/1176485.php

Собрал сделки на всех парах в одну кривую — получил вот такой красивый результат на out-of-sample данных.
Начинающий алготрейдер -- хороший результат на тестах

Что ещё нужно сделать: 
— Попытаться придумать критерий, чтобы еще на этапе тестирования отсеивать плохие пары.
— Проработать stop-loss'ы (и в целом продумать risk management). Пока единственное условие выхода — это боллингер.


Что НЕ работало:
— Алгоритмы из книжек и интернета в лоб, без своих идей.
— Метод наименьших квадратов (OLS) для вычисления коэффициентов регрессии. Коэффиценты получаются очень нестабильными, нужна какая-то регуляризация.
— Минутные данные. Издержки/спред/проскальзывания съедают прибыль.

Что заработало:
— Фильтр Калмана вместо OLS.
— Оптимизация параметров в фильтре Калмана не через прибыль, а через статистические свойства спреда.
— В статистических оценках — использование robust подходов, например https://medium.com/@aakash013/outlier-detection-treatment-z-score-iqr-and-robust-methods-398c99450ff3
— Дневные данные*.

* Дневные данные естественным образом гораздо менее чувствительны к издержкам и проскальзываниям, чем минутные, по таким простым соображениям. Допустим, CAGR на тесте показывает 30%. Количество сделок в год с дневными данными 70 или меньше. Тогда среднее P&L с каждой сделки 0.4%. Проскальзывания и спред обычно в районе 0.05%-0.1% со сделки — это в разы меньше среднего P&L и не меняет качественным образом поведение эквити.

Думаю, скоро смогу вынести алгоритм в реал. У меня пока нет живого опыта в алготрейдинге (за исключением наивной попытки на крипте год назад, когда я ничего не знал про подходы, без тестирования вынес в реал первый пришедший в голову алгоритм, основанный на моменте, и за пару дней продул 50% капитала); поэтому благодарен за любые комментарии и мнения.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
5.8К | ★10
27 комментариев
По меркам трейдинга довольно откровенный пост. Может потому что это этап тестов. Максимум трейдеры делятся пунктом «что не работало», а вот «что сработало» обычно в тени остаётся).
avatar

Replikant_mih, мне кажется, что эти идеи давно известны и разработаны вдоль и поперек крупными участниками, и вместе с тем достаточно техничны для индивидуальных трейдеров, чтобы не нарушить имеющийся арбитраж (если он там вообще есть — это покажет практика).

А для меня сразу две пользы:
— Рассказывая для коммьюнити, упорядочиваю собственные мысли 
— Бывают полезные комментарии.

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

avatar
IgorK, Ну я больше на форму смотрю, на содержание чуть в меньшей степени, потому что арбитражом не занимаюсь пока.
avatar
IgorK, хотите использовать свои наработки долгосрочно — забудте про арбитраж и прочие выкрутасы. Месяц назад Герчик давал интервью, в котором сказал, что все подобные выкрутасы, «неэффективности» и прочее «хитрожо/е» все брокеры постепенно прикрывают.

Честно говоря, арбитраж небесспорное усложнение торговли.
Сегодня корреляция, завтра куча причин учинить абсолютную раскоррелляцию. Спорить не буду, просто ИМХО — алгоритм должен работать на одном инструменте хотя бы потому, что в уравнении будет как минимум на одну переменную меньше (из двух!)
avatar
Чувствительность к издержкам и проскальзываниям обусловлена не таймфреймом, а размером ТП. Просто на д1 большинство алгоритмов автоматически дают бОльшие цели, но то же самое можно попытаться сделать и на м1, если ТС позволяет.

Попробуйте прогнать оптимизацию своих идей с заведомо космическими для м1 целями — скорей всего увидите ЗОНЫ РАЗНЫХ ТП, дающих интересные результаты.
Условно говоря, станут видны зоны в районе фиборасширения 62%, 100% и 162%, а может и 200-262%.
avatar
Запускайте в работу небольшой суммой, увеличивая постепенно в течении года до плановой суммы.
avatar
алготрейдеры в своем комьюнити позитивные и довольные результатами, пусть и Вам улыбнется удача
avatar
eltudin, спасибо!
avatar
Между теорией и практикой, в трейдинге, лежит пропасть.
Это, вероятно, вам еще предстоит постичь…
Тогда среднее P&L с каждой сделки 0.4%. Проскальзывания и спред обычно в районе 0.05%-0.1% со сделки — это в разы меньше среднего P&L и не меняет качественным образом поведение эквити.

Недооцениваете 

Да, возможно недооцениваю.

Поскольку сделка будет совершаться раз в день, я планирую выбрать время, когда волатильность минимальна, чтобы снизить проскальзывание. Интуитивно, это обед, около 12:00. Однозначно не открытие сессии. Можно провести мини-исследование, чтобы определить время минимальной волатильности.

Думаете, в этом есть смысл?

 

avatar
IgorK, когда вы тестировали систему на исторических данных, сделки совершали в какое-то определенное точное время. Вероятно, это было открытие сессии. Если поменяете время открытия/закрытия позиций,

обед, около 12:00

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

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

Тогда, возможно, лучше брать время закрытия, к концу сессии обычно волатильность меньше. Хотя там и объемы меньше, на small-cap могут быть проблемы со спредом/ликвидностью,… не знаю, у меня с этим нет опыта, нужно погонять вживую. 

avatar

IgorK, 

Интуитивно кажется, что изменение времени не должно сильно перекосить картину

Еще как должно. На глаз скажу, 0.4% средней сделки и торговля по дневкам — несовместимые вещи, это неустойчивый результат. Если переход на минутки превращает все в тыкву, то он правильно превращает. Лучше на бэктесте, чем на депозите.

Стратегии с 0.4% на фьючах бывают (чо уж там, даже 0.05% иногда дает гешефт), но тестировать их надо нормально — с учетом лимитного исполнения и доступного объема, а не «возьмем проскальзывание столько-то».

__rtx, когда я искал платформу, я посмотрел довольно много роликов от Алекса Вана, немного смотрел OsEngine. Также смотрел Stock Sharp и несколько других платформ.

Выглядит красиво, но я решил написать своё. Мне показалось, что так будет выше КПД. У меня свой бэктестер и трейдинг энджин на C#. Дописываю по необходимости. Никакую визуализацию пока не делал, всё через консоль. Лог кладу в базу, статистику скидываю в файлы — потом визуализирую через Excel и Tableau.

Визуализацию буду добавлять по необходимости, но обязательно через веб (чтобы можно было смотреть за своим роботом с любого девайса).
avatar

__rtx, 

может из-за каких-то галочек на сайте Финама при скачивании данных типа — «заполнять периоды без сделок»

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

Но еще лучше перейти на iss.moex, минутки он отдает бесплатно за любой период, хоть и с задержкой 15 мин.

IgorK, спасибо большое Вам!

Читайте на SMART-LAB:
АКРА подтвердило кредитный рейтинг ДельтаЛизинг на уровне AA-(RU)
Аналитическое кредитное рейтинговое агентство (АКРА) подтвердило кредитный рейтинг ДельтаЛизинг (входит в группу «Инсайт Лизинг») на уровне...
Двойной дивидендный эффект: как усредняться после гэпа
Каждый раз, когда компания платит дивиденды, её акции дешевеют примерно на их размер. Многие инвесторы после этого просто ждут восстановления...
Фото
Сравниваем облигации гигантов ритейла
Российский продуктовый ритейл остается одним из самых понятных защитных сегментов для долгового рынка. Спрос здесь менее цикличен,...
Фото
Подлый рынок с подливою. 3 группы факторов. Мозговой штурм. Weekly #121
14 недель подряд доминируют продажи на российском рынке.  Три основных вопроса я ставил сегодня на еженедельном обсуждении: 1. Какова...

теги блога IgorK

....все тэги



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