Хорошая статья.
Достойна копипаста.
===============================
Главная проблема алготрейдинга
Продолжу свои злобные нападки на алготрейдинг. Не то, чтобы я был сторонником других подходов, и уж тем более интуитивного, но дело вот в чем.
В инвестировании/трейдинге для устойчивых результатов очень важно не заниматься заведомой ерундой. Ерунда это всегда повышенные риски и, как минимум, потеря времени. Вычеркните из всего набора доступной инвестору активности заведомую ерунду, и вы получите более-менее работающие подходы. К сожалению, скорее всего для составления заветного списка вам придется много лет ходить по граблям самому, потому что вокруг любой заведомой ерунды роятся толпы преданных фанатов, харизматичные гуру и вообще жизнь кипит. Никак с ходу невозможно поверить, что такая жизнь может кипеть вокруг ерунды.
Так вот, как и
в прошлый раз, мое мнение будет касаться стратегий, которые опираются исключительно на цену. Сейчас очень много разных инструментов под общей маркой «машинного обучения». Просто бери нужные библиотеки, втыкай туда ценовой ряд, получай модель, торгуй, богатей. Хотите – нейросети, хотите – генетические алгоритмы. Не хотите? Ну, вот вам пересечение скользящих средних, не суть важно. Все эти Метастоки с Амиброкерами – простенькие разноцветные статистические машины «для гуманитариев».
Важно, однако, то, что при таком подходе делается неявное допущение о стационарности ценового ряда. О том, что будущий ценовой ряд будет иметь параметры, похожие на наблюдавшиеся в прошлом, как минимум, в ближайшем.
И вот тут-то и таится засада:
ряд-то — нестационарный! А раз так, то вся эта деятельность по применению супермощных алгоритмов машинного обучения поверх нестационарных данных сразу теряет смысл.
Я, конечно, далек от мысли, что сообщаю новость. Я думаю, все всё понимают. Ну или делают вид. Просто меня не покидает ощущение, что на этот факт старательно закрывают глаза, или, по меньшей мере, держат их недостаточно открытыми. Идут на сделку с собственной жадностью и делают опасное допущение.
А факт заслуживает того, чтобы на него смотрели максимально пристально, потому что нестационарность ряда дает сильно нехороший для риск-менеджмента эффект:
Вы не можете оценить будущие риски.
Не можете, потому что просто не знаете параметров будущего ряда. Потому что он, зараза, нестационарный. Про будущую доходность я даже не говорю. Доходность это в конечном итоге не так интересно, как риски. Хотя бы потому, что на долгосроке риски склонны сильно отражаться на доходности.
Если алготрейдинг для вас не более, чем увлекательное хобби, то не страшно. Ну бомбанет вам эквити, может вы за адреналином как раз сюда и пришли. А вот если это профессия, такого рода неопределенность рисков может нехорошо отразиться на вашем стейтменте. Торгуете вы, например, десять лет с красивым шарпом, а потом какая-нибудь стратегия съезжает с катушек и конец вашему шарпу, и, возможно, карьере.
Что делать?
Моя версия — надо искать контексты, где есть априори(!) возврат к среднему. Парный трейдинг похожих активов, например. Перетоки между рынками или секторами. Risk-on, risk-off динамика. Что-нибудь такое, где стационарность ряда обеспечена самой логикой процесса.
===============================
Первоисточник:
www.long-short.ru/post/glavnaya-problema-algotreydinga-834
Автор:
Александр Кургузкин (aka mehanizator)
P.S. Мое мнение — возврат к среднему есть на всех рынках, причем без всяких ухищрений типа парного трейдинга. Просто параметры среднего меняются. Но в рамках SWT-метода, точнее тактики на его основе, эта проблема решена алгоритмом выбора соответствующей рабочей волны, по которой осуществляется вход в рынок.
По сути: отчасти согласен с автором. С одной стороны действительно мы — не Ванги и предсказать цену со сколько-нибудь высокой точностью невозможно. Однако, на оценке вероятности исхода произошедших процессов строятся модели будущих процессов. Вот возьмем космическую ракету: невероятно сложное техническое изделие полностью построено на теории вероятности. С одной стороны нужно максимально уменьшить массу и габариты механизмов и агрегатов, с другой стороны должна быть обеспечена необходимая надёжность. По опытам на Земле определяют допускаемую частоту положительного исхода события и конструируют аппарат, опираясь на эти сведения.
Также есть пример из области экономики: каждые 7-11 лет в США случается серьёзный экономический спад. Вроде бы все знают, что приближается очередной кризис, принимают меры, кажется вот-вот и пронесёт. Ан нет, из десятилетия в десятилетие происходит одно и то же. Ну и как после таких циклов отвергать алготрейдинг, который и строится на использовании закономерностей
Автор прав, вся фишка в том что есть цена, а есть стоимость. И если изменение цены алгоритм еще может отследить, то изменение стоимости на врядл ли.
Запустить бы простую синусоиду на график и синхронизировать её частоту с рынком, остальное дело несложной техники. Только вот вопрос синхронизации почти нереализуем(((
Если считаете мой комментарий не достойным вашего топика можете его удалить))))
Любой нормальный курс по ML затрагивает проблему ошибок внутри и за пределами обучающей выборки и их взаимосвязь.
Нестационарность тоже не очень большая проблема, т.к. можно спокойно находить периоды квазистационарности и работать в них.
если да, то робот ничем не хуже человека сделает это. даже лучше, с учётом скорости принятия решения.
каким-то образом гугл может подсказывать строку поиска миллиардам людей на планете по первым буквам.
почему-бы подобным алгоритмам не подсказывать ближайшую цену по первым свечкам? идеальное попадание не нужно. достаточно приемлемого статистического.
Ну хоть к корреляциям подощли)
Почти…
Вот акции например, они в среднем растут и потому их цена нестационарна т.к., например, матожидание цены постоянно растет. Ну и что, купил и держи, вот тебе и прибыль!
Откуда вывод, что нестационарность исключает возможность заработать???
Едем еще дальше. Берем совершенно весь из себя нестационарный шумоподобный ряд. Добавляем в него трендовых периодов. От этого ряд стационарным не станет. Пишем бота, что если цена в интервале прет в одну сторону, то становимся тудаже и закрываемся… ну например по трейлинг-стопу или таймауту. В итоге получаем прибыль на трендах и в среднем 0 на остальных интервалах на этот самом нестационарном ряду. Таки шо?