Блог им. HOME

Сжатие базы котировок. Игнорирование «хвостов» вечерних сессий.

              Одним из главных принципов построения эффективной Торговой Стратегии (ТС), на мой взгляд, является использование только «нужных» (релевантных вашей ТС) периодов активности.

              Не нужно стараться захватить весь торговый период с 9-00 (предторги) утра и вечернюю сессию, если вы хотите торговать интрадей. Эти периоды вам не нужны, но вы вынуждены их учитывать, поскольку все индикаторы и осцилляторы, установленные в торговой системе (и, соответственно, в терминале) используют непрерывные ряды котировок. Ведь терминал (пример – QUIK) не имеет встроенных инструментов «обрезания» исходной базы, т.е. как только вы подписываете свой бот на получение данных командой

ds, error_desc = CreateDataSource(ClassCode, TickerCode, TimeFrame),

вы тем самым получаете «полный пакет» всех доступных данных.

              Нужно понимать, что вам для торгов нужны не все данные, а только часть, релевантная вашему торговому периоду. Все остальные должны быть отброшены, но отброшены по-настоящему. Ведь, когда вы в параметрах окна «График по инструменту» устанавливаете фильтр «Отображать данные за период…», вы не обрезаете базу. В ваш бот эта база закачивается вся!

              В самом деле, как при полной базе можно заставить RSI или ATR выдавать верные, с точки зрения вашей ТС, текущие параметры состояния рынка? Как на этих непрерывных данных можно строить именно внутридневную стратегию? Тем более, что даже эта ТС может быть, как минимум 2 видов: «чистая внутридневная» и совокупность «чистых внутридневных на протяжении более длительного суммарного периода торговли». Например, я использую именно совокупность внутридневных сессий, состоящих из чистых интрадеев, но объединенных одним временным рядом котировок.

              В случае чистых интрадеев, я торгую только период 10-00…18-40, без учета ценовой статистики предыдущих дней и периодов. Просто вырезаю этот период и рассчитываю свои (не предлагаемые терминалом торговой системы) индикаторы, каждый из которых получает свое первое значение именно в 10-00 каждого дня и последнее – в 18-40 того же дня. На следующий день первым значением индикатора опять же становится первая котировка в 10-00 этого дня. Данных за предыдущие дни в индикаторе нет, и они не обсчитываются и не влияют на текущие значения текущего дня.

              В случае использования, например, недельной совокупности интрадеев, мои индикаторы обрабатывают только нужные периоды с 10-00 до 18-40, а всё остальное отбрасывается еще на стадии подготовки данных на входе в бот.

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

              Пример такой функции уплотнения:

Сжатие базы котировок. Игнорирование «хвостов» вечерних сессий.



Здесь:

  1. «Начальная дата» вычислена отдельно. Если вы торгуете только текущий день, то «начальная дата» – это СЕГОДНЯ. Если торгуете совокупность интрадеев на протяжении недели, то «начальная дата» — это дата первого рабочего дня недели (понедельника, если неделя полная). Я торгую только периоды между неторговыми (в полном смысле слова) днями. Эти периоды вычисляются автоматически ботом на основании Торгового календаря MOEX.
  2. «date_to_number» и «time_to_number» — это функции преобразования даты и времени элементов базы котировок в численный формат для возможности оперирования этими параметрами.

 Одна особенность этого подхода: все используемые вами индикаторы теперь нужно прописывать в виде процедур в теле бота в полном аналитическом виде.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
2.2К
5 комментариев
… а лучше вообще  без индикаторов, один график. чем проще система, тем лучше.
avatar
Az72, один график — это значит, самому дежурить у терминала днями, неделями, выискивая вход/выход...
Не у каждого есть время и силы на это дело.
avatar
Eugene Bright,  я имел ввиду, что график отображает все, остальное шум и интерпретация шума, как может индикатор что  то предсказывать, если он строится на основании прошедшего времени(данных), сколько уже я видел этих  перекупленностей перепроданностей по рси, стохастик,  и т.п. а толку то от них, они могут  сколько угодно диверить на эксремумах и давать ложные сигналы, показывая лишь то, что сильный тренд, который чихал на их дивера и перекупленность-проданность. И боты та же история, они торгуют  до поры до времени, и на резких -сильных изменениях «слетают с катушек» и уж  тем  более они плохо подходят с нашему рынку. Я понимаю, если робот торгует на насдаке в каком нить голдман саксе, джипиморган  банке. но не на нашем рынке. моя точка  зрения, спорить не хочу.
avatar
Az72, понимаю, нагорело
Если прочтете мои посты, то, возможно, заметите, что я везде отрицаю возможности предсказаний движения цен.
avatar
Eugene Bright,  ну и славно
avatar

Читайте на SMART-LAB:
Фото
Рынок уходит в защиту: доллар крепнет, евро проверяет 1,16
Евро возобновил снижение против доллара США: пара EUR/USD опустилась к 1,16, продавцы снова проверяют важную поддержку 1,1600. Расположенность к...
Фото
Годовой отчет Аэрофлота 2025
Друзья, представляем вашему вниманию годовой отчет Группы «Аэрофлот» за 2025 год ➡️ ir.aeroflot.ru/ru/reporting/annual-reports/   ✈️ Мы...
Годовой отчет ФосАгро подтвердил запас прочности компании
Годовой отчет ФосАгро за 2025 год в первую очередь полезен не повторением финансовых показателей из уже опубликованной отчетности по МСФО, а...
Фото
Роснефть: маржа пошла по EBITDA вверх, но обесценения снизили чистую прибыль. Зато скоро запустят Восток ойл
Роснефть отчиталась по МСФО вчера ночью за 1-й квартал 👉 Выручка -11% г/г 👉 Опер прибыль на уровне прошлого года 👉...

теги блога Eugene Bright

....все тэги



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