Блог им. Replikant_mih |Просеивание информации - важный скилл… для алгоритмического трейдера.

Т.е. сейчас даже не про просеивание, фильтрацию информации ручными трейдерами – ну там: в топку телеграм-каналы, горы индикаторов на графике, обзоры аналитиков и прочую фигню.

Сейчас про алгоритмических трейдеров.

У них тоже есть свой информационный шум. И свои стратегии взаимодействия с этим шумом.

 

Какой вообще есть шум и на что он влияет. Что нужно алго-трейдеру – идеи стратегий… да кого я обманываю, им не нужны идеи – им нужны в конечном счете стратегии. Второе что нужно – идея, решения по улучшению процессов, общей эффективности – т.е. мета-улучшения, ну там – чуть лучшие способы защиты от переподгонки, чуть более эффективные способы собирать стратегии в портфели и т.д. Дальше алго-трейдер берет информацию в оборот, обычно экспериментирует и дальше что-то внедряет если нашел что-то ценное.

И что может «шуметь» в охоте за данными кусками ценной информации?

Попробую обобщить, классифицировать:

— Нетематическая информация – зашел на условный Смарт-лаб, ожидая трейдерский контент, получил много политики, много ещё чего-то, что как алго-трейдеру тебе почти ничего не даёт (может где-то что-то дать, но соотношение шум/«сигнал» будет очень неблагоприятное).



( Читать дальше )

Блог им. Replikant_mih |ML грааль в трейдинге.

Взяли в руки блокнотики?))

 

Грааль в ML для трейдинга состоит из нескольких компонентов. По сути грааль, это «правильные» ответы на вопросы:

  1. Что используется в качестве объектов, на которых мы обучаемся. Что за срез. Что? – Свеча, день, тик, трейдер, стакан, паттерн? Очень важный компонент.
  2. Признаковое описание этих объектов. Супер-важная тема. Пространство для креатива.
  3. Таргет – важная тема, но скорее производная от «что является объектом». После выбора объекта, с таргетом становится ± понятно.
  4. Тип модели. Эта штука, на самом деле не так и важна, как кажется.
  5. Параметры модели (гиперпараметры и вот это вот всё). Из одних гиперпараметров кашу не сваришь, их нужно использовать скорее чтобы «не испортить блюдо».
  6. Процесс. Обучения, отбора, валидации модели. Супер-важная тема тоже.

 

Пожалуй, можно составить ТОП покороче:

  1. Что является объектом.
  2. Признаковое описание.
  3. Процесс отбора данных, обучения, отбора, валидации моделей.


( Читать дальше )

Блог им. Replikant_mih |Метрики качества отдельных стратегий и портфеля стратегий.

Хотел пару слов сказать про метрики качества стратегий – всякого рода PF, winrate, RF, Sharp (надеюсь, на запах шарпа не прибегут любители шарпа). В части того, как я к ним отношусь и немного инсайтов.

 

Начну сразу с граалей инсайтов: осознал явно, что я сильно различаю метрики стратегии и метрики портфеля стратегий. Стратегия – кирпичик, портфель – дом, по-моему очень логично их оценивать по разным критериям. Ты хочешь белый дом? — Пофиг, что каждый из кирпичей красный, если всё равно поверх краска и дом будет белый.

 

Основное свойство хорошей стратегии в моей системе координат – фигачить, перформить, буквально вытаскивать деньги с рынка. Это свойство не прям настолько основное, чтоб я смотрел на total net profit тупо, но не далеко – я смотрю на PF как на основную меру качества отдельной стратегии. Также смотрю на winrate – как на страхующую меру – как отдельная мера она так себе, понятно, но зато она супер-нормализована, это в некоторых ситуациях очень помогает, также смотрю на average trade (в моей терминологии так звучит по крайней мере, другими словами сколько в процентах средний трейд) – это и про запас прочности и чтоб на какую-нить херню не наткнуться физически нереализуемую.



( Читать дальше )

Блог им. Replikant_mih |Ни у кого из алго стратегии не конкурируют за деньги?

Имею в виду в моменте и автоматически. 


Кто-то так вообще делает? Вот буквально, что у твоей стратегии не N денег в распоряжении, у второй N1, у третьей N2 и т.д., где N1 == N или N1 != N и т.д. А у тебя всего N денег в распоряжении и стратегии сами как-то разруливают эту историю. Без анархии, конечно, но как-то смарт и по-хитрому.


Сразу же возникло много вопросов по логике организации такой системы, подумал: надо сторонний опыт заценить и понял, что, вроде, ничего о подобном не слышал. 

Ретроспективно — обычно «руками» заглянуть в историю — перераздать лимиты денег — да, как-то так делают.



Хочется как-то так: если стратегия, по ожиданиям, будет хорошо перформить и/или сигнал какой-то особо мощный — чтоб система могла перетянуть одеяло. Но в то же время надо чтоб кто-то один не перетягивал на себя всё одеяло, какой бы крутой он не был. В общем смарт челлендж вырисовывается, хочется для начала осмотреться по сторонам прежде чем что-то делать. Хотя по устоявшейся уже привычке точно не буду делать какого-то неповоротливого мастодонта, начну с простенького MVP.



( Читать дальше )

Блог им. Replikant_mih |Бэктесты на неликвидах.

Бэктесты на неликвидах.

 

А кто-то бэктестит на таком? Как исполнение организовано? Ещё бы конечно хотелось динамически исполнение подстраивать (речь всё ещё про бэктест) в зависимости от текущей оценки ликвидности, а не постфактум оценки какой-то.

 

Я на свечах тещщу всё.

У меня сейчас 2 вида исполнения в бэктестах – для ликвида и неликвида. Хочется более интеллектуально и адаптивно это делать. Может у кого-то опыт есть, какие-то лайфхаки.

 

Отличия в исполнении, например: если ты стоишь лимиткой под ценой, а потом раз и дневка открылась ниже цены заявки,  в ликвиде – тебе дадут на аукционе по цене открытия, а в неликвиде это скорее всего просто прострел и дай бог чтобы ликвидности хватило в твою-то заявку налить… по цене заявки, ясно.


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

 

Можно по свечам оценивать, например, для внутридня что-то типа отношение на скользящем окне среднего abs(close текущей – open следующей) к ATR. Типа если дохрена оупен новой свечи от клоуза предыдущей улетает часто – видимо спреды запредельные. Да, наверно, что-то такое можно, с доп. подстраховкой через фильтр по деньгам или типа того.



( Читать дальше )

Блог им. Replikant_mih |Алго. Как время распределяете?

В алгоритмической торговле много аспектов и много чем можно заниматься для улучшения результата. Интересно, кто в каких пропорциях время распределяет.

Как алготрейдеру сразу, конечно, хочется факторы вычленить, закономерности построить, посмотреть как распределение времени на результаты влияет, эксперимент спроектировать и провести. Но тут так, конечно, не выйдет), но просто послушать всё равно очень интересно. Интересно не чем в моменте занимаешься, а на каком-то скользящем окне помасштабней понять как усилия распределяется. Основной фактор, думаю, тут стадия жизненного цикла трейдера, но и в пределах стадии всё равно разброс на основе индивидуальных предпочтений приличный.

 

Я долго в инфраструктуру усилия вкладывал, потом в рисёч стратегий, щас основной упор в мета-исследования – исследования, положительный результат в которых аффектит эффективность всего процесса и всех/большинства стратегий. Наверно, процентов 60 этим занимаюсь, 30 – рисёч и написание стратегий, 10 – инфраструктуру допиливаю по необходимости.



( Читать дальше )

Блог им. Replikant_mih |Как я алготрейдю. Инфраструктура.

Инфраструктурно меня конкретно штормило раньше). Видимо, строить инфраструктуру (где-то в глубинах внутренних предпочтений) мне ничуть не менее интересно, чем рисёчить стратегии. Поштормило-поштормило, да подотпустило. Зато теперь у меня внутри нет никакой недосказанности вида «а что если своё попробовать написать», «а что если готовую вот эту специализированную взять» и прочих. Лучше жалеть о то, что сделал… и я делал)).

 

 

Сейчас самописная инфрастуктура. Не разраб, не кодер, не архитектор, но кой какие-то принципы усвоил – какие-то из своего опыта вынес, какие-то из курсов или ещё откуда. Соблюдение банальной IT гигиены на порядки облегчает жизнь. Пример: раньше мог запилить коннектор какой-нибудь, который корнями врастал в остальную часть инфраструктуры и чтобы заменить его на другой коннектор, если понадобится, приходится выкорчёвывать, а это долго, сложно и отличный повод запустить прокрастинационный цикл. А надо-то, банально, написать базовый класс и, много не надо, буквально несколькими с указанием сигнатур, дальше от этого класса наследоваться – всё.



( Читать дальше )

Блог им. Replikant_mih |Как рождаются инсайты.

Скачал с этих страниц списки американских акций

https://stockanalysis.com/list/nyse-stocks/

https://stockanalysis.com/list/nasdaq-stocks/

Запустил бэктестер, он последовательно проходит по бумагам — бэктестит одну, потом к следующей переходит и т.д., после каждой выводит результаты по бумаге и накопительные. Ну и я иногда поглядываю на процесс, смотрю нарисовались какие-то средние метрики после некоторого кол-во отбэктесченных бумаг, потом смотрю PF плюс минус стабильно стал падать и падать и падать, думаю ну кто его там этот рандом поймёт, но, подозрительно, в начале процесса бумаги выдавали стабильно 1.7-2.0 PF, а тут чёт всё больше вокруг 1.1-1.2 стали плясать и тоже подозрительно стабильно. В какой-то момент, смотрю, накопленные метрики начали расти опять, присмотрелся, средний бэктест опять ближе к 1.7-2.0. Ага, я положил список с NYSE тикерами, а справа прилепил Nasdaq и понимаю, что этот скачок был связан с переходом между биржами. Сомнений нет, это не просто рандом – пора идти смотреть, по какому принципу тикеры отсортированы, чувствую, не по алфавиту. Так и есть – по капитализации.



( Читать дальше )

Блог им. Replikant_mih |ML в трейдинге.

Замутил чатик в телеграме. Тематика: применение машинного обучения (ML) — нейросетей ли, не нейросетевых моделей ли — в трейдинге для извлечения прибыли.

— Без обязательств.
— Без планов.
— На попробовать, пойдёт не пойдёт такой формат и такая тематика. Мне тема интересна.

Заходите если применяете ML в торговле, если рисёчите эту тему и планируете применять, если просто интересуетесь ML, но никак не решитесь к трейдингу это прикрутить или даже считаете, что это не применимо к трейдингу.

https://t.me/+hV1etW5V6hw4MzRi


Я ML использую в торговле. И периодически присматриваюсь к более широкому применению ML в своей торговле.
Было бы интересно пообщаться с теми, кому тематика тоже интересна.

Блог им. Replikant_mih |Результаты небольшого исследования про модели ML vs участки данных.

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

Когда скрипты уже отлажены ты просто их гоняешь, оцениваешь результаты, принимаешь решения. Часто при этом в голове всплывают неотвеченные вопросы, одни помечаешь себе, другие нет. Одними из таких вопросов были: это модель хреновая или OOS неудачный для модели, или в целом неудачный, а есть для него удачная модель, а для удачной модели есть неудачные участки данных тоже? В общем если убрать за скобки ML – классическая тема про переоптимизацию про то, что рынок может благоприятствовать стратегии (а скорее целому классу стратегий), а может нет. Но как с этим у моделей обстоит. В общем до этого момента только фантазировал на эту тему, закрыть вопрос через исследование было не сложно, но как-то руки не доходили, а теперь дошли.

 

Что делал: условно, взял много данных, единое признаковое пространство, по-всякому нарезал данные таким образом чтобы разные модели обучались на разных участках данных и было так же сопоставимое с кол-вом моделей кол-во OOS участков. Убедился, что OOS в конкретной паре модель-OOS не участвовал в обучении данной модели и погнал тестить разные модели на разных OOS кусках.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн