Ivan FXS
Ivan FXS личный блог
28 февраля 2019, 10:28

Аквариум с торговыми ботами

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

Кто-нибудь делал такое? Кто-нибудь готов такое обсуждать?
111 Комментариев
  • Sergey Pavlov
    28 февраля 2019, 10:36
    Звучит красиво, но.....
    1. На рынке будут успешны те боты, которые будут удачно прогнозировать рынок и действовать в соответствии с этим прогнозом.
    2. Чтобы из модельного мира удачные боты стали успешными в рынке, придется сделать модель рынка.

    А всё проще… надо понять, какой рынок (какие закономерности в нем сохраняются) и под этот рынок делать ботов. Зачем при этом городить огород из искусственного мира? Хотя звучит красиво…
    • Sergey Pavlov
      28 февраля 2019, 10:49
      Ivan FXS, в том-то и дело, что это очень нетривиальная задача. Поэтому стоит ли «уходить» от этой задачи и заниматься неким искусственным миром, который либо потребует решения именно этой нетривиальной задачи, либо вообще уведет в ложную и вредную сторону?
    • SergeyEgorov
      28 февраля 2019, 19:56
      Ivan FXS, а у вас простите какой опыт программирования?
        • SergeyEgorov
          28 февраля 2019, 20:44
          Ivan FXS, праздное любопытство. Интересно как вы планируете реализовать этакую идею.
            • SergeyEgorov
              01 марта 2019, 08:24
              Ivan FXS, «специфическими средствами» — это какими? Неужто на Erlang программируете?
                • SergeyEgorov
                  01 марта 2019, 10:23
                  Ivan FXS, про VBA ничего не знаю. Python вполне подходящий инструмент. С одной стороны OOP, с другой стороны динамическая типизация. Норм. Можно мутить аквариум с ботами.
    • Replikant_mih
      28 февраля 2019, 12:42
      Ivan FXS, Насколько я знаю, она не только сама с собой, но в основном сама с собой, т.е. на вход ей живые партии тоже, вроде, давали.
      • _sk_
        28 февраля 2019, 12:51
        Replikant_mih, в первой версии Alpha Go было так. Вторая версия Alpha Zero получила на вход только правила и научилась играть ещё лучше. А это всё из-за того, что из правил игры логически вытекает стратегия игры. Для рынка это не так.
        • Replikant_mih
          28 февраля 2019, 13:05
          _sk_, Ну, по факту на рынке тоже правила. Только по этим правилам действует большое кол-во разнообразных участников и у каждого свои стратегии, тактики — я говорю о разделении на институциональных, частных с мелкими деньгами, какие-нить скальперы и т.д., они вступают в причудливые взаимодействия и каждый из участников реагирует на изменения обстановки, вернее не участник, а группа. Т.е. конкретные форму зависят не только от правил. Т.е. да, системе надо давать на вход не только правила, но и текущее положение вещей. Да система сама на основе только правил игры может прийти к вариативности форм, но в момент запуска на рынок она должна знать «а как там прям щас», ну или быстро должна это понять, после запуска.
          • _sk_
            28 февраля 2019, 13:17
            Ivan FXS, насчёт «единственно верная». Бывает, что имеется несколько разных стратегий, но они равноценны в смысле математического ожидания преимущества над соперником.

            Насчёт того, что «вытекла алгоритмически». Согласен, что это более подходящий термин.

            В нейросетевых технологиях есть некоторые нюансы, но можно считать, что та стратегия, которую обнаруживает Alpha Zero, является почти что наилучшей (не сильно отличается по математическому ожиданию от оптимума) в рамках своей абстракции и, скорее всего, почти наилучшей вообще.
              • _sk_
                28 февраля 2019, 13:43
                Ivan FXS, про это я не в курсе. В хорошей интересной игре, по идее, не должно быть явного преимущества от того, кто делает какой ход. Возможно, при очень детальном анализе выяснится, что преимущество, всё-таки, есть.
  • SergeyJu
    28 февраля 2019, 11:12
    Про эту идею применительно к рынку я слышу лет 20 примерно. Думаю, что принципиальное отличие рынка от го в том, что рынок — не парная игра в стационарных условиях. Поэтому модель парных или групповых поединков впрямую не годится. Для её состоятельности нужно иметь полноценную модель функционирования рынков. Чего нет и не предвидится.
      • SergeyJu
        28 февраля 2019, 11:40
        Ivan FXS, об успехах не слышал. 
      • _sk_
        28 февраля 2019, 13:46
        Ivan FXS, думаю, что если играть только в биржевой стакан при условии дискретного времени, то получится ситуация, похожая на камень-ножницы-бумагу: можно выигрывать только зная, какие стратегии у оппонентов, а эти стратегии меняются, так что побеждает тот, кто адаптируется быстрее и правильнее.
  • ves2010
    28 февраля 2019, 11:38
    комп не потянет… т.к варианты множатся по экспоненте... 
    есть только один вариант — сначала научиться самому торговать, а потом обучить ботов 
    • Replikant_mih
      28 февраля 2019, 12:44
      ves2010, Ага, биржа и есть такой аквариум из трейдеров))) — трейдеры приходят и уходят (например, разоряются), эволюционирует, все разные, кто-то эволюционирует быстрее, кто-то медленней, кто-то мутирует не туда)) и т.д.
      • ves2010
        28 февраля 2019, 12:46
        Replikant_mih, надо осознать всю эту вычислительную мощь!!! у каждого трейдера промеж ушей 14ярдов нейронов… и тут какой то занюханный комп будет пытаться делать тоже самое
        • Replikant_mih
          28 февраля 2019, 12:48
          ves2010, Ну это же моделирование, модели могут быть более или менее сложными. Если у тебя 100 ботов живет — это одно, если миллион — другое и т.д.
  • _sk_
    28 февраля 2019, 12:11
    Я интересовался такой темой. Существует много вариантов сосуществования разных стратегий в таком аквариуме.

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

    Если интересует некое объяснение, можно почитать перевод статьи Б.Артура про ограниченную рациональность
    ecsocman.hse.ru/data/426/981/1231/journal1.3-6.pdf
    Текст не длинный.
  • MS
    28 февраля 2019, 12:27
    Всё очень быстро закончится тем, что цена упрётся во что-то вверху или внизу. И новых сделок не будет.
    Неустойчивая система описана.
      • MS
        28 февраля 2019, 12:53
        Ivan FXS, затык может быть в любом месте, в котором не будет ни у одного робота выполненного условия для входа/выхода. Это несложно представить.
        Неустойчива именно поэтому, а также потому, что нет механизма вернуть систему к активному состоянию.
        Выше об этом же написали, предлагая маркет-мейкера и неограниченные лимиты у него.
        Или на реальной бирже дураки это всё придумали?
          • MS
            28 февраля 2019, 13:51
            Кстати, постепенно они, видимо, разорятся и вымрут.

            Вот и пришли к ответу на первый абзац.

            Ситуация придёт к изначальной, когда не на что реагировать.
              • MS
                28 февраля 2019, 14:03
                Ivan FXS, вот ты и постиг реально происходящее на ММВБ.
                  • MS
                    28 февраля 2019, 14:23
                    Ivan FXS, ответ: на бесконечности — никакие. Всё зависит от характеристик реализуемого случайного процесса. 1000 лет они могут быть одни, а потом стать другими. Например, напрочь исчезнуть тренды.
  • Reznor
    28 февраля 2019, 12:31
    В такой модели должны присутствовать боты «куклы» с неограниченным объемом ликвидности, которые должны случайным (или не случайным) образом драйвить цену, чтобы вызывать срабатывание сигналов всех остальных ботов, иначе цена будет просто стоять на месте.
    Также должен быть бот — маркетмейкер также с неограниченной ликвидностью, который будет заполнять стакан своими заявками, создавая ликвидность для других и пытаться извлечь профит из спреда.
      • Reznor
        28 февраля 2019, 13:11
        Ivan FXS, с какого перепугу они будут покупать/продавать по рынку, если цена в начальных условиях будет стоять на месте.  Кто то сначала должен двинуть цену, чтобы вызвать поток покупок/продаж по рынку. И этот поток должен быть постоянным, иначе как только он прекратится, всё опять встанет колом.
      • Reznor
        28 февраля 2019, 13:17
        Ivan FXS, такая модель будет очень быстро затухать сама по себе.
          • Reznor
            28 февраля 2019, 14:38
            Ivan FXS, при достаточном количестве ботов, торгующих от фонаря (N раз за время T к примеру) и при этом соответственно двигающих цену также от фонаря, модель затухать не будет. Но тогда это будет по сути то же самое, что и один алгоритм с неограниченной ликвидностью, торгующий так же от фонаря ))
  • VladMih
    28 февраля 2019, 12:32
    Осторожно!
    Потом может захотеться и самому переселиться в этот мир! )
    Эээтот мииир, построенный нааамии © 
  • MS
    28 февраля 2019, 12:32
    Ну, а гораздо интересней создать экономическую модель планеты и посмотреть её развитие. Как из-за этого преобразуются строи и «политика».
    • Friendly Deep Space
      28 февраля 2019, 13:23
      MS, возможно наша планета и есть нечто такое)
      • MS
        28 февраля 2019, 13:32
        Friendly Deep Space, а люди — биороботы. Зная прошивку конкретного, на 90% можно предсказывать его поведение как в повседневности, так и в экстремальных ситуациях. Не превышен порог по какой-либо характеристике — одна преобладающая реакция, при превышении — другая.
        • Friendly Deep Space
          28 февраля 2019, 13:57
          MS, почему сразу биороботы? Обычные млекопитающие)
          • MS
            28 февраля 2019, 14:03
            Friendly Deep Space, но прошивка то имеется? Различные типы психики виды же невооружённым глазом? А откуда они?
            • Friendly Deep Space
              28 февраля 2019, 14:13
              MS, формируются в процессе адаптации к окружающей среде.
              • MS
                28 февраля 2019, 14:15
                Friendly Deep Space, ?
                У конкретного биоробота все характеристики психики врождённые и не меняются на протяжении жизни.
                ------
                и почему именно такой спектр типов, а не другие какие-нибудь.
                • Friendly Deep Space
                  28 февраля 2019, 14:23
                  MS, почему биороботы? Речь же про симуляцию планеты, а экономика это плод человеческой деятельности, а не биороботов с врожденным единственным набором логики.
  • Replikant_mih
    28 февраля 2019, 12:32

    Нравятся мне такие идеи — смелые, раскованные! Когда кто-то говорит, что строит стратегии на индикаторах, автоматически зевок происходит. А раскованные идеи — это круто!

     

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

     

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

     

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

      • Replikant_mih
        28 февраля 2019, 13:10
        Ivan FXS, Ну, если для вас имеющихся рыночных данных не достаточно, то да, как кто-то писал выше — вы столкнётесь с недостатком вычислительных мощностей))).
    • SergeyJu
      28 февраля 2019, 13:05
      Replikant_mih, рынок — хвост экономики. А трейдеры — вши на хвосте. Если крупные. А мелкие — микробы во вшах. Нельзя моделировать вшей не имея модели самой экономики. А её нет и не предвидится пока. 
      Максимум, что можно, имхо, модель быстрых движений в стакане. Но это пусть ХФТ копает. Да они и копают, только молча.
      • Reznor
        28 февраля 2019, 13:26
        SergeyJu, 
        Максимум, что можно, имхо, модель быстрых движений в стакане. Но это пусть ХФТ копает. Да они и копают, только молча.

        Копать то они копают, только совсем в другую сторону имхо )
        • SergeyJu
          28 февраля 2019, 13:29
          Reznor, боюсь, что сразу в несколько сторон.
        • SergeyJu
          28 февраля 2019, 13:34
          Ivan FXS, инсайдеры здесь — лямблии. Экономика — это спрос и предложение, это демография, это новые месторождения и новые технологии, это климат и болезни. Это войны и санкции, это мода. Это вся жизнь человечества в движении активов. Все существенные (не флэшкраши) движения рынка направляются событиями вне рынка. Неужели это еще нужно разжевывать? 
            • SergeyJu
              28 февраля 2019, 14:13
              Ivan FXS, хотите Вы того или нет, экономика первична, рынок вторичен. 
                • SergeyJu
                  28 февраля 2019, 14:22
                  Ivan FXS, нет, как причина и следствие. Холодная зима приводит к росту цены на газ. Неурожай кофе… понимаете? 
                  Про посадку Ходорковского или Великую депрессию Вы наверняка тоже слышали. 

                    • SergeyJu
                      28 февраля 2019, 16:12
                      Ivan FXS, пожалуйста, любой каприз за Ваши деньги.
                      Вы на форуме РТС или Хаутутрейде не писали раньше? 
                        • SergeyJu
                          28 февраля 2019, 16:45
                          Ivan FXS, ник был почти такой же?
                            • SergeyJu
                              28 февраля 2019, 17:19
                                • SergeyJu
                                  28 февраля 2019, 17:52
                                  Ivan FXS, да, просто напомнил о присутствии. Я не помню, где и когда были танцы с бубнами вокруг, например,  минорити гейм. Наверное, намного раньше. Тема моделирования участников рынка роботами или соревнования роботов меж собой проскакивает время от времени. Но как-то без продолжения. Мне не кажется это перспективным. 
          • Friendly Deep Space
            28 февраля 2019, 14:00
            SergeyJu, у вас интересные примеры, необычные, микробы во вшах, лямблии) Биологического образования нет?)
            • SergeyJu
              28 февраля 2019, 14:11
              Friendly Deep Space, нет
  • _sk_
    28 февраля 2019, 13:53
    О, нашёл вот такие ссылки на информацию, которая, возможно, будет по теме. Сам давно смотрел эти видео, не очень уже помню детали.
    lowrisk.ru/portfolio/aleksey-afanassievsky/
    lowrisk.ru/infobios_part1/
    lowrisk.ru/infobios_part2/
  • Kapeks
    28 февраля 2019, 14:25
    Шикарная идея, бро! В духе рассказов С.Лема.
    Предвижу гигантские проблемы с мутацией алгоритмов. Как это сделать? Но общий подход великолепен. Респект!
  • Turbo Pascal
    28 февраля 2019, 15:16
    А интересная мысль. Отмечу себе, построю как-нить на досуге модель.
  • civilizator
    28 февраля 2019, 15:28
    А корованы там можно будет грабить?
  • Kit Kat
    28 февраля 2019, 15:29
    класс. ещё чёрных лебедей и мани менеджмент туда



     
  • Логарифм Интегралыч
    28 февраля 2019, 15:49
    когда много систем возникает лотерея:

    угадай систему
  • Mike
    28 февраля 2019, 16:17
    Если мутации оставить в покое, то вполне реализуемо. Для создания ботов можно использовать тот же TsLab, что бы это было доступно каждому. Составил свою схему и отправил её на «биржу» — сервер где все присланные схемы периодически запускаются. Так же ручную торговлю можно добавить, отправлять ордера текстовыми сообщениями на телеграм канал. В общем, интересно. Но нужно найти время.
      • Mike
        28 февраля 2019, 17:10
        Ivan FXS, Используя ботов от различных авторов, можно было бы решить задачу симуляции ценообразования. Это более простая задача чем та, которая тут обсуждается. А для обсуждаемой задачи достаточно бота, который использует машинное обучение для принятия торговых решений. Зачем создавать новый аквариум специально для ботов если есть уже готовый в котором 80% оборота делается такими же ботами. Можно просто подключить самообучающегося бота к рынку и наблюдать за тем как он будет эволюционировать (или деградировать).
          • Mike
            28 февраля 2019, 17:52
            Ivan FXS, Но если боты будут обучаться используя данные которых нет на реальном рынке, как потом использовать результат их обучения в реальной торговле?
  • Логарифм Интегралыч
    28 февраля 2019, 19:03
    идея самоорганизующегося бота напомнила идею:

    в ставках на футбол ставим на 1-й гол на минутах 1...15

    не забили значит рассчитав ставку от коэффициента
    ставим на 1-й гол на минутах 15...30 

    и до забивания 1-го гола хоть на 95-й минуте
    или до проигрыша 
    когда с вероятностью около 7% счёт 0-0
  • Мальчик buybuy
    01 марта 2019, 05:28
    Мне снится мир под мрачным сводом,
    Где завербована Луна,
    Где городам и пароходам
    Дают шпионов имена.
    Спешат шпионы делегаты
    На мировой шпионский съезд,
    Висят призывные плакаты:
    «Кто не шпионит — тот не ест»,
    И тысячи живых шпионов,
    Как совесть наций, честь и суд,
    Букеты розомикрофонов
    К шпионам бронзовым несут
    • SergeyJu
      01 марта 2019, 11:11
      Мальчик Buybuy, Евтушенко талант, но не гений. Слишком много писал и слишком мало бросал в корзину.
    • _sk_
      01 марта 2019, 10:47
      Ivan FXS, но большинство комментаторов полно скептицизма по поводу реального применения такого аквариума. Просто ради фана такими вещами занимаются либо энтузиасты, либо учёные.
      • SergeyJu
        01 марта 2019, 11:12
        _sk_, ученые — в основном ради грантов и рекламы. 
  • Дмитрий Новиков
    01 марта 2019, 12:54
    Забавно. Вы описали мир броуновского движения. Так все уже давно по нему и работают. И называется это мат статистика. И есть эконометрические системы, от слова экономика. Велосипед получается%)
      • Дмитрий Новиков
        01 марта 2019, 18:41
        Ivan FXS, Там линейная задача. Типа крестики нолики. Кто первый начнет того и тапки 
          • Дмитрий Новиков
            26 марта 2019, 16:45
            Ivan FXS, Понимаете ваша модель уже описана. Это пример с кроликами которые размножаются по экспоненте но ограничены ресурсами. В данном случае ресурсы это ваш капитал. Ну и получим мы обычное стохастическое уравнение. Его можно усложнить, запустить туда лисиц. Если интересно почитайте про стахастический мир http://synset.com/wiki/index.php/%D0%A1%D1%82%D0%BE%D1%85%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BC%D0%B8%D1%80 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн