Михаил Михалев

Читают

User-icon
32

Записи

36

Подгонка или оптимизация.

Продолжаю допиливать торговую систему и одновременно тестирую робота, который будет по ней торговать...

До этого момента у меня были Out-Of-Sample тесты в виде чередования недель для оптимизации параметров и валидации, walk-forward расширяющимся и скольящим окном. Решил немного улучшить способ с чередованием недель:
  1. Берем на всей истории случайных N% недель для оптимизации параметров.
  2. Для валидации берём недели, не попавшие в первый список.
  3. Оптимизируем параметры и снимаем метрики по первому и второму списку.
  4. Повторяем 1-3 пункт 100 раз и записываем показания.
  5. Выводим распределения метрик и их отношений в виде гистограмм.
  6. Выводим распределения параметров в виде гистограмм.
  7. Считаем коэффициент деградации метрик на Out-Of-Sample

Истории мало, только с 2025-01-27, — тогда появилась утренняя сессия. Убраны плечи и используется только одна прогнозная модель.

Если разделить недели 50% на 50%, то получается вот что:
Подгонка или оптимизация.

Коэффициент деградации стратегии на Out-Of-Sample можно выразить как единица минус среднее геометрическое от отношений прибыли, просадки^-1, средней сделки: 1 — (0.65*(1/1.68)*0.67)^(1/3) = 0.36 = 36%. 

( Читать дальше )

Альфа распад

Вот вроде бы ты нашёл новый источник альфы, но смотришь на графики и понимашь, что его больше нет, распался полгода назад:

Альфа распад

А всё потому, что есть люди, которых очень печалит твоя прибыль:) Есть такие закономерности, которые легко обнаружить и замаскировать шумом, если у тебя хватает ликвидности.
В общем, придётся ещё и делать детекторы распада к каждому источнику, чтобы заранее перестать их использовать.

Голосование прогнозов в трейдинге

Допустим, у вас есть несколько прогнозных моделей, которые имеют разную точность и охват. Как организовать голосование при принятии решений при входе в позицию?

Например так. Вместо тысячи слов нарисовал коллажик:) 

Голосование прогнозов в трейдинге

P.S. Понятно, что модели должны иметь между собой низкую корреляцию и не являться линейными комбинациями друг друга.

Проскальзывание GAZP в шагах цены по неделям

Проскальзывание довольно сильно ухудшает доходность стратегий на больших объёмах. Я в симуляциях обычно ставлю 4 шага цены, но это от балды, а хочется чего-то более точного.

1) Берём обезличенные сделки с 2025-02-03(начало первой целой недели, когда появилась утренняя сессия).
2) Группируем их по микросекундам и направлению. (без группировки у нас будет куча мелких встречных заявок, а не то, что нужно).
3) Фильтруем сделки по объёму.
4) Считаем количество шагов цены в каждой сгруппированной сделке. 0 шагов — нет проскальзывания — минимальная и максимальная цена исполнения равны.
5) Вычисляем средние количества шагов в неделю для: всего дня, утренней, основной и вечерней сессии.
6) Заодно выводим суммарный объём торгов.

Вот что получилось на объёме от 2 до 4 млн:
Проскальзывание GAZP в шагах цены по неделям

На объёме от 16 до 32 млн совсем всё грустно:


( Читать дальше )

Да это всё подгонка!

Продолжаю пилить армию роботов. Запустил на тесте с 16 марта на этот раз 10 роботов, наблюдаю. 6 из 10 роботов в плюсе, общий счёт в плюсе.


Да это всё подгонка!

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

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

Кстати, 10 роботов крутятся на апельсинке и весьма немного тратят электроэнергии:



( Читать дальше )

Т-банк брокер прилёг

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

Мои роботы все ушли в ошибку. Работают на tinkoff-api через python. Ничего не потерял, потому что роботы работают на демосчетах, но осадочек остался.

Т-банк брокер прилёг

Upd: 13:45 GMT — отлёг.

Разворот рынка начнётся с политических реформ.

Старый советский анекдот. Сантехника посадили за антисоветчинну, за фразу в облисполкоме: «Тут всё сгнило, всю систему менять надо.»

 

Начнём анализ рынка с самого его дна, с компании VK, которая убыточна на операционном уровне уже много лет.

 

Захожу на vkvideo.ru/movies_serials и ввожу поисковый запрос из трёх слов, включаю сортировку по дате. Получаю кучу выдачи, где в названиях всех этих слов нет. Поиск работает неадекватно. А это, на минуточку, лицо сервиса! Другой пример: ввожу «винни пух 1977» — вижу 98 залитых роликов с этим названием. Т.е. эффективность использования дискового пространства около 1%. Зато рекламу крутят без ума. Появляется кнопка «Пропустить рекламу через N секунд», отсчёт заканчивается, но кнопку нажать нельзя, потому что после рекламы ещё показывается экран со ссылкой на рекламодателя и ещё одним обратным отсчётом.
Как, простите, с таким качеством и свинским отношением к аудитории можно получить операционную прибыль? Да никак. Путь на дно.



( Читать дальше )
  • обсудить на форуме:
  • ВК | VK

Месяц тестирования торгового робота

Месяц назад начал тестировать стратегию.

Месяц тестирования торгового робота
Результат:


( Читать дальше )

Анализ чувствительности параметров.

Пока весь мир готовится к третьей мировой, я занимаюсь скучной, но обязательной рутиной.

Дорос до Монтекарлинга параметров стратегий. Можно, конечно, просто взять лучшие параметры стратегии найденные на истории, но есть высокая вероятность нарваться на вырожденные случаи, которые на истории были, но могут не повториться в том же виде, и стратегия будет убыточной.

Первый способ исследования — параметры стратегий рандомятся или заполняются сеткой во всём своём диапазоне. Это анализ всего пространства параметров.
Второй способ — берутся лучшие параметры стратегии по бэктесту и к параметрам добавляется рандомный шум или сетка на заданное количество процентов. Это стресс-тест параметров.

Строится 2D график от двух метрик, у меня это  CAGR и Max Drawdown. 100'000 точек.
В первом способе я использую равномерное заполнение параметров сеткой, во втором способе — добавляю ошибку с равномерным распределением в диапазоне от -30% до +30% от лучшего значения параметра.

Анализ чувствительности параметров.
Рис 1. Стратегия 1, тикер 1, первый способ.

( Читать дальше )

Было страшно... и правильно.

Запустил в демо режиме стратегию в конце декабря 
Было страшно... и правильно.
а к концу января имел уже такую картину:


( Читать дальше )

теги блога Михаил Михалев

....все тэги



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