Дмитрий Интрадей
Дмитрий Интрадей личный блог
05 февраля 2013, 20:31

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

Эпиграф.
Сложность поиска идеальной стратегии робота можно лаконично выразить одной вот этой картинкой

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

Но не будем о грустном :))

------
И так я неугомонно потрошу все, что только можно :) и по собственному желанию делюсь инфой с сообществом (в надежде, что со мной поделятся не менее ценным-необычным ;) )

   В данный момент я изучаю микро формации «вихри», а так же «анатомию» микро волатильности и пробую найти общие закономерности (которые в последствии скормлю нейронке). Сегодня провел исследование, которым и поделюсь.
------
   Сейчас я формирую фрактальное сворачивание тиковых графиков. Первый уровень прохода алгоритма по сути представляет простую «пилу» строится по принципу: в случае если разница между локальным контр движением от максимума к миниму или наоборот равна и больше 8 шагов цены — появляется новый «зубец». Но этого мало. Я еще запоминаю интервалы между максимумом и минимумом. Проще говоря меня интересует размер «времени», выраженный порядковым номером сделки в общем ордер логе (время — не секунды или микро — а порядковый номер). Так вот меня интересует угол наклона в прямоугольном треугольнике, где высота — реальная высота в шагах цены, а второй катет — время выраженное в разнице порядковых номеров сделок точек экстремумов. Само собой угол не может быть больше 90 градусов :) Я потрошу вот этот вчерашний тиковый график Sih3 


*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

 В моей программе фрагмент этого графика с построением «пилы волатильности» имеет вот такой вид

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

 каждая пила (я называю этот элемент внутри робота class.MyFractalInterval) имеет разные характеристики, в частности интересующие в рамках поста параметры: m_H (высота в пунктах цены) и m_dT (ширина в интервалах псевдо-времени) и еще m_angle (угол наклона гипотенузы к горизонтальной оси времени).

то бишь m_angle = Func(m_H, m_dT). Я строю график прямоугольной гистограммы с парами значений (m_H, m_angle) на одном листе (это значит что в текущей паре первый столбец будет m_H а сразу за ним — m_angle, то есть первый столбец связан функциональной зависимостью со вторым!!! это важно для чтения результата по графику!).

Первый график я сортирую по возрастанию m_H(черный, красный m_angle)

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии
  
Второй график я сортирую по убыванию m_angle(красный, m_h — опять же черный!)

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии

И третий график формирую без сортировки — то как в процессе хода графика цены формировались пары значений (m_h, m_angle)

 *** MIC_PDN-Robot. В поисках идеальной тиковой стратегии


Как итог.

  • Очень быстрые (хаотические движения) наблюдаются в начале торгового дня, когда угол наклона между максимумом-минимумом больше 30 градусов и доходит до 80 (практически вертикальное движение, данное движение формируется за счет крупного спреда между бидом и аском — по сути это и есть движение в рамках бид-аск, а не поступательный тренд )
  • Длинные безоткатные движения чаще всего имеют очень малый наклон (высокий черный столбец и сходу за ним очень маленький красный)
  • Чаще (но не закономерность!) чем больше угол — тем быстрее разворот в обратную сторону и наоборот, чем более пологое движение к оси времени — тем скорее всего движение продолжится
  • Максимальное безоткатное движение в тот день было 37 шагов цены
  • Количество интервалов пилы с заданным значением высоты падает по экспоненте) при росте высоты безоткатного движения (говоря проще — мощные безоткатные движения встречаются в разы реже чем мелкие колебания)
  • На последнем графике видно, что высота безоткатных интервалов распределяется близко к «нормальному» распределению (колокообразное чередование высот — черные столбики). Собственно почти тоже самое мы наблюдаем и с углом наклона этих интервалов к оси времени :) (распределение красных столбиков)
В данный момент я создал полную эмуляцию в отладочном режиме своего робота «мэтчинга» сделок по правилам биржи (по рынку не в счет :) здесь скорее всего я исполняю хуже биржи)

У меня при нажатии на клавишу «вправо» или же кнопки «старт/пауза» происходит потиковое перемещение алгоритма (от тика к тику). Каждая выставленная заявка пока она не сработает отображается как и в терминале горизонтальной линией (красная — шорт, зеленая — лонг). Как только исполнится заявка — отображается кружок соответсвующего цвета на месте, где была совершена сделка. Текущий анализируемый тик выделяется перекрестием из голубых линий. То бишь я могу пошагово всегда разобрать конкретное место и улучшить работу своего алгоритма :)  Еще собираюсь добавить случайные и задаваемые руками интервалы графика, в которых робот будет принудительно «блокироваться» на «отправку заявок» и их «исполнение» тем самым я смогу по разному прогнать одно и тоже место так как если бы у брокера на сильной волатильности возникли случайные задержки в отправке-получении-исполнении заявок.

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

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии
 

*** MIC_PDN-Robot. В поисках идеальной тиковой стратегии 


внизу белыми буквами выводится отладочная информация в том числе поле Profit, Position (количество контрактов — знак определяет шорт или лонг, может быть 0),  и Price (средневзвешенная цена позиции). Как видим :) дойдя до перекрестия мой алгоритм смог на первых тиках заработать 9 рублей (комиссия пока не учитывается — считается чистый профит в минимальном шаге цены)

Всем удачных торгов и успехов в написании собственных максимально профитных роботов-стратегий! :)
18 Комментариев
  • Гагарин
    05 февраля 2013, 20:52
    конечная цель, надеюсь, заработать деньги?;)))
      • Кремлебот
        05 февраля 2013, 21:18
        Дмитрий Интрадей, чой-то мне эта пила сильно графики ренко напомнила.
  • Андрей Коган
    05 февраля 2013, 21:00
    Как это можно использовать?
      • Андрей Коган
        05 февраля 2013, 21:32
        Дмитрий Интрадей, у меня робот. Каждый день подправляю и улучшаю, как движок, так и стратегии.
  • siva
    05 февраля 2013, 21:21
    Добавил в избранное, потом ознакомлюсь. Нужен грааль
  • ves2010
    06 февраля 2013, 09:25
    кстати да… фракталы на минутке и меньших таймфреймах можно торговать однако средняя сделка мала… я помню довел среднюю сделку до 80 и типа должен был иметь примерно 8% в месяц… запустил а реальную торговлю и понял что объем не протащить… даже с 1им контрактом имел частое неисполнение сделок
  • ves2010
    06 февраля 2013, 09:28
    эквиобъемные бары пробовал? объем бара можно сделать адаптируемый… например по прошлому дню… взять объем прошлого дня и поделить на таймфрейм…
      • ves2010
        06 февраля 2013, 14:37
        Дмитрий Интрадей, вот именно… эквиобъем позволяет отказаться от шкалы времени совсем… а тики имхо искажены единичными сделками
  • ambassador
    06 февраля 2013, 10:12
    Дмитрий, где берете тиковые данные?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн