Блог им. Saro

Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ

Приветствую! 

В частном примере тухлость рынка имею ввиду последние недели две на фьюче сбера. 

Так вот, пока изучаю C# и мозг сильно плавится от кода. Мысль о наставнике, который бы давал ответы на примитивные вопросы, уже не кажется для меня пугающей. Понимаю, что с одной стороны ничего вроде бы сложного нет, но не зная простых законов, можно очень долго блуждать в неведении. Но, при этом есть желание разобраться самому, в общем сложная философская дилема.  
Отвлекаюсь от процесса изучения C#?  попыткой создать алгоритм по «вертикальному об]ему». Везде это по разному называется, я привык называть кластером, в ТСЛаб это называют торговая статистика, на просторах интернета же, все по разному. Чтобы все понимали про что речь вот картинка. 
Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ

Картинка с ртс, но она была под рукой просто))
Так вот, как и все в трейдинге, про подобный анализ часто записывая видео, люди рассказывают о постфактумах. Типа вот здесь был крупный обьем потому мы пошли вниз или вверх. Вот здесь сильный уровень проторговки видим, потому стоило шортить (а этот уровень сильным стал намного позже на самом деле, так как его не раз еще после этого «проторговали»)
На стадии разработки в TSLab блоков анализа кластеров, были такие ж проблемы. отрисовка постфактума событий, что для алготрейдинга не приемлемо. То есть в течении часового бара мы видели уже накопленные обьемы и уровни и бектестинг тупо рисовал геометрическую прогрессию профита. Сейчас же мы видим на каждом баре, как менялись объемы в реальном времени. Это конечно выжирает не мало оперативки, но программисты хорошо постарались и теперь пару месяцев кластеров накопленных, видно без существенных проблем с переполнением памяти (во многих софтах где данные не транслируются, а именно считаются и рисуются внутри софта, возникают сложности даже внутри одного дня переварить данные не выжрав всю оперативку.) Так ну это мой личный опыт, и немного отошел от темы.
Так вот алгоритмов постфактумных — много, в реальном же времени, легко алгоритмизируемых — не так много.
Первая мысль алгоритма была простая, мы боковим локально, после этого идет выход из боковика, который можно отловить. Обьяснить роботу к примеру что выход за границу боковика на чуть чуть — это возможно шум, не сложно. А вот научить робота отличать где шум, а где окончательно состоялся выход — реальная проблема. Либо мы  часто будем входить в ложные «пробития» либо мы их вовсе будем упускать, либо входить с опозданием. Кроме этого, сами локальные боковики определить алгоритму не легко. Роботу нужны четкие правила, а рынок  все же хаотичен. Даже, когда гуру рынка рассказывают и рисуют уровни руками, они ссылаются всегда по разному, в одном примере шпиль это уровень/подтверждение уровня, в другом же это ложное пробитие, в третьем шпиль не считают и рисуют по закрытию линии. То есть никогда не быват 100%четкого алгоритма о том что есть условный уровень 100 и через три дня 101 подтверждение этого уровня а 102 пробитие или же 98 так же подтверждает уровень а может и нет. В общем много условностей. 

В своем примере, на данный момент, сделал только первые шаги. За «локальный» уровень, использую просто результат открытия первого часового бара. В дальнейшем постараюсь уровни сделать более гибким, этот уровень мне больше нужен для примера был. 
И проторговку боковика, решил использовать уровни проторговки. то есть, если 70% обьема торгуется в пределах определенных границ — у нас боковик, если же 70% граница заступает за локальные уровни — то это не наш случай. 
Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ
Данный метод позволяет понять, движение это некий шум, или все же направленность присутствует. Если это шум, то цена может проскакивать ниже определнных уровней (на примере это чуть жирные линии) но быстро возвращается в границы боковика. Если же цена закрепится ниже, то и зона проторговки выйдет за границу, это и будет для меня точка входа. И естественно начало движения всегда зарождается куда раньше выхода, и я уже буду входить в движение, и будут ситуации когда захожу в движение которое закончилось или развернулось. Канал сам получить не сложно — для этого используются кубики Верхний и нижний уровень торговой статистики. Параметр отсечки выбирает сколько процентов сделок отсеивать. то есть в моем примере в кубиках указанно 15% снизу и 15% сверху «отсеивать». Оставшее количество сделок (объем сделок опционально) и есть зоны проторговки 70% объема. 
Повторяюсь — это не полноценный алгоритм в данный момент, а лишь набросок конкретно описанного случая. 
Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ
В данном примере сделка так же просто закрывается, в случае для лонга, от нижней границы проторгованного канала. Сами гистограммы с графика отключил иначе было б не разобрать изображение. 
Этот боковик только внутридневной. Так же буду экспериментировать с тем, чтобы попытаться глобальные уровни боковика использовать. (на примере двух неделя у сбера ооооочень сильная проторговка зоны от 20300 до 21000. Теоретически это предвесник сильного движения — а по факту будем посмотреть, возможно после глобальных изменений цены, она просто остановилась. 
Следующая цель, научить алгоритм входить исходя из глобального боковика, то есть если к нижней границе прижаты, то возможно шорт будет ложный (шорт именно краткосрочный внутридневной) и наоборот с лонгом от верхней границы. 
Итого получается, необходимо сделать более смартовым определение локального боковика, учитывать глобальные уровни (одна или двух недельные в смысле, а не годовые). Выход, пока что, не так важен, и если ничего не поменяется, то и определение выхода из боковика, меня так же устраивает. После этого уже буду пытаться ловить среднесрочные движения, но пока что даже мыслей нет, как.) 

★12
15 комментариев
Я бы посоветовал две вещи
1) перестаньте рассматривать побарный (квантованный) график и смотрите ленту. И объемы по ней строить проще (а дельту вообще без ленты не посчитать), и голова не засирается несуществующими картинками. Сделайте в C# трансляцию ленты в какой-нибудь условный SQLite и потом вытаскивайте оттуда данные, стройте любые срезы и т. п. Побарный график привычен, но в плане алгоритмизации сильно связывает руки, на мой взгляд, так как это, не устаю повторять, довольно неудобная агрегация.
2) смотрите дельту вместе с объемом, сам объем мало что даст, он на любой крупной проторговке будет выглядеть тупо колоколом (пример тут, хоть там и не совсем по теме этого треда)

Вот, к примеру, дельта и объем fRTS с 20 февраля по сегодня


avatar
PSH, Дельту не проблема смотреть. от простого к сложному двигаю, проверю в дальнейшем и по дельте в том числе, спасибо
Ну и касательно C# (если приложение визуальное и разработка под WPF) я бы советовал привыкать к MVVM чем раньше, тем лучше — это позволит избежать многих болей, когда проект разрастется и его невозможно станет читать
MVVM поначалу кажется какой-то малопонятной вундервафлей — это надо перетерпеть :)
avatar
Интересная мысль. Тоже в планах на конец этого года изучить кластерный анализ. На выходе по базовой мысли можешь показать что получается в кривой доходности? сама база выхода из боковика
avatar
Frend, там 8сделок всего за пару недель — это стыдно показывать) по сути 6+сделок и 2 минус. если б это можно было назвать статистикой — показал бы) 
Микаелян Саро, с учетом текущего боковика и отсутствия движений — гуд результат. у меня хуже по ртс за это время
avatar
Frend, не, по ртс у меня тренды хорошо отработались) и там с кластерами мне пока сложнее. намного более хаотичные движения и более «размашисторезкие». 
ИМХО кластерный анализ позволяет увидеть крупных покупателей/продавцов только лишь в режиме онлайн, здесь и сейчас. Например, когда идет движение, бывает видно как кто то начинает подставлять большие лимитники на определенном уровне и тем самым тормозит движение. В результате на этом уровне образуются кластеры с большим объемом. А исторические данные по кластерам особого смысла не имеют на мой взгляд.
avatar
Reznor, Точечные уровни в целом это часть чьего-то умысла. не всегда его можно понять. Может человек просто хеджирует свою позицию, может торгует в убыток)
Reznor, все верно.
avatar
зубрим волновой анализ, но с опорой на синусоиду, а не просто цифры и буквы где ни попадя. 
avatar
Интересная тема, делись что получится. Когда был запал, но не было этой штуки, я хотел алго который будет в боковике находить точки отбоя, локальные уровни чтобы скальпировать. Это могло бы помочь улучшить систему «прикрытый интрадей» И. КОРОВИНА
Где можно скачать  кластерный скрипт ?

avatar

теги блога Микаелян Саро

....все тэги



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