Алгоритм трейдинга:
— Есть
N предикторов (алгоритмов, закономерностей) найденных на исторических данных. Какие то работали в прошлом, потом перестали, какие то работают до сих пор. Итого несколько десятков или сотен таких предикторов.
— Каждый предиктор сообщает а)
знак следущего приращения цены б)
амплитуду в)
достоверность предсказания (вероятность, насколько он сам уверен что не ошибается).
— И
трейдер (тоже алгоритм), который выбирает
какой предиктор использовать в данный момент, из доступных N предикторов (может спрашивает у каждого насколько он уверен в предсказании и выбирает максимальный, может как то еще).
—
Трейдер так же выбирает сделать ставку сейчас или пропустить и ждать следущего случая. Трейдер не обязан торговать на каждый тик, он может пропускать сотни и тысячи тиков, и совершает продажу/покупку только если считает нужным, например и уверен в своем предсказании.
Предикторы это небольшие правила, которые смотрят на например прошлую историю цены, скажем 1000 прошлых тиков, возможно также дополнительно какие то другие данные, корреляции и т.
п. Мы их ищем бактестингом, запускаем алгоритм на прошлых данных и перебирая всевозможные закономерности пытаемся найти вариант который как то предсказывает будущее. Они иногда работают, иногда перестают работать, тем не менее мы их все равно собираем. И таких правил мы насобирали несколько сотен. Такой поиск долгий и тяжелый процесс, переборы триллионов вариантов, и он делается заранее, до самого трейдинга.
Вопросы:
а) Как реализован алгоритм
трейдер который выбирает какой из N предикторов использовать в данный момент?
б) Чем это отличается от использования нейросети? По сути то что мы делаем, пропуская трейдинговые данные через N предикторов — это снижаем размерность данных, сжимаем исходные данные (например в 1000 прошлых тиков ) в некий малый осмысленный обьем, получаем некий семантический вектор размерности N (выходные данные N предикторов давших свои заключения). И на базе этого семантического вектора N, алгоритм
трейдер некоторым образом принимает решение о торговле. По сути это похоже на сверточную нейросеть, где куча мелких кусочков сети (аналогов предикторов) распознают мелкие паттерны (превращают изображение в семантический вектор), и затем уже другие глубинные уровни, на базе этих данных принимают решение что изображено на картинке.
Зачем делать все это вручную (изобретать структуру предикторов, как неких линейных функций или полиномов и т.п.), если можно использовать готовые архитектуры сетей (по сути они и есть такие универсальные операторы), плюс готовую инфраструктуру — отлаженные и эффективные алгоритмы их обучения на GPU, и даже на фермах GPU.
У нейроесетей есть проблема, они тормозные и по скорости работы специализированные предикторы (линейные или полиномы) — на порядки быстрее, но учитывая что скоростного канала у нас все равно нет, то и толку от этой скорости нам никакого, и на чем считать без разницы.
в) Что помешает брокеру или частным инвест фондам, запустить такую нейросеть на ферме GPU и перебрать все эти варианты? И имея льготные комиссии и скоростные каналы, забрать прибыль, и сделать рынок «эффективным», обнулив все эти предсказания. Как вы их побиваете (находите то что не смогли найти они), находясь в более сложных условиях, меньше данных, и ниже скорость данных?
П.С. Навеяно прочтением постов «Мальчик buybuy», насколько я понял алгоритм работает примерно так. Не понимаю как он приносит прибыль, ведь каждый второй фонд алготрейдинга, делает то же самое? Я использую другой подход, анализ финотчетности, но задача эта интересная и интересно узнать как люди ее решают.
ты торгуешь алгоритм а на самом деле ты торгуешь при помощи алгоритма актив… если в активе тухляк то хоть обторгуйся и обпредсказывайся… это решается элементарно
в рашке и коннорс про это прямо написано в самом начале
ves2010, что нельзя просто взять абстрактный алгоритм и надеяться, что он будет прибыльным на любом активе?
Это книги Эрнест Чан («Quantitative Trading») и Коннорс («Short-Term Trading Strategies That Work»)?
если цену можно как то оценить и ты знаешь где дорого а где дешево то актив контртрендовый...
если цену определить нельзя то актив движется от паник селл до паник бай...
и на это все великолепие накладываются рыночные шумы ...
Одну и ту же тему мусолите десятилетия.
это как груженый поезд едет под горку с ускорением — остановится не скоро… побырому запрыгиваем прямо на ходу и едем… что не так?
Про Торпа, насколько я понимаю он забросил трейдинг не потому что больше не мог, мог, его фонд как раз и был таким комбайном. А забросил когда получил миллиард, и понял что даже его едва ли когда потратит, и да сделал лучшее что не требует усилий, вложил в Баффета. И занялся здоровьем и более интересными вещами чем трата времени на рынке...
вот это вот — точно феерический бред! Ибо на фине есть инсайдеры и/или мм ( а точнее мм этой папиры по любому инсайдер) — и анализировать это опосля нет смысла. если вы ЭТОГО Не понимает, то я хрен знает что вы вообще понимает) рынок — это ММ + Инсайд! Все остальное шелуха для мяса)
Что касается простого статистического алготрейдинга:
Получается что большинство торгует гипотезу повторяемости истории))
Процентов 10-20% алготрейдеров торгуют обратную гипотезу… Логично же попробовать после многих лет в колесе повторении.
Думаю 1-2% торгуют смешанную.
Что касается перебора на GPU, не возможно перебрать всё одновремено, достигнуть «эффективности» для всех и везде. Поэтому рынок всё равно получается со смещениями. Т.е. и в 2040г. новичок перебором МА найдет оптимальную n на отрезке истории. Курвинг (неэффективность хаха) для любителей индикаторов сохранится. И в 2040г будут море новичков с граалями на форумах))
Хочешь 20% бери ТС которая показала 50%, хочешь 50% бери ТС с результатом 100%, с большим запасом. Желательно с акцентом на последний данные. Тогда может, какое то время получится получить плюс.
Трейдер самое слабое звено. При всей кажущей предсказуемости алго оно нифига не предсказуемо, трейдер по умолчанию убыточен, не способен принимать правильные решения. Если он думает что может своими решениями помочь ТС то зачем ему ТС?
алгоритмы ТС нужны чтобы сократить размерность. Точно также как сверточные нейросети (скопировавшие архитектуру зрительного центра кошки).
TC нужны чтобы превратить нерешаемую задачу — анализа данных огромной размерности (исходные данные), в гораздо меньшие данные (семантический вектор).
В случае с картинкой с нарисованным числом 1 — матрицу 100х100 с отдельными точками картинки, в меньшую матрицу 10х10 с гранями, линиями и углами. Радикально снижая сложность расчетов.
С трейдингом примерно то же. ТС это некие элементарные преобразователи, отслеживающие ключевые «особенности» сигнала. Сводящие скажем вектор из 1000 точек последней цены. В меньший вектор скажем 10 цифр, неких «характеристик» истории цены (ну или 3 осмысленных цифры типа знака/амплитуды/уверенности). И позволяющие следущему алгоритму «трейдеру» уже осилить нужные для них вычисления.
Если уж непременно надо выбирать что торговать в тот или иной период, то на основании эквити. То что у них больше способностей не означает что невозможно подобрать крохи с их стола… и возможно эти крохи(или не крохи) не будут крохами для кого то.
Во втором состоянии (наиболее частом) есть эффект, но недостаточный для побития комиссии. Речь о длительном измерении на множестве таких участков. Вот тут и насоздавали индикаторов и предикторов. Когда эффект иногда превышает комиссию. Остаётся лишь угадывать такие моменты.
Бывают и третьи состояния инструмента, но они редки. Когда что-то можно выиграть с большой вероятностью, но неизвестно сколько. Состояние ведь после своего начала быстро переходит в первое или второе. Ну, и дожидаться каждый раз таких состояний могут не только лишь все.
Так вот, во втором или третьем состоянии торговать можно практически любым индикатором. Просто от каких-то недополучите прибыли или вместо слабого плюса получите слабый минус.
Да, я о подобном думал. Состояние рынка определяется текущим состоянием игроков (других алгоритмов и маркет мейкера, они постоянно меняются). И получается твой алгоритм должен как то угадывать текущее состояние системы (рынка) и подстраиваться под него… немного меняя свое поведение.
Соответственно, часть таких безоткатных движений можно было брать. 10-30% от размера обычно.