Айсберг-заявки


  • administrators

    Как вы смотрите на введение настоящих айсберг-заявок, когда другим участникам не виден полный объем заявки: в стакане и на графике объемов, и ее кусочек поступает на рынок, как только предыдущий кусочек исполнился.

    Если рассматривать айсберг-заявки и многие другие типы заявок, типа stop loss и take profit важно понять, что подобный тип заявок существует благодаря такому важному элементу организации торгов как посредник (брокер).

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

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

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

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



  • Пришел на ум такой способ:
    Айсберг-заявка (далее АЗ) большая, на то она и айсберг.
    Поэтому сделаем так:
    За счёт того, что максимальное количество голд за одну операцию- это 100 от игрока+ около 5 от робота. То есть если поставить ограничение минимум 150 голд для АЗ, то можно сделать так, чтобы АЗ выглядела для всех как заявка на минимум 150 голд (или больше- по желанию игрока, для). Но как только от нее съедается кусочек, сразу столько же автоматически к ней добавляется, пока не добавится весь заранее указанный игроком объем.

    Проблема данного метода в следующем контрпримере:
    Цена 200
    На 200 стоит АЗ, нам видна верхушка 150голд
    Мы можем покупать по маркету на 100.000, то есть 500голд, что одним махом сметёт всю заявку и не даст ей восполниться.
    Соответственно, в пределе при цене lim-->0 нельзя найти то оптимальное число (как 150) для верхушки айсберга, потому что оно должно входить в бесконечность.

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

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


  • administrators

    Ограничения 100000 кешей было введено из расчёта номинальной цены 1000 = 1000 * 100 (голдов). И конечно при цене 200 кешей за голд ограничение в кешах становится проблемой. Тут вы правы. Нам следует динамически вычислять ограничение для маркет ордеров заданных в кешах. Сделать это довольно просто. Допустим, для ордера на продажу максимальный объём маркет ордера выраженный в кешах будет равен [bid price] * 100, то есть получится 200 * 100 = 20000 кешей. Если ордер на продажу будет больше, то сразу отвергать его и указывать максимальный доступный объём для продажи, чтобы не рушить рынок.

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

    Записал в todo. Спасибо за предложение!



  • @alex
    Ещё если я правильно понимаю, то сделка по маркету на 100 голд примерно одинаково в процентах двигает цену как на цене 500, так и на 5000, что достигается различной плотностью заявок бота.

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


  • administrators

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



  • @alex я плохо раскрыл свою мысль. Да, если я продам 700 голд на 500 и 5000, в конечном счёте цена изменится одинаково в процентах, но при условии динамических лимитов заявки по маркету и динамической плотности заявок бота на 5000 я сделаю это, скажем, за 3 заявки по маркету, а на 500 за 23 заявки, то есть гораздо медленнее- это я имел в виду под "вяло-текуще"


  • administrators

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