Мечтают ли нейросети об электроденьгах? +75





TL;DR: Нет



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

Почему? Давайте разбираться.

Вступление


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


В данном материале я постараюсь описать проблемы, с которыми сталкиваются которые создают себе начинающие исследователи искусственных нейронных сетей в погоне за финансовой независимостью, тратя драгоценное время с околонулевым КПД.

Я надеюсь, что, в рамках данной статьи, получится выдержать достаточный баланс между сложностью материала и легкостью восприятия, дабы текст был в меру прост, понятен и интересен как людям, не связанным с данным поприщем, так и тем, кто давно занимается исследованиями проблем в этой отрасли. Сразу говорю, формул тут не будет, специфичной терминологии тоже по минимуму.

Я не работаю в Google. У меня нет двадцати научных степеней. Я не стажировался в NASA. Я не учился в Стэнфорде и горько сожалею об этом. Однако, я, все же, надеюсь, что понимаю, о чем говорю, когда речь идет о системах прогнозирования и, при этом, я довольно тесно связан с криптовалютным миром в общем и проектом Cardano в частности.

Разумеется, меня, как криптоэнтузиаста, занимающегося нейросетями, просто не могло не занести в туманную область применения ИИ касательно криптовалют.


Суть проблемы


Как было сказано ранее, материалов, вроде даже проработанных и, на первый взгляд, глубоких, с примерами, на эту тему столько, что глаза разбегаются. А авторы настолько уверены в том, что их эксперимент, в отличие от предыдущих нескольких сотен, успешен, что даже удивляешься, почему очередная статья не заканчивается фотографиями с «ламбой» на личном острове, а список авторов «kaggle kernels», связанных с прогнозированием цен на биткоины, не дублирует списки Forbes.

Ожидаемо, что и на Хабре есть статьи, посвященные этим вопросам. И, что интересно, независимо от места и языка публикации, все эти статьи заканчиваются примерно одинаковым текстом «Ну вот, результат вполне неплохой, все почти работает, надо просто докрутить немного гиперпараметры и все будет здорово».

И, обязательно, графики, на которых нейросеть идеально указывает цену, типа таких:








Мы к ним еще вернемся в дальнейшем и рассмотрим внимательно.

И, дабы не быть голословным, вот примеры подобных статей: раз, два, три.

С чего все началось


Идея предсказания новых цен по старым далеко не нова. На самом деле, это касается не только криптовалют. Так уж вышло, что лично мне они ближе, но, родина того, что называют «техническим анализом» — это, все-таки традиционные биржи. Те самые, где, если верить фильмам, все в дорогих костюмах, но при этом орут как девочки на концерте любимой группы.

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

Самое популярное, пожалуй, это поиск фигур. Пятнадцать минут чтения интернета и хоть сейчас на Уолл-стрит! Это ведь так просто — надо лишь на графике найти «голову Барта Симпсона», «бабочку», «флажок(не путать с клином!11)», «лазурь, падающую в вакуумную вертихвостку», построить много-много линий и, совершенно непредвзято, истолковать это в свою пользу!


У почти всех этих решений есть один небольшой, но очень плотный и тяжелый недостаток — они прекрасно фиксируют тренды...постфактум. А если что-то заявлено, как не фиксирующее, а предсказывающее, то оно трактуется настолько вольно, что десять человек, глядя на один и тот же график с одним и тем же индикатором, дадут десять независимых прогнозов. И, что характерно, хотя бы один из них, скорее всего будет прав!

Но это будет установлено тоже постфактум. А остальные просто скажут «а, ну мы по невнимательности неправильно прочитали сигналы».

Не поймите меня неправильно. Вполне допустимо, что реальный трейдер с Уолл-стрит, у которого за плечами лет 20 криков и штук 200 попыток суицида, скорее всего может наложить друг на друга пачку индикаторов и осцилляторов и, как оператор из фильма «Матрица», одним взглядом прочитать там полезные данные, сдобренные достаточно высоким мат.ожиданием успешной сделки. Я даже допускаю, что конкретно Ты, читатель, тоже так умеешь. Без капли сарказма, вполне допускаю. В конце концов зачем-то же их придумывают, улучшают, эти индикаторы…

Современные проблемы требуют современных решений!


Году к 2015 нейросети уже были у всех на слуху. Розенблатт даже не представлял, насколько они будут на слуху. Благодаря ответственным, профессиональным, разбирающимся в вопросе СМИ, человечество узнало, что нейросети — это самая что ни на есть электронная версия человеческого мозга, способная быстрее и лучше решить любую задачу, обладающая неограниченным потенциалом и вообще, вот вот и через сингулярность перемахнем прямо в светлое/мрачное будущее. Тут уж как повезет.

Но было одно «но». До поры до времени, нейросети обитали только в заповедных математических пакетах, в очень очень низкоуровневом виде, теша математиков и ученых графиками в MatLab-ах.

Но популяризация сделала свое дело и привлекла в отрасль очень много внимания разработчиков разной степени независимости. Эти самые разработчики, будучи, в отличие от обычных математиков, людьми, наделенными благородной ленью, стали изыскивать способы накинуть несколько уровней абстракции на это дело, облегчая жизнь себе и всем желающим, явив миру весьма удобный и качественный высокоуровневый инструментарий вроде Keras или FANN. В этом рвении они преуспели настолько, что довели работу с нейросетями до уровня «просто раз и работает», открыв дорогу в мир чудес и волшебства для всех желающих.

Именно чудес и волшебства, а не математики и фактов.


Рождение легенды


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

А Keras? В 10 строчек можно собрать рекуррентно-сверточную сеть, не понимая ни как работают свертки, ни чем отличается LSTM от GRU! Искусственный интеллект для всех и каждого! И пусть никто не уйдет обиженным!

Думаю, отчасти, самую злую шутку сыграла терминология. Как называют выходы нейросети? Ага. Predictions. Предсказания. Нейросеть предсказывает одни данные по другим. Звучит ну прямо как то, что нужно.

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

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

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


Ну что сказать, ну что сказать, устроены так люди...


Вот оно, технологическое чудо! Ты просто даешь ему на вход одни данные, на выход другие, а оно само находит связь и учится предсказывать выходы по входам. Сколько проблем можно решить! Сколько задач можно нивелировать!

Столько всего можно предсказать! Интересно, а другие люди вообще в курсе? С этим инструментарием мои возможности безграничны! БЕЗГРАНИЧНЫ!


А что если накормить нейросеть свечами с криптобиржи/фондовой биржи/форекса, на выход подавая ей свечу со следующего временного промежутка? Она ведь научится тогда предсказывать новые значения по предыдущим! Ведь это то, для чего она была сделана! Нейросеть может предсказать что угодно, были бы данные, а данных по истории котировок пруд пруди! О, озарение, лишь миг, но столь прекрасный!

А почему бы и нет?


Потому что в реальном мире, который отличается от мира, создаваемого СМИ, это так не работает. Нейросети не являются машиной для предсказаний. Нейросети — это аппроксиматоры. Очень хорошие аппроксиматоры. Считается, что нейросети могут аппроксимировать практически что угодно. При одном лишь условии — если это «что-то» поддается аппроксимации.

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

Глядя на статистику, человек видит функцию. Капкан захлопывается.
В чем вторая ошибка/когнитивное искажение? А вот в чем.

А с погодой работает!


Это очень частый аргумент, который я слышу в криптосообществах, в диалогах о возможностях предсказаний чего-либо по историческим данным методами статистического анализа. С погодой работает. Суть искажения в том, что «если A работает для B, а мне кажется, что B это то же самое, что и C, то A должно работать и для C». Эдакая псевдотранзитивность, упирающаяся в недостаточное понимание процессов, лежащих в основе различий между B и C.

С тем же успехом можно полагать, например, что педали в кабине пилота самолета — это тормоз и газ при автоматической коробке передач, а вовсе не горизонтальный руль. Интуитивное восприятие некоторых вещей, к сожалению, не всегда правильное, потому что не всегда опирается на достаточно полный комплект данных о ситуации/системе/объекте. Привет, Байес! Как сам?

Давайте немножко углубимся в теорию.

Хаос и Закон


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


Как нам верно подсказывает Оби-Ван, все не так просто. Дело в том, что, в мире реальном, не теоретическом, все чуть сложнее и совершенно предсказуемых и совершенно непредсказуемых процессов просто-напросто не существует. Как максимум — есть квазипредсаказуемые и квазинепредсказуемые. Ну то есть вот почти непредсказуемые и почти предсказуемые. Почти почти, но нет.

Например, снег квазипредсказуемо падает сверху вниз. Почти в 100% наблюдаемых случаев. Но не у меня за окном кухни! Там снег идет снизу вверх ввиду особенностей воздушных потоков и формы дома. Но не всегда! Тоже почти в 100% случаев, но не всегда. Иногда у меня за окном кухни он тоже падает вниз. Казалось бы, такая простая вещь, а для одного и того же наблюдателя в двух разных случаях ведет себя совершенно по-разному, причем оба поведения являются нормальными и квазипредсказуемыми почти со 100% вероятностью, хотя полностью противоречат друг другу. Не хило? Квазипредсказуемое событие оказалось… квазинепредсказуемым? Дальше больше.

На этом моменте наш друг Байес начинает смеяться. Что насчет непредсказуемых событий? Я не буду использовать приставку «квази», хорошо? Всем и так понятно, что я ее имею ввиду. Так вот. Возьмем-ка что-то совершенно непредсказуемое. Броуновское движение? Отличный пример совершенно непредсказуемой системы. Ведь так? Давайте спросим у квантовых физиков:


Дело в том, что, теоретически, даже такую сложную систему, как броуновское движение в реальных масштабах, в теории, можно смоделировать и предсказать состояние этой системы в любой момент времени в будущем или прошлом. Теоретически. О том, сколько для этого надо расчётов, мощностей, времени и жертвоприношений Темным Богам тактично умолчим.

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

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

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

При чем тут прогноз погоды и торговля на бирже?


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

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

И тут кроется главное отличие прогноза погоды от прогноза цены — масштаб максимально большого предсказуемого моделируемого компонента. Для прогноза погоды масштаб этих компонентов такой, что их ну… их видно с орбиты Земли невооруженным глазом. А что не видно, например, температуру и влажность, можно, благодаря метеостанциям, измерять в реальном времени так же по всей планете. Для торговли же сей масштаб… об этом позже.

Циклон не скажет «я устал, я ухожу», растворившись на ровном месте в непредсказуемый момент времени. Количество тепла, получаемое от Солнца конкретным полушарием планеты меняется с одной и той же закономерностью. Движение воздушных масс в планетарных масштабах не требует атомарной симуляции и вполне себе моделируется на макроуровне. Система под названием «погода», которая в масштабе конкретной точки на Земле является случайным событием, вполне себе предсказуема на более глобальных масшабах. И все равно, точность этих предсказаний оставляет желать лучшего на дистанциях более пары дней. Система хоть и предсказуема, но очень сложна, чтобы ее можно было моделировать с приемлемой точностью в любой точке времени.

И тут мы приходим еще к одному важному свойству предсказательных моделей.

Самодостаточность или автономность предсказаний


Это свойство, в общем-то, довольно простое — самодостаточная система прогнозирования, или идеальная система прогнозирования, способна обходиться без внешних данных, не считая начальное состояние.

Она же идеально точная. Для предсказания свойств системы в состоянии N, ей достаточно получить собою же рассчитанные данные в состоянии N-1. А зная состояние N, можно получить N+1, +2, +m.

К таким системам можно отнести, например, любую математическую прогрессию. Зная состояние в точке отсчета и номер этой точки в ряду событий, можно легко рассчитать состояние в любой другой точке. Круто!


А еще это ответ на вопрос, почему точность прогноза погоды драматически падает на большой дистанции во времени. Заглядывая в будущее, мы строим прогноз, опираясь не на реальное состояние системы, а на спрогнозированное. Причем, не со 100% точностью, к сожалению. В итоге мы получаем эффект накопления ошибки прогнозирования. А ведь это при том, что нам известны почти все значимые «переменные» и описание системы можно назвать практически «полным».

А что насчет котировок?


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

В то время как статистика котировок — это, преимущественно либо только последствия, либо 50\50. Рост котировок может спровоцировать дальнейший рост котировок и стать причиной. А может не спровоцировать и не стать причиной. А может спровоцировать фиксацию прибыли и, как следствие, падение цены. Исторические данные на биржах выглядят солидно. Объемы, цены, «стаканы», столько цифр! Абсолютное большинство которых ни на что не годятся, являясь лишь результатом, эхом, событий и причин, лежащих далеко за плоскостью этой статистики. На совершенно ином масштабе. В совершенно иной сфере охвата.

При моделировании будущих котировок мы опираемся лишь на последствия событий в разы более сложных, чем просто процентное отклонение объема закупки. Цена не формирует сама себя. Ее нельзя продифференцировать саму по себе. Если рынок выразить как метафоричное озеро, то биржевый график это лишь рябь на воде. Может быть это ветер подул, может камень в воду бросили, может рыба плеснула, может Годзилла прыгает в 200 километрах на батуте. Мы видим лишь рябь. Но по этой ряби пытаемся спрогнозировать силу ветра через 4 дня, количество камней, которое кинут в воду через месяц, настроение рыбы послезавтра или, быть может, направление, в котором пойдет Годзилла, когда устанет прыгать. Подойдет ближе и снова развернет батут — рябь станет сильнее! Ловим тренд, хоп хоп хоп!



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

К сожалению, масштаб максимально возможного моделируемого компонента системы, в случае с рынком, сводится к человеку. Даже не к человеку, а к его психофизическому состоянию, от которого зависит реакция на поведение рынка, и который, этой самой реакцией будет сам влиять на рынок. Та самая причина, перетекающая в следствие! Только моделировать придется тысячи, если не миллионы уникальных, индивидуальных людей. С личными проблемами, переживаниями, гормональным фоном, взаимодействиями, повседневной активностью.

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


Итого, нам требуется сфера обозреваемых условий, которая нам совершенно недоступна. Масштаб симуляции, который для нас совершенно недостижим.

Ну, то есть, в теории, конечно, достижим. Броуновское движение, в теории, тоже вполне себе моделируемая и предсказуемая система, помните? Тогда вспомните и цену практической реализации такого моделирования. Эта цена непомерно выше, чем процесс кормления нейросети биржевыми свечками. По крайней мере на момент написания этой статьи.

Но как же графики?


Действительно. В самом начале этой статьи были приведены графики с крайне высокой точностью прогнозирования, граничащей, местами со 100%.

Давайте посмотрим на них снова:








Что видите? Присмотритесь внимательнее. Прекрасное совпадение, не так ли? Идеально, просто идеально. А на первом и втором графиках нейросеть натурально опережает котировки на шаг вперед!

Помните, я упоминал высокоуровневые библиотеки для работы с нейросетями, а потом это не получило в тексте статьи никакого развития? Теперь получит. Широкая доступность чего бы то ни было, непременно снижает планку подготовки среднестатистического пользователя. С нейросетями происходит то же самое. «Kaggle kernels» тому показатель. Любой не узкопрофильный раздел просто утопает в тоннах решений, авторы которых, в подавляющем большинстве, понятия не имеют, что вообще делают. А снизу каждое решение подпирается столпами хвалебных комментариев от людей, разбирающихся в вопросе еще меньше. «Отличная работа, то, что надо!», «Я так давно искал подходящее для моих задач ядро, вот оно! А как им пользоваться?» и так далее.

Отыскать среди этого что-то действительно интересное и красивое очень, очень сложно.
<оголтелый снобизм>
В итоге у нас есть такое явление, как люди, легко оперирующие довольно сложным математическим аппаратом, но не умеющие читать графики.
</оголтелый снобизм>

Ведь время на шкале X движется вправо, а предсказание, в идеале, должно быть получено до наступления события.

Просто гиперпараметры еще не подкручены


Нас всех радует, когда наша нейросеть проявляет признаки сходимости. Но есть нюансы. В программировании как таковом, есть правило «запустилось не значит заработало». Когда мы только начинаем изучать программирование, нас безмерно радует сам факт того, что компилятор/интерпретатор сумел понять то, что мы ему подсунули и не закидал нас ошибками. На этом уровне становления мы считаем, что ошибки в программе бывают только синтаксические.

В проектировании нейросетей все то же самое. Только вместо компиляции — сходимость. Сошлось — не значит обучилось именно тому, что нам нужно. Так чему же оно обучилось?

Неопытный исследователь, глядя на такие красивые графики, скорее всего, возликует. А вот более-менее опытный, насторожится, ведь вариантов тут не так много:

  1. Сеть явно переобучена (пере- в значении «избыточно», а не «повторно»)
  2. Сеть эксплуатирует изъян в методике обучения
  3. Сеть аппроксимировала Биржевый Грааль и способна предсказать состояние рынка в любом моменте времени, «разжав» бесконечный график из всего одной свечи

Как думаете, какой вариант ближе к реальности? К сожалению, не третий. Да, сеть действительно обучилась. Она действительно поразительно точно выдает результаты, но почему?

Хотя искусственные нейронные сети и не являются «электронной моделью человеческого мозга», некоторые свойства «разума» они все же проявляют. В основном это «лень» и «хитрость». Причем одновременно. И это не последствия зарождающегося в паре сотен «нейронов» самосознания. Это последствия того, что за популистским термином «обучение» на самом деле кроется термин «оптимизация».

Нейросеть — не студент, который учится, пытаясь понять то, что мы ему втолковываем, по крайней мере на момент написания этой статьи. Нейросеть — это набор весов, значения которых надо подогнать или оптимизировать таким образом, чтобы свести к минимуму ошибку результата нейросети относительно эталонного результата.

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

Видите подвох? Нет? Да вот же он, на поверхности! В то время, как ваша цель заключается в обучении нейросети полезным, с вашей точки зрения, навыкам, ее цель — лишь сдать экзамен.


Любой ценой. Любыми средствами. Пожалуй, все же, с некоторыми студентами у нее больше общего, чем было заявлено двумя абзацами ранее…

Так как же сдать пресловутый экзамен?

Зазубрить


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

Но не учитывает тот факт, что количество нейронов и слоев увеличивает не только потенциал сети в области «абстрактного мышления», но и объем ее памяти. Особенно это касается рекуррентных сетей, ибо их объем памяти воистину чудовищен.

В итоге, в процессе оптимизации, окажется, что самым оптимальным вариантом сдачи экзамена является… обычная зубрежка или «переобученность», «overfitting». Сеть просто выучит все «правильные ответы» наизусть. Совершенно не понимая принципы, по которым они образуются. В итоге, при испытаниях сети на выборке данных, которую она никогда прежде не видела, сеть начинает нести чушь.

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

Хорошо. Учтем. Лишние слои выбросим. Архитектуру упростим. Всякие разные хитрые приемы внедрим. Теперь заработает? Не факт. Ведь номер два в списке легких вариантов сдачи экзамена:

Перехитрить препода


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

Когда вы видите графики с предсказаниями курса, идеально повторяющие реальный курс, задумайтесь, чему вы научили нейросеть? Сверхточно предсказывать цены? А может быть просто повторять их как попугайчик?

Будьте уверены, что сеть, которая имеет почти 100% точность на обучающей выборке и такую же на тестовой, просто повторяет все, что видит. Сети, у которых график предсказаний смещен на один шаг во времени вправо(примеры графиков 1 и 2), просто повторяют значение цены с прошлого шага, которое им передается в новый. Графики, конечно, выглядят очень обнадеживающе, и почти идеально совпадают, но предсказательной силы в них нет. Озвучить сегодня вчерашнюю цену вы в состоянии и самостоятельно, для этого не нужно учиться в Хогвартсе или полировать Палантир, не так ли?

Но это если подавать им значения с прошлого шага, сравнивая со значением шага текущего. Порой люди просто подают значение с текущего шага, сравнивая его с шагом следующим. В таком случае мы получаем красивые графики, совпадающие с оригинальными почти идеально (примеры графиков 3 и 4).

Иногда можно увидеть графики, совпадающие не идеально, более мягкие, как бы сглаженные, интерполированные. Это, обычно, явный признак работы рекуррентной сети, которая пытается увязывать новый результат с предыдущим (пример графика 3).

Общее у всех этих результатов только одно — нейросеть научилась сдавать экзамен на 5 с плюсом. Но она не научилась решать поставленную перед ней задачу тем способом, каким требовалось и не несет никакой практической пользы для исследователя. Совсем как студент, но уже со шпаргалкой, да?

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

Нейросети умеют отлично обобщать. Обобщение подобного рода — отличное решение поставленной задачи.

Увы, сколько ни крути гиперпараметры, будущее для нее не откроется. График не сместится на один шаг назад во времени. Да, Грааль так близко, но так далеко.


Стоп. Нет нет нет. А как же алгоритмическая торговля? Она же существует!


В точку. Конечно же она существует. Но ключевой момент в том, что это алгоритмическая торговля это не то же самое, что алгоритмическое прорицательство. Алгоритмическая торговля основана на том, что торговая система анализирует рынок в текущий момент времени, принимая решение об открытии и закрытии сделки, исходя из большого количества объективных параметров и косвенных признаков.

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

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

Но как это работает? Разве это не противоречит всему, что было сказано? А как же рябь на воде, как же нехватка данных? Как же Годзилла, в конце-концов!?

Но нет, тут нет противоречий. Покуда торговый бот работает на очень малых промежутках времени, действительно малых, от минуты до долей секунды, в зависимости от типа, ему не надо знать будущее и не надо иметь полное представление о рынке. Ему достаточно понимать, как работает система, находящаяся вокруг него. В каких обстоятельствах в ней лучше открывать сделку, в каких закрывать. Торговый бот работает на настолько малом масштабе, что его сфера обзора способна покрыть достаточное количество факторов для принятия успешного решения на приемлемо короткой дистанции. И знать для этого глобальное состояние системы ему совершенно не нужно.

Заключение


Статья получилась большая. Больше, чем я рассчитывал. Надеюсь, она будет для кого-то полезной и поможет сэкономить время тому, кто решил попытать счастье в поисках Святого Грааля Торговли.

Давайте выделим основные тезисы:

  1. У Годзиллы есть батут
  2. Надо понимать, как работает инструментарий, с которым вы решаете задачу
  3. Надо понимать границы применимости и адекватно оценивать решаемость задачи как таковую
  4. Важно уметь правильно интерпретировать результаты работы инструментария
  5. Нейросети — аппроксиматоры функций, а не предсказатели будущего
  6. $f(x)=x$ и $f(x_n)=x_{n-1}$ — это тоже функции
  7. Для моделирования состояния системы, нужно иметь полное или близкое к тому описание этой системы
  8. Статистика — лишь частичное, выборочное описание последствий работы системы
  9. Хорошая система прогнозирования должна быть в меру самодостаточна
  10. Нейросетям нельзя верить на слово, они коварны, хитры и ленивы
  11. Хотите, чтобы ИИ помогал в торговле? Учите его торговать

Спасибо всем, кто дочитал до конца!

P.S. Нет, это не статья про «фундаментальный анализ VS технический». Это статья про «чудес не бывает».

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (126):

  1. Daddy_Cool
    /#21283784 / -1

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

    • Fell-x27
      /#21283918

      1) Не хаотичен в полном смысле. В статье не просто так отдельное внимание уделяется понятию масштаба. На мелких масштабах, где процесс все еще можно назвать не марковским, его поведение более менее предсказуемо. Алгоритмическая торговля там работает вполне сносно. Но людям трудно торговать на таких уровнях, им нужны бОльшие отрезки времени. А на них прогнозирование уже ломается, да. Смысл статьи именно в том, чтобы описать причины такого расклада изнутри максимально детально. А иначе ценность таких заявлений будет не более, чем у «ИМХО».

      2) По этой причине в самом начале специально есть TL;DR с еще более коротким содержанием статьи.

      • janvarev
        /#21283950

        Можно вопрос — а у вас есть опыт того, что на мелких масштабах алгоритмическая торговля все-таки работает корректно? Потому что по моему опыту, там те же самые хаотические проблемы, что и на больших промежутках.

        • Fell-x27
          /#21284002 / +1

          Есть. В качестве хобби попиливаю бота, который учится именно торговать, а не предсказывать цены. Пока результаты радуют, хоть они и сугубо «лабораторные», на симулированной локально бирже, с учетом комиссий и все такое. Используются рекуррентные сети, обучение с подкреплением. Но тут больше именно академический интерес, по крайней мере на данном этапе.

          Беда в том, что покуда чем ниже интервал, тем выше точность, но, вместе с тем растет и объем данных и время обучения. Интервал М1 пока вполне работает как достаточный компромисс. На бОльших интервалах сеть перестает понимать, что происходит. На меньших — времени не напасешься.

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

          • addison-cochran
            /#21284468

            Имеется в виду, что биржа — окружение, а в ней нейронка торгует? Как вы рассчитываете награду? По типу смог / не смог совершить удачно сделку?
            Мне кажется, RL — самый нормальный вариант. К примеру, OpenAI учила компьютер играть в Dota 2, а в ней действия оппонента тоже могут быть хаотичными. Или я ошиюаюсь?

            • Fell-x27
              /#21284496

              Не биржа, а симуляция биржи на исторических данных. По кусочку сети подается новая пачка данных со всеми сопутствующими, включая цены, объемы, относительные движения, количество сделок, средневзвешенные цены, собственное состояние «агента». Это позволяет выжимать максимум скорости для обучения и проверять работоспособность в разных периодах, прежде чем запускать симуляцию на «долгосрок».

              Да, я тоже считаю RL — самое лучшее решение для данной задачи.

              Для расчета награды используется собственная методика, сводящая оценку сделки к аналитической задаче. Скажем так, зная состояние своего депо, свою среднюю цену, внешнюю цену и характер сделки, можно присвоить этой сделке объективную оценку, реально ее описывающую, а не просто «смог не смог».

              Можно конечно, просто использовать состояние баланса после сделки, но тогда скорость обучения будет стремиться к полному перебору состояний, а сети придется аппроксимировать «лишнюю» логику, которую вполне можно вынести на прикладной уровень.

              Плюс, оценка баланса работает только постфактум, а оценка сделки работает в реальном времени и позволяет оценивать заранее все доступные варианты, повышая эффективность обучения за итерацию внутри эпохи.

              • darthmaul
                /#21301316

                А что если «нарезать» историю по простому критерию: в каждой минуте ставим ордер и стоп лосс согласно стратегии (напр., на ордер на +1% и лосс на -0,95%) и смотрим, что сработает первым в пределах адекватного интервала (я не трейдер, это уже к финансовой стратегии вопрос как именно его определять). В итоге получим точки с «бычьим» и «медвежим» рынком. Историю перед точками сохраняем в учебный датасет. Задача нейронки — классификация минут на «бычьи» и «медвежьи» рынки. Таким образом мы избавим нейронку от хаоса, показывая ей только паттерны, которые она должна разделять (минуты, в которых нет чёткого тренда или же движение котировки не покрывает спрэд она не будет рассматривать). Как считаете, сработает?

                • Fell-x27
                  /#21301508

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


                  Избавление нейронки от хаоса — задача, с которой справляется сама нейронка в процессе обучения. Суть в том, что любые правки данных, кроме нормализации, это, по факту, порча данных. Лучше этого избегать.


                  Далее, по вашей схеме получается, что задача — определить, какой рынок был медвежьим/бычьим. Постфактум. Раскрасить имеющийся график на зеленые и красные фрагменты. Это сработает, но не будет иметь практической ценности для планирования сделок. Классификация — это всегда решение задачи постфактум. Умение описать "что ты видишь", а не "как думаешь, что можешь увидеть?"


                  Но, возможно, я не правильно понял вашу идею.

          • b0a
            /#21289500

            Попробуйте копать немного в другую сторону. Не нужно учить сеть торговать. Натренируйте ее по микроструктуре рынка определять его (рынка) состояние. Для стабильной прибыльной торговли в долгосроке более чем достаточно определить мы флете (запускаем ММ), агрессивном накоплении/распределении (запускаем трендовик) или состоянии «непонятно» (сидим на заборе).
            п.с. А вообще я считаю что попытки прилепить нейросети к торговле — это от лени. Не хочу разбираться как работает рынок, скормлю как я побольше данных нейросети, авось она разберется… Мои боты с задачей анализа микроструктуры рынка и без нейросетей вполне успешно справляются, после того как приходит понимание какие данные для аналииза имеют значение — их можно уже скармливать на вход МЛ и будет толк, да только когда есть понимание — достаточно простого количественного анализа или регрессии. Подавать на вход МЛ пустые ценовые ряды, да еще и в формате OHLC глупость не только потому что они не несут причинно-следственных связей, но и потому что это самое первое и банальное что приходит в голову каждому кто заинтересовался этим направлением. А значит если там что то и было то эту неэффективность уже нашли и устранили.

            • Fell-x27
              /#21289516

              Собственно, о том и статья. И нет, не от лени. От интереса. Было бы от лени, я бы не заморачивался с низкоуровневым API TensorFlow, анализом данных, подготовкой, написанием функций поддержки для оценивания происходящего. Грубо говоря, нейросеть как таковая в пет-проекте занимает процентов 30 от логики. Остальное — обычная прикладная математика.

              И да, обучение проводится под «надзором» системы, которая сводит торговлю к решению аналитической задачи, способной принимать решения вполне себе автономно без обучения как такового. Если отключить комиссионные сборы — она показывает чудеса на виражах.

              Задача нейросети в данном случае — аппроксимировать ее логику, но накапливать при этом опыт, который помогает преодолевать «локальные минимумы», в которых застревает «чистое решение», не учитывающее время.

    • nibb13
      /#21283944

      Как раз в статье объясняется что хаос предсказать можно (погоду, например) А суть, скорее, в том что хаос хаосу рознь. И некоторые из них предсказать тоже, вроде, можно, но бессмысленно. И уж точно не так, как это пытаются делать дилетанты.

  2. baldr
    /#21283906 / +1

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

  3. evgdc
    /#21284004

    Я сейчас на реальном рынке тестирую нейросеть которая на паре EURUSD предсказывает цвет следующей свечи M1. Предсказания с вероятностью более 70% бывают в 2% предсказаний, т.е. каждая 50я свеча. Я фильтрую эти предсказания, что дает около 20 предсказаний в сутки. На M5 тоже все работает. У автора не получилось поэтому так много слов. Совет автору: в крипте действительно хаос и истории маловато, начинайте с EURUSD.

    • Fell-x27
      /#21284016

      1) M1 — достаточный для работы интервал, на нем система действительно более менее предсказуема, я выше уже освещал этот момент.

      2) Предсказание цвета свечи — это как бинарные опционы? Просто зеленая/красная? Без величины движения?

      3) «Предсказания с вероятностью более 70% бывают в 2% предсказаний, т.е. каждая 50я свеча.» — а остальные? «Каждая 50я свеча» звучит не очень статистически значимо, если честно. В подобных разработках всегда следует проводить тестрирование в паре с агентом, действующим случайно. И сравнивать количество удачных сделок именно с ним. В случае бинарного опциона случайный агент будет выдавать, на теоретически долгой дистанции, примерно 50% правильных решений.

      • evgdc
        /#21284138

        1) недостаточный, спред не даст нормально торговать, предсказывать надо минимум 10 минут, а бинарные вообще не рассматириваются — это казино которое не платит.
        2) пока да, это первый шаг что бы понять, что это вообще работает.
        3) на каждой свече идет предсказание со значением от 1 до 70%, больше 70% в принципе не возможно (только люди могут обещать 100%). я фильтрую предсказания со значениями более 66%, т.е. ожидаю что в этом случае на 2 выигрыша будет один проигрыш, таких предсказаний 2% от всех и они работают.

        • Fell-x27
          /#21284250

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

          Чтобы нормально торговать, не надо предсказывать на 10 минут вперед. Надо адекватно реагировать на изменения в среде. Работа на М1 вовсе не означает, что система обязана совершать сделку каждую минуту. Это лишь интвервал обозрения событий. Сделка должна совершаться тогда, когда она будет максимально выгодна. С точки зрения системы.

          Если встает вопрос «а как оценить выгодность сделки, если я не знаю, выгоднее ее совершить или еще подождать в таких-то условиях», ответом будет уравнение Беллмана.

          То есть, как бы да, оно непосредственно связано с прогнозированием. Но прогнозированием не цены актива, а потенциальной выгоды от принятия конкретного решения в конкретном случае. И тут нет никаких заглядываний в будущее, тут чистая математика и «опыт» системы.

          • dimm_ddr
            /#21287040

            По вашему описанию мне кажется что вы обманули сами себя. С одной стороны у вас тоже есть система которая «почти работает». Она работает да, но в симуляции на исторических данных. И ваше:

            Но прогнозированием не цены актива, а потенциальной выгоды от принятия конкретного решения в конкретном случае. И тут нет никаких заглядываний в будущее, тут чистая математика и «опыт» системы.

            Это ведь то же самое прогнозирование на самом деле. Потому что выгода от сделки в текущий момент зависит от того каким будет будущее и никак иначе.
            И вы точно так же делаете ту же самую ошибку которую описываете в посте: вы тоже сравниваете систему с погодой. Да, в более локальном случае. Но суть то от этого не меняется, биржа — не погода. Она хоть на длительном промежутке, хоть на коротком все равно не зависит только от своих же данных. Отклонение будет меньше, при наличии реально предсказывающей системы накопление ошибок будет меньше — это правда. Но для этого нужна реально предсказывающая система которой нет.

            Насчет торговли на очень коротких дистанциях — насколько я понимаю здесь идет попытка сказать что-то подобное: «В системе настолько много параметров, что можно считать ее случайной», дальше говориться что при том что она случайная, различные исходы не равновероятны. Если это так, то, вычислив, хотя бы примерно вероятности исходов можно играть на более вероятных. Тогда, имея шанс больше 50% в итоге можно выйти в плюс. Это немного ломает то, что вероятность не зафиксирована и меняется со временем. И именно поэтому в списке форбс не заметно алгоритмических трейдеров — на длинной дистанции даже такая торговля не особо работает. (Или я ошибаюсь и там такие люди есть? Я возьму свои слова назад если это так)

            • Fell-x27
              /#21287176

              Это ведь то же самое прогнозирование на самом деле.

              Прогнозирование прогнозированию рознь. В статье идет речь и прогнозировании цены. А то, о чем спрашиваете вы — уже оценка правильности действия. Система с достаточным опытом, грубо говоря, оценивает, какова вероятность того, что, при таких-то объемах покупки, при таком-то отклонении цены, при такой-то средневзвешенной цене и тд, бездействие до следующего малого шага выгоднее, чем открытие/закрытие сделки с учетом состояния самого агента — баланса, среднезакупочной цены, пропорций инструментов.

              Это не прогнозирование цены, это система принятия решений, имеющая за плечами некий опыт и отслеживающая ситуацию во времени, а не только на момент принятия решения.

              Уравнение Беллмана не позволяет предсказать будущее. Но оно позволяет сформировать у агента опыт, учитывающий, что сиюминутное решение не всегда самое выгодное в таких-то условиях. Справедливости ради, для Q-Learning и нейросети-то не нужны. Но, в случае с торговлей, пространство решений будет слишком большое, чтобы описывать его Q-таблицей. Нейросеть здесь используется просто как хранилище-интерполятор, более подходящее для представления такой структуры.

              При этом, если на следующем шаге окажется, что система ошиблась, цена этой ошибки будет не так высока и система отреагирует соответствующе.

              Одна из методик обучения RL-систем, «e-greedy policy», связана как раз с тем, чтобы заставлять ее, поначалу, действовать хаотично, совершая ошибки и непоследовательные действия, чтобы как следует «прогреть» ее пространство решений, постепенно понижая процент случайных действий.

              • dimm_ddr
                /#21287388

                А то, о чем спрашиваете вы — уже оценка правильности действия.
                Которое включает в себя больше факторов чем просто цена. И даже включает собственно цену тоже. Ну то есть вы говорите что ваше прогнозирование, включающее предсказание, в том числе цены, более реально чем предсказание только цены. Вам не кажется что здесь есть некоторая проблема? И нет, вы не можете уйти от цены. Потому что выгодная сделка это сделка из которой вы получили выгоду. То есть получили разницу в цене в вашу пользу. Да, вам, в теории, можно предсказывать цену с несколько меньшей точностью, только на уровне больше/меньше текущей. Но это не сильно вам поможет потому что, как вы сами уже расписывали, цена в будущем не зависит только от цены в прошлом и всех факторов у вас по-прежнему нет. Более того, если вы решите добавить ограничители — например на случай если менее вероятный вариант что сделка окажется не выгодной не привел к слишком большому сливу потому что убыток будет слишком большим — вам придется еще больше уточнять предсказание цены.

                это система принятия решений, имеющая за плечами некий опыт и отслеживающая ситуацию во времени, а не только на момент принятия решения.
                Так и цену можно предсказывать во времени, а не только в момент принятия решения. Более того, опять же из вашего же поста — нейронки имеют очень неплохую память.
                При этом, если на следующем шаге окажется, что система ошиблась, цена этой ошибки будет не так высока и система отреагирует соответствующе.
                Ну, доказательств этого утверждения у вас нет нигде. Ни в комментариях, ни в посте. Уравнение Беллмана само по себе ничего такого не гарантирует.

                • Fell-x27
                  /#21287522

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

                  Вы используете знания как набор основных параметров и экстраполируете ситуацию, опираясь на личный опыт. И, анализируя варианты развития событий в текущий момент времени, принимаете решение, выбирая самый оптимальный сценарий с вашей точки зрения. Решение сложное. Включающее в себя не идти/стоять, а ускорения, замедления, вот эта машина точно тормозит, а та не факт — лучше чуть подождать, потом идти, и тд. Это возможно за счет того, что в каждый момент времени вы обновляете свое представление о ситуации, у вас меняется оценка оптимальности для ранее выбранных решений.

                  Это то, как работает система, обученная с подкреплением.

                  Вы же мне толкуете о том, что «невозможно, сидя дома на диване, предсказать, сколько машин пересекут пешеходный переход по такому-то адресу через неделю». Разумеется невозможно. Но оно и не нужно. Не смешивайте масштабы.

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

                  И еще раз — прогнозирование цен по графику, суть пустая затея. Прогнозирование поведения рынка на малом интервале — задача выполнимая. И цена тут не ключевой фактор, а вторичный. И не единственный параметр, а один из пары десятков.

                  Уравнение Беллмана само по себе ничего такого не гарантирует.

                  Оно решает проблему правильного накопления опыта системой. А опыт черпается в процессе обучения.

                  • dimm_ddr
                    /#21287688

                    Ваш мозг занимается этим в реальном времени каждый день, постоянно.
                    И это не значит что это не проблема. Мой мозг также постоянно в реальном времени парсит языковые конструкции. Часто — на нескольких языках. Покажете мне компьютер который умеет это делать с такой же эффективностью?

                    Вы же мне толкуете о том, что «невозможно, сидя дома на диване, предсказать, сколько машин пересекут пешеходный переход по такому-то адресу через неделю».
                    Вы опять в сторону уходите и я перестал понимать к каким именно моим словам ваш аргумент относится. Не могли бы вы в следующий раз отвечать на то, что я написал, а не на то, что вы подумали что я написал?

                    И цена тут не ключевой фактор, а вторичный. И не единственный параметр, а один из пары десятков.
                    Так я вам таки и написал что в вашем варианте цена не единственный параметр. Вот только я не понимаю почему у вас получается что из того что это не единственный параметр, то вам внезапно становится проще чем когда этот параметр единственный. Вам в обоих случаях нужно его предсказывать. Но в вашем варианте вам нужно предсказывать еще и другие параметры. Прямое следствие — ваш вариант сложнее чем предсказание только цены. Вы же говорите что ваш вариант реален, а вариант только с ценой — нет. Но это принципиально невозможно просто потому что ваш вариант включает предсказание цены, которые вы считаете нереальным. Я не знаю как мне еще написать чтобы вы наконец заметили слона в вашем рассуждении.

                    • Fell-x27
                      /#21287756

                      А я не знаю, как еще объяснить, что система принятия решений это не то же, что система, выдающая цены и сроки.

                      Мой мозг также постоянно в реальном времени парсит языковые конструкции. Часто — на нескольких языках.
                      Ваш мозг много чего делает лучше. Это не значит, что это является аргументом в данном случае. Расскажите Ли Седолю о том, что ваш мозг лучше парсит языковые конструкции, чем нейросеть, из-за которой он бросил, в итоге, спорт.

                      Не могли бы вы в следующий раз отвечать на то, что я написал, а не на то, что вы подумали что я написал?
                      Вероятно, я хуже парсю языковые конструкции :) К сожалению, я могу оперировать лишь тем, что подумал, что вы написали, а не тем, что было у вас в голове, когда вы это делали. Я лишь интерпретатор. Сожалею, если результат расходится с ожидаемым.

                      Но это принципиально невозможно просто потому что ваш вариант включает предсказание цены, которые вы считаете нереальным.

                      Но как это противоречит хоть чему бы то ни было? Например тому, что на разных масштабах одна и та же система имеет разный уровень прогнозируемости? Для систем, основанных на принятии решений, чем меньше временной отрезок, тем лучше.

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

                      Разница еще и в том, что, в первом случае, требуется глубокое понимание процесса, какая-никакая подготовка и много много работы. Это сложно. Это отталкивает.

                      А вот во втором случае требуется просто скопипастить 10 строк кода из интернета и ждать. Это легко. Это привлекает.

                      В первом случае формируется поведенческая модель, ориентирующаяся в нестабильной среде.

                      Во втором случае формируется либо попугайчик, если методики обучения и контроля качества были нарушены, либо низкокачественный генератор псевдослучайных чисел.

                      • dimm_ddr
                        /#21288066

                        А я не знаю, как еще объяснить, что система принятия решений это не то же, что система, выдающая цены и сроки.
                        Ну то есть вы хотите сказать что ваша система принятия решений не учитывает возможную будущую цену? И как вы тогда в принципе оцениваете решения? Да и вообще делаете какую бы то ни было оценку?
                        Ваш мозг много чего делает лучше. Это не значит, что это является аргументом в данном случае.
                        Конечно же значит. Если есть проблема которую мой мозг решает хорошо, а компьютер не справляется, то ваш аргумент требует дополнительных доказательств. Просто сказать что:
                        Экстраполяция событий, лежащих во времени близко к текущему моменту не проблема. Ваш мозг занимается этим в реальном времени каждый день, постоянно.
                        Недостаточно. Так что вполне себе аргумент.

                        Но как это противоречит хоть чему бы то ни было?
                        Элементарно. Ваш вариант включает в себя предсказание цены. Прямо или, что еще хуже (читай сложнее), косвенно. Если вы считаете что цену предсказать не получится потому что недостаточно данных, то это напрямую противоречит возможности вашего варианта. Тому что вы пишете дальше это утверждение конечно не противоречит. Но я этого и не заявлял. Я говорю что вам нужно уже определиться: либо предсказать цену возможно, пусть и только на коротких промежутках. Либо ваш вариант не рабочий тем более. Третье возможно, но только в одном случае: ваше определение «хорошести» и ваша цель никак не включают в себя цену. Правда я так и не смог придумать какую же еще цель вы можете в таком случае преследовать.

                        • Fell-x27
                          /#21288188

                          предсказать цену возможно, пусть и только на коротких промежутках.

                          Не цену, а поведение рынка в целом, согласно которому принимается решение о дальнейших действиях. И это было освещено в тексте статьи.

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

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

                          То же касательно точки входа.

                          В этом и прелесть решения — оно не имитирует экстрасенсорику. Оно аппроксимирует довольно простые и очевидные паттерны.

                          Ну не стоит перед сетью задача угадывания цен. Есть задача поиска точки входа/выхода. Основываясь на своем опыте. Есть задача оценки момента. Но нет задачи установки «целей».

                          Быть может стоит указать отдельно, что в моей схеме в принципе отсутствуют ордеры — торговля идет строго по рынку. Быть может это вас смущает? Понимание торговли как задачу выставления ордеров, которая подразумевает предполагание цены? Тут это отсутствует.

                          Рисуется логичный вопрос — а зачем это все, если это так просто и это может делать человек? Затем, что человек устанет смотреть в минутник в первые же минут 10, потеряет концентрацию и объективность еще минут через 10. А еще люди любят интерпретировать графики в свою пользу. И вообще ненадежны и плохо работают с циферками в реальном времени. А еще спят.

                          В том и выгода бота — он делает простые вещи, но не имеет ограничений биологии.

                          • dimm_ddr
                            /#21290646

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

                            • Fell-x27
                              /#21290832

                              Вы мне пытаетесь доказать, что на высокой частоте дискретизации состояния непрерывной системы она становится предсказуемой достаточно, чтобы этим можно было воспользоваться?

                              Ну так это было прямо сказано в тексте статьи. И не один раз.

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

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

                              Ключевой момент в том, что и агент сам — часть системы. Если бота сходу запустить, он, какое-то время, будет наблюдать, прежде, чем принять решение. Ему нужно время, чтобы «войти» в ситуацию. Чтобы «понять», что происходит.

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

                              Разумеется, экстраполяция личного опыта — это попытка предугадывания состояния системы. Но есть разница. На выходе у такой системы — массив вариантов действий, где каждому из них присвоена потенциальная ценность. Из которых следует выбирать. То, на основании чего сеть распределила эти ценности, остается на ее совести и личном понимании системы. Может быть в такой ситуации есть вероятность роста цены, заметьте, это не то же самое, что «ожидаемый уровень — столько-то баксов», возможно, цена и не сдвинется, но есть рост объемов, что, в перспективе, позволяет оставаться в позиции и ждать развязки. А, может быть, дело в том, что в текущее время суток на рынке преобладают более/менее спокойные тенденции.

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

                              Для торговли на малых промежутках этого достаточно. Для планирования инвестиций в долгосрок — нет. Торговать на малом промежутке человеку сложно. Машине — норм.

                              И да, это, пусть и не так детально, но есть в тексте статьи. Я не понимаю, о чем спор и чего вы от меня хотите. Признать что на малых дистанциях прогнозирование возможно? Разумеется, возможно. Но для долгосрочного планирования оно не сработает. Спрогнозировать вероятный исход сделки на следующую минуту — вполне реально. Набрать 1440 таких прогнозов, опирающихся на самих себя и получить результат на сутки вперед — нельзя. Такой ответ достаточен?

                              • dimm_ddr
                                /#21292120

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

                                Ключевой момент в том, что и агент сам — часть системы. Если бота сходу запустить, он, какое-то время, будет наблюдать, прежде, чем принять решение. Ему нужно время, чтобы «войти» в ситуацию. Чтобы «понять», что происходит.
                                Еще раз. Ваш бот который «понимает» сложнее чем сеточка которая предсказывает цену. Более того, он, прямо или косвенно, содержит точно такое же предсказание цены. Может быть менее точное, но оно в нем есть. При этом вы говорите что цену предсказать невозможно, недостаточно данных, но вот принять решение основываясь в том числе и на ожидании цены с определенными параметрами — возможно.
                                Первое проще и включено во второе. Если вы говорите что первое сделать нельзя, то из этого однозначно следует что второе тоже сделать нельзя, точка. Не надо мне еще раз расписывать какой умный у вас бот, как много он понимает и какие еще крутые слова вы о нем знаете. Есть простой факт: вы одновременно утверждаете что что-то сделать нельзя и при этом заявляете что ваш вариант который включает в себя это невозможное как раз работает.

                                Так откуда вы взяли данные которых у вас не было в случае с предсказанием цены чтобы ваш бот научился понимать и выдавать заметно более сложное решение?

                                • Fell-x27
                                  /#21292270

                                  Есть простой факт: вы одновременно утверждаете что что-то сделать нельзя и при этом заявляете что ваш вариант который включает в себя это невозможное как раз работает.

                                  Я не понимаю, почему вы задаете вопрос, ответ на который был дан в нескольких вариантах, с объяснением, почему и как это работает.

                                  Я просто процитирую сам себя:
                                  Чем выше частота дискретизации, тем выше точность понимания состояния системы, ведь, в эту секунду, значимость локальных факторов, влияющих на нее, и, при этом, легко обозримых, выше, чем глобальных, которые не обозримы. Но и ценность этих данных сиюминутна. Именно по этому оно работает. Да, это пронозирование, но автономность этих предсказаний очень низкая и они не имеют абсолютного выражения.

                                  Для торговли на малых промежутках этого достаточно. Для планирования инвестиций в долгосрок — нет. Торговать на малом промежутке человеку сложно. Машине — норм.

                                  И да, это, пусть и не так детально, но есть в тексте статьи. Я не понимаю, о чем спор и чего вы от меня хотите. Признать что на малых дистанциях прогнозирование возможно? Разумеется, возможно. Но для долгосрочного планирования оно не сработает.

                                  Спрогнозировать вероятный исход сделки на следующую минуту — вполне реально. Набрать 1440 таких прогнозов, опирающихся на самих себя и получить результат на сутки вперед — нельзя.

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

            • 0xd34df00d
              /#21289672

              Список Форбс — это, конечно, аргумент, но HFT-трейдеры рядом со мной получали сильно больше бонусов с процента прибыли, чем я суммарно получал зарплаты за программирование, а зарплата у меня была хорошая.

              • Fell-x27
                /#21290238

                А HFT к предсказанию цен на месяц вперед отношения не имеет, на то она и хай фрекьюнси, про это сказано отдельно. Алгоритмическая торговля вполне работает. Алгоритмическое прорицание — нет.

                И кормление сетей свечами с надеждой на чудо к HFT никак не относится, о том же и речь в материале.

  4. kanow
    /#21284094

    Полуоффтопик: а есть ли сведения, в какой нише и какими методами зарабатывает СталинГулаг? Вот уж он явно успешен, давно, деанонизирован и до сих пор занимается этим… и не только этим…
    Можно ли хоть как-то использовать его опыт?

    • Fell-x27
      /#21284104

      Наверное, лучше спросить у него самого :)
      Я с Александром не знаком лично и знаю о нем ровно то, что он сам о себе распространил публично, а это, увы, информация из ангажированного источника.

      • kanow
        /#21284148

        Я согласен с Вами полностью, но я наивно надеялся что паттерны других участников могут быть наблюдаемы со стороны — и из них можно делать предположения.
        Спасибо за ответ.

  5. Dubovik_a
    /#21284392

    Считаю, что не раскрыто несколько важнейших моментов:
    1. Рынок является саморегулирующейся системой. Сам факт возможности качественного прогноза меняет рынок так, что предсказание становится невозможным.
    2. Рынок является игрой с нулевым результатом. Те деньги, которые Вы вынесете из рынка, кто-то в этом же рынке потеряет.
    3. При входе в рынок даже за копеечной прибылью, Вы ставите на карту примерно весь капитал. В ходе тысячи сделок можете удвоиться, а потом в одной сделке потерять всё. Количество сделок в данном случае вряд ли способно сигнализировать о положительности/отрицательности матожидания.

    Первые два пункта носят принципиальный характер и малозаметны для мелкого игрока.
    Третий пункт — про выбор краткосрочной торговой стратегии.

    • Fell-x27
      /#21284462

      Вы правы. Если бы в 10 строчек на Keras можно было создать прогнозирующий инструмент с достаточной эффективностью, в итоге появилась бы «очередь для тех, кому без очереди» и консервов бы на всех не хватило. Но это уже несколько за рамками статьи.

      Насчет пункта 3 — он решается блокировкой торгового депо. Грубо говоря, оно не должно превышать условную «1000 долларов», или другую сумму, которую трейдер готов себе простить. Все, что снимается выше — в кубышку. А кто жадина и хочет сложных процентов, тот будет сам виноват. Ну и потерять все одной сделкой — задача довольно сложная, тем более на малых таймфреймах. Должен случиться какой-то запредельной мощности коллапс, чтобы такое случилось.

      Тот же Биткоин падал с пика в 20к долларов не в одночасье. И, в относительном выражении, он падал не сразу на 300%, а потихоньку. Удар был максимален как раз по тем, кто работал на сутках или неделях. Как раз на малых сроках такие вещи можно выдерживать более-менее комфортно.

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

      • Dubovik_a
        /#21284566

        Должен случиться какой-то запредельной мощности коллапс

        В том-то и фокус, что коллапсы случаются. На незрелых рынках крипты — чаще. На взрослых рынках — реже, но всё равно случаются.
        За примерами далеко ходить не надо:
        — «чёрный четверг» (15 января 2015 года ) — курс швейцарского франка взлетел на 30%. До этого швейцарский франк считался самой стабильной валютой и использовался в том числе для всех международных расчетов на железных дорогах;
        — «чёрный понедельник» (19 октября 1987 года) — индекс Доу-Джонса провалился на 22.6%. Некоторые биржи в других странах (Австралия, Гонконг) потеряли в тот день более 40%;
        — 19 июня 2011 курс биткоина на MtGox проваливался с 17$ до 1 цента.

        Расскажете, как от такого защищаться при горизонте прогнозирования в доли или единицы процента?

        Ну и потерять все одной сделкой — задача довольно сложная

        Именно так и теряют. Иногда не одной сделкой, а двумя-тремя.

        Человек чаще оптимизирует не матожидание (что вообще вряд ли возможно для нестационарных систем), а вероятность выигрыша.

        • Fell-x27
          /#21284640

          За примерами далеко ходить не надо

          Так о том и текст!
          Прогнозирующая система безусловно сломает ногу о такой сценарий. А человек, ставящий на нее, потеряет деньги. В этом отличие прогнозирующей системы от торговой. Машина, умеющая торговать, в идеале, распознает резкое падение и выйдет из позиции раньше человека, сведя убыток к минимуму.

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

          • Dubovik_a
            /#21284656

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

            — слишком пугливый алгоритм часто будет срабатывать ложно;
            — ликвидность может исчезать с молниеносной скоростью. В условиях крипторынков это могут быть десятки процентов за тик. Крыться может быть просто не об кого;
            — могут быть лаги API, который ничего не принимает в течение десятков секунд, а иногда и десятков минут. Ну а на истории ничего этого, конечно же, не видно.

            • Fell-x27
              /#21284730

              Тем интереснее исследования :)

              1) Пугливость, как и жадность, мы отдаем на откуп RL и Беллману.
              2) Ликвидность в 2020 году не беда, пока есть тот же Binance. Разумеется, площадкой для работы должна быть крупная биржа, а какая-нибудь Exmo, где на парах, отличных от USD/BTC и USD/ETH, в свое время, народ локально влиял на курс на несколько процентов, попутно простреливая себе ногу, просто зачерпнув из стакана на пару тысяч зелени.
              3) Про лаги, кстати, отличная мысль. Надо бы и их имитировать, пожалуй. Трудности — это же хорошо.

              • dimm_ddr
                /#21287070

                1) Пугливость, как и жадность, мы отдаем на откуп RL и Беллману.
                Как вы натренируете пугливость когда у вас нет коллапса в близких к текущим данных? Уникальные случаи они на то и уникальны, что их мало. А значит на них не получится обучиться. Ну то есть конечно получится — на уже произошедших. Но это никак не застрахует вас от того что случится в будущем.
                Вроде бы не совсем в тему, но именно об этом цитата, которую приписывают Черчиллю:
                Генералы всегда готовятся к прошлой войне

                Суть в том, что опыта будущего кризиса ни у кого нет и, следовательно, к нему намного труднее подготовиться. Это возможно, но это именно что нужно научиться предсказывать будущее. В каких-то областях у нас есть для этого данные и вычислительные мощности, в каких-то — нет.

                • Fell-x27
                  /#21287200

                  Ну то есть конечно получится — на уже произошедших. Но это никак не застрахует вас от того что случится в будущем.

                  На уровне низком, сиюминутном, все эти коллапсы выглядят одинаково. Достаточно, чтобы система научилась с ними ладить.

                  Как вы натренируете пугливость когда у вас нет коллапса в близких к текущим данных?

                  Ну… касательно крипторынка, коллапсов было несколько, от относительно мягких, до таких, что классическим биржам и не снилось. Материала, на текущий момент, очень много. Хорошего, разного. Тут можно не переживать.

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

                  На низком уровне нет никаких кризисов и буллранов. Есть движение вверх или вниз, у движения есть скорость. На низком уровне система имеет самую настоящую инерцию, это тоже может быть использовано.

                  Отвлеченный пример — какая разница, с какой скоростью к нашей галактике летит Андромеда, если это никак не влияет на мой распорядок дня? Вы говорите о глобальном масштабе, а я — о локальном. В тексте статьи это было освещено отдельно — на разных уровнях одна и та же система может из стохастической превратиться в детерминистическую.

                  • dimm_ddr
                    /#21287404

                    На уровне низком, сиюминутном, все эти коллапсы выглядят одинаково. Достаточно, чтобы система научилась с ними ладить.
                    Ну да, можно сказать что на сиюминутном уровне все выглядит одинаково — цена либо растет, либо снижается, либо неизменна. Вот только вам же нужно знать что произойдет в следующий момент, иначе какой смысл? А в следующий момент в зависимости от того начался ли коллапс или нет произойдут разные вещи. Так что вы либо правы, но тогда ваш уровень абстракции не дает вам абсолютно ничего, либо не правы, выбирайте.
                    Материала, на текущий момент, очень много. Хорошего, разного. Тут можно не переживать.
                    У вас есть хоть одна причина чтобы быть уверенным в том что это именно так? В том, что будущие коллапсы совпадут по параметрам хотя бы с одним из уже произошедших?
                    Отвлеченный пример
                    Ваш отвлеченный пример слишком отвлеченный. В обсуждаемой ситуации кризис влияет на параметры системы.

          • Gourry_aka_pm
            /#21285556

            В случае с алгоритмической торговлей, довольно высока вероятность получить классический самоподдерживающийся bank run, на котором сильно влетят люди, а меньше всего потеряют алгоритмические боты с наименьшим временем реакции (которые возможно его и спровоцировали)?

            • Fell-x27
              /#21286296

              Не думаю. На тех же криптобиржах, даже мелких, ботов пруд-пруди, но все работает без перекосов. Думаю, тут играет роль некая форма «естественного отбора» — у дурных ботов-паникеров биржа естественным образом отбирает деньги, выбивая их(и их владельцев), с рынка.

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

              Что же до классических бирж, то там объемы такие, что bank run-ы из-за ботов маловеротны. Хотя Вики говорит, что высокочастотные торговые системы подозревались в манипулятивном влиянии на рынок. Однако, под запрет не попали.

        • Ndochp
          /#21284672

          Как можно продолбать всё, если первое правило банкролла — не рискуй больше чем 2%.
          Оно конечно, когда лениво перекладывать центы, то хочется сказать «2% в газпроме и 2% в Эппле это 2% риска, а не 4» но это самонадувательство.

          • Dubovik_a
            /#21284686 / +1

            Рынки — это не совсем математика.
            И есть конкретный набор обстоятельств, при которых Вы не сможете закрыться с ожидаемым размером убытка:
            — крупный лот;
            — низколиквидный инструмент (может в момент входа он таким и не был);
            — банкротство криптобиржи/форекс-ДЦ;
            — на криптобиржах любая короткая сделка имеет неограниченный размер убытка.

            Хоть с роботом, хоть без.
            И это не теория. Это всё — практика.

            • Ndochp
              /#21284744

              Грубо говоря, ваш риск это не уровень стоплоса, а полная стоимость сделки. (Для кухонного форекса сделка это полная сумма на счете)
              Да, некоторые сделки имеют неограниченный размер убытка. Не стоит в них лезть, если вы не придумали как его ограничить (в пределе — открыли для них счет на имя тещи)

              Как влияет крупный лот я не понял — если вам не хватает денег, чтобы открыть позицию — не открываете. Поэтому я не связываюсь с TRNFP.

              • Dubovik_a
                /#21284782 / +1

                Грубо говоря, ваш риск это не уровень стоплоса, а полная стоимость сделки.

                При такой формулировке Вы с балансом в лям не сможете зарабатывать на оплату электричества для ноутбука.

                Как влияет крупный лот я не понял

                Вероятно, потому, что Вы не работали крупным лотом.
                При котором основная проблема — найти, об кого открыться или закрыться.
                Из недавних вопиющих примеров — потери Poloniex из-за Clam.

            • DonStron
              /#21284928

              а в чём проблема минимизировать эти «обстоятельства». Чем не устраивает нормальная биржа (MOEX или NYSE)? Зачем лезть на кухонный форекс или непонятные криптобиржы (или вообще в крипту)? Там что, доходы легче извлекаются? Нет же, сложно всё, как везде, при этом косяков и рисков гораздо больше.
              Чем людей так привлекает никем не регулируемый дикий рынок крипты? Просто из-за хайпа? Чего на нормальных биржах не торгуется?

              • Dubovik_a
                /#21284986

                А Вы сами на NYSE пробовали пролезть? Например, будучи резидентом РФ без рабочей визы США?
                А что, взрослые биржи не трясёт? Может это не юридические лица, которые могут уйти в банкротство? Может события масштаба дефолта 1998 года не в состоянии их повалить? Может в разгар ипотечного кризиса 2008 года в США не банкротились банки с наивысшими кредитными рейтингами? Может где-то продают гарантии от таких событий?

                Вообще — чем взрослее рынок, тем сложнее в нём зарабатывать.
                Так что — да, рынок крипты довольно молод == довольно неэффективен == в нём можно заработать == довольно привлекателен.
                Подобное наблюдалось на заре рынка опционов. По рассказам, ставшим на сегодня легендами, тогда за год профессиональные участники рынка могли сделать x10.

                • DonStron
                  /#21285976

                  А Вы сами на NYSE пробовали пролезть? Например, будучи резидентом РФ без рабочей визы США?

                  А какие сложности то? Есть несколько нормальных брокеров, например IB, которые работают с гражданами РФ. Одну дополнительную бумажку нужно будет заполнить (чтобы избежать двойного налогообложения), чуть сложнее заводить средства, так как перевод в другую страну.

                  Но да, если нет минимум $2500, а лучше $10000, то никак. «Пролезать» с мелкими депозитиками можно только через какие-нибудь проп-конторы, но это уже, согласитесь, лудоманство. Мы же про нормальную торговлю, надеюсь, говорим, а не про 100 долларовые счета?

                  Насчет бОльшего количества неэффективносетй на «молодом» диком рынке крипты — соглашусь. Но сами же приводите пример далее, что на таких рынках профессиональные участники могут делать x10. Именно за счет дикости, манипуляций (рынок не регулируется), капиталов и т.д. Простой физик со 100 баксами вряд-ли что-то поднимет.

  6. pamef
    /#21284780

    Наивный вопрос: слишком многие секреты либо утекают, либо даже «переоткрываются» — последнее было с изобретением какого-то метода шифрования, из которого сделали РGP, но военные изобрели на несколько лет раньше, а слвав досталась гражданскому, который «опоздал» не намного.
    Сам вопрос: если бы метод успешной торговли существовал, то не пора ли ему проявиться? Однако до сих пор лишь несколько сверхуспешных брокеров сели за использование инсайда, а все остальные успехи — у сверхбогатых, которые богатеют еще и потому, что богатые: они могут себе позволить такие методы и такие вполне известные и несекретные инструменты, которые дают выигрыш за счет денежного преимущества.
    Очевидные вещи, что пока еще не все брокеры с инсайдом посажены, рассматривать неинтересно.

    • Fell-x27
      /#21284810

      А кто сказал, что они не проявляются? Отсутствие гайдов и инструкций, куда нажимать, чтобы стать успешным трейдером? Ну так это не та область, где такое работает. Как стать успешным биатлонистом? Прочитать инструкции с методикой бега на лыжах и правильной стрельбы с повышенным, после бега, пульсом? Нет, это не поможет. Надо тренироваться, учиться, посвящать этому львиную долю своей жизни. Так и тут. Если человек торгует по 15-20 минут в день после работы, то и КПД будет соответствующий.

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

      И что есть успех? В вашей личной оценке что является успехом? В моей вот средний 1% суточных на долгой дистанции — это успех успехович успехов. А это, при текущей волатильности рынка, в общем, легко достижимо, если уметь. Разумеется, это не сравнится с прибылями инсайдеров, но мы ведь о честной торговле говорим?

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

      • pamef
        /#21284922

        А кто сказал, что они не проявляются?
        это мое впечатление, про правильность которого я и спрашиваю:
        Надо тренироваться, учиться, посвящать этому львиную долю своей жизни.
        мой вопрос иными словами: есть ли публичные АКА распиаренные примеры успешной честной торговли? Про успешных биатлонистов и илонов масков все мы наслышаны, а вот как тут дела с известными брокерами-одиночками?
        это игра с нулевой суммой (на самом деле с отрицательной, ибо комиссии)
        вот и это тоже важно: либо все «в среднем» остаются в минусе, и только получатели комиссий в плюсе, либо единицы «случайно» богатеют, а дальше как богатым, им дополнительно открываются доп.инструменты (писал выше)
        Разумеется, это не сравнится с прибылями инсайдеров, но мы ведь о честной торговле говорим?
        вот и это тоже важно, часть вторая: разумно ли верить в успех без инсайда? Даже убойный сериал «Миллиарды» постоянно рассказывает об инсайдах как основе такого бизнеса. Да, это сделано в художественных целях, но меня и интересует мнение бывалых «на трезвянку».
        Потому что никто пока не возразил против бородатого баяна: «самое сложное — объяснить происхождение первого миллиона...». Т.е. нужно любым методом вырваться вперед и разбогатеть, а уж потом можно становится и честным, и пушистым. Примерно как те, кто в свое время торговал кассетами на Горбушке — точнее крышевал и организовывал, теперь рьяно рвут свои тельняшки за соблюдение прав, которые сами же и нарушали в своей бурной молодости.

        • Fell-x27
          /#21285038

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

          И вряд ли там все поголовно инсайдеры. Регуляторы бдят.

          • pamef
            /#21285144

            списка успешных брокеров-одиночек у меня нет.
            спасибо, тогда я продолжу: во что же тогда верить, если непонятен сам механизм? Точнее, декларируется хаос и отсутствие этого самого механизма.
            Ведь есть и обратный известный пример: высокочастотная торговля.
            В нее верить легко, потому что даже неискушенному «понятно», откуда и у кого берутся честные преимущества. Хотя это снова про очень большие деньги, потому что упомянутые преимущества ст0ят просто дофига, и одиночке-немиллиардеру они не по карману. А если не одиночка или есть свободные деньги, то снова что-то не видно очередей на подключение супер-пупер-каналов к биржам. Видать, при таких деньжищах есть более выгодные варианты с тем же или даже меньшим риском.
            Т.е. я правильно понимаю, что ни чудес, ни методов без инсайдов не существует, все же?

            • Fell-x27
              /#21285180

              Чудес вот почти точно не существует. Методы без инсайда, думаю, существуют. Почему нет? Вряд ли бы рынок тогда существовал. Но скажу сразу — я не проф.трейдер, не сижу сутками в обнимку с графиками и тройным кофе, не зависаю в трейдерских сообществах и тд, а по ночам я так вовсе… сплю. По этому мне сложно отвечать на вопросы, связанные с миром, которому я не принадлежу. Слишком уж мала моя осведомленность.

              Насчет очредей на подключение супер каналов к биржам — я тоже не уверен. Из моего окна их не видно, но так и окна мои выходят не на лондонский Сити. Может и есть очереди. Гугление показывает, что скорее есть, чем нет. Но с этим тоже не ко мне.

              У меня есть область и объект для исследований и свой фан в получении удовольствия от процесса и улучшения результатов. И крайне умеренные амбиции, не включающие в себя удвоение суммы депо за 3 дня, покупку на идеальном дне и слив на идеальном верхе и прочие утопические мечты.

              Вот про ИИ и, в частности, нейросети, я готов говорить часами.

              • dimm_ddr
                /#21287098

                Почему нет? Вряд ли бы рынок тогда существовал.
                Рулетка и лотереи же существуют. Есть те, кто зарабатывают на тех кто теряет, это да. Но они вложили в это большие деньги. Есть те, кому везет — тоже правда. Наверняка даже есть единицы гениев, которые целенаправленно разработали алгоритм, который на относительно коротком промежутке дал им возможность заработать без больших рисков, точно так же как есть люди, которые смогли обмануть казино. Но вот то, что есть много людей которые просто честно зарабатывают на биржах, не имея при этом доступа к крайне дорогим инструментам — очень сомнительный тезис.

                • Fell-x27
                  /#21287206

                  Резонно. Но рынок с казино я бы не сравнивал, хотя, иногда, похоже.

            • uldashev
              /#21288328 / +1

              Вмешаюсь в обсуждение, такой метод существует — надо включать голову, у меня коллега торговал на московской бирже, стабильно и не напрягаясь имел 30% дохода в год, покупал к примеру акции крупных компаний, подходила для них пора отчитываться и подавать декларации (ну кто же из русских будет сознаваться что он облажался, все крупные компании рапортуют о росте доходов) стоимость акций растет, можно продавать, потом разберутся в чем дело, акции понизятся — можно снова покупать. Или например на акциях nvidia, криптовалюты на хайпе, нейросети наше все, умные люди без хитрых алгоритмов за пару лет 300% сделали.

  7. UsaninM
    /#21284842

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

    • divisor
      /#21284954

      Так и есть. Любой робот, нейро-не нейро, торгует отлично, если ему задать правильное глобальное движение рынка в интересуемом таймфрейме. Но если вы более-менее знаете правильное движение — зачем вам робот? Играйте в долгую. Кроме того, это не сделает вам coredump в самый неподходящий момент.

      • Fell-x27
        /#21284988

        Как это зачем нам робот? А кто же будет торговать, когда мы будем спать?!!!
        Ну а еще исследование и проектирование таких штук — это весело. Специфичное такое, но, тем не менее, веселье.

        • divisor
          /#21285036

          А если уметь роботов продавать — то и совсем хорошо. Можно даже с тем же эффектом продавать «print(random.choice(['buy', 'sell', 'hold']))», а GPU загрузить для солидности чем-то безвредным. Александр Иванович Корейко бы сделал в наше время на этом еще миллиард-другой.

          • Fell-x27
            /#21285054

            Оооо, этих роботов в интернете пруд пруди. Рандомные агенты, к слову, торгуют, в среднем, может даже получше среднестатистического трейдера-любителя, особенно если тренд хороший. Полная иллюзия всамделишного интеллекта. А GPU занять для солидности — дык все давно придумано. Бесплатные боты со скрытыми майнерами на борту — обычное дело.

            Вчера только натыкался на сайт, где со 100% результатом 100% гарантированно гарантируют 100% гарантий результативных результатов, ты, главное, поставь себе их бота, предложение ограничено, осталось 20 мест, и вообще, это жест доброй воли, потому что основатель — филантроп и ему не жалко, а завтра видос удалят, ссылки закроют и сайт уберут, потому что это только для избранных счастливчиков, не упусти шанс! Такие забавные.

        • Dubovik_a
          /#21285048

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

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

          • Fell-x27
            /#21285084

            Насчет черного ящика это сильное преувеличение. Она черный ящик, когда первый раз собираешь MNIST-решалку по гайдам. Когда сам делаешь что-то сложное, попутно разрабатываешь методики тестирования, чтобы анализировать работу, выявлять проблемы, аномалии. Плюс, в хорошей системе бОльшая часть логики вынесена с уровня нейронки на уровень вспомогательного «классического» ПО. Чем меньше задач возложено на саму нейронку, тем она прозрачнее и открытее. Главное, понимать, что происходит. И уметь понимать саму сеть, которую пилишь.

            В совокупности это делает сеть вполне себе если не белым, то «серым ящиком». Без сюрпризов.
            Вокруг них слишком много спекуляций как в позитивную, так и в негативные стороны. А истина посередине.

            По остальным пунктам — ну опять же, тестирование, нормальное железо, в идеале сервер. Сети очень дорого обучать, но вот чтобы просто получить ответ на входящие данные уже на обученной сети — тут много ресурсов не нужно.

            Зловредный участник рынка — ну это дело такое, он всегда может случиться. Ну и, опять же, это на Эксме ботов видно за километр. А на том же Бинансе уже не все так очевидно. И, в любом случае, тут уж ни робот, ни человек не застрахованы.

            • Dubovik_a
              /#21285156

              в хорошей системе бОльшая часть логики вынесена с уровня нейронки на уровень вспомогательного «классического» ПО

              Чем меньше задач возложено на саму нейронку, тем она прозрачнее и открытее

              Вполне себе подтверждение мой фразы про черный ящик с возможными сюрпризами.
              И по-честному должно читаться как «чем меньше задач возложено на нейронку, тем ПРОГРАММА прозрачнее и открытее (читай предсказуемее)».
              Тестирование и всякое такое? Но, как утверждает Алиса: «Выход всегда есть — в окно». Так ведь задумали разработчики?

              тут уж ни робот, ни человек не застрахованы

              Они просто по-разному отрабатывают нештатные ситуации.

              • Fell-x27
                /#21285206

                Но, как утверждает Алиса: «Выход всегда есть — в окно».

                Терпеть не могу Алису на каком-то вот субъективно-подсознательном уровне.
                И по-честному должно читаться как «чем меньше задач возложено на нейронку, тем ПРОГРАММА прозрачнее и открытее (читай предсказуемее)».

                Не совсем. В моем случае это лишь вспомогательное ПО для обучения сети. RL — штука специфичная. Но вообще, разумеется, в общем случае речь идет о программном комплексе. И я не вижу в этом ничего плохого.

                Каждая часть комплекса должна решать свою часть проблемы. Нейронка должна решать ту часть проблемы, решение которой с помощью других методов обходится дороже. Не более того.

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

                Они просто по-разному отрабатывают нештатные ситуации.

                В том и состоит задача RL — позволить системе научиться отрабатывать различные сценарии максимально эффективно.

    • playerro
      /#21287148

      А инвестирование проще торговли?

      • UsaninM
        /#21287568

        Нет не проще, это просто по другому, свои риски свои подходы, свои ожидания…

  8. divisor
    /#21284940 / +1

    Как человек с дипломом именно по ИИ, читал и плакал. От счастья, что кто-то наконец это разжевал людям, далеким от предмета.

    Насчёт анализа биржевой торговли — так и есть. Более-менее работают системы (т.е. выдают не 50 на 50, а хотя бы 60 на 40), которые учитывают не только котировки, а и объемы, и главное — содержимое стакана, т.е. еще неисполненные ордера. А содержимое стакана — либо тайна, либо продаётся за отдельные немалые деньги, либо это биржа с мелкими объемами, вроде вебмани эксченджера (которая естественно не является маркет-мейкером и просто плывет со своим стаканом по течению).

    Но подключив к торговле аналитика с головой, можно получить те же 60 на 40 на обычной фундаменталке, если не лучше. Можно конечно обучить и нейросеть читать новости, но всё что она сделает — будет быстрее человека реагировать на уже свершившиеся события, а не предсказывать новые.

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

    • Fell-x27
      /#21284972

      С фундаменталкой тоже сложно. У меня личке, вот, уже тоже поднимался вопрос по исследованию именно касательно фундаментальных факторов. И даже с результатами. И с полем для маневров. Очень интересно. Но ниша сложная, имхо.

      Новости, как таковые, идут с лагом, рынок приходит в движение раньше, чем мы их получаем.

      Плюс, новости нельзя однозначно трактовать.

      Вот новость с яркой позитивной окраской: «В ядре такой-то монеты исправили баг, который 5 лет никто не замечал». Как на нее отреагирует рынок? Истолкует как то, что монета стала лучше? Или как повод насторожиться, ведь кто знает сколько еще там таких багов осталось?

      Плюс новости создают «информационную инерцию» если каждый день нахваливать какой-то проект, нахваливания потеряют силу. Все будет восприниматься как должное. И тут уже проблемой будет не наличие позитивных новостей, а просто долгое отсутствие хоть каких-то. В то время как позитивные вообще не будут ничего толкать вперед.

      Плюс новости работают на контрасте друг с другом. Скажем, новость, что «проект А ввел фичу», смотрится гораздо ярче, если попутно есть новость «проект Б не смог ввести такую же фичу».

      Как по мне, эта нора, в разрезе машинного обучения, изрядно глубока и сложна.

      • divisor
        /#21284984

        Новости на самом деле вообще ни о чем. Это, знаете, как имея опыт за плечами, отвечать на детские вопросы анкеты регулятора «если Центробанк поднимет ставку — валюта вырастет или упадет?» В жизни она может пойти вниз («мы хотели больше, а поднял мало»), или не пойти никуда («мы так и думали, уже закупились»), но вздыхая, ставишь «правильный» ответ что конечно пойдет вверх.

        Идеально кроме новостей еще залезть в голову к каждому. Вот тогда будет работать.

        • Fell-x27
          /#21285004

          Идеально кроме новостей еще залезть в голову к каждому. Вот тогда будет работать.

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

          • divisor
            /#21285024

            А он никогда не будет достижим. Если на рынке все будут знать про всех — это уже не рынок, а игра в дурака на щелбаны. Ни один маркет-мейкер не даст другому маркет-мейкеру посмотреть в свои карты.

          • lomm
            /#21286422

            Есть такая бородатая биржевая байка:)
            «У меня для вас две таблетки новости — плохая и хорошая.
            Плохая — будущую цену предсказать невозможно.
            Хорошая — для того, чтобы зарабатывать, это и не нужно.»

    • aleks_raiden
      /#21288342

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

      Наверное, главное, что отличает криптовый рынок от фондового/etc. — максимальная информативность (а если затронем DEX, то иногда почти полная прозрачность).

      • divisor
        /#21288356

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

        • aleks_raiden
          /#21288420

          Простите, не понял вашего комментария. Я о том, что подобной доступности и прозрачности нет ни на одном другом рынке финансовых инструментов за всю его историю.

          • divisor
            /#21288434

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

            В результате прозрачность крипторынка нивелируется непрозрачностью всего остального.

            • aleks_raiden
              /#21288466

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

    • tumikosha
      /#21289880

      обучить и нейросеть читать новости, но всё что она сделает — будет быстрее человека реагировать на уже свершившиеся события,

      Новости подвозят после движения.
      Вы можете наоборот предсказвать появление новости по росту обема торгов (инсайдеры заходят)
      Если хотите реагировать до движения, то нужно просто смотреть на возрастание обьема торгов.

  9. eugene08
    /#21285316

    > торговый бот работает на очень малых промежутках времени, действительно малых, от минуты до долей секунды
    а такое возможно на крипторынке — стабильно делать 2 сделки (покупка и потом продажа) менее чем за минуту, и при этом заработать чтобы хотябы покрыть комиссии?

    • Fell-x27
      /#21286312

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

    • aleks_raiden
      /#21288350

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

      • Fell-x27
        /#21288422

        Биржи/рынки без комиссий это интересно. Это многое упрощает. Не поделитесь?

        • aleks_raiden
          /#21288450 / +1

          Для примера: www.coinspeaker.com/blade-zero-fee-perpetuals (не спот, правда, но, думаю в контексте это не имеет решающего значения).

          На Stex бывают безкоммисионные периоды.

          digitexfutures.com — декларируют (еще в тесте, но скорее всего сдержат).

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

          • Fell-x27
            /#21288510

            Однако. Спасибо вам большое в карму!

            Это не просто интересно, это прям даже немножко огого.
            Интересно, какая модель монетизации у этих площадок. Сборы на ввод/вывод?

            • aleks_raiden
              /#21288542

              Листинг, ввод/вывод, просто использование этого как маркетингового инструмента — не все пришли, чтобы хапнуть и за полгода закрыться :)

            • aleks_raiden
              /#21288546 / +1

              Взаимно ) Вообще мы давно занимаемся рыночными данными криптовыми, а сейчас плотно по деривативам. Так что если что, велкам в личку, если что интересно или как-то посотрудничать придумаем :)

  10. paluke
    /#21285644

    Любая спекулятивная торговля — это перераспределение денег от одних участников к другим. Все выигрывать не могут, игра с нулевой суммой, чтобы кто-то выиграл, кто-то другой должен проиграть. Поэтому ни одна опубликованная стратегия не может быть выигрышной — если она общеизвестна, то абсолютно все могут ей пользоваться и выигрывать, что не возможно.
    Это не значит, что вообще не может быть выигрышных стратегий — можно найти способ отнимать деньги у тех, кто совершает ошибки. Но он будет работать, только пока о нем никому другому не рассказывать. Как только вы его опубликуете, он перестанет работать — конкуренты отберут всю прибыль.

    • Celsius
      /#21285800

      Самый простой и дорогой способ — манипулировать рынком, вбрасывать новости, останавливать/запускать майнинг-фермы. Какому-нибудь правительству условного Китая это вполне доступно, если там найдутся достаточно сообразительные люди.

    • Fell-x27
      /#21286318

      Одна из причин, почему реально работающие высокочастотные системы и просто хорошие торговые боты не выложены публично, а хранятся за семью печатями в компаниях, которые используют их и/или предоставляют as service для клиентов.

      А то, что выложено публично, либо не работает, либо proof-of-concept, работающий, но в теории и с кучей условностей, либо откровенный скам.

  11. Celsius
    /#21285740

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

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

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

    • Fell-x27
      /#21286354

      Даже совсем глупый разработчик не будет предсказывать хаотическую систему на основе предыдущих состояний.

      Вы будете удивлены. Интереса ради кликнул сразу на десятую страницу выдачи — и там все то же самое. Как сказал Паниковский: «Пилите, Шура, пилите! Они золотые!».

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

      Да, многократно подход. Но с ним, увы, все не так радужно. Подводных камней много.

    • playerro
      /#21287282

      Поэтому большая часть чувствительных данных либо закрыта, либо недоступна для парсинга

  12. Femistoklov
    /#21285744

    Я как-то задавал вопрос на Тостере qna.habr.com/q/426614, ничего толкового так и не ответили.

    • Fell-x27
      /#21286394

      Прогнозирование временного ряда возможно, если временной ряд предоставляет достаточно полное описание системы. Достаточно полное — то, из которого можно аппроксимировать логику ее поведения и изменений.

      Статистика цен на бирже к таковым рядам не относится. А вот динамика изменения погоды — вполне.

  13. sale201210
    /#21286094

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

    Интересно, не было ли попыток автоматизации сбора этих данных, их оцифровки для поиска корреляции с курсом акций.

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

    • Fell-x27
      /#21286408

      Попытки использования машины для анализа фундаментальных факторов были и есть, но там много сложностей и подводных камней.

  14. Crimento
    /#21286134

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

    Строить биржевые прогнозы с помощью нейросетей это всё равно, что вести автомобиль, используя только зеркало заднего вида.

  15. smartpunter
    /#21286974

    Восхитительная годнота.
    А вы уже занялись разработкой торгового модуля на сверхкоротких временных интервалах?

    • dimm_ddr
      /#21287120

      Автор уже занялся, это предпоследняя часть. Но выглядит забавно, по описанию от автора в комменатриях выглядит так, что автор собственно сам попал в половину им же описанных ранее ловушек.

      • Fell-x27
        /#21287228

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

        Это разные вещи.

        • lomm
          /#21287368

          На самом деле, более высокая вероятность прогнозирования изменений цен на коротких промежутках времени не имеет никакого практического значения без привязки к возможности получения дохода, а тут уже требуется некая минимальная ценовая амплитуда. Впрочем, это уже тема «скальперского стакана» и т.п. подходов (и связанных с ними проблем).
          Тема-то в статье рассматривается, в принципе, интересная, но хотелось бы услышать об особенностях и отличиях нейросетей от других инструментов ТА и, соответственно, применении их с учётом этих нюансов.
          А так, сказанное в статье про нейросети применимо, практически, ко всем инструментам аппроксимации/усреднения, используемым трейдерами. Аналогичные картинки можно получить, применив банальные Moving Averages с разными периодами и методами сглаживания.

        • dimm_ddr
          /#21287450

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

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

          Так почему же вы считаете что есть магическиий временной промежуток на котором внезапно все становится хорошо?

          • Fell-x27
            /#21287620

            Мне сложно с вами беседовать сразу в двух ветках :)

            Я выше отписался о процессе перехода дороги. А теперь представьте, что решения, описанные в ответе, принимаются с лагом в несколько секунд. Насколько успевает измениться за это время ситуация/система? Это вот и есть падение качества принятия решений. Одна и та же система, то есть вы, человек, с одним и тем же опытом и багажом знаний о переходах и машинах на дороге, будет выдавать совершенно разные по уровню полезности решения на разных временных интервалах!

            Или как пример, игры типа slither.io — когда сеть тупит и вы начинаете бороться с лагами, в итоге, помирая, хотя, в иных условиях, могли бы без проблем выйти победителем из ситуации. Агент, то бишь вы, не менялись. Среда не менялась. Поменялся временной отрезок, на котором агент отслеживает изменения среды. Вот он низкий — и вы на коне. Вот он вырос всего до 1-2 секунд и ваши решения, наблюдения и экстраполяция состояния среды не стоят ничего. Ну, в первые 2-3 секунды, может чего-то и стоят, но потом ошибка прогнозирования накапливается такая, что вы в принципе перестаете понимать, что происходит.

            Ключевой фактор в том, что прогнозирование прогнозированию рознь. На мелких интервалах не стоит задача прогнозирования цены. Стоит задача анализа общего движения рынка и «настроения» игроков здесь и сейчас. Так как игроки работают на интервале выше М1, он может считаться достаточно «реалтаймовым» для данного случая.

    • Fell-x27
      /#21287236

      Как хобби и академического интереса(по крайней мере пока) ради, да.

  16. GarretThief
    /#21287398 / +1

    Статья, которые хочется видеть на хабре. Понятная, интересно написанная, с мемами и Годзиллой, на интересную тему, жалко было, что закончилась.

  17. tumikosha
    /#21287628

    Основной проблемой рынка является его неидеальность. На идеальном рынке действует много мелких держателей. В реальности же нет.
    Когда насекомых много, то фиббоначи(прости господи) работает. А когда в стакане 5 ботов и один лох… Взять, например, торговую пару рубль/доллар, может создаться впечатление, что там много мелких держателей и рынок идеальный. Однако есть центробанки к-е манипулируют курсом против спекулянтов и оказывается, что вы торгуете против одного суперигрока.
    Тотже фокус с вами проделывает Форекс.
    Так что сначала определитесь, каеой именно процесс вы прогнозируете. А потом уже решайте детерминированный или стохастический и т.д.

    • Fell-x27
      /#21287682

      А когда в стакане 5 ботов и один лох…

      Тогда явно пора уходить с Exmo на Binance. Да простят меня разработчики первой, я знаю, они стараются и биржа уже не та, что прежде, но вот вчера, после упоминания ее в коментах, зашел поглядеть на ликвидность, а там все так же глухо.

      • aleks_raiden
        /#21288418

        Вот простите, но что вы так взьелись против ЕХМО?
        Учитывая, что по ликвидности она на 30-м месте (по CMC by Liquidity, и учитывая, что в мире уже более тысячи площадок).

        Да, там, как и везде, есть низколиквидные пары, например, Paytomat/EOS, но так и на бинансе есть. И 20+ рынков с ликвидностью 100+К — а я уверен, что ни у кого из участников треда, включая вас, депозита сравнимого с этим, нет.

        • Fell-x27
          /#21288476

          Субъективность, будь она неладна. Против самой площадки я ничего не имею. Но, помню, когда-то пробовал с ней работать и были проблемы на парах вроде ADA\BTC. Вот прямо сейчас зашел:


          Ну это никуда не годится же. И это не экзотика какая. И да, я знаю несколько человек, у которых депозит больше в 2-3 раза, чем суммарное количество ADA в торгах на бирже в эту секунду. По этому стакану прокатиться — локально цену поменяешь на бирже. Благо, есть бот, который и сверху и снизу «ловит», он не даст провалиться сильно глубоко. Но и размер его ордеров, в общем-то, не серьезный.

          Учитывая, что по ликвидности она на 30-м месте (по CMC by Liquidity, и учитывая, что в мире уже более тысячи площадок).

          CMC — так себе источник, если честно. А тот факт, что биржи сами рапортуют о ликвидности, делает его вдвойне менее доверенным источником. Потому что все лгут(с).

          • aleks_raiden
            /#21288536

            Так я ж и уточнил, не выбирайте необычные пары ) Учитывая, что актив ADA вообще не сильно популярен в рунете — и среди рунетовских площадок ЕХМО самая ликвидная пока (даже Houbi Russia по этой паре намного хуже) — точно так же на мексиканской бирже даже если там будет пара ADA/RUB к примеру, она не будет в топе ликвидности.

            Пассаж про СМС вообще недостоверный — я сравнивал не по репортед, а по аджастед. Но предложите другой источник со сравнимым охватом и прозрачной методологией, не вопрос. Messari? BitAverage? etc.

            • Fell-x27
              /#21288580

              Учитывая, что актив ADA вообще не сильно популярен в рунете

              Будучи официальным амбассадором Cardano я искренне грущу от таких слов.

              Но что насчет ETC? Он вроде популярен.
              Но ордеры все равно грустные до некуда

              • aleks_raiden
                /#21288602

                Ну так 100К глубина и для меня гуд )))) Вопрос здесь в % от вашего депозита :) Чем больше у вас средств — тем на другие площадки вы идете :)

                P.S. ETC также не самое популярное. Вот смотрю на BTC/UAH — 10M в гривнах, для меня очень жирно :) BTC/USD на 1.5М USD — жирно :)

      • tumikosha
        /#21289564

        На бинансе ликвидность настолько маленькая, что стремно заходить в сделку больше чем на 500$. Соответственно, и выгода от такой сделки копеечная.
        Но я не об этом. Трейдинг — это не столько про статистику, сколько про психологию. `Теория автобуса` и вот это вот все. А психологию нейросетке пока еще доверить нельзя. Крипторынке был прекрасен своей чистотой от ботов и автоматизации. Там была чистая психология, прекрасно отрабатывали фигуры и т.д. Но чем дальше, тем больше ботов и тем грязнее рынок. Пичалька

        • Fell-x27
          /#21289572

          На бинансе ликвидность настолько маленькая, что стремно заходить в сделку больше чем на 500$.

          Можно пример пары, на которой вы торгуете, которая на бинансе не держит >500 долларов? Только честно, а не суперэкзотика к суперэкзотике, где в принципе не торги а так, для галочки.

          Это не придирка, мне правда интересно.

  18. lomm
    /#21288902

    Fell-x27 Вот про ИИ и, в частности, нейросети, я готов говорить часами.

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

    • Fell-x27
      /#21289386

      К сожалению, подобным анализом я не занимался, так что мне тоже было бы интересно об этом услышать :)

      А какие конкретно аппроксиматоры вы имеете ввиду? Я бы мог изучить этот вопрос на досуге более подробно.

      • lomm
        /#21289456

        «Вон оно чё, Михалыч...» :) А я-то думал, что Вы выбрали нейросети для анализа рынка и выявления паттернов осмысленно осознанно, с учётом их особенностей и каких-либо преимуществ перед стандартными инструментами ТА.

        А какие конкретно аппроксиматоры вы имеете ввиду?

        Ну, Moving Average, например. Скользящие средние (МА) являются своего рода низкочастотным фильтром, отсекающим мелкие флуктуации, «белый шум», и выделяющим «основное» движение.
        SMA = (Close+ Close[1]+ Close[2]+…+ Close[n] )/ n = ? (Close[i])/n

        • Fell-x27
          /#21289496

          Moving Average

          А, ну так это интерполятор, а не аппроксиматор. Это уже функция. Если речь идет про интерполяторы и осцилляторы, то это, в основном, своего рода «костыли» для того, чтобы человеку было легче ориентироваться в происходящем как раз на средних и долгих дистанциях, где человек себя чувствует достаточно уверенно.

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

          Суть в том, что на долгой дистанции «основное движение» определяется лишь соотношением малых подъемов к малым падениям. Это на отдалении оно выглядит как большое движение. А на дистанции малой — график это сплошное почти плоское движение «вбок» с малыми колебаниями вверх-вниз, вверх-вниз.

          Нейросети же не являются интерполяторами или осцилляторами. Это аппроксиматоры — совсем другой зверь. Причем аппроксиматоры универсальные. Способные воспроизводить «логику» любого из инструментов ТА, если их этому научить.

          Но мое исследование не включает в себя сравнение ТА-инструментария и выделения лучшего\худшего. Более того, к самому ТА как к концепции я настроен несколько скептически, как можно понять из статьи. Но, возможно, просто потому, что не потратил на него достаточно времени. Сейчас от трейдинга я далек, а ИИ — это увлекательное хобби.

          Плюс, для торговой системы выбор пал на нейросети именно по причине их гибкости в плане методик обучения и самого факта обучаемости как такового. MACD и иже с ним ничему научить нельзя. Это совсем другого типа инструменты.

  19. eresik
    /#21297460

    удалено