Блог им. mic_pdn

*** 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 рублей (комиссия пока не учитывается — считается чистый профит в минимальном шаге цены)

Всем удачных торгов и успехов в написании собственных максимально профитных роботов-стратегий! :)
264 | ★16
18 комментариев
конечная цель, надеюсь, заработать деньги?;)))
avatar
Гагарин, несомненно :) Больше всего меня интересует сейчас параметр «Profit» )) что можно найти на третьей картинки поста внизу )) белыми буквами. Я сейчас в роботе полностью эмулирую исполнение как рыночных так и лимитных заявок с добавлением случайных задержек, так же если у меня ушла заявка она исполнится по 100% правилам мэтчинга :) то есть если цена равна или меньше входа в шорт, то заявка не исполнится и будет ждать цены на шаг выше :) То есть моя студия эмулирует максимально близко реальную торговлю. Я получил некий алгоритм, который имеет в силу особенностей микро структур те или иные недостатки. В некоторых ситуациях надо просто тупо «ждать» и ничего не анализировать (но надо знать когда это можно сделатЬ! :) опять же с прицелом на возврат цены ;))… в других ситуациях опередить — потому как даже по хистори видно что шла продажа по рынку и если вы заранее не выставили заявку — в реале она не исполнится! и прочие нюансы :)
Дмитрий Интрадей, чой-то мне эта пила сильно графики ренко напомнила.
avatar
Elstoun, :) да идея ренко воплоти для тикового графика ;) все верно
Elstoun, на самом деле за каждым тиком в итоге у меня будет стоять очень много вычислений ) отличных от классического «сравнить цену позиции и текущую цену» :)))
Как это можно использовать?
avatar
Андрей Коган, так же как определенную сумму денег и желание создать бизнес — поможет лишь личная фантазия )))) Сможете распорядится деньгами — создатите бизнес, не сможете — просто потратите ) Так и с информацией: найдете ценное для себя — улучшите систему, не найдете )))) пойдете читать-смотреть «бугагашечки» ;) все ведь просто!
Андрей Коган, если вы торгуете руками :) то эта информация не для вас…
Дмитрий Интрадей, у меня робот. Каждый день подправляю и улучшаю, как движок, так и стратегии.
avatar
Добавил в избранное, потом ознакомлюсь. Нужен грааль
avatar
кстати да… фракталы на минутке и меньших таймфреймах можно торговать однако средняя сделка мала… я помню довел среднюю сделку до 80 и типа должен был иметь примерно 8% в месяц… запустил а реальную торговлю и понял что объем не протащить… даже с 1им контрактом имел частое неисполнение сделок
avatar
ves2010, именно с неисполнением сделок я сейчас и борюсь в эмуляторном режиме, как я описал — заявки надо выставлять с опережением и насколько я разобрался — это вполне достижимая цель хотя бы для 50% случаев, которые при обычных алгоритмах «не срабатывают»
эквиобъемные бары пробовал? объем бара можно сделать адаптируемый… например по прошлому дню… взять объем прошлого дня и поделить на таймфрейм…
avatar
ves2010,? где хоть слово про объем? или вы так называете высоту бара? :)
ves2010, у меня нет привязки ни к объему, ни к реальному времени (а стало быть к какому-то тайм фрейму) — все формируется в пространстве последовательно исполняющихся сделок :) Я считаю что время на бирже фрактально и одни и теже фигуры могут рисоваться как за минуту так и за час, поэтому время скорее искажает, а не помогает :)
Дмитрий Интрадей, вот именно… эквиобъем позволяет отказаться от шкалы времени совсем… а тики имхо искажены единичными сделками
avatar
Дмитрий, где берете тиковые данные?
avatar
ambassador, из квика по DDE протоколу

Читайте на SMART-LAB:
Фото
Долгосрочное инвестирование умерло. В этот раз - без "но". Хороших новостей не будет
Увеличение капитала посредством инвестирования в доли компаний всегда основывалось на двух тезисах (1) компания сможет на длительном...
Фото
Как на самом деле используют ИИ в алготрейдинге
Если первая часть моего репортажа по конференции алготрейдеров в Москве была об инфраструктуре, то вторая часть будет про искусственный...
«Профи» из группы Займер окупил первый приобретенный портфель
Делимся новостями коллекторского агентства из группы Займер. КА «Профи» вышло на точку окупаемости по первому приобретенному портфелю. ⚡️ Для...
Фото
Ростелеком. МСФО за Q4 2025г. Всё неплохо… но всё равно печально…
Компания Ростелеком опубликовала финансовые результаты за 4 квартал 2025г.: 👉Выручка — 270,5 млрд руб. (+15,6% г/г) 👉Операционные...

теги блога Дмитрий Интрадей

....все тэги



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