Блог им. AlexeyPetrushin

Алготрейдинг, как вы определяете какой из множества предикторов выбрать?

Алгоритм трейдинга:

— Есть N предикторов (алгоритмов, закономерностей) найденных на исторических данных. Какие то работали в прошлом, потом перестали, какие то работают до сих пор. Итого несколько десятков или сотен таких предикторов.
— Каждый предиктор сообщает а) знак следущего приращения цены б) амплитуду в) достоверность предсказания (вероятность, насколько он сам уверен что не ошибается).
— И трейдер (тоже алгоритм), который выбирает какой предиктор использовать в данный момент, из доступных N предикторов (может спрашивает у каждого насколько он уверен в предсказании и выбирает максимальный, может как то еще).
Трейдер так же выбирает сделать ставку сейчас или пропустить и ждать следущего случая. Трейдер не обязан торговать на каждый тик, он может пропускать сотни и тысячи тиков, и совершает продажу/покупку только если считает нужным, например и уверен в своем предсказании. 

Предикторы это небольшие правила, которые смотрят на например прошлую историю цены, скажем 1000 прошлых тиков, возможно также дополнительно какие то другие данные, корреляции и т. п. Мы их ищем бактестингом, запускаем алгоритм на прошлых данных и перебирая всевозможные закономерности пытаемся найти вариант который как то предсказывает будущее. Они иногда работают, иногда перестают работать, тем не менее мы их все равно собираем. И таких правил мы насобирали несколько сотен. Такой поиск долгий и тяжелый процесс, переборы триллионов вариантов, и он делается заранее, до самого трейдинга.

Вопросы:

а) Как реализован алгоритм трейдер который выбирает какой из N предикторов использовать в данный момент?

б) Чем это отличается от использования нейросети? По сути то что мы делаем, пропуская трейдинговые данные через N предикторов — это снижаем размерность данных, сжимаем исходные данные (например в 1000 прошлых тиков ) в некий малый осмысленный обьем, получаем некий семантический вектор размерности N (выходные данные N предикторов давших свои заключения). И на базе этого семантического вектора N, алгоритм трейдер некоторым образом принимает решение о торговле. По сути это похоже на сверточную нейросеть, где куча мелких кусочков сети (аналогов предикторов) распознают мелкие паттерны (превращают изображение в семантический вектор), и затем уже другие глубинные уровни, на базе этих данных принимают решение что изображено на картинке.

Зачем делать все это вручную (изобретать структуру предикторов, как неких линейных функций или полиномов и т.п.), если можно использовать готовые архитектуры сетей (по сути они и есть такие универсальные операторы), плюс готовую инфраструктуру — отлаженные и эффективные алгоритмы их обучения на GPU, и даже на фермах GPU.

У нейроесетей есть проблема, они тормозные и по скорости работы специализированные предикторы (линейные или полиномы) — на порядки быстрее, но учитывая что скоростного канала у нас все равно нет, то и толку от этой скорости нам никакого, и на чем считать без разницы.

в) Что помешает брокеру или частным инвест фондам, запустить такую нейросеть на ферме GPU и перебрать все эти варианты? И имея льготные комиссии и скоростные каналы, забрать прибыль, и сделать рынок «эффективным», обнулив все эти предсказания. Как вы их побиваете (находите то что не смогли найти они), находясь в более сложных условиях, меньше данных, и ниже скорость данных?

П.С. Навеяно прочтением постов «Мальчик buybuy», насколько я понял алгоритм работает примерно так. Не понимаю как он приносит прибыль, ведь каждый второй фонд алготрейдинга, делает то же самое? Я использую другой подход, анализ финотчетности, но задача эта интересная и интересно узнать как люди ее решают.
★4
41 комментарий
в твоем описании никак… т.к запрягаешь телегу впереди лошади

ты торгуешь алгоритм а на самом деле ты торгуешь при помощи алгоритма актив… если в активе тухляк то хоть обторгуйся и обпредсказывайся… это решается элементарно
avatar
ves2010, например?
Михаил Шардин, а если подумать? а при ручной торговле спекулянт интуитивно решает эту задачу крайне легко и просто…

в рашке и коннорс про это прямо написано в самом начале
avatar

ves2010, что нельзя просто взять абстрактный алгоритм и надеяться, что он будет прибыльным на любом активе?

Это книги Эрнест Чан («Quantitative Trading») и Коннорс («Short-Term Trading Strategies That Work»)?

Михаил Шардин, нет конечно… активы изначально бывают 2ух видов трендовые и контртрендовые — это завязано на ценообразование...

если цену можно как то оценить и ты знаешь где дорого а где дешево то актив контртрендовый...

если цену определить нельзя то актив движется от паник селл до паник бай... 

и на это все великолепие накладываются рыночные шумы ... 
avatar
ves2010, Формула грааля!
avatar
Хоспади, да нейросети полезны там, где есть Система, то есть работает  на распознавании букв, мордашек, текстов, смыслов в тексте, но там, где почти Хаос, они ничем не лучше скользяшек.

Одну и ту же тему мусолите десятилетия.
avatar
chizhan, ну как бы хаос только в боковике… на росте или падении хаоса нет… в чем проблема торговать сильный движняк на больших обьемах?

это как груженый поезд едет под горку с ускорением — остановится не скоро… побырому запрыгиваем прямо на ходу и едем… что не так?
avatar
ves2010, для контртрендовиков (торгующих каналы, отскоки от поддержки, сопротивлений) наоборот тренды это безумие толпы, страх, жадность и никакой логики.
avatar
chizhan, ха ха ха… а рынок вообще не логичен… тебе логика нужна или профит?
avatar
chizhan, хотелось бы более четкий ответ. у нас 3 сущности, что именно вы критикуете? а) саму архитектуру системы «предикторы + трейдер» б) использование нейросети в кач. предиктора б) использ нейроестеи в кач трейдера?
avatar
Alex Craft, 
Что помешает брокеру или частным инвест фондам, запустить такую нейросеть на ферме GPU и перебрать все эти варианты? И имея льготные комиссии и скоростные каналы, забрать прибыль, и сделать рынок «эффективным», обнулив все эти предсказания.
Все уж давно сделано в конце 20 века. Применялись стат. методы. Тот же Эдвард Торп сначала бомбил казино с помощью математики, затем биржи. Затем все вкусное просто исчезло с приходом компов. И тот же Торп не нашел ничего лучше, как вложиться в фонды Баффета. 
avatar
chizhan, я же именно это и написал, фонды алготрейдеры сделали рынок «эффективным», забрав все легкие деньги.

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

avatar
Я использую другой подход, анализ финотчетности. 

вот это вот — точно феерический бред! Ибо на фине есть инсайдеры и/или мм ( а точнее мм этой папиры по любому инсайдер) — и анализировать это опосля нет смысла. если вы ЭТОГО Не понимает, то я хрен знает что вы вообще понимает) рынок — это ММ + Инсайд! Все остальное шелуха для мяса)
avatar
Head of Algonaft'$, да, именно что анализировать «апосля». Это можно проверить. посмотрев на публичную отчетность транзакций менеджмента компаний, и на поведение акций компании через 6мес-3лет… Резкие прыжки на след. день захватить, да это не получится.
avatar
Alex Craft, Тоже мимо) ММ меняет свое алго! И его реакция на отчетность «сегодня» будет отличаться от следующей! Например: моно раз на хорошую отчетность мм реагирует ростом… а потом раз… и на ваааще огонь отчетность идет падение! Быдлу рассказывают про то, что якобы в отчетности плохие взгляды на будущее или еще что-то))) Так же бывает наоборот — на гавно отчетности идет бешенный рост! Отчетность и стата — это инструменты ММ! Все… быдлу отчетность и стату «продают» что бы они денюшки на биржу несли.
avatar
Head of Algonaft'$, Маркетмейкер может влиять на цену краткосрочно. Он не может удерживать рост акций компании в течении 3х лет, если ее прибыль выросла в 2 раза, или цены на ее продукцию выросли. Да и зачем ему это…
avatar
Alex Craft, ))))) он вообще в курсе всего! И прибылей и будущего роста! Ему не надо ничего ни от кого удерживать! Он погонит ее вверх, переставляя цену и будет свой алгоритм корректировать по мере роста: объёмов, игроков, изменения фрифлоат и т.п… мм это не спекулянт! Он отбирает деньги в ЭТОЙ акции у хомяков, а хомяки прибегают и убегают) его задача их пасти и доить, а новых ему фининдустрия поставляет!
avatar
Head of Algonaft'$, фундаментальный трейдинг обычно выглядит как: 1) транзакция на нефте/урано/танкерную компанию акция куплена в 20г 2) продана в 23г. Едва ли маркетмейкер может значительно повлиять на разницу между такой покупкой/продажей. Он может — eсли вдруг напродавал колл опционов и они выросли, он может попытаться немного сбросить цену на несколько дней/недель во время экспирации опционов. 
avatar
Alex Craft, разговор ни о чем) вы или не знаете или пока не понимаете зачем нужен ММ. Скорее не понимаете, поэтому и лезете в ту область где вам ничего не светит ни статистически ни алгоритмически — там главный ММ) Поэтому могу пожелать вам только удачи и терпения — вы все равно разочаруетесь с выбранным направлением… я уже это проходил.
avatar
Head of Algonaft'$, ММ имеет значение для краткосрочных сделок. И не имеет значения на долгосрочных.
avatar
Head of Algonaft'$, как маркет мейкер может повлиять на цену например нефтедобытчика PSX (Phillips 66), например через год, или через 3 года?
avatar
Alex Craft, даже не хочу продолжать) сорри. Вы вообще без понятия кто такой мм, чем он занимается и кукую роль играет в ценообразовании и т.п. Это нормально)))) когда вы разберетесь, вы поймете почему именно так ходят цены и они нЕ ЗАВИСЯТ от того, что вы сейчас решаете и/или пытаетесь решить. Ваше мировоззрение на рынок поменяет и вы начнете по новой искать закономерности — только уже с учетом действий ММ и поймете наконец-то, что то что вы ищите сейчас — это все вода! Мы все алгоритмисты через ЭТО прошли… просто ваша очередь еще не пришла))))
avatar
Alex Craft, у мм есть дневной лимит средств если он исчерпан то мм уходят
avatar
в алготрейдинге по большому счету давно уже нет никаких откровений, все варианты перетерты в книгах и интернетах много раз. Даже на этом сайте, если внимательно изучить старые материалы, есть куча вещей, которые работали, работают, и будут работать, даже если в качестве ММ запрячь ИИ, который будет пытаться выстраивать некое подобие эффективного рынка.
avatar
Антон Иванов, В точку! Профалгоритмист бодается теперь только с ММ ибо он рулит и его кунг-фу не поддается! Т.к. статы у него гораздо больше! Этот тот самый слон в посудной лавке. Профалгоритмисты все равно откусывают от него чутка)))
avatar
Антон Иванов, и в каких книгах то? по алго вообще никто не пишет 

avatar
ves2010, ну да, мой косяк, я тут не уточнил, что книги англоязычные. В телеге ТСЛаба текущая подборка книг и других материалов на сегодня очень неплохая. Но Кауфман и Пардо точно есть на русском.
avatar
Нет выбора: один алгоритм, один предиктор
avatar
Что помешает
Ничего. Давно уже так и делают. Трейдр1+трейдер2+… = нейросеть по поиску «неэффективностей». Тут самое главное  — большинство из них максимально предсказуемы, т.е. не обладают никакими особенностями. Берут индикатор, формулу, комбинацию индикаторов прогоняют на истории, подгоняют период, подгоняют значения под результат, и ждут повторения. И так по кругу, новый индикатор, новые тесты… Но почему? Кто сказал что повторения существуют? Подогнал период и ждёшь повторения?
Что касается простого статистического алготрейдинга:
Получается что большинство торгует гипотезу повторяемости истории))
Процентов 10-20% алготрейдеров торгуют обратную гипотезу… Логично же попробовать после многих лет в колесе повторении.
Думаю 1-2% торгуют смешанную.
Что касается перебора на GPU, не возможно перебрать всё одновремено, достигнуть «эффективности» для всех и везде. Поэтому рынок всё равно получается со смещениями. Т.е. и в 2040г. новичок перебором МА найдет оптимальную n на отрезке истории. Курвинг (неэффективность хаха) для любителей индикаторов сохранится. И в 2040г будут море новичков с граалями на форумах))
avatar
22022022, ""«Получается что большинство торгует гипотезу повторяемости истории»"" да, гипотезу повторяемости корреляций замеченных на истории. :) И  непонятно какова вероятность что корреляция замеченная на прошлом месяце, повторится завтра :)
avatar
Какую ТС выбрать при статистическом алго?
Хочешь 20% бери ТС которая показала 50%, хочешь 50% бери ТС с результатом 100%, с большим запасом. Желательно с акцентом на последний данные. Тогда может, какое то время получится получить плюс.
Трейдер самое слабое звено. При всей кажущей предсказуемости алго оно нифига не предсказуемо, трейдер по умолчанию убыточен, не способен принимать правильные решения. Если он думает что может своими решениями помочь ТС то зачем ему ТС?
avatar
22022022, насколько я понимаю, разбивка алгоритма на ТС и Трейдера, нужна чтобы:

алгоритмы ТС нужны чтобы сократить размерность. Точно также как сверточные нейросети (скопировавшие архитектуру зрительного центра кошки).

TC нужны чтобы превратить нерешаемую задачу — анализа данных огромной размерности (исходные данные), в гораздо меньшие данные (семантический вектор).

В случае с картинкой с нарисованным числом 1 — матрицу 100х100 с отдельными точками картинки, в меньшую матрицу 10х10 с гранями, линиями и углами. Радикально снижая сложность расчетов.

С трейдингом примерно то же. ТС это некие элементарные преобразователи, отслеживающие ключевые «особенности» сигнала. Сводящие скажем вектор из 1000 точек последней цены. В меньший вектор скажем 10 цифр, неких «характеристик» истории цены (ну или 3 осмысленных цифры типа знака/амплитуды/уверенности). И позволяющие следущему алгоритму «трейдеру» уже осилить нужные для них вычисления.
avatar
 У нейронок проблема в том что они более честны. На 1440 минутках смело выдает прогнозы ежеминутно (как дурочка). После 10 лет обучения, прогноз каждой следующей минутной свечи ~50/50. Она стала тупее? Нет, умнее!
avatar
Как реализован алгоритм трейдер который выбирает какой из N предикторов использовать в данный момент?
Вопрос качества «предикта» ( ТС) не сопоставим по важности с выбором из их множества.
Если уж непременно надо выбирать что торговать в тот или иной период, то на основании эквити.
Что помешает брокеру или частным инвест фондам, запустить такую нейросеть на ферме GPU и перебрать все эти варианты? И имея льготные комиссии и скоростные каналы, забрать прибыль, и сделать рынок «эффективным», обнулив все эти предсказания. Как вы их побиваете (находите то что не смогли найти они), находясь в более сложных условиях, меньше данных, и ниже скорость данных?
То что у них больше способностей не означает что невозможно подобрать крохи с их стола… и возможно эти крохи(или не крохи) не будут крохами для кого то.
avatar
Большой Брат, я на практике не пробовал, потому это чисто мои домыслы. Насколько я знаю, они работают как рудообогатительный комбайн. И попытаться вручную намыть кусочки золота после того как они прошли промышленную «сеялку» — ну незнаю… может быть но как то сложно поверить…
avatar
Alex Craft, не после, а стоя на комбайне выгребать из него
avatar
Сергей, мудро :)
avatar
Суть в том, есть ли в инструменте в данный период (ещё не закончившийся) отклонение в поведении от белого шума или нет. И достаточно ли эффекта от его использования для выигрыша, превосходящего комиссию. То есть три состояния инструмента. В первом состоянии (белый шум) все предикторы, показывая якобы эффект третьего состояния, заблуждаются. Понять это невозможно, даже нейросети.
Во втором состоянии (наиболее частом) есть эффект, но недостаточный для побития комиссии. Речь о длительном измерении на множестве таких участков. Вот тут и насоздавали индикаторов и предикторов. Когда эффект иногда превышает комиссию. Остаётся лишь угадывать такие моменты.
Бывают и третьи состояния инструмента, но они редки. Когда что-то можно выиграть с большой вероятностью, но неизвестно сколько. Состояние ведь после своего начала быстро переходит в первое или второе. Ну, и дожидаться каждый раз таких состояний могут не только лишь все.
Так вот, во втором или третьем состоянии торговать можно практически любым индикатором. Просто от каких-то недополучите прибыли или вместо слабого плюса получите слабый минус.
avatar
svgr, верно сказано, сегодня в завтрашний день смотреть мало кто может… а уже завтра сегодня станет вчера.

Да, я о подобном думал. Состояние рынка определяется текущим состоянием игроков (других алгоритмов и маркет мейкера, они постоянно меняются). И получается твой алгоритм должен как то угадывать текущее состояние системы (рынка) и подстраиваться под него… немного меняя свое поведение.
avatar
Alex Craft, в своё время примерно так же это рассматривал. Текущее состояние инструмента определяется действиями крупных игроков по их алгоритмам, что создаёт привычный размер 'безоткатных движений'. Месяца 3-4 параметры алгоритмов те же.
Соответственно, часть таких безоткатных движений можно было брать. 10-30% от размера обычно.
avatar

теги блога Alex Craft

....все тэги



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