Активно использую в алго ML модели. При обучении моделей тоже есть свои фишки и с точки зрения защиты от оверфиттинга и в целом. Поэтому часто обучаю по несколько моделей в одном скрипте. Это и параметры разные и участки данных разные и т.д.
Когда скрипты уже отлажены ты просто их гоняешь, оцениваешь результаты, принимаешь решения. Часто при этом в голове всплывают неотвеченные вопросы, одни помечаешь себе, другие нет. Одними из таких вопросов были: это модель хреновая или OOS неудачный для модели, или в целом неудачный, а есть для него удачная модель, а для удачной модели есть неудачные участки данных тоже? В общем если убрать за скобки ML – классическая тема про переоптимизацию про то, что рынок может благоприятствовать стратегии (а скорее целому классу стратегий), а может нет. Но как с этим у моделей обстоит. В общем до этого момента только фантазировал на эту тему, закрыть вопрос через исследование было не сложно, но как-то руки не доходили, а теперь дошли.
Что делал: условно, взял много данных, единое признаковое пространство, по-всякому нарезал данные таким образом чтобы разные модели обучались на разных участках данных и было так же сопоставимое с кол-вом моделей кол-во OOS участков. Убедился, что OOS в конкретной паре модель-OOS не участвовал в обучении данной модели и погнал тестить разные модели на разных OOS кусках.
Прошу высказать мнения насчёт следующего утверждения:
«При переносе позиции через ночь определять её направление на следующий день нужно с 18.00 до 18.39, потому что именно в то время проходит самый большой объём и, соответственно, именно в это время определяется истинная цена закрытия дня, а не в 23.50. Закрытие в 23.50 учитывает больше новостей, но всё равно менее значимо, потому что не подкреплено большими объёмами».
Начнем с традиционной таблицы
По традиции приведем и таблицу без 3-х дней (22, 24 и 25 февраля)
Текущее экспериментальное направление рисеча в алго – графические паттерны. Формализовал и алгоритмизировал выявление нескольких паттернов. Они в таком сыром виде работают, но не космос. Чтобы было космосее формализовал и алгоритмизировал выделение фичей (они же параметры, они же метрики, свойства – как хотите) паттерна. Ну т.е. паттерн-то он паттерн, но конкретные матчи (кейсы) они же все разные, а чем они разные? – Вот в частности значениями этих фичей. По сути, я ушел на следующий уровень абстракции (сам паттерн – первый уровень, его характеристики – второй). Ну и чтобы работать со свойствами паттерна было удобней традиционно поверх небольшим слоем размазал ML.
Текущие сложности в этом направлении:
— В моей формализации долго (относительно) ищутся паттерны на окне (зависит от размера окна), поэтому, в частности, насобирать большую выборку для ML долго, а на небольшой, например, много фичей паттерна сразу не оценишь на профпригодность. Для торговли скорости приемлемые если не слишком малые ТФ и не слишком много тикеров одновременно.
Начнем с традиционной таблицы
Без 22-25 февраля все не так печально, но тоже «не айс»
Начнем с традиционной таблицы
Неудачником июня оказался Si, который из-за фильтров продолжил неудачную торговлю «только лонг». Надо сказать, что июнь был неполным месяцем моей торговли. 20 июня утром я включил роботов в режиме только закрытие позиций, а с 17 до 18 часов закрыл все оставшиеся позиции и удвоил «синтетическую облигацию» в Сбербанке. В Газпроме, несмотря на чуть большую доходность с учетом ожидаемых дивидендов по решению Совета директоров, позицию увеличивать не стал по причине того, что считал вероятным снижение дивидендов общим собранием акционеров до 10-12%% годовых. Увы, полную отмену дивидендов я не ожидал.
Результат по счету на 20.06 был -3.6% с начала месяца и я спокойно уехал в отпуск: счет мог измениться от -0.7% при вероятном снижении дивидендов Газпрома до +0.2%, если б дивиденды сохранили. Но реальность оказалась хуже самого пессимистичного прогноза: дивиденды отменили вообще и результат с 20 по 30 июня составил -1.65%, из которых -1.78% пришлось на 30 июня.