Дмитрий Интрадей
Дмитрий Интрадей личный блог
11 февраля 2013, 19:56

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

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

   Само собой моя модель куда сложнее :) но суть не в этом. Любая модель как мне думается ляжет на базовый цикл работы робота. И вот что я в нем вижу:

1. Realtime построение дополнительной «сигнальной модели» данных, отличной от обычного графика свечей-линий (возможно одновременное использование нескольких моделей) У меня это разного рода деревья со списками и прочими вложенностями — очень ветвистая структура, причем у меня одна сигнальная модель формируется на основе второй )) то бишь я работаю на вторых производных от тикового потока.
2. Анализ перемен в «сигнальной модели» на предмет новых сигналов
3. Непосредственное генерирование сигналов
4. Менеджер сделок по прошлым сигналам (были выставлены лимитники и сработали ли по ним сделки)
— если лимитник запоздав не сработал и цена уходит — необходим заход «по рынку» с отменой лимитки
— если сигнал оказался ранним и цена пошла в контр направлении — предусмотреть выход по стоповому уровню и перезайти в случае возврата в сигнальном направлении
— предусмотреть режим «карантин» (отключающий робота) до момента, когда цена выйдет из зоны «турбулентности/неопределенности» (подобный эффект в волатильных разворотных зонах)
5. Проверка актуальности всех текущих сигналов (вместе с новыми) для генерирования одного главного сигнала для одного из действий: «направление текущих позиций верное»/«переворот позиции»/«закрытие всех позиций» (если есть позиции) или же «вход по текущей цене» (если позиций нет)
6 Менеджер режима «карантин» анализирующий отключить ли робота на некоторое время или же продолжить анализировать входящие тиковые данные. (За время тестирования понял, что очень важно выбирать моменты, когда работает робот. Как ни странно, но выбор времени работы робота не менее важен чем сам алгоритм торговли, который он будет осуществлять. Все это вытекает из «хаотичности рынка». Маркет мейкер и проф участники не дремлят и всячески пытаются обмануть участников создавая «ложные модели». Важно работать с «чистыми трендами».)
7. Риск менеджер (проверяет по хистори данным удачно ли идет торговля на фоне прошлых результатов эквити, какой КПД прибыль/время сейчас на рынке. Стоит ли торговать или обратится к менеджеру «карантина» и перевести робота в режим фонового анализа рынка — без генерирования сигналов и текущих позиций)

-------

Таким образом я вырисовал в своей голове базовый цикл, что уже большое дело :)) Что касается самих сигналов, то у меня одновременно может быть множество противоречивых сигналов разного типа вроде 
диагональный уровень поддержки, горизонтальный, фибо уровень, уровень по признаку превышения среднего контр-движения, первый пробой, второй пробой, номер волны (аналог эллиота), средний объем за 100 сделок и прочее (в процессе наполнения). Все сигналы у меня имеют не просто направление, но выражены еще неким числом, которое меняется со временем и по причине изменения цены и прочее (пока прорабатывается модель)… то бишь у меня сигнал не просто шорт а скажем -0.95 а спустя время этот же сигнал уже может стать -0.5, а еще спустя время менеджером сигналов вообще исчезнет став не актуальным. Для чего это нужно? :) правильно — чтобы скормить нейронке и имея с десяток сигналов получить на выходе одно простое условие — выставлять лимитник по текущей или более худшей цене или же пока нет...
.......

в общем пока как-то так :) все в процессе кодинга и тестирования.
To be continue 
3 Комментария
  • Les Grossman
    11 февраля 2013, 20:49
    сколько времени уже занимаетесь этим роботом(стратегией)?
      • Les Grossman
        11 февраля 2013, 20:55
        Дмитрий Интрадей, это правильно, допускать просадки, значит допускать несовершенство системы, а следовательно потенциальную уязвимость модели принятия решения

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

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