Т.е. сейчас даже не про просеивание, фильтрацию информации ручными трейдерами – ну там: в топку телеграм-каналы, горы индикаторов на графике, обзоры аналитиков и прочую фигню.
Сейчас про алгоритмических трейдеров.
У них тоже есть свой информационный шум. И свои стратегии взаимодействия с этим шумом.
Какой вообще есть шум и на что он влияет. Что нужно алго-трейдеру – идеи стратегий… да кого я обманываю, им не нужны идеи – им нужны в конечном счете стратегии. Второе что нужно – идея, решения по улучшению процессов, общей эффективности – т.е. мета-улучшения, ну там – чуть лучшие способы защиты от переподгонки, чуть более эффективные способы собирать стратегии в портфели и т.д. Дальше алго-трейдер берет информацию в оборот, обычно экспериментирует и дальше что-то внедряет если нашел что-то ценное.
И что может «шуметь» в охоте за данными кусками ценной информации?
Попробую обобщить, классифицировать:
— Нетематическая информация – зашел на условный Смарт-лаб, ожидая трейдерский контент, получил много политики, много ещё чего-то, что как алго-трейдеру тебе почти ничего не даёт (может где-то что-то дать, но соотношение шум/«сигнал» будет очень неблагоприятное).
Взяли в руки блокнотики?))
Грааль в ML для трейдинга состоит из нескольких компонентов. По сути грааль, это «правильные» ответы на вопросы:
Пожалуй, можно составить ТОП покороче:
Имею в виду в моменте и автоматически.
Кто-то так вообще делает? Вот буквально, что у твоей стратегии не N денег в распоряжении, у второй N1, у третьей N2 и т.д., где N1 == N или N1 != N и т.д. А у тебя всего N денег в распоряжении и стратегии сами как-то разруливают эту историю. Без анархии, конечно, но как-то смарт и по-хитрому.
Сразу же возникло много вопросов по логике организации такой системы, подумал: надо сторонний опыт заценить и понял, что, вроде, ничего о подобном не слышал.
Ретроспективно — обычно «руками» заглянуть в историю — перераздать лимиты денег — да, как-то так делают.
Хочется как-то так: если стратегия, по ожиданиям, будет хорошо перформить и/или сигнал какой-то особо мощный — чтоб система могла перетянуть одеяло. Но в то же время надо чтоб кто-то один не перетягивал на себя всё одеяло, какой бы крутой он не был. В общем смарт челлендж вырисовывается, хочется для начала осмотреться по сторонам прежде чем что-то делать. Хотя по устоявшейся уже привычке точно не буду делать какого-то неповоротливого мастодонта, начну с простенького MVP.
Прокрастинировать тоже надо правильно. В алго не все задачи вау-интересные, много рутины, иногда хочется сменить пластинку. Отлично на эту роль подходит какой-нибудь креативный рисёч. Важно, чтобы было не слишком затратно по усилиям, иначе завязнешь, тоже станет скучно и т.д. При этом тема рисёча должна быть интересной, нестандартной или мотивирующей. В этот раз в качестве такого отвлечения решил погрызть извечный грааль алгостроения – прогнозирование состояния рынка.Думаю, вы знаете, что на рынке есть такие состояния, при которых любые (ну не любые, конечно) стратегии начинают хорошо перформить. И поэтому, умея прогнозировать такие состояния, ты как бы накачиваешь все свои стратегии стероидами.
По-быстрому без изысков определил как чё буду делать, на что смотреть (назовём это предикторами) и как измерять эффект. В принципе первые же предположения сработали. Но до грааля далеко. Эффект (for fun) получен, результат (и задел на будущее получен), дальше можно возвращаться, улучшать, развивать, ветвить рисёч.
В алгоритмической торговле много аспектов и много чем можно заниматься для улучшения результата. Интересно, кто в каких пропорциях время распределяет.
Как алготрейдеру сразу, конечно, хочется факторы вычленить, закономерности построить, посмотреть как распределение времени на результаты влияет, эксперимент спроектировать и провести. Но тут так, конечно, не выйдет), но просто послушать всё равно очень интересно. Интересно не чем в моменте занимаешься, а на каком-то скользящем окне помасштабней понять как усилия распределяется. Основной фактор, думаю, тут стадия жизненного цикла трейдера, но и в пределах стадии всё равно разброс на основе индивидуальных предпочтений приличный.
Я долго в инфраструктуру усилия вкладывал, потом в рисёч стратегий, щас основной упор в мета-исследования – исследования, положительный результат в которых аффектит эффективность всего процесса и всех/большинства стратегий. Наверно, процентов 60 этим занимаюсь, 30 – рисёч и написание стратегий, 10 – инфраструктуру допиливаю по необходимости.
Инфраструктурно меня конкретно штормило раньше). Видимо, строить инфраструктуру (где-то в глубинах внутренних предпочтений) мне ничуть не менее интересно, чем рисёчить стратегии. Поштормило-поштормило, да подотпустило. Зато теперь у меня внутри нет никакой недосказанности вида «а что если своё попробовать написать», «а что если готовую вот эту специализированную взять» и прочих. Лучше жалеть о то, что сделал… и я делал)).
Сейчас самописная инфрастуктура. Не разраб, не кодер, не архитектор, но кой какие-то принципы усвоил – какие-то из своего опыта вынес, какие-то из курсов или ещё откуда. Соблюдение банальной IT гигиены на порядки облегчает жизнь. Пример: раньше мог запилить коннектор какой-нибудь, который корнями врастал в остальную часть инфраструктуры и чтобы заменить его на другой коннектор, если понадобится, приходится выкорчёвывать, а это долго, сложно и отличный повод запустить прокрастинационный цикл. А надо-то, банально, написать базовый класс и, много не надо, буквально несколькими с указанием сигнатур, дальше от этого класса наследоваться – всё.
Скачал с этих страниц списки американских акций
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 и понимаю, что этот скачок был связан с переходом между биржами. Сомнений нет, это не просто рандом – пора идти смотреть, по какому принципу тикеры отсортированы, чувствую, не по алфавиту. Так и есть – по капитализации.
Не знаю, самый умный ли я или уже кто-то до меня до этого додумался.
Есть например, технологическая сингулярность, думаю ± все слышали про это понятие. В этом понятии сингулярность это про увеличение скорости… или ускорения? — Видимо, ускорения.
Применительно к трейдингу речь про уменьшения цикла жизни закономерностей и стратегий (стратегия — способ эксплуатации закономерности, но и закономерность во многом — порождение стратегии, ну только уже стратегия порождает другую закономерность). Процессы ускоряются, в след за технологиями да, сначала был медленный цикл жизни стратегии-закономерности когда всё руками, потом появились компы, потом компы стали ускоряться и ускоряться, потом появился ML.
https://smart-lab.ru/blog/929831.php
Здесь Александр постулирует что если грамотно ротировать стратегии, вкладывать в этот процесс достаточно усилий, то это можно делать бесконечно. С этим можно согласиться, но здесь не учитывается этот эффект ускорения. В какой-то момент можно отстать от этой гонки, а в какой-то момент, возможно, это всё как-то схлопнется.
Представим процесс создания и верификации стратегии как исследование, и сведём этот процесс к следующей упрощенной модели: цель исследования это вопрос, само исследование — процесс ответа на вопрос, результат исследования – ответ на вопрос.
Так вот часто, эти три компонента в модели А. Не согласованы, Б. Процесс согласования не проходит через сознательный уровень. Поясню:
(А) – Ну тут обычно всё просто: если ты задаёшь один вопрос, а отвечаешь как будто на другой вопрос, то и ответ в итоге не будет отвечать на поставленный вопрос. Или ближе к алго: если ты хочешь оценить робастность стратегии, а в процессе исследования делаешь что-то несусветное, твои выводы не скажут ничего про робастность. Например, я оцениваю робастность стратегии и хочу получить наилучшие параметры для торговли (вопрос), делаю оптимизацию на истории и отбираю ТОП1 прогонов, беру от него набор значений параметров (ответ).
(Б) – Многие тупо не отдают себе отчет что они делают, почему именно так, как процесс ответа на вопрос согласуется с вопросом, как ответ соответствует вопросу и т.д. Ну т.е. многие исследуют именно так, а не иначе потому «а вот я слышал, что это работает», «я пробовал, вроде сработало» или ещё почему-то. Не скажу, что более глубокий уровень осознанности в этом деле прям обязательный, если у тебя что-то работает (твой подход) – ну и отлично.
Но я люблю осознанность: